批量 Feed 错误

通过批量提取数据 Feed,您可以在端到端订餐中提供餐厅、服务和菜单。

Google 会提取存储在托管平台上的数据 Feed 并进行处理。成功提取后,端到端排序功能会提供有关提取状态、上传的新文件、文件总数、错误和警告等方面的信息。

本文详细介绍了 Action Center 中的大多数批量 Feed 错误,以及这些错误的含义和解决方法。这些超链接会将您定向至“关系型商品目录架构”页面,该页面提供了更多背景信息,例如接受的数据类型以及特定字段和实体的示例。

操作中心中的批量 Feed 错误位于何处?

借助数据 Feed,您可以在端到端订餐中提供您的餐厅、服务和菜单。如需详细了解如何托管数据 Feed,请参阅批量提取一文。

上传 Feed 文件后,Google 会提取并处理这些文件。如果存在任何问题,系统会将其显示为错误。请按照以下步骤在“操作中心”中查看批量 Feed 错误。

  1. 在“操作中心”的主导航面板中,依次前往Feed > 历史记录部分。批量 Feed 错误提取历史记录

  2. 选择环境(生产环境或沙盒),然后点击提取记录标签页

  3. 输入回溯期,查看过去 X 天的提取历史记录

  4. 如需详细了解特定 Feed 提取的错误,请点击箭头 (→)

  5. 然后,您可以详细了解错误和警告 详细的批量 Feed 错误

以下是批量 Feed 错误列表:

错误 具体含义 解决方法
缺少数据 - MenuItem 菜单必须至少包含一个 MenuItem 定义了菜单,但没有任何 MenuItem 在 Feed 中找到错误的菜单实体的 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 字段的值应采用 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 字段的值应采用 ISO 时间戳格式,类型为字符串。 对于 availabilityStarts 字段错误消息中的实体 ID,请确保其值为时间戳字符串。

示例:“2022-01-02T00:00:00-07:00
数据不正确 - closes closes 字段的数据不正确 closes 字段的值应采用 ISO 时间戳格式,类型为字符串。 对于 closes 字段错误消息中的实体 ID,请确保其值为时间戳字符串。

示例:“2022-01-02T00:00:00-07:00
数据不正确 - dateModified dateModified 字段的数据不正确 dateModified 字段的值应采用 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 字段需要有效的网址,如果检测到任何其他内容,则会抛出错误。 检查 image 字段的值是否为有效的网址字符串
数据不正确 - latitude latitude 字段的数据不正确 latitude 字段的值类型应为 double 对于错误说明中提及的类型为餐厅的实体 ID,请确保 latitude 字段的值为 double。

示例:35.4565
数据不正确 - leadTimeMin leadTimeMin 字段的数据不正确 leadTimeMin 字段需要整数值。例如,12。

对于任何其他数据类型(即使是 double [15.0]),它都会抛出错误
对于错误消息中提及的实体 ID,请检查 leadTimeMin 属性的值,并确保其为整数。
数据不正确 - longitude longitude 字段的数据不正确 longitude 字段的值类型应为 double 对于错误说明中提及的类型为餐厅的实体 ID,请确保 longitude 字段的值为 double。

示例:35.4565
数据不正确 - menuId menuId 字段的数据不正确 menuId 字段的值需要为非空字符串 对于错误说明中提及的实体 ID,请确保其值的类型为字符串且不为空
数据不正确 - name name 字段的数据不正确 name 字段的值应为非空字符串 检查错误消息中提及的实体 ID 的值是否为非空字符串
数据不正确 - nutrition.calories nutrition.calories 字段的数据不正确 calories 字段的值需要采用“NN Cal”格式的字符串 确保错误消息中的实体 ID 值为正数且格式正确。

示例:“123.32 卡路里”
数据不正确 - opens opens 字段的数据不正确 opens 字段的值应采用 ISO 时间戳格式,类型为字符串。 对于 opens 字段错误消息中的实体 ID,请确保其值为时间戳字符串。

示例:“2022-01-02T00:00:00-07:00
数据不正确 - price price 字段的数据不正确 price 字段需要数值 对于 price 字段错误消息中的实体 ID,请确保其值为数字。

示例:15.4
数据不正确 - sku sku 字段的数据不正确 sku 字段的值应为非空字符串 检查错误消息中提及的实体 ID 的值是否为非空字符串
数据不正确 - validFrom validFrom 字段的数据不正确 validFrom 字段的值应采用 ISO 时间戳格式,类型为字符串。此外,validFrom 的值应小于或等于 validThrough 对于错误说明中提及的实体 ID,请确保 validFrom 字段的值为时间戳字符串。

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

此外,请确保 validFrom 的值小于或等于 validThrough
数据不正确 - validThrough validThrough 字段的数据不正确 validThrough 字段的值应采用 ISO 时间戳格式,类型为字符串。此外,validThrough 的值应大于或等于 validFrom 对于错误说明中提及的实体 ID,请确保 validThrough 字段的值为时间戳字符串。

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

