予約リクエストの処理
予約依頼を適切に 処理することで、ミスや損失を防ぎましょう
この情報は、以下の対象に適用されます:
- Rapid Lodging API
- Rapid Car API
- Rapid Flight API
注: 実装しているAPIによって、詳細が一部異なる場合があります。
ネットワーク設定
予約リクエストのワークフローを設計する際は、ネットワーク上の問題が発生しても問題がないようにすることが重要です。返信がないからといって、予約が失敗したとは解釈しないでください。予約リクエストを送信した後、応答を受け取る前にインフラ上の問題が発生した場合でも、当社のシステム内では、旅行者の予約に対してすでに課金が行われ、確定されている可能性があります。インフラストラクチャでは次のような問題が発生することがあります。
- ネットワーク接続が切断されました(応答が返ってきませんでした)。
- 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%は、30秒以内に手続きを完了することができます。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でよく発生するエラーに関する詳細情報を、HTTPエラーレスポンスの例、予約処理に用いられる擬似コード、およびユーザーインターフェースの例を含めてご紹介いたします: