- JSON 表示法
- OrderItem
- OrderModifierGroup
- OrderModifier
- OrderModifierAction
- OrderMetadata
- DeliveryAddress
- ValidationStatus
- OrderFulfillment
- OrderPriceInfo
订单表示用户正在进行或已完成的订单的内容。
| JSON 表示法 |
|---|
{ "items": [ { object ( |
| 字段 | |
|---|---|
items[] |
可选。订单中的商品。 |
metadata |
可选。在订单期间收集或推断出的其他元数据。 |
fulfillment |
可选。相应订单的履单信息。 |
priceInfo |
可选。相应订单的价格信息。 |
externalOrderId |
仅限输出。相应订单的外部标识符。仅在启用销售终端集成时填充。 |
OrderItem
OrderItem 用于指定属于订单的商品的状态。
| JSON 表示法 |
|---|
{ "uid": string, "itemId": string, "displayName": string, "image": { object ( |
| 字段 | |
|---|---|
uid |
可选。系统为相应商品分配的唯一标识符。 |
itemId |
必需。菜单中某个项的标识符,在相应菜单中具有唯一性。 |
displayName |
仅限输出。此订单项的人类可读名称,将在界面上显示。 |
image |
仅限输出。要在界面中为此商品显示的图片。 |
basePrice |
仅限输出。商品的基本价格。这可能会受到所选修正因素的影响。这是商品的单价。 |
integrationAttributes |
仅限输出。与此实体关联的元数据,用于下游集成。 |
modifierGroups[] |
可选。应用于此商品的 ModifierGroups。 |
quantity |
可选。相应商品在订单中的数量。 |
totalPrice |
仅限输出。相应订单项的总价,包括所选的加项,反映了商品数量,但不含税。用于显示每个商品的购物袋。 |
categoryIds[] |
仅限输出。相应菜单项所属的类别 ID。镜像菜单的 Item.category_ids,以便客户端可以按菜单类别对订购的商品进行分组。 |
OrderModifierGroup
OrderModifierGroup 用于指定属于 OrderItem 的 ModifierGroup 的状态。
| JSON 表示法 |
|---|
{ "modifierGroupId": string, "displayName": string, "integrationAttributes": { object ( |
| 字段 | |
|---|---|
modifierGroupId |
必需。相应功能组的标识符,在相应菜单中必须是唯一的。 |
displayName |
仅限输出。修饰项组名称,例如“配料(三明治)”或“中份套餐的配菜”。 |
integrationAttributes |
仅限输出。与此实体关联的元数据,用于下游集成。 |
modifiers[] |
可选。应用于相应修饰符组的修饰符。 |
OrderModifier
OrderModifier 用于指定属于 OrderModifierGroup 的 Modifier 的状态。
| JSON 表示法 |
|---|
{ "uid": string, "modifierId": string, "displayName": string, "priceAdjustment": { object ( |
| 字段 | |
|---|---|
uid |
可选。系统为此修饰符分配的唯一标识符。 |
modifierId |
必需。相应功能变量的标识符,在菜单中必须唯一。 |
displayName |
仅限输出。要在界面上显示的修饰符显示名称。 |
priceAdjustment |
仅限输出。与此修饰符关联的价格调整(如果有)。这是相应修饰符的单价。 |
quantity |
可选。应用此修饰符操作的数量。 |
modifierAction |
可选。应用于相应修饰符的修饰符操作。 |
image |
仅限输出。要在界面中为此修饰符显示的图片。 |
integrationAttributes |
仅限输出。与此实体关联的元数据,用于下游集成。 |
modifierGroups[] |
可选。应用于此修饰符的嵌套修饰符组。 |
isDefault |
仅限输出。相应修饰符是否是其修饰符组的默认选择。需要此属性,以便客户端可以计算准确的选择差异。 |
OrderModifierAction
OrderModifierAction 用于指定与已应用的 OrderModifier 关联的 ModifierAction。
| JSON 表示法 |
|---|
{ "name": string } |
| 字段 | |
|---|---|
name |
可选。修饰符操作名称,例如“NO”“SIDE”“ADD”“EXTRA”。 |
OrderMetadata
OrderMetadata 包含在订单期间收集或推断的其他元数据。
| JSON 表示法 |
|---|
{
"collectedCustomerName": string,
"callerPhoneNumber": string,
"deliveryAddress": {
object ( |
| 字段 | |
|---|---|
collectedCustomerName |
可选。在接单时收集的客户姓名。仅当代理配置为收集客户姓名时才会填充。此类数据可能通过口头收集,可能包含拼写错误或转写错误,因此在向用户显示时应谨慎处理,并且不应将其视为可信信息(例如支付信息)。 |
callerPhoneNumber |
可选。下单客户的手机号码。 |
deliveryAddress |
可选。如果订单是配送订单,则为配送地址。 |
DeliveryAddress
订单的配送地址。可以是已保存或已收集的现有地址。
| JSON 表示法 |
|---|
{ "address": { object ( |
| 字段 | |
|---|---|
address |
可选。配送地址。 |
validationStatus |
可选。地址的验证状态。 |
coordinates |
可选。相应地址的地理坐标。用于验证地址是否在商店的送货范围内。 |
ValidationStatus
配送地址的验证状态。它由特定于客户端的验证逻辑确定。
| 枚举 | |
|---|---|
VALIDATION_STATUS_UNSPECIFIED |
相应地址尚未通过验证。 |
VALIDATION_STATUS_VALID |
地址有效。 |
VALIDATION_STATUS_INVALID |
地址无效(不存在、无法解析等) |
VALIDATION_STATUS_OUT_OF_RANGE |
地址存在且已解析,但超出商店的配送范围。 |
VALIDATION_STATUS_INCOMPLETE_ADDRESS |
地址缺少必需字段(缺少门牌号/街道名称、城市、州/省/自治区/直辖市、邮编等) |
OrderFulfillment
OrderFulfillment 包含有关订单履单的信息。
| JSON 表示法 |
|---|
{
"fulfillmentMethod": enum ( |
| 字段 | |
|---|---|
fulfillmentMethod |
可选。订单的配送方式。 |
createTime |
仅限输出。创建订单的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
targetFulfillmentTime |
可选。订单安排的履单时间,用于“提前下单”。如果未提供,则假定订单为“尽快”订单。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
OrderPriceInfo
OrderPriceInfo 封装了订单的各种价格组成部分。
| JSON 表示法 |
|---|
{ "totalPrice": { object ( |
| 字段 | |
|---|---|
totalPrice |
可选。应用所有税费和折扣后的最终总价。 |
subtotalPrice |
可选。所有商品和修饰符的小计价格(不含税、折扣)。 |
taxPrice |
可选。订单中应用的税费金额。 |
discount |
可选。应用于订单的总折扣 |
saving |
可选。已将优惠节省金额应用于订单 |
fees |
可选。订单的总费用 |