本教程将介绍以下内容:
- 简要说明支持哪些费用和履单时间应用场景
- 有关如何为服务 Feed 指定订单履单时间和费用的具体说明。
- 准确性预期
如需查看展示订单配送时间和费用的完整 Feed 示例,请参阅订单重定向 EPA 示例。
费用
我们提供多种指定费用的方式,例如:
- 固定费用:“送货费 5 美元”或“服务费 5 美元”
- 百分比费用:“配送费 5%”或“服务费 5%”
- 费用范围:“送货费 2 美元至 10 美元”或“服务费 3%-6%”
- 开放式范围:“配送费 5% 起”或“服务费最高 20 美元”
费用可以指定为送货费或服务费。 您还可以指定多项费用(例如“服务费 5%-10%,送货费 5 美元”)。
不支持根据用户信息调整费用的使用情形。
费用示例
送货和自提费用
应用支持“DELIVERY”和“SERVICE”费用类型。传送
{ "fee": { "fee_id": "12345/delivery_fee", "fee_type": "DELIVERY", "fixed_amount": { "currency_code": "USD", "units": 10, "nanos": 0 }, "service_ids": ["service/entity002"] } }
服务
{ "fee": { "fee_id": "12345/service_fee", "fee_type": "SERVICE", "fixed_amount": { "currency_code": "USD", "units": 10, "nanos": 0 }, "service_ids": ["service/entity002"] } }
不同类型的费用
以下内容概述了一些易于使用的示例,用于指定所选的费用类型。固定
{ "fee": { "fee_id": "12345/delivery_fee", "fee_type": "DELIVERY", "fixed_amount": { "currency_code": "USD", "units": 10, "nanos": 0 }, "service_ids": ["service/entity002"] } }
购物车百分比
{ "fee": { "fee_id": "12345/delivery_fee", "fee_type": "DELIVERY", "cart_percentage": { "base_value": { "currency_code": "USD", "units": 3, "nanos": 500000000 }, "percentage_of_cart_value": 10 }, "service_ids": [ "service/entity002" ] } }
Range
{ "fee": { "fee_id": "12345/delivery_fee", "fee_type": "DELIVERY", "range_amount": { "min_amount": { "currency_code": "USD", "units": 3, "nanos": 500000000 }, "max_amount": { "currency_code": "USD", "units": 5, "nanos": 600000000 } }, "service_ids": [ "service/entity002" ] } }
履单时间
我们允许使用多种不同的格式来指定供应时间,以帮助确保您提供的数据准确无误。以下各点介绍了支持的不同使用情形,以及一些类似于用户在前端看到的示例语言。
- 固定时间:“30 分钟内送达”或“15 分钟内自提”
- 时间范围:“30 分钟到 1 小时内送达”或“15-20 分钟内自提”
您可以使用通用格式(如下所述)为自提和送货指定履单时间。
不支持需要根据用户信息更改 ETA 的使用情形。
履单时间示例
操作链接的订单履单时间包含在服务 Feed ETA 消息的 FoodOrderingService 字段中。
固定
{ "service": { "service_id": "service-id", "service_type": "TAKEOUT", "parent_entity_id": "entity-id", "lead_time": { "min_lead_time_duration": "900s" }, "action_link_id": "action-link-id" } },
时间范围
{ "service": { "service_id": "service-id", "service_type": "TAKEOUT", "parent_entity_id": "entity-id", "lead_time": { "min_lead_time_duration": "900s" "max_lead_time_duration": "1200s" }, "action_link_id": "action-link-id" } },
履单时间窗口
借助 ServiceHours,您可以为特定时间段设置配送时间。当不在服务时间窗口内时,系统会使用在 FoodOrderingService 中设置的默认 lead_time。
2400s 的 lead_time 将在上午 11:00 至下午 1:30 之间显示。1200s 的 lead_time 将在上午 11:00 之前和下午 1:30 之后显示。
{ "data": [ { "service": { "service_id": "merchant-1-service-delivery", "service_type": "DELIVERY", "parent_entity_id": "merchant-1", "lead_time": { "min_lead_time_duration": "1200s" }, "action_link_id": "merchant-1-takeout-delivery-action" } }, { "service_hours": { "hours_id": "merchant-1-advance-hours-delivery", "service_ids": ["merchant-1-service-delivery"], "asap_hours": [ { "time_windows": { "time_windows": { "open_time": { "hours": 11 }, "close_time": { "hours": 13, "minutes": 30 } } }, "lead_time": { "min_lead_time_duration": "2400s" } } ] } } ] }
费用和履单时间准确性
费用准确性
当您为商家提供费用数据时,我们希望您提供准确的费用信息。您应包含可能适用于订单的所有配送费和服务费。
我们深知,费用可能会随时间推移而变化,并且因用户而异。因此,我们提供了将费用指定为范围(包括开放式范围)的功能。如果费用可能会有很大差异,请务必确保所提供的范围涵盖用户在交易期间可能会看到的费用。
如果您不确定具体需要哪些信息,请与您的行动中心联系人联系。
订单履单时间准确性
我们知道,订单配送时间的具体情况会因多种因素而异。这些因素包括:
- 根据订单规模更改订单履单时间
- 根据完成订购和结账所需的时间更改订单履单时间
- 通过 Feed 更新订单履单时间更改时的延迟时间
- 用户的送货地址。
上述任何因素都可能导致向用户最初显示的订单配送时间与用户在结账时看到的实际配送时间不一致。实现配送时间的目标不是完全消除这些情况,而是尽可能经常地向用户提供清晰的信息。
合作伙伴应尽最大努力提供一种实现,以便尽可能经常地向用户显示准确的配送时间。如果这些因素导致时间存在显著差异,我们建议您提供涵盖该差异的时间范围。 此外,如果配送时间因订单详情而发生变化,则应在用户进入订购流程时向其明确显示此信息。
如果您不确定具体需要哪些信息,请与您的操作中心联系人联系。
及时更新费用和预计到达时间
使用常规 Feed 上传方式进行的任何更改至少需要 2 小时才能处理完毕。如果您打算经常更改预计到达时间,这一点尤为重要。
我们强烈建议合作伙伴实现实时更新,以便通过 API 调用在 5 分钟或更短的时间内更改服务 Feed(包括费用和预计到达时间)。