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.
serving_task.failed Sitora parkingiz qabul qilgan, ammo harakatlantirishni toʻxtatgan vazifani nosoz deb yopdi.
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 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'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.