Към съдържанието

Грешки

Всяка грешка е документ за проблем по RFC 7807 със стабилен машинночетим код.

  1. Подробности за проблема
  2. Кодове, които ще срещнете
  3. Безопасни повторни опити

Подробности за проблема

Отговорите, различни от 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-тата на офертите и ключовете на тарифите не са валидни между сесиите.