Kontentga o'tish

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.

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.

Har bir yetkazish quyidagini olib yuradi:

X-Sitora-Robotics-Signature: t=<unix_timestamp>,v1=<hex>

bu yerda v1HMAC_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'limi

Yetkazish 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 esa POST /webhook-deliveries/{id}/redeliver/ orqali qayta yuborish mumkin.
  • 2xx ni tez qaytaring va ishni asinxron bajaring; sekin manzil — bu bajarilmagan yetkazish.