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