此外,请确保 validThrough 的值大于或等于 validFrom
数据不正确 - value value 字段的数据不正确 仅当定义了 Optiontype 时,才需要 value 字段。它需要一个字符串或枚举 value。请注意,枚举值仅适用于 PIZZA_SIDE 选项类型。 对于错误说明中提及的 entityID,请检查 value 字段是否包含非空字符串。
菜单过大

菜单大小超出上限
如果菜单文件的大小超出了系统可接受的大小,系统会抛出此错误。每个文件(可以包含多个实体)不得超过 200 MB。顶级实体“餐厅”“服务”和“菜单”及其子实体的总大小不得超过 4 MB。 确保菜单文件的大小在文档中指定的限制范围内。
缺少数据 - addressCountry 输入中缺少必填字段 addressCountry addressCountry 是必填字段,但餐厅实体中缺少该字段 对于错误说明中提及的实体 ID,请检查 addressCountry 字段是否为非空字符串
缺少数据 - addressLocality 输入中缺少必填字段 addressLocality addressLocality 是必填字段,但餐厅实体中缺少该字段 对于错误说明中提及的实体 ID,请检查 addressLocality 字段是否为非空字符串
缺少数据 - addressRegion 输入中缺少必填字段 addressRegion addressRegion 是必填字段,但餐厅实体中缺少该字段 对于错误说明中提及的实体 ID,请检查 addressRegion 字段是否为非空字符串
缺少数据 - 费用

外卖服务不收取任何配送费
费用类型的实体没有与外卖服务相关联的任何 price 对于错误说明中提及的实体 ID,请确保根据此处的说明,为外卖/外带 ServiceType 正确设置 Fee 实体。
缺少数据 - FeeValue 输入中必须包含 pricepricePerMeterpercentageOfCart 字段之一。 对于费用值,需要设置 price, pricePerMeter or percentageOfCart 之一。 对于错误说明中提及的实体 ID,请确保只设置一个 price, pricePerMeter or percentageOfCart
缺少数据 - geoMidpointLatitude 输入中缺少必填字段 geoMidpointLatitude 定义 ServiceArea 时,如果使用 geoRadius,则必须同时提供 geoMidpointLatitudegeoMidpointLongitude 对于错误说明中提及的实体 ID,请确保 geoMidpointLatitude 字段的值已定义且类型为 double。

示例:35.4565
缺少数据 - 输入中缺少 geoMidpointLongitude geoMidpointLongitude 定义 ServiceArea 时,如果使用 geoRadius,则必须同时提供 geoMidpointLongitudegeoMidpointLatitude 对于错误说明中提及的实体 ID,请确保 geoMidpointLatitude 字段的值已定义且类型为 double。

示例:122.4565
缺少数据 - MenuItemOption

MenuItemOption 需要 MenuItemOffer
对于每个 MenuItemOption,都需要有对应的 MenuItemOffer 实体 确保对于错误说明中的所有菜单项 ID,所有 MenuItemOption 实体都已正确定义 MenuItemOffer 实体。
缺少数据 - OperationHours

服务缺少营业时间
外卖服务实体缺少相应的 OperationHours 实体。OperationHours 用于描述用户可以访问该流程并下单的服务时间范围,包括尽快下单或日后下单。 对于错误说明中提及的实体 ID,请确保正确定义 OperationHours 实体。
缺少数据 - postalCode 输入中缺少必填字段 postalCode postalCode 是必填字段,但餐厅实体中缺少该字段 对于错误说明中提及的实体 ID,请检查 postalCode 字段是否为非空字符串
缺少数据 - priceCurrency 输入中缺少必填字段 priceCurrency priceCurrency 字段为空或包含不准确的值。它接受由 3 个字母组成的 ISO 4217 货币代码 对于错误说明中所述的实体 ID,请确保 priceCurrency 字段是一个非空字符串,其中包含 3 个字母的 ISO 4217 货币代码

示例:美元、欧元
缺少数据 - ServiceArea

配送服务没有配送服务区域
如果关联的 Service 实体将 serviceType 设置为“DELIVERY”,则必须实现 ServiceArea 实体 确保针对错误消息中提及的服务实体 ID,存在正确定义的 ServiceArea 实体
缺少数据 - streetAddress 输入中缺少必填字段 streetAddress streetAddress 是必填字段,但 Restaurant 实体中缺少该字段 根据错误说明中提及的 ID 查找 Restaurant 实体,检查 streetAddress 字段是否为非空字符串
过时实体 在数据 Feed 提取期间,端到端排序功能会将每个传入实体的修改日期时间戳与之前提取的实体的时间戳进行比较。除非数据 Feed 中的实体更新,否则传入的实体会被标记为过时。 对于错误说明中提及的所有实体 ID,Google 必须确保数据 Feed 中的时间戳比之前发送给 Google 的实体更新中设置的时间戳更晚。如需进一步了解,请参阅实体版本控制