フィードは、在庫データをアクション センターに提供します。この毎日のセキュア ファイル転送プロトコル(SFTP)アップロードにより、販売者、サービス、予約枠のすべてのデータが更新されます。フィードでは、サポートする販売者、在庫状況、Google が在庫を正しく表示することを確認するために必要な特別な機能が指定されます。フィードは、設定で SSH 認証鍵を指定したときに構成された SFTP ドロップボックスにアップロードされます。
予約サーバーに移行する前に、次のフィードの準備タスクを完了する必要があります。
フィードのアップロードが完了すると、タスクは完了としてマークされ、緑色に変わります。リンクされたドキュメントを確認して、各マイルストーン タスクを完了します。
飲食店の予約のエンドツーエンド統合を適切に機能させるには、毎日、販売者フィード、サービス フィード、空き状況フィードを自動的にアップロードする必要があります。自動フィード インフラストラクチャで、在庫全体を提供する必要があります。
フィードタイプ
飲食店の予約のエンドツーエンド統合には、次のフィードとそのアップロード頻度が必要です。
フィード | 説明 | 頻度 | サンプル |
---|---|---|---|
販売者 | 販売者について説明します。 | 24 時間に 1 回 | 販売者フィードのサンプル |
サービス | 販売者のサービスについて説明します。 | 24 時間に 1 回 | サービス フィードのサンプル |
可用性 | 販売者のサービスの空き状況について説明します。最低 30 日間の補償を提供する必要があります。保証期間を 90 日間に延長するには、アクション センターのお問い合わせフォームから Google サポートにお問い合わせください。 | 24 時間に 1 回 | 空き情報フィードのサンプル |
フィード形式は Protocol Buffer 3 の構文で記述されていますが、対応する JSON 形式でフィードをアップロードできます。JSON 形式については、フィードのサンプルをご覧ください。フィードは JSON 形式でアップロードすることをおすすめします。
命名規則とメタデータ
ファイル名
シャーディングを使用する場合は、アップロードするフィードに、フィードのタイプと数を指定する一意の名前を付ける必要があります。フィード生成のタイムスタンプは、フィード ファイルの命名の一意性の要件を満たします。
構造: {feed_name}_{timestamp_epoch}_{shard_nunber}_{total_shard}.json
例: availability_feed_1574117613_001_of_002.json.gz
ID を定義する
販売者や ID が必要なその他の属性の ID を定義する場合は、UID または UUID を使用することを強くおすすめします。プラットフォーム全体で ID が一意であれば、独自の英数字ソリューションを提供できます。
メタデータ
フィードを作成するとき、generation_timestamp
はデータベースからデータが取得された時間を反映する必要があります。この値を複数のフィードで再利用すると、処理エラーが発生する可能性があります。
ノンス値(ランダムな数値または繰り返しのない数値)は、フィードタイプ全体で一意である必要があり、再利用することはできません。この値は、特定のシャード化されたフィード内のすべてのファイルで一致している必要があります。
フィードのファイルサイズ
フィード ファイルのシャーディング
在庫に応じて、シャーディングやフィードを複数のファイルに分割することが必要になる場合があります。フィードは、次の条件でシャーディングが必要になることがあります。
- 圧縮された gzip フィードの 1 つのファイルのサイズが 200 MB を超えています。
- 例: 生成された空き情報フィードが 1 GB の場合。これは、5 つ以上の個別のシャードにシャーディングする必要があります。
- パートナーの在庫がシステムまたはリージョン全体に分散しているため、在庫の調整が困難になります。
- 例: パートナーは、別々のシステムに存在する米国と EU の在庫を保有しています。フィードは 2 つのシャードで生成される可能性があります。米国向けと EU 向けに、同じノンスと
generation_timestamp
を使用して 1 つずつ作成します。
- 例: パートナーは、別々のシステムに存在する米国と EU の在庫を保有しています。フィードは 2 つのシャードで生成される可能性があります。米国向けと EU 向けに、同じノンスと
詳しくは、シャード フィード ファイルのチュートリアルとベスト プラクティスをご覧ください。
フィードは、シャードと呼ばれる複数のファイルで構成できます。フィードのサイズを決定するには、以下のガイドラインを使用します。
- 推奨されるフィードのシャーディング:
- 販売者フィード: 1 個のシャード。
- サービス フィード: 1 個のシャード。
- 空き状況フィード: 20 個未満のシャード。指定された金額を超えるビジネス上の正当な理由がある場合は、サポートにお問い合わせください。
- フィード ファイルのサイズとシャーディング:
- 圧縮後のシャード ファイルのサイズは 200 MB 未満に抑えます。必要に応じて、複数のシャードを使用します。
- 1 つのシャードで送信された個々のレコードを、今後のフィードの同じシャードで送信する必要はありません。
- パフォーマンスを向上させるには、シャード間でデータを均等に分割し、すべてのシャード ファイルを同じくらいのサイズにします。
- 必要に応じて、gzip を使用して個々のフィード シャードのプレーン テキストの JSON フィードを圧縮します。
フィード ファイルを圧縮する
JSON ファイルまたは PB3 ファイルは、アップロード前に gzip で圧縮できます。これにより、1 日のフィードのバイトサイズを大幅に削減できます。
各シャードファイルは gzip 圧縮し、gzip*.json などのように個別にアップロードする必要があります。圧縮されたフィード シャードの末尾は .json.gz または .pb3.gz にする必要があります。
SFTP ドロップボックスにフィードをアップロードする
販売者、サービス、在庫状況のフィードを生成したら、SFTP ドロップボックスを使用して、フィードをサンドボックス環境または本番環境にアップロードできます。SFTP ドロップボックスは、設定で SSH 認証鍵を指定すると構成されます。Google SFTP サーバーは、ポート 19321 で sftp://partnerupload.google.com
にアクセスして使用できます。
Google は、フィード ファイルが SFTP ドロップボックスにアップロードされるとすぐに審査して検証します。フィードを複数のファイル間で共有している場合は、最後のファイルをアップロード後に処理されます。フィードにエラーがある場合は、フィードのエラーコードが記載されたメールが送信されます。エラーにより、定義された販売者、サービス、可用性が取り込まれません。フィードが検証されてから、フロントエンドにフィードが表示されるまでに最大 24 時間かかることがあります。