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