Shartnoma
Manba mahsulot oʻz fakti haqida xabar beradi, Kalendar uning jadvaliga javob beradi. Ular orasida integratsiyalar soni bilan oʻsmaydigan tor interfeys.
Hodisa oʻziga xosligi bu uchlik
Mahsulot, obyekt turi va uning identifikatori. Mahsulotga Kalendarning ichki identifikatorini saqlash shart emas: u hodisani oʻzida bori bilan manzillaydi.
(product_id, entity_type, entity_id)- Oʻsha uchlik boʻyicha qayta upsert yozuvni yangilaydi, ikkinchisini yaratmaydi
- Oʻchirilgandan keyingi qayta remove xato emas, bosh amal
- Hodisani faqat uni oʻz kaliti bilan yaratgan mahsulot oʻchira oladi
- Ajratish tokenlari kerak emas: hodisaning aynan bitta mahsulot egasi bor
Shartnoma nuqtalari
| Metod | Vazifasi |
|---|---|
POST /Calendar/upsert | Mahsulot hodisasini yaratish yoki yangilash |
POST /Calendar/remove | Hodisani oʻziga xoslik uchligi boʻyicha oʻchirish |
GET /Calendar/listByEntity | Mahsulotning aniq obyekti hodisalari |
GET /Calendar/events | Shaxsiy va jamoaviy koʻrinish uchun tanlov |
GET /Calendar/freebusy | Xodimlar va resurslarning bandlik vaqti |
GET /Calendar/expand | Takrorlanishni aniq sanalarga yoyish |
POST /Calendar/findSlots | Umumiy bosh oynani tanlash |
POST /Calendar/attachConference | Hodisaga A3.Meet xonasini tayyorlash |
POST /Calendar/invite, /Calendar/rsvp | Ishtirokchini taklif qilish va uning javobi |
GET /Calendar/ics/{token} | Tashqi mijozning faqat oʻqishga obunasi |
Transport kelishuvlari
Sarlavhalar
API_KEY, A3Session, AccountId, ProductId va Language-Code. Mahsulot chaqiruvi mahsulot kaliti bilan, foydalanuvchi chaqiruvi A3.ID sessiyasi bilan avtorizatsiya qilinadi.
Javob konverti
Holati, kodi, xato matni va foydali yuki bor yagona konvert. Xatolar oʻsha konvertda keladi va Language-Code boʻyicha mahalliylashtirilgan.
Roʻyxatlar
Roʻyxatlar yozuvlarning umumiy soni bilan birga qaytadi, filtrlash va sahifalash soʻrov filtrlari orqali boradi.
Hujjatlar
Olti tilda Scalar va Swagger. CalDAV alohida tasvirlangan: bu JSON shartnoma emas, WebDAV ustidagi protokol.
Nizoni hodisa versiyasi hal qiladi
Har bir yangilash chaqiruvchi tomon oxirgi koʻrgan versiyani yuboradi. U joriysidan uzoqlashsa, server 409 kodi va dolzarb holatni qaytaradi. Nizoni server emas, chaqiruvchi tomon hal qiladi.
409 Conflict- Mahsulotga odatiy ishlov yangi versiya bilan qaytarish: u maydonni toʻliq egallaydi
- Odamga qaysi versiyani qoldirish tanlovi bor solishtirish oynasi koʻrsatiladi
- Oʻsha versiya CalDAV protokolining ETag vazifasini bajaradi, ikkinchi mexanizm yoʻq
- Bu CRDT ham, yozishga qulf ham emas: model haqiqiy yukka mos
Faqat REST emas
CalDAV
Kalendarlarni topish, oraliq boʻyicha tanlash, yozish va oʻchirish metodlari bor RFC 4791 boʻyicha alohida yoʻl. Mahsulot hodisasi koʻrinadi, lekin unga yozish rad etiladi.
Jonli kanal
Monoton kursori bor oʻzgarishlar jurnali va real vaqt hubi. Ochiq varaq darhol yangilanadi, tarmoqsiz mijoz oʻsha kursor boʻyicha quvib yetadi.
Vidjet
Oʻz interfeysida katakcha kerak mahsulot uchun hodisalar va bandlik tanlovi ustidagi oʻrnatiladigan kadr. Kadr mahsulot serveridan olingan qisqa muddatli token orqali ochiladi.
Cheklovlar
Mahsulot boʻyicha yozish chastotasi cheklovi va hodisalarni tahlil qilish uchun sukut boʻyicha boʻlmagan kalitlar soʻrovlari jurnali.
Integratsiya skouplari
Integratsiya hisob egasining aniq ruxsatisiz kompaniyaning butun kalendariga kira olmaydi.
ReadHodisalarni olishPushOʻz hodisalarini yaratish va yangilashFreeBusyHodisa tafsilotlarisiz bandlik vaqtini soʻrashShareKalendarlarga umumiy kirishni boshqarish