本文へスキップ

エラー

すべての失敗は、機械可読な安定したコードを持つ 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 は指数バックオフで再試行してください。429 以外の 4xx は決して再試行しないでください。確定系の操作(オーダー、予約、発券、キャンセル)は、同じ Idempotency-Key を使う場合にのみ再試行してください。検索セッションの期限が切れた場合(404)は新しい検索を開始してください。オファーIDと料金キーはセッションをまたいでは有効ではありません。