通知
このページでは、予約に関するアラートを送信する通知サービスの概要を説明します。
概要
Rapid API 通知は、これまで以上に Rapid を活用していただくためのソリューションです。パートナー様の事業に影響を及ぼす可能性のある変更が発生した場合、Rapid は標準的な POST メッセージを使用して、お使いのシステムに変更の詳細を直接お知らせします。このプッシュ通知により、常に最新情報を入手でき、運営を簡素化し、ビジネスを拡大できます。
現在、Rapid の API 外部で発生する予約イベントすべてに対して通知をサポートしています。そのため、コールセンターから変更されたり、ホテルが予約を取り消した場合でも、すぐにその情報が通知されます。このサービスは開始されたばかりです。通知イベントの種類は今後間もなく増える予定です。
この通知サービスは、ビジネスとのシームレスな統合を実現し、次のような Rapid の製品やサービスを補完する役割を果たします。
- Rapid
- Affiliate Voyager エージェント予約ツール
- パートナーとお客様のサポートサービス
現在、通知でサポートされているすべてのイベントタイプの Test API を提供しています。以下のメインセクションで詳細を確認してください。独自のリクエストを設定することを希望しない場合は、新しい Notifications Tester ツールを使用することもできます。
サポートされるメッセージタイプ
Rapid 通知では次のようなイベントで、メッセージによってシステムに通知します。
event_type の値 | 発生元 | 発生イベント | 詳細 |
---|---|---|---|
itinerary.agent.create | カスタマーサポートエージェントまたは Affiliate Voyager | 予約の作成 | Rapid カスタマーサポートエージェントまたは Affiliate Voyager で新しい予約が作成されました。 |
itinerary.agent.change | カスタマーサポートエージェントまたは Affiliate Voyager | 予約の更新 | Rapid カスタマーサポートエージェントまたは Affiliate Voyager で既存の予約が更新されました。 |
itinerary.agent.cancel | カスタマーサポートエージェントまたは Affiliate Voyager | 予約のキャンセル | Rapid カスタマーサポートエージェントまたは Affiliate Voyager で既存の予約が取り消されました。 |
itinerary.supplier.cancel | ホテル | 予約のキャンセル | 既存の予約がホテルによって取り消されました。お客様は担当のカスタマーサポートに連絡する必要があります。 |
itinerary.supplier.confirm | ホテル | 予約の更新 | ホテルは予約の宿泊施設確認 ID を更新しました。 |
itinerary.fraud.cancel | エクスペディア | 予約のキャンセル | 予約が取引に適用される利用規約に従っていないため、既存の予約がエクスペディアによって取り消されました。お客様は、電話番号および取り消しに関する相談に都合のよい日時を添えて、transactionprocessing@travelscape.com まで連絡する必要があります。 |
itinerary.message.received | ホテル | 新しい施設メッセージセンターのメッセージ | 宿泊施設は施設メッセージ センター (PMC) 経由で新しいメッセージを送信しました。このイベントには、プロパティメッセージテキストの全文が含まれます。通知に加えて、メッセージにはメールと PMC ツールからもアクセスできます。 |
itinerary.supplier.change | サプライヤー | 予約の更新 | 旅行者の到着遅延またはアーリーチェックアウトが理由で、ホテルが既存の予約を変更しました。 |
itinerary.traveler.noshow | サプライヤー | 旅行者によるノーショー | 旅行者が施設に現れなかったため、サプライヤーが予約をノーショーとしてマークしました。 |
itinerary.supplier.refund | サプライヤー | 予約の更新 | Expedia Collect (事前決済) の予約については、旅行者の要望に応じてホテルが返金を行います。旅行者が返金を受けられるようにするのはパートナーの義務です。 |
メッセージの構成と詳細
すべてのメッセージは次に示すような構成になっています。さまざまなイベントに新しいメッセージタイプが加えられるため、この構成は変更されることがあります。
オブジェクト | 概要 |
---|---|
event_id | 各メッセージの一意の識別子 |
event_type | どのイベントが通知の原因となったかを示します。この値はメッセージのハンドリングとルーティングに使用できます。詳細についてはイベントタイプのリストを参照してください。 |
event_time | イベント通知のタイプスタンプ (協定世界時)。 |
itinerary_id | 影響を受ける予約の旅程 ID。 |
email | 影響を受ける旅程に関連付いているお客様のメールアドレス。 |
message | イベント通知の記述。 |
affiliate_reference_id | 影響を受ける予約のアフィリエイト参照 ID。 |
各メッセージは JSON のメッセージ本文を持つ HTTP POST リクエストです。
注 : 通知を受信できるようにするには、パートナーをイベントタイプごとに個別に有効にする必要があります。新しい Notifications API イベントタイプを有効にする場合は、Rapid サポートにお問い合わせください。
itinerary.agent.create の例
{
"event_id": "dbacce6c-afcb-4b23-ae66-48050757551c",
"event_type": "itinerary.agent.create",
"event_time": "2017-08-09T16:47:32.039Z",
"itinerary_id": "8091234567890",
"email": "customer@example.com",
"message": "An agent created a new itinerary.",
"affiliate_reference_id": "b086d299-2f1f-4134-a23c-f4a1c9286fac"
}
itinerary.supplier.confirm の例
{
"event_id": "e02d6f41-4708-476f-915d-8a7032942e94",
"event_type": "itinerary.supplier.confirm",
"event_time": "2018-04-28T20:31:03.423Z",
"itinerary_id": "8999989898988",
"email": "alice@example.com",
"message": "The supplier confirmed one or more rooms on this itinerary.",
"affiliate_reference_id": "R194193582",
"rooms": [
{
"confirmation_id": {
"expedia": "926784314",
"property": "BEF23123AA"
}
},
{
"confirmation_id": {
"expedia": "926784315"
}
}
]
}
itinerary.message.received の例
{
"event_id": "1aed5641-7285-4c42-b079-f5f2f139d148",
"event_type": "itinerary.message.received",
"event_time": "2023-11-14T02:33:18.860105363Z",
"itinerary_id": "9025254271673",
"email": "john@email.com",
"message": "We accept your request for river view room. Looking forward to your visit",
"affiliate_reference_id": "b086d299-2f1f-4134-a23c-f4a1c9286fac"
}
統合
メッセージを受信する
通知の受信を開始するには、エンドポイントを立ち上げ、そのエンドポイントに送られる POST メッセージを受信できるようにする必要があります。エンドポイントは次の条件を満たす必要があります。
- 公衆アクセスが可能である
- HTTPS および TLS 1.2 以上が有効になっている
- 最新のほとんどのアプリケーションで信頼されている有効な TLS 証明書を構成する (自己署名証明書は信頼されない場合があります)
Rapid 統合コンサルタントと協力して設定し、次の情報を入力します。
- 受信を希望するイベントタイプのリスト (前述)
- メッセージを処理するエンドポイントの URL
今後、統合をテストするためのセルフサービスツールが提供される予定です。それまでは、統合コンサルタントがテスト予約をサポートし、受信を希望するオフラインイベントに対する通知を受信していることを確認します。
設定に関する重要な注意事項
- Rapid ではクラウドベースのサーバーを使用しています。さまざまな IP アドレスからプッシュされる通知を受信できるように、受信者のエンドポイントを構成してください。
- エンドポイントの URL を変更する場合は、新しい URL がプッシュ通知を受信できるようになるまで、元の URL を有効にしておく必要があります。該当する変更を行う前に、Rapid 担当者にご連絡ください。
- 通知に使用できる URL は 1 つのみです。
event_type
やその他の基準に応じて変化させることはできません。
メッセージを処理する
予約イベントが発生したというメッセージを受信した場合、そのメッセージに記載された旅程 ID とメールアドレスを使用して、予約に関する最新の詳細を取得します。
メッセージは順番が前後して届く場合があります。タイムスタンプを参照して順番を確認し、予約イベントの旅程を検索して最新ステータスを取得してください。
メッセージを受信後、適切な HTTP ステータスコードで統合結果を返答する必要があります。200 台のステータスコードを受信しないメッセージはすべて未配信とみなされ、通知サービスによる再送信の対象となります。
結果を処理する | 詳細 | 応答ステータスコード |
---|---|---|
成功 | メッセージは予定どおりに受信されました。メッセージは適切に処理されました。 | 200 |
失敗 | メッセージは予定どおりに受信されませんでした。メッセージは適切に処理されませんでした。 | 400 台 |
失敗 | クライアント サーバー エラーにより、クライアントはメッセージを処理できませんでした。 | 500 台 |
配信不能メッセージ
メッセージをエンドポイントに正常に配信できない場合、次のスケジュールで自動的に再試行されます。
- 5 分後に最初の再送信
- 1 時間後に 2 回目の再送信
- 以降は 7 日間にわたり、12 時間ごとに再送信 (合計 14 回)
Rapid が受信確認 (OK ステータスコード 200) を受信できなかった場合は、メッセージが重複して届く場合があり、さらにこのメッセージは再送信されます。元のメッセージと同じ event_id
でそれより後の timestamp
を探すことで、重複メッセージを識別できます。
配信不能通知 API
このリクエストは、受信を希望するイベントとテストエンドポイントの未配信の通知を返します。メッセージは、指定された API キーに基づいて返されます。メッセージは配信不能と見なされ、アクティブな配信の試行が 7 日間行われた後 (前のセクションを参照)、この API によって取得できるようにストレージに移動されます。
- 配信不能メッセージは 1 回だけ返されます。リクエストによって返されたメッセージは、データストアから削除されます。それを踏まえて、この API の応答処理を計画してください。
- リクエストごとに最大 25 個の未配信メッセージが返されます。
- api.ean.com へのリクエストは、テスト通知と本番通知の両方を 1 回の応答で返します。テストエンドポイントである test.ean.com へのリクエストは、公式にはサポートされていません。本番エンドポイントが有効になったら、ただちにテストエンドポイントの使用を停止することをお勧めします。使用を続けると、本番通知が返され、その後それらの通知が削除される可能性があります。
メッセージの構成と詳細
この API によって返される配信不能メッセージは、上記の前のセクションで概説されている、本番通知と同じ構成になっています。
例 - 2 つの未配信メッセージ
[
{
"event_id": "e02d6f41-4708-476f-915d-8a7032942e94",
"event_type": "itinerary.agent.change",
"event_time": "2018-04-28T20:31:03.423Z",
"itinerary_id": "1204309424793",
"email": "alice@example.com",
"message": "An agent changed this itinerary.",
"affiliate_reference_id": "R194193582"
},
{
"event_id": "fe97op1b-595a-406e-8e0e-90108d5cb4a1",
"event_type": "itinerary.agent.cancel",
"event_time": "2018-05-24T04:08:50.839Z",
"itinerary_id": "1204329124126",
"email": "bob@sample.net",
"message": "An agent canceled one or more rooms on this itinerary.",
"affiliate_reference_id": ""
}
]
通知テスト API
Rapid 通知テスト API を使用することで、指定したテストエンドポイントにテスト通知を送信して、通知サービスとの統合を検証できます。 Notifications Service Tester を使用して、独自のリクエストを作成せずにエンドポイントに直接テスト通知を送信することもできます。
重要な注意事項
このサービスのリクエスト機能は本番通知 API には存在しません。本番エンドポイントにリクエストを送信して、本番通知をトリガーまたは更新することはできません。リクエストは、テスト目的でのみ、このテスト API を介して提供されます。
この API はテストのみを目的としているため、その POST リクエストトリガーは test.ean.com 経由でのみ利用できます。
メッセージの構成とサポートされるメッセージタイプ
すべてのテスト通知は、このセクションの前にある通知 API ドキュメントで概説されている、本番通知と同じ構成および同じメッセージタイプになっています。
統合
メッセージを受信する
テスト通知の受信を開始するには、公衆アクセスが可能な HTTPS エンドポイントを立ち上げ、そのエンドポイントに送られる POST メッセージを受信できるようにする必要があります。
Rapid 統合コンサルタントと協力して設定し、次の情報を入力します。
- テスト用に受信を希望するイベントタイプのリスト (前のセクションに記載)
- テスト通知を処理するテストエンドポイントの URL
リクエストから 30 分が経過してもテスト通知を受信できない場合は、Rapid 統合コンサルタントに連絡して、問題を解決するためのサポートを受けてください。
重要な注意事項
重要な注意事項
- 受信する通知では、テスト通知と本番通知に違いはありません。テストメッセージと本番メッセージを確実に切り分けるために、テスト通知専用のエンドポイントを設定することを強くお勧めします。
- テスト用と本番用に別々のエンドポイントを設定すると、テストエンドポイントでのみテスト通知を受信し、同様に、本番エンドポイントでのみ本番通知を受信します。
テスト用と本番用に別々のエンドポイントを設定すると、テストエンドポイントでのみテスト通知を受信し、同様に、本番エンドポイントでのみ本番通知を受信します。
通知の確認
通知が Rapid から発信されたことを確認するために、イベントの検証用にリクエストヘッダーが送信されます。
Rapid が通知を送信すると、認証ヘッダーが送信されます。これは、API へのリクエストで送信する認証ヘッダーと同じです。
Rapid は、以下の形式で認証ヘッダーを送信します。
Authorization: EAN
APIKey=yourAPIKey,Signature=sha512Hash,timestamp=UNIXTimestampUsedForTheSignature
検証
イベントを検証するには、ヘッダーの署名 SHA512 ハッシュを、API キー、共有秘密、およびリクエストヘッダーのタイムスタンプを使用して生成したものと比較する必要があります。
ハッシュの作成方法については、署名認証リファレンスページを参照してください。
重要な注意事項
API の詳細
このページで通知関連のエンドポイント定義を調べてから、API Explorer または別のテストソフトウェアを使用して、例とスキーマ定義が実際の出力とどのように比較されるかを理解します。
その他のリソース
すべての Rapid API エンドポイントを試してみたい場合でも、OpenAPI 仕様や Postman コレクションをダウンロードしたい場合でも、必要なリソースが用意されています。