予約リクエストの処理
予約リクエストを適切に処理することで、エラーや損失を回避します。
概要
予約リクエストのワークフローをネットワークの問題に耐えられるように設計することが重要です。返信がないからといって、予約に失敗したと解釈しないでください。予約リクエストが送信された後、返信を受け取る前にインフラストラクチャの問題が発生した場合、旅行者の予約は当社のシステム内で課金および確定されている可能性があります。インフラストラクチャでは次のような問題が発生することがあります。
- ネットワーク接続が失われました(応答が返されません)。
- Server-sideエラー (HTTPコード500または503) が返されます。
- 不正なネットワークゲートウェイが検出されました(HTTPコード502が返されます)。
- ネットワークゲートウェイのタイムアウトが発生しました(HTTPコード504が返されます)。
- レスポンスがRapid APIの文書に従っていない(メッセージに重要な要素が欠けている)。
- 応答がJSON形式でない(例えば、応答メッセージがHTML形式である)場合。
- その他の例外、エラー、不明な動作、中断など
予約作成リクエストは、予約取得リクエストでフォローアップする必要があります。取得リクエストには次の情報が含まれます。
- 予約作成リクエストで使用された
affiliate_reference_id
の元の値とメール。 OR - Create Bookingレスポンスで返される
itinerary_id
、links.retrieve.href
。
注: 新規に作成された旅程は、作成してから旅程を検索できるようになるまでに少し時間がかかることがあります。正常に作成された旅程を取得しようとした際にエラーが表示された場合、またはitinerary_id
とcreation_date_time
の両方が表示された場合は、取得を30分間やり直してから、following-upコールセンターの担当者にお問い合わせください。
推奨される手順
affiliate_reference_id
を必ず送信する
予約ごとに一意のaffiliate_reference_id
。同じリクエスト詳細を再送する場合(失敗した場合など)、同じaffiliate_reference_id
。これにより、意図しない予約の重複を防ぐことができます。新しい予約作成リクエストを送信すると、API は予約が確認または拒否されるまでレスポンスを返しません。多くの場合、レスポンスは数秒以内に返されます。ただし、予約の数が少ない場合でも、処理してレスポンスを生成するまでに数分かかることがあります。
すぐに解決されない予約を監視する
Rapid API、外部システムに接続し、以下の予約を行います。real-time. 依存するシステムには、ホテルの予約システムや受付システム、クレジットカード処理システム、不正検知システムなどがあります。予約の98%は13秒以内に完了します。90 秒経っても予約のレスポンスを受信できない場合、予約で送信されたものと同じ affiliate_reference_id
を使用して取得リクエストを送信し、予約の進行状況を確認してください。予約が処理中の場合、または予約が失敗した場合、404 エラー「指定したリクエストでは、旅程が見つかりませんでした」が表示されます。このメッセージが表示されたら、同じ affiliate_reference_id
で予約リクエストを再試行する必要があります。予約が未完了の場合、400 エラーと、「このアフィリエイト参照 ID の旅程がすでに存在しています」というメッセージが表示されます。このエラーが返された場合、予約を再度取得して、予約の詳細を表示する準備ができているかどうかを確認できます。
予約が処理中の場合、Retrieve API がエラーまたは未完了のレスポンスを返すことがあります。あとで予約取得呼び出しを再試行すると、99.99% のエラーから回復できます。劣化シナリオをカバーするために、30分間検索を再試行してください。
予約に関する問題
タイムアウト、50x HTTPコードエラー、またはその他のインフラストラクチャの問題が原因で予約に問題が発生した場合は、トラブルシューティングのために以下のトランザクションログをご提供ください:
- 予約のリクエストとレスポンス (利用可能な場合)
- 最後の予約の試行から30分後に送信された予約検索のリクエストとレスポンス。
ログには、リクエストとレスポンス両方の HTTP ヘッダーが含まれています。レスポンスメッセージには transaction-id
ヘッダーがあり、Rapid API トランザクションを識別するのに役立ちます。
Rapid APIサポートアカウントにログインして、ユーザーインターフェイスの例、予約を処理する擬似コード、統合プランの例 をご覧ください。