本教程将介绍以下内容:
- 对支持的费用和履行时间使用情形进行大致说明
- 关于如何为 服务 Feed指定订单履行时间和费用的具体说明。
- 对准确性的预期
如需查看完整 Feed 示例,其中展示了订单履行时间和费用的使用情况,请参阅 Ordering Redirect EPA 示例。
费用
我们提供了多种指定费用的方式,例如:
- 固定费用:“送餐费 5 美元”或“服务费 5 美元”
- 百分比费用:“送餐费 5%”或“服务费 5%”
- 费用范围:“送餐费 2-10 美元”
- 开放式范围 :“服务费最高 20 美元”
费用可以指定为送餐费或服务费。 您还可以指定多项费用(例如“服务费 5%,送餐费 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" ] } }
范围
{ "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 分钟内可取餐”
您可以使用通用格式 (如下所述) 为外卖和送餐指定履行时间。
我们不支持需要根据用户信息更改预计送达时间的使用情形。
履行时间示例
操作链接的订单履行时间包含在服务 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,
您可以为特定时间窗口设置履行时间。在服务时间窗口之外,系统会使用
lead_time 中设置的默认
FoodOrderingService。
lead_time 为 2400s,显示时间为上午 11:00 至下午 1:30。
lead_time 为 1200s,显示时间为
上午 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" } } ] } } ] }
费用和履行时间的准确性
费用的准确性
当您为商家提供费用数据时,我们希望您准确地反映费用情况。您应包含可能适用于订单的所有送餐费和服务费。
我们认识到,费用可能会随时间和用户而变化。因此,我们允许您将费用指定为范围,包括开放式范围。如果费用可能会发生 显著变化,请确保提供的范围涵盖用户在交易期间可能会看到的费用。
如果您不确定具体需要哪些内容,请与您的 Actions Center 联系人联系。
订单履行时间的准确性
我们知道,订单履行 时间的具体情况会因多种因素而异。这些因素包括:
- 订单履行时间因订单大小而异
- 订单履行时间因完成订购和 结账所需的时间而异
- 通过 Feed 更新订单履行时间更改时的延迟时间
- 用户的配送地址。
任何这些因素都可能导致用户最初看到的订单履行 时间与他们在结账时看到的实际履行时间 不一致。履行时间实现的目标不是 完全消除这些差异,而是尽可能频繁地向用户提供清晰的信息。
合作伙伴应尽最大努力提供一种实现方式,以便尽可能频繁地向用户显示准确的 履行时间。如果由于这些因素导致时间存在显著差异,我们建议您提供涵盖该差异的时间范围。 此外,如果履行时间确实因订单详情而发生变化, 则应在用户进入您的订购流程时向其清楚显示。
如果您不确定具体需要哪些内容,请与您的 Actions Center 联系人联系。
及时更新费用和预计送达时间
使用普通 Feed 上传进行的任何更改可能需要至少 2 小时才能处理完毕。如果您计划频繁更改预计送达时间,这一点尤为重要。
我们强烈建议合作伙伴实现 实时更新 ,这样就可以在 5 分钟或更短的时间内通过 API 调用更改 服务 Feed(包括费用和预计送达时间)。