Грешки
Всяка грешка е документ за проблем по RFC 7807 със стабилен машинночетим код.
Подробности за проблема
Отговорите, различни от 2xx, са от тип application/problem+json със status, title, detail, стабилен code (snake_case), незадължително field, посочващо проблемното свойство на заявката, и traceId, който да цитирате при връзка с поддръжката.
{
"type": "https://dubaitrip.com/docs/api/errors#price_changed",
"title": "Price changed",
"status": 409,
"detail": "The fare is now 412.50 USD (was 398.00 USD). Re-price and confirm.",
"code": "price_changed",
"traceId": "00-3f2a…"
}Кодове, които ще срещнете
401 api_key_invalid, api_signature_invalid, api_timestamp_skew, api_nonce_reused, api_token_invalid — проблеми с удостоверяването. 403 api_scope_missing (ключът ви няма обхвата), api_ip_not_allowed, api_partner_suspended. 429 api_rate_limited, api_quota_exceeded. 400 validation_failed (с field). 404 search_session_not_found, order_not_found, booking_not_found. 409 offer_expired, rate_expired, price_changed. 402 insufficient_credit (само в production — допълнете депозита си). 502 supplier_error — авиокомпанията или хотелският доставчик върна грешка; повторете търсенето.
Безопасни повторни опити
Повтаряйте 429 след Retry-After, а 502/503/504 — с експоненциално отлагане. Никога не повтаряйте 4xx, различен от 429. Повтаряйте ангажиращите извиквания (поръчки, резервации, издаване, анулиране) само със същия Idempotency-Key. Ако сесията за търсене изтече (404), започнете ново търсене — ID-тата на офертите и ключовете на тарифите не са валидни между сесиите.