Kontentga o'tish

So'rov va idempotentlik

GET /serving-tasks/?status=offered — ishni shu tarzda topasiz. Vebhuklar, agar ro’yxatdan o’tkazilgan bo’lsa, kechikishni kamaytirish vositasi — haqiqat emas. Parkingiz smenada ekan, uzluksiz so’rang.

Har bir ro’yxat javobi ETag olib yuradi. Uni If-None-Match sifatida qaytarib yuboring; o’zgarmagan ro’yxat tanasiz 304 Not Modified qaytaradi. Bu zich so’rov sikllarini ikkala tomon uchun deyarli bepul qiladi — albatta amalga oshiring.

Cheklovlar qat’iy va har bir hisob ma’lumoti bo’yicha hisoblanadi:

Yuza Chegara
Vazifalarni so’rash daqiqasiga 60 (~1/s)
Vazifani qabul qilish/xabar berish daqiqasiga 120
Heartbeat daqiqasiga 30

Ko’proq kerak bo’lgan kontroller band emas, noto’g’ri ishlayapti. 429 javoblari Retry-After olib yuradi — unga rioya qiling.

Har bir o’zgartirish Idempotency-Key sarlavhasini (yoki tanadagi client_idempotency_key maydonini) qabul qiladi. Bir xil kalitli takroriy so’rov dastlabki natijani qaytaradi va yangi hech nima yozmaydi.

Doim yuboring. Tarmoq so’rov o’rtasida uziladi; kalit bilan siz bemalol qayta urinishingiz va da’vo yoki xabarni hech qachon ikki marta qo’llamasligingiz mumkin.

Har bir amalga bitta kalit ishlating, har bir vazifaga bitta emas: bir xil mantiqiy amalning qayta urinishlari uchun o’sha kalitni, har bir yangi amal uchun esa yangi kalitni. O’sha vazifaning boshqa o’tishiga allaqachon sarflangan kalit idempotency_key_reused bilan 409 qaytariladi. Kalitlar 128 belgi bilan cheklangan.

So’rov tanalari ham chegaralangan — ixtiyoriy telemetry va heartbeat summary obyektlari eng ko’pi 4 KB, 5 darajadan chuqur bo’lmagan va bitta obyekt yoki massivda 50 tadan ko’p bo’lmagan yozuvli JSON obyektlari bo’lishi kerak.

Har bir rad etilgan so’rov bitta shaklni qaytaradi:

{ "detail": "Odam o'qiy oladigan izoh.", "code": "machine_readable_code" }
HTTP holati Kodlar
400 unknown_status, status_not_reportable, unknown_failure_code
404 task_not_found
403 park vakolati yo’qolgan — sertifikat, faollashuv yoki tarif huquqi
409 already_claimed, robotics_paused, platform_frozen, arrival_dwell_pending, idempotency_key_reused, task_<current_status> tartib ziddiyatlari
410 offer_expired

code bo’yicha shoxlang, detail matni bo’yicha emas — detail so’zlashuvi o’zgarishi mumkin; kodlar shartnomaviy.