バッチフィードのエラー

データフィードのバッチ取り込みを使用すると、レストラン、サービス、メニューを注文エンドツーエンドで利用できるようになります。

Google は、ホスト プラットフォームに保存されているデータフィードを取得して処理します。取り込みが正常に完了すると、取り込みのステータス、アップロードされた新しいファイル、ファイルの合計数、エラー、警告などの情報が Ordering End-to-End に表示されます。

この記事では、アクション センターのバッチフィード エラーのほとんどについて、その意味と解決方法を詳しく説明します。ハイパーリンクをクリックすると、リレーショナル インベントリ スキーマ ページに移動します。このページには、使用可能なデータ型や特定のフィールドとエンティティの例など、より詳しいコンテキストが記載されています。

アクション センターでバッチフィードのエラーを確認するにはどうすればよいですか?

データフィードを使用すると、レストラン、サービス、メニューを注文エンドツーエンドで利用できるようになります。データフィードのホスティングの詳細については、バッチ取り込みの記事をご覧ください。

フィード ファイルがアップロードされると、Google によって取得され、処理されます。問題がある場合は、エラーとして表示されます。アクション センターでバッチ フィードのエラーを確認する手順は次のとおりです。

  1. アクション センターのメイン ナビゲーション パネルで、[フィード] > [履歴] セクションに移動します。バッチ フィードエラーの取り込み履歴

  2. 環境(本番環境またはサンドボックス)を選択し、[取り込み履歴] タブをクリックします。

  3. ルックバック ウィンドウを入力して、過去 X 日間の取り込み履歴を表示する

  4. 特定のフィード取り込みのエラーの詳細を表示するには、矢印(→)をクリックします。

  5. エラーと警告の詳細を確認できます。バッチ フィードの詳細なエラー

バッチフィードのエラーの一覧は次のとおりです。

エラー 意味 修正方法
データがない - MenuItem メニューMenuItem が 1 つ以上必要です。 MenuItem なしで Menu が定義されています。 フィード内の誤った メニュー エンティティの ID を見つけて、メニュー アイテムを追加します。
データが正しくない - maxPrice フィールド maxPrice のデータが正しくない maxPrice フィールドの値が正しくない エラーの説明に記載されているエンティティ ID の maxPrice フィールドの値が 0 より大きいことを確認します。
データが正しくない - eligibleQuantityMax フィールド eligibleQuantityMax のデータが正しくない eligibleQuantityMax フィールドの値が正しくない 指定されたエンティティ ID の eligibleQuantityMax フィールドの値が 0 より大きいことを確認します。
データが正しくない - leadTimeMax フィールド leadTimeMax のデータが正しくない フィールド leadTimeMax には整数値を指定する必要があります。例: 12。他のすべてのデータ型(double(15.0)を含む)ではエラーがスローされます。 エラー メッセージに記載されているエンティティ ID の leadTimeMax プロパティの値が整数であることを確認します。
データが正しくない - validFrom フィールド validFrom のデータが正しくない validFrom フィールドの値には、型が String の ISO タイムスタンプ形式を指定する必要があります。 validFrom フィールドのエラー メッセージのエンティティ ID の値がタイムスタンプ文字列であることを確認します。

例: 「2022-01-02T00:00:00-07:00
データがない - ServiceHours

OperationHour にネストされた ServiceHours が含まれていない
OperationHours エンティティは定義されていますが、それに対応する有効な ServiceHours エンティティがありません。 エラー メッセージに記載されているエンティティ ID に、対応する ServiceHours エンティティが正しく定義されているかどうかを確認します。

例: エラー メッセージが「Entity id: store-1:DELIVERY OperationHour contains no nested ServiceHours」で、OperationHours エンティティのエンティティ ID が「store-1:DELIVERY:operation_hours」であると仮定します。この場合、「store-1:DELIVERY」ServiceID と「store-1:DELIVERY:operation_hours」OperationHoursID に関連付けられた serviceHours エンティティがあるかどうかを確認します。
データが正しくない - advanceBookingRequirementMin フィールド advanceBookingRequirementMin のデータが正しくない フィールド advanceBookingRequirementMin には整数値を指定する必要があります。例: 12。

他のすべてのデータ型(double(15.0)を含む)ではエラーがスローされます。
エラー メッセージに記載されているエンティティ ID の advanceBookingRequirementMin プロパティの値が整数であることを確認します。
データが正しくない - availabilityStarts フィールド availabilityStarts のデータが正しくない availabilityStarts フィールドの値には、型が String の ISO タイムスタンプ形式を指定する必要があります。 availabilityStarts フィールドのエラー メッセージのエンティティ ID の値がタイムスタンプ文字列であることを確認します。

例: 「2022-01-02T00:00:00-07:00
データが正しくない - closes フィールド closes のデータが正しくない closes フィールドの値には、型が String の ISO タイムスタンプ形式を指定する必要があります。 closes フィールドのエラー メッセージのエンティティ ID の値がタイムスタンプ文字列であることを確認します。

