システム内の空き情報は、新しい予約、キャンセル、販売者からのスケジュール変更により変動します。リアルタイム更新(RTU)API は、これらの変更と既存の予約に加えられた変更を Google に通知するメカニズムです。
RTU は次の場合に必要です。
- ユーザーがシステムで予約をキャンセルし、予約枠が利用可能になった場合。
- ユーザーがアクション センターで予約を行い、予約枠が利用できなくなった場合。
- アクション センター経由で行われた予約が、販売者側でキャンセルされた場合。販売者による直接キャンセルなどが該当します。元の予約枠が再び利用可能になったため、予約と空き情報を更新する必要があります。
サンドボックス レビューに進む前に、次の RTU マイルストーン タスクを完了します。
最後の 20 件のリクエストで 14 日間エラーが発生しなかった場合、各タスクは完了としてマークされ、緑色に変わります。マイルストーンが緑色のままになるように、リクエストの送信を続けます。
API RTU とフィード
API RTU は、空き情報と予約への増分変更をリアルタイムで Google に通知します。RTU に加えて、完全な空き情報フィードを毎日送信します。これにより、自社のシステムにある最新で正確な空き情報を Google が常に把握できるようになります。完全なフィードは、システム内の空き情報の最新の状態のスナップショットとして機能します。
詳しくは、次のリソースをご覧ください。
API へのアクセス
Google Cloud プロジェクトは、アクション センターの Maps Booking API にアクセスする方法です。この API を使用して RTU を送信します。Google Developers Console 内の Google アカウントを使用し、オンボーディング プランの [設定] マイルストーンで Cloud プロジェクト番号を指定する必要があります。Cloud APIs を有効にする方法については、CloudAPIs を有効にするをご覧ください。
RESTful 呼び出しを使用するかクライアント ライブラリをダウンロードする
JSON ペイロードを使用して Maps Booking API に直接 RESTful 呼び出しを行うことをおすすめします。詳細については、REST API のドキュメントをご覧ください。
クライアント ライブラリを使用して API に接続することもできます。
.言語 | ダウンロード リンク |
---|---|
Java | Java Client ライブラリ。詳細については、Java クライアントの手順をご覧ください。 |
承認などの Google API の呼び出しを処理する追加のサポート ライブラリをダウンロードできます。詳細については、コードサンプルをご覧ください。
ディスカバリ ドキュメントを取得する
Ruby などの一部のクライアント ライブラリでは、API のメソッドとパラメータを記述した Discovery ドキュメントを取得する必要があります。
検出ドキュメントを取得するには、次のコマンドを使用します。
curl -s -o mapsbooking_rest
https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha
Ruby から API にアクセスする方法の詳細については、Ruby API クライアントと Ruby 認証ライブラリをご覧ください。
API に対して承認された呼び出しを行う
API を呼び出す場合は、委任された API 呼び出しの準備についての記事を参照して、秘密鍵と次の OAuth スコープでサービス アカウントを承認します。
https://www.googleapis.com/auth/mapsbooking
サンドボックス エンドポイントと本稼働エンドポイント
API を使用してサンドボックス環境と本稼働環境の両方を呼び出すことができます。Google Cloud プロジェクトで両方の API が有効になっていることを確認します。どちらの API も同じスコープを使用しますが、エンドポイントは異なります。
本番環境のエンドポイント: https://mapsbooking.googleapis.com/
サンドボックス エンドポイント: https://partnerdev-mapsbooking.googleapis.com/
Java でのエンドポイントの切り替え方法の例を次に示します。
// This block of code is for OAuth and is the same for prod and sandbox.
GoogleCredential
.fromStream(new FileInputStream(...))
.createScoped(Collections.singleton("https://www.googleapis.com/auth/mapsbooking"))
// This block of code sets the endpoint. This is what you'd change to connect to the sandbox.
new GoogleMapsBookingAPI.Builder(...)
.setApplicationName(...)
.setRootUrl("https://partnerdev-mapsbooking.googleapis.com/") // you add this to change the endpoint to use partnerdev.
.build()