Перейти до вмісту

Помилки

Кожна помилка — це документ проблеми за 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 (лише в продакшні — поповніть депозит). 502 supplier_error — збій на боці авіакомпанії або готельного постачальника; повторіть пошук.

Безпечні повторні запити

Повторюйте 429 після Retry-After, а 502/503/504 — з експоненційною затримкою. Ніколи не повторюйте 4xx, крім 429. Повторюйте фіксувальні дії (замовлення, бронювання, виписку, скасування) лише з тим самим Idempotency-Key. Якщо сесія пошуку спливла (404), почніть новий пошук — ID пропозицій і ключі тарифів між сесіями недійсні.