OsonTopshir API
Loyiha holati: Hamkor API ishga tushirilmoqda. Quyidagi shartnoma (kontrakt) yakuniy v1 ko'rinishida, lekin kalitlar hozircha faqat tanlangan hamkorlarga beriladi.

Xatolar

API standart HTTP status kodlaridan foydalanadi. Xato javobi har doim bir xil tuzilishda qaytadi.

Xato obyekti

{
  "error": {
    "type": "invalid_request_error",
    "code": "missing_parameter",
    "message": "params.topic majburiy.",
    "param": "params.topic",
    "request_id": "req_4c1a77"
  }
}
typestring

Xato guruhi. Dasturda shu bo'yicha tarmoqlang.

codestring

Aniq sabab kodi. Matn emas, shu kodga tayaning.

messagestring

Odam o'qishi uchun izoh. U o'zgarishi mumkin.

paramstring | null

Xatoga sabab bo'lgan maydon.

request_idstring

Support'ga murojaat qilganda shu identifikatorni yuboring.

HTTP status kodlari

StatuscodeMa'nosi
400missing_parameter, invalid_parameterSo'rov noto'g'ri tuzilgan.
401invalid_api_keyKalit yo'q yoki bekor qilingan.
402insufficient_creditsBu xizmat bo'yicha kredit yetarli emas. Hech narsa yechilmaydi.
403service_not_enabledXizmat hisobingiz uchun yoqilmagan.
404not_foundObyekt topilmadi yoki sizga tegishli emas.
409idempotency_conflict, order_not_cancelableHolat bilan ziddiyat.
410file_expiredFayl saqlash muddati tugagan.
422source_too_short, topic_rejectedSo'rov to'g'ri, lekin mazmuni qabul qilinmadi.
429rate_limitedLimitdan oshdingiz. Limitlar.
500, 503server_error, unavailableBizning tomonda xato. Qayta urinib ko'ring.

Buyurtma xatolari

Buyurtma yaratilgach ham xato bo'lishi mumkin. Bunda status: "failed" bo'ladi, kredit qaytariladi, sabab error maydonida ko'rsatiladi:

{
  "id": "ord_8f3a1c9e2b",
  "status": "failed",
  "refunded": true,
  "error": { "code": "generation_failed", "message": "Hujjatni tayyorlab bo'lmadi. Kredit qaytarildi." }
}

Qayta urinish

  • 5xx va 429 da qayta urining: 1, 2, 4, 8 soniya oralig'i bilan, ko'pi bilan 5 marta.
  • 4xx (429 dan tashqari) da so'rovni o'zgartirmay qayta yubormang, xato o'zi yo'qolmaydi.
  • Buyurtma yaratishda qayta urinishdan oldin Idempotency-Key ishlatganingizga ishonch hosil qiling, aks holda kredit ikki marta yechilishi mumkin.