例: 「2022-01-02T00:00:00-07:00
データが正しくない - dateModified フィールド dateModified のデータが正しくない dateModified フィールドの値には、型が String の ISO タイムスタンプ形式を指定する必要があります。 dateModified フィールドのエラー メッセージのエンティティ ID の値がタイムスタンプ文字列であることを確認します。

例: 「2022-01-02T00:00:00-07:00
データが正しくない - discount フィールド discount のデータが正しくない discount フィールドには数値を指定する必要があります。 discount フィールドのエラー メッセージのエンティティ ID の値が数値であることを確認します。

例: 10
データが正しくない - discountPercentage フィールド discountPercentage のデータが正しくない discountPercentage フィールドには数値を指定する必要があります。 discountPercentage フィールドのエラー メッセージのエンティティ ID の値が数値であることを確認します。

例: 15
データが正しくない - geoRadius フィールド geoRadius のデータが正しくない フィールド geoRadius には正の整数値を指定してください。 エラー メッセージに記載されているエンティティ ID の geoRadius プロパティの値が整数であることを確認します。

例: 10000
データが正しくない - image フィールド image のデータが正しくない image フィールドは有効な URL を想定しており、それ以外が検出されるとエラーをスローします。 image フィールドの値が有効な URL 文字列かどうかを確認します。
データが正しくない - latitude フィールド latitude のデータが正しくない latitude フィールドの値の型は double です。 エラーの説明に記載されている Restaurant タイプのエンティティ ID について、latitude フィールドの値が double であることを確認します。

例: 35.4565
データが正しくない - leadTimeMin フィールド leadTimeMin のデータが正しくない フィールド leadTimeMin には整数値を指定する必要があります。例: 12。

他のすべてのデータ型(double(15.0)を含む)ではエラーがスローされます。
エラー メッセージに記載されているエンティティ ID の leadTimeMin プロパティの値が整数であることを確認します。
データが正しくない - longitude フィールド longitude のデータが正しくない longitude フィールドの値の型は double です。 エラーの説明に記載されている Restaurant タイプのエンティティ ID について、longitude フィールドの値が double であることを確認します。

例: 35.4565
データが正しくない - menuId フィールド menuId のデータが正しくない menuId フィールドの値は空でない文字列にする必要があります。 エラーの説明に記載されているエンティティ ID の値が、String 型で空でないことを確認します。
データが正しくない - name フィールド name のデータが正しくない フィールド name の値は空でない文字列にする必要があります。 エラー メッセージに記載されているエンティティ ID の値が空でない文字列かどうかを確認します。
データが正しくない - nutrition.calories フィールド nutrition.calories のデータが正しくない calories フィールドの値は、「NN Cal」形式の文字列にする必要があります。 エラー メッセージのエンティティ ID の値が、正しい形式の正の数値であることを確認します。

例: 「123.32 カロリー」
データが正しくない - opens フィールド opens のデータが正しくない opens フィールドの値には、型が String の ISO タイムスタンプ形式を指定する必要があります。 opens フィールドのエラー メッセージのエンティティ ID の値がタイムスタンプ文字列であることを確認します。

例: 「2022-01-02T00:00:00-07:00
データが正しくない - price フィールド price のデータが正しくない price フィールドには数値を指定する必要があります。 price フィールドのエラー メッセージのエンティティ ID の値が数値であることを確認します。

例: 15.4
データが正しくない - sku フィールド sku のデータが正しくない フィールド sku の値は空でない文字列にする必要があります。 エラー メッセージに記載されているエンティティ ID の値が空でない文字列かどうかを確認します。
データが正しくない - validFrom フィールド validFrom のデータが正しくない validFrom フィールドの値には、型が String の ISO タイムスタンプ形式を指定する必要があります。また、validFrom の値は validThrough 以下にする必要があります。 エラーの説明に記載されているエンティティ ID について、validFrom フィールドの値がタイムスタンプ文字列であることを確認します。

2022-01-02T00:00:00-07:00

また、validFrom の値が validThrough 以下であることを確認してください。
データが正しくない - validThrough フィールド validThrough のデータが正しくない validThrough フィールドの値には、型が String の ISO タイムスタンプ形式を指定する必要があります。また、validThrough の値は validFrom 以上である必要があります。 エラーの説明に記載されているエンティティ ID について、validThrough フィールドの値がタイムスタンプ文字列であることを確認します。

2022-01-02T00:00:00-07:00

また、validThrough の値が validFrom 以上であることを確認します。
データが正しくない - value フィールド value のデータが正しくない value フィールドは、Optiontype が定義されている場合にのみ必要です。文字列または列挙型 value を想定しています。列挙型の値は、PIZZA_SIDE オプション タイプに固有のものです。 エラーの説明に記載されている entityID について、value フィールドに空でない文字列が含まれているかどうかを確認します。
メニューが大きすぎる

