Vebhuklar
Agar restoran egasi manzilingizni ro’yxatdan o’tkazsa (Sitora Biz’da, hisob ma’lumoti yonida), Sitora hodisalar sodir bo’lgani sari imzolangan xabarlarni yuboradi. Vebhuklar ixtiyoriy; faqat so’rov yuboradigan kontroller talablarga to’liq javob beradi.
Manzillar HTTPS bo’lishi va ommaviy manzilga hal bo’lishi shart. Sitora oddiy HTTP, ichiga hisob ma’lumoti joylangan URL va loopback, xususiy yoki link-local diapazonlarga hal bo’ladigan xostlarni ro’yxatdan o’tkazishni ham, ularga yetkazishni ham rad etadi. Yo’naltirishlar kuzatilmaydi: yakuniy URL’ni bering.
Hodisalar
“Hodisalar” bo'limi| Hodisa | Qachon ishga tushadi |
|---|---|
serving_task.offered |
Parkingizga yangi vazifa taklif qilindi. |
serving_task.cancelled |
Siz bajarayotgan bo’lishingiz mumkin bo’lgan vazifa Sitora tomonidan bekor qilindi. |
serving_task.expired |
Taklif qabul qilinmasdan muddati o’tdi. |
robotics.paused |
Filial robototexnikasi to’xtatildi. |
robotics.resumed |
Filial robototexnikasi qayta ishga tushirildi. |
Vebhuk tanasi vazifani va uning yangi holatini aniqlaydi — boshqa hech nimani:
{ "delivery_id": 4412, "event_type": "serving_task.offered", "created_at": "2026-08-06T18:20:05.412Z", "payload": { "task_id": 8871, "display_number": 42, "leg": "dine_in_tray", "status": "offered", "expires_at": "2026-08-06T18:22:05.412Z" }}Manifest ataylab yo’q. Vebhuklar restoran egasi kiritgan URL’ga boradi va
yetkazish yozuvlari sifatida saqlanadi, shuning uchun manzil — kuryerlik
bosqichlarida mehmon manzili — bu kanalga qo’yilmaydi. Vazifani
GET /serving-tasks/ orqali to’ldiring, u yerda hisob ma’lumotingiz har bir
o’qishda tekshiriladi. robotics.paused / robotics.resumed faqat filial_id
olib yuradi.
Imzo
“Imzo” bo'limiHar bir yetkazish quyidagini olib yuradi:
X-Sitora-Robotics-Signature: t=<unix_timestamp>,v1=<hex>bu yerda v1 — HMAC_SHA256(secret, "{t}.{body}"), secret esa ro’yxatdan
o’tkazishda bir marta ko’rsatilgan vebhuk maxfiy kaliti. Doimiy vaqtli
taqqoslash bilan tekshiring va takroriy yuborishning oldini olish uchun eskirgan
vaqt belgilarini rad eting (bir necha daqiqa bardosh yetarli).
Yetkazish semantikasi — ikki marta o’qing
“Yetkazish semantikasi — ikki marta o’qing” bo'limiYetkazish kamida bir marta va imkon qadar amalga oshiriladi. Hodisalar takroriy, kech yoki umuman kelmasligi mumkin. Shuning uchun:
- Vebhuklar kechikishni kamaytirish vositasi, haqiqat emas. Har qanday hodisada so’rov bilan solishtiring — shartnoma bu vazifalar ro’yxati.
- O’tkazib yuborilgan yoki shubhali hodisalarni
GET /webhook-deliveries/?since_id=<oxirgi ko'rilgan id>orqali qayta o’qish, alohida yetkazishni esaPOST /webhook-deliveries/{id}/redeliver/orqali qayta yuborish mumkin. 2xxni tez qaytaring va ishni asinxron bajaring; sekin manzil — bu bajarilmagan yetkazish.