Келісімшарт
Дереккөз өнім өз фактісі туралы хабарлайды, Күнтізбе оның кестесіне жауап береді. Олардың арасында интеграциялар санымен бірге өспейтін тар интерфейс.
Оқиға бірегейлігі дегеніміз үштік
Өнім, нысан түрі және оның идентификаторы. Өнімге Күнтізбенің ішкі идентификаторын сақтау қажет емес: ол оқиғаны өзінде барымен адрестейді.
(product_id, entity_type, entity_id)- Сол үштік бойынша қайта upsert жазбаны жаңартады, екіншісін жасамайды
- Жойылғаннан кейінгі қайта remove қате емес, бос операция
- Оқиғаны тек оны өз кілтімен жасаған өнім жоя алады
- Ажырату токендері қажет емес: оқиғаның дәл бір өнім-иесі бар
Келісімшарт нүктелері
| Әдіс | Мақсаты |
|---|---|
POST /Calendar/upsert | Өнім оқиғасын жасау немесе жаңарту |
POST /Calendar/remove | Оқиғаны бірегейлік үштігі бойынша жою |
GET /Calendar/listByEntity | Өнімнің нақты нысанының оқиғалары |
GET /Calendar/events | Жеке және командалық көрініске арналған таңдау |
GET /Calendar/freebusy | Қызметкерлер мен ресурстардың бос емес уақыты |
GET /Calendar/expand | Қайталануды нақты күндерге жаю |
POST /Calendar/findSlots | Ортақ бос терезені таңдау |
POST /Calendar/attachConference | Оқиғаға A3.Meet бөлмесін дайындау |
POST /Calendar/invite, /Calendar/rsvp | Қатысушыны шақыру және оның жауабы |
GET /Calendar/ics/{token} | Сыртқы клиенттің тек оқуға жазылуы |
Тасымал конвенциялары
Тақырыптар
API_KEY, A3Session, AccountId, ProductId және Language-Code. Өнім шақыруы өнім кілтімен, пайдаланушы шақыруы A3.ID сессиясымен авторизацияланады.
Жауап конверті
Мәртебесі, коды, қате мәтіні және пайдалы жүктемесі бар біртұтас конверт. Қателер сол конвертте келеді және Language-Code бойынша локализацияланған.
Тізімдер
Тізімдер жазбалардың жалпы санымен бірге қайтады, сүзу мен беттеу сұраныс сүзгілері арқылы жүреді.
Құжаттама
Алты тілде Scalar және Swagger. CalDAV бөлек сипатталған: бұл JSON-келісімшарт емес, WebDAV үстіндегі хаттама.
Қақтығысты оқиға нұсқасы шешеді
Әр жаңарту шақырушы жақ соңғы көрген нұсқаны жібереді. Ол ағымдағыдан алшақтаса, сервер 409 коды мен өзекті күйді қайтарады. Қақтығысты сервер емес, шақырушы жақ шешеді.
409 Conflict- Өнімге типтік өңдеу жаңа нұсқамен қайталау: ол өрісті толығымен иеленеді
- Адамға қай нұсқаны қалдыру таңдауы бар салыстыру терезесі көрсетіледі
- Сол нұсқа CalDAV хаттамасының ETag қызметін атқарады, екінші тетік жоқ
- Бұл CRDT те, жазуға құлып та емес: модель нақты жүктемеге сай
Тек REST емес
CalDAV
Күнтізбелерді табу, аралық бойынша таңдау, жазу және жою әдістері бар RFC 4791 бойынша бөлек жол. Өнім оқиғасы көрінеді, бірақ оған жазу қабылданбайды.
Тірі арна
Монотонды меңзері бар өзгерістер журналы және нақты уақыт хабы. Ашық қойынды бірден жаңарады, желісіз клиент сол меңзер бойынша қуып жетеді.
Виджет
Өз интерфейсінде тор қажет өнімге арналған, оқиғалар мен бос емес уақыт таңдауының үстіндегі ендірілетін кадр. Кадр өнім серверінен алынған қысқа мерзімді токен арқылы ашылады.
Шектеулер
Өнім бойынша жазу жиілігінің шектеуі және оқиғаларды талдауға арналған әдепкі емес кілттер сұраныстарының журналы.
Интеграция скоуптары
Интеграция аккаунт иесінің нақты рұқсатынсыз компанияның бүкіл күнтізбесіне қатынау алмайды.
ReadОқиғаларды алуPushӨз оқиғаларын жасау және жаңартуFreeBusyОқиға егжей-тегжейінсіз бос емес уақытты сұрауShareКүнтізбелерге ортақ қатынауды басқару
Құжаттаманы ашу
Нүктелердің, модельдер мен қате кодтарының алты тілдегі толық сипаттамасы.