メニューのサイズが上限を超えている
このエラーは、メニュー ファイルのサイズがシステムで許容できるサイズを超えている場合にスローされます。各ファイル(複数のエンティティを含めることができます)は 200 MB を超えないようにしてください。最上位エンティティのレストラン、サービス、メニューとその子エンティティの合計サイズは 4 MB を超えてはなりません。 メニュー ファイルのサイズがドキュメントで指定されている上限内であることを確認します。
データがない - addressCountry 入力に必須項目 addressCountry がありません。 addressCountry は必須フィールドですが、レストラン エンティティに含まれていません。 エラーの説明に記載されているエンティティ ID について、addressCountry フィールドが空でない文字列かどうかを確認します。
データがない - addressLocality 入力に必須項目 addressLocality がありません。 addressLocality は必須フィールドですが、レストラン エンティティに含まれていません。 エラーの説明に記載されているエンティティ ID について、addressLocality フィールドが空でない文字列かどうかを確認します。
データがない - addressRegion 入力に必須項目 addressRegion がありません。 addressRegion は必須フィールドですが、レストラン エンティティに含まれていません。 エラーの説明に記載されているエンティティ ID について、addressRegion フィールドが空でない文字列かどうかを確認します。
データがない - 料金

配達/持ち帰りサービスに配送料金がない
Fee タイプのエンティティに、デリバリー/テイクアウト サービスに関連付けられた price がない。 エラーの説明に記載されているエンティティ ID について、こちらの手順に沿って、デリバリー/テイクアウトの ServiceTypeFee エンティティが正しく設定されていることを確認します。
データがない - FeeValue 入力には pricepricePerMeterpercentageOfCart のいずれかのフィールドが必要です。 Fee の値には、price, pricePerMeter or percentageOfCart のいずれか 1 つを設定する必要があります。 エラーの説明に記載されているエンティティ ID で、price, pricePerMeter or percentageOfCart が 1 つだけ設定されていることを確認します。
データがない - geoMidpointLatitude 入力に必須項目 geoMidpointLatitude がありません。 ServiceArea を定義する場合、geoRadius を使用する場合は geoMidpointLongitude とともに geoMidpointLatitude が必要です。 エラーの説明に記載されているエンティティ ID について、geoMidpointLatitude フィールドの値が定義され、型が double であることを確認します。

例: 35.4565
データがない - 入力に geoMidpointLongitude geoMidpointLongitude がありません。 ServiceArea を定義する場合、geoRadius を使用する場合は geoMidpointLatitude とともに geoMidpointLongitude が必要です。 エラーの説明に記載されているエンティティ ID について、geoMidpointLatitude フィールドの値が定義され、型が double であることを確認します。

例: 122.4565
データがない - MenuItemOption

MenuItemOption には MenuItemOffer が必要です
MenuItemOption ごとに、対応する MenuItemOffer エンティティが必要です。 エラーの説明に記載されているすべてのメニューアイテム ID について、すべての MenuItemOption エンティティに MenuItemOffer エンティティが適切に定義されていることを確認します。
データがない - OperationHours

サービスに営業時間が設定されていません
デリバリー/テイクアウト サービス エンティティに、対応する OperationHoursエンティティがありません。OperationHours には、ユーザーがフローからアクセスして ASAP または将来の注文をできる注文可能期間を指定します。 エラーの説明に記載されているエンティティ ID について、OperationHours エンティティが正しく定義されていることを確認します。
データがない - postalCode 入力に必須項目 postalCode がありません。 postalCode は必須フィールドですが、レストラン エンティティに含まれていません。 エラーの説明に記載されているエンティティ ID について、postalCode フィールドが空でない文字列かどうかを確認します。
データがない - priceCurrency 入力に必須項目 priceCurrency がありません。 priceCurrency フィールドが空であるか、不正確な値が含まれています。3 文字の ISO 4217 通貨コードを指定します。 エラーの説明に記載されているエンティティ ID で、priceCurrency フィールドが空でない文字列で、3 文字の ISO 4217 通貨コードが含まれていることを確認します。

例: USD、EUR
データがない - ServiceArea

配送サービスに配送サービスエリアがない
関連する Service エンティティの serviceType が「DELIVERY」に設定されている場合、ServiceArea エンティティを実装する必要があります。 エラー メッセージに記載されている Service エンティティ ID に、適切に定義された ServiceArea エンティティがあることを確認します。
データがない - streetAddress 入力に必須項目 streetAddress がありません。 streetAddress は必須フィールドですが、レストラン エンティティに含まれていません。 エラーの説明に記載されている ID で レストラン エンティティを見つけ、streetAddress フィールドが空でない文字列かどうかを確認します。
古いエンティティ データフィード取り込み中に、Ordering End-to-End は、受信する各エンティティの変更日タイムスタンプを、以前に取り込まれたエンティティのタイムスタンプと比較します。データフィード内のエンティティが新しい場合を除き、受信したエンティティは古いエンティティとしてマークされます。 エラーの説明に記載されているすべてのエンティティ ID について、Google はデータフィード内のタイムスタンプが、Google に送信された以前のエンティティの更新で設定されたタイムスタンプよりも新しいことを確認する必要があります。詳しくは、エンティティのバージョニングをご覧ください。