Order

订单实体。注意:1. 除非另有说明,否则所有级别的所有字符串均不得超过 1000 个字符。2. 除非另有说明,否则所有级别的所有重复字段的计数都必须少于 50。3. 所有级别的所有时间戳(如果指定)都必须是有效的时间戳。

JSON 表示法
{
  "googleOrderId": string,
  "merchantOrderId": string,
  "userVisibleOrderId": string,
  "userVisibleStateLabel": string,
  "buyerInfo": {
    object (UserInfo)
  },
  "image": {
    object (Image)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "transactionMerchant": {
    object (Merchant)
  },
  "contents": {
    object (Contents)
  },
  "priceAttributes": [
    {
      object (PriceAttribute)
    }
  ],
  "followUpActions": [
    {
      object (Action)
    }
  ],
  "paymentData": {
    object (PaymentData)
  },
  "termsOfServiceUrl": string,
  "note": string,
  "promotions": [
    {
      object (Promotion)
    }
  ],
  "disclosures": [
    {
      object (Disclosure)
    }
  ],
  "vertical": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field verticals can be only one of the following:
  "purchase": {
    object (PurchaseOrderExtension)
  },
  "ticket": {
    object (TicketOrderExtension)
  }
  // End of list of possible types for union field verticals.
}
字段
googleOrderId

string

Google 分配的订单 ID。

merchantOrderId

string

必填:由商家分配的内部订单 ID。此 ID 必须是唯一的,并且是后续订单更新操作所必需的。此 ID 可以设置为提供的 googleOrderId 或任何其他唯一值。请注意,向用户显示的 ID 是 userVisibleOrderId,该值可能是另一个更方便使用的值。允许的长度上限为 128 个字符。

userVisibleOrderId

string

引用当前订单的面向用户的 ID。此 ID 应与在其他环境(包括网站、应用和电子邮件)中为该订单显示的 ID 一致。

userVisibleStateLabel
(deprecated)

string

已弃用:请改用 OrderExtensions 状态。此订单状态的用户可见标签。

buyerInfo

object (UserInfo)

买方的相关信息。

image

object (Image)

与订单关联的图片。

createTime

string (Timestamp format)

必需:订单的创建日期和时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒。示例:"2014-10-02T15:01:23.045123456Z"

lastUpdateTime

string (Timestamp format)

上次更新订单的日期和时间。对于 OrderUpdate 是必需的。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒。示例:"2014-10-02T15:01:23.045123456Z"

transactionMerchant

object (Merchant)

协助完成结账的商家。该提供商可能不同于订单项级提供商。示例:包含来自 ANA 的订单项的 Expedia 订单。

contents

object (Contents)

必需:订单内容,即一组订单项。

priceAttributes[]

object (PriceAttribute)

价格、折扣、税费等。

followUpActions[]

object (Action)

订单级的跟进操作。

paymentData

object (PaymentData)

订单的付款相关数据。

termsOfServiceUrl

string

指向适用于订单/提议订单的服务条款的链接。

note

string

附加到订单的备注。

promotions[]

object (Promotion)

与此订单相关联的所有促销活动。

disclosures[]

object (Disclosure)

与此订单相关的披露信息。

vertical
(deprecated)

object

已弃用:请改用行业。除非这些属性在某些订单项中被替换,否则它们会应用于所有订单项。此行业必须与订单项级行业类型一致。可能的值:google.actions.orders.v3.verticals.purchase.PurchaseOrderExtension google.actions.orders.v3.verticals.ticket.TicketOrderExtension

可以包含任意类型字段的对象。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

联合字段 verticals。除非这些属性在某些订单项中被替换,否则它们会应用于所有订单项。此行业必须与订单项级行业类型一致。verticals 只能是下列其中一项:
purchase

object (PurchaseOrderExtension)

采购订单

ticket

object (TicketOrderExtension)

票券订单

UserInfo

用户的相关信息。用于表示与订单相关联的用户的信息。

JSON 表示法
{
  "email": string,
  "firstName": string,
  "lastName": string,
  "displayName": string,
  "phoneNumbers": [
    {
      object (PhoneNumber)
    }
  ]
}
字段
email

string

用户电子邮件地址,例如 janedoe@gmail.com

firstName

string

用户的名字。

lastName

string

用户的姓氏。

displayName

string

用户的显示名,可能与名字或姓氏不同。

phoneNumbers[]

object (PhoneNumber)

用户的电话号码。

PhoneNumber

标准电话号码表示法。

JSON 表示法
{
  "e164PhoneNumber": string,
  "extension": string,
  "preferredDomesticCarrierCode": string
}
字段
e164PhoneNumber

string

按照国际电信联盟 (ITU) 的建议 E.164 中的定义,采用 E.164 格式的电话号码。Wiki 链接:https://en.wikipedia.org/wiki/E.164

extension

string

除了被定义为最长长度为 40 位的一系列数字之外,扩展项在 ITU 建议中并未标准化。此处将它定义为一个字符串,以适应可能在扩展名中使用前导零的情况(组织可以自由使用,因为没有定义任何标准)。除数字外,一些其他拨号字符可能会存储在此处,例如“,”(表示等待)。例如,在 xxx-xxx-xxxx ext. 123 中,“123”就是扩展名。

preferredDomesticCarrierCode

string

在国内拨打此电话号码时首选的运营商选择代码。此外,在某些国家/地区,从固定电话拨打到手机(反之亦然)时,需要拨打的代码才能正常运行。例如,在哥伦比亚,从手机拨打国内固定电话时,在电话号码本身前必须加上“3”,反之亦然。https://en.wikipedia.org/wiki/Telephone_numbers_in_Colombia https://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code

请注意,这是“首选”代码,这意味着其他代码可能也可以正常使用。

图片

卡片中显示的图片。

JSON 表示法
{
  "url": string,
  "accessibilityText": string,
  "height": number,
  "width": number
}
字段
url

string

图片的来源网址。图片可以是 JPG、PNG 和 GIF(动画和非动画)。例如 https://www.agentx.com/logo.png。必需。

accessibilityText

string

用于无障碍功能的图片的文字说明,例如屏幕阅读器。必需。

height

number

图片的高度(以像素为单位)。可选。

width

number

图片的宽度(以像素为单位)。可选。

商家

购物车/订单/订单项的商家。

JSON 表示法
{
  "id": string,
  "name": string,
  "image": {
    object (Image)
  },
  "phoneNumbers": [
    {
      object (PhoneNumber)
    }
  ],
  "address": {
    object (Location)
  }
}
字段
id

string

分配给商家的可选 ID(如果有)。

name

string

商家的名称,例如“Panera Bread”。

image

object (Image)

与商家关联的图片。

phoneNumbers[]

object (PhoneNumber)

商家的电话号码。

address

object (Location)

商家的地址。

位置

表示营业地点的容器。

JSON 表示法
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "name": string,
  "phoneNumber": string,
  "notes": string,
  "placeId": string
}
字段
coordinates

object (LatLng)

地理坐标。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 权限。

formattedAddress

string

显示地址,例如“1600 Amphitheatre Pkwy, Mountain View, CA 94043”。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 权限。

zipCode

string

邮政编码。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 或 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 权限。

city

string

城市。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 或 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 权限。

postalAddress

object (PostalAddress)

邮寄地址。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 或 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 权限。

name

string

地点的名称。

phoneNumber

string

地点的电话号码,例如营业地点的联系电话或送货地点的电话号码。

notes

string

关于位置的说明。

placeId

string

placeId 将与 Places API 搭配使用,用于提取地点的详细信息。请参阅 https://developers.google.com/places/web-service/place-id

LatLng

一个表示纬度/经度对的对象。该对象以一对双精度数(分别代表纬度度数和经度度数)来表示。除非另有说明,否则该对象必须符合 WGS84 标准。值必须介于标准化范围内。

JSON 表示法
{
  "latitude": number,
  "longitude": number
}
字段
latitude

number

纬度(以度为单位)。它必须在 [-90.0, +90.0] 范围内。

longitude

number

经度(以度为单位)。它必须在 [-180.0, +180.0] 范围内。

PostalAddress

表示邮政地址,例如邮政递送或付款地址。给定邮政地址时,邮政服务可以将物品投递到处所、邮政信箱或其他投递地点。此对象不模拟地理位置(道路、城镇、山区)。

在典型的使用场景中,地址将通过用户输入或导入现有数据来创建,具体取决于进程的类型。

有关输入/修改地址的建议:- 使用国际化地址微件,例如 https://github.com/google/libaddressinput。在使用某个字段的国家/地区之外,不应向用户显示界面元素,供其输入或修改字段。

如需详细了解如何使用此架构,请参阅:https://support.google.com/business/answer/6397478

JSON 表示法
{
  "revision": number,
  "regionCode": string,
  "languageCode": string,
  "postalCode": string,
  "sortingCode": string,
  "administrativeArea": string,
  "locality": string,
  "sublocality": string,
  "addressLines": [
    string
  ],
  "recipients": [
    string
  ],
  "organization": string
}
字段
revision

number

PostalAddress 的架构修订版本。必须将其设置为 0,也就是最新版本。

所有新版本必须向后兼容旧版本。

regionCode

string

必需。地址的国家/地区的 CLDR 地区代码。系统不会推断此字段,该值由用户确保正确。如需了解详情,请参阅 http://cldr.unicode.org/http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html。示例:“CH”表示瑞士。

languageCode

string

可选。此地址内容的 BCP-47 语言代码(如果已知)。这通常是输入表单的界面语言,或者与地址的“国家/地区”中使用的某种语言或其转换后的其他语言相匹配。这可能会影响某些国家/地区的格式,但对数据的正确性并不重要,也不会影响任何验证或其他与格式无关的操作。

如果此值未知,则应省略(而不是指定可能不正确的默认值)。

示例:“zh-Hant”、“ja”、“ja-Latn”、“en”。

postalCode

string

可选。地址的邮政编码。并非所有国家/地区都使用或要求显示邮政编码,但在使用这些邮政编码时,它们可能会触发针对地址的其他部分进行额外验证(例如,美国的州/邮政编码验证)。

sortingCode

string

可选。特定于国家/地区的额外排序代码。大多数区域都未使用此功能。使用该值时,该值可以是一个类似“CEDEX”的字符串,后面可以跟一个数字(例如“CEDEX 7”),也可以只是一个数字,表示“部门代码”(牙买加)、“投递区域指标”(马拉维)或“邮局指标”(例如科特迪瓦)。

administrativeArea

string

可选。最高行政区划,用于国家或地区的邮政地址。例如,此值可以是州、省、州(俄罗斯)或县。具体来说,对于西班牙,此值为省而非自治区(例如此值为“巴塞罗那”而非“加泰罗尼亚”)。许多国家在邮政地址中不使用行政区划。例如对于瑞士,此字段应留空。

locality

string

可选。一般是指地址的城市/城镇部分。示例:美国的城市、意大利的市镇、英国的邮镇。对于没有明确定义市行政区或者其无法很好地对应到此结构的地区,请将 locality 留空并使用 addressLines。

sublocality

string

可选。地址的子级市行政区。例如,此值可以是社区、自治市/镇/区、区。

addressLines[]

string

描述详细地址的非结构化地址行。

由于 addressLines 中的值没有类型信息,并且有时可能在单个字段中包含多个值(例如“Austin, TX”),因此清楚的行顺序很重要。地址行的顺序应该是地址的国家/地区的“信封顺序”。在某些地方,此顺序有可能不同(例如日本),address_language 有助于使其明确(例如,“ja”表示从大到小排序,“ja-Latn”或“en”表示从小到大排序)。这样就可以根据语言选择地址的具体行。

地址的最小结构化表示形式由 regionCode 和 addressLines 组成,其中所有其他信息都放在 addressLines 中。可以在没有地理编码的情况下非常近似地设置此地址的格式,但是在至少部分完成之前,不能对任何地址组成部分进行语义推理。

创建仅包含 regionCode 和 addressLines 的地址,然后进行地理编码是处理完全非结构化地址的推荐方法(而不是猜测地址的哪些部分是城市/市镇或行政区)。

recipients[]

string

可选。此地址的收件人。在某些情况下,该字段可能包含多行信息。例如,它可能包含“转交”信息。

organization

string

可选。位于该地址的组织的名称。

目录

订单项的封装容器。

JSON 表示法
{
  "lineItems": [
    {
      object (LineItem)
    }
  ]
}
字段
lineItems[]

object (LineItem)

订单订单项列表。必须提供至少 1 个订单项,但最多可以有 50 个。所有订单项都必须属于同一行业。

LineItem

一个订单项包含一个行业。一个订单或购物车可以有多个属于同一行业的订单项。子订单项/插件等应在垂直 proto 中定义,具体取决于它们的用例。注意:1. 除非另有说明,否则所有级别的所有字符串均不得超过 1000 个字符。2. 除非另有说明,否则所有级别的所有重复字段的计数都必须少于 50。3. 所有级别的所有时间戳(如果指定)都必须是有效的时间戳。

JSON 表示法
{
  "id": string,
  "name": string,
  "userVisibleStateLabel": string,
  "provider": {
    object (Merchant)
  },
  "priceAttributes": [
    {
      object (PriceAttribute)
    }
  ],
  "followUpActions": [
    {
      object (Action)
    }
  ],
  "recipients": [
    {
      object (UserInfo)
    }
  ],
  "image": {
    object (Image)
  },
  "description": string,
  "notes": [
    string
  ],
  "disclosures": [
    {
      object (Disclosure)
    }
  ],
  "vertical": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field verticals can be only one of the following:
  "purchase": {
    object (PurchaseItemExtension)
  },
  "reservation": {
    object (ReservationItemExtension)
  }
  // End of list of possible types for union field verticals.
}
字段
id

string

必需:商家为订单项分配的标识符。用于在应用部分更新时识别现有订单项。允许的长度上限为 64 个字符。

name

string

收据上显示的订单项名称。允许的长度上限为 100 个字符。

userVisibleStateLabel
(deprecated)

string

已弃用。请改用行业级别状态。例如,对于购买,请使用 PurchaseOrderExtension.status。此订单项状态的用户可见标签。

provider

object (Merchant)

特定订单项的提供商(如果不同于整个订单)。示例:采用订单项提供商 ANA 的 Expedia 订单。

priceAttributes[]

object (PriceAttribute)

订单项级价格和调整项。

followUpActions[]

object (Action)

订单项的跟进操作。

recipients[]

object (UserInfo)

订单项级客户,可能不同于订单级买方。示例:用户 X 以用户 Y 的名义预订了餐厅。

image

object (Image)

与此项相关的小图片(如果有)。

description

string

订单项说明。

notes[]

string

适用于此特定订单项的补充说明,例如取消政策。

disclosures[]

object (Disclosure)

与此订单项关联的披露信息。

vertical
(deprecated)

object

已弃用:请改用行业。必需:基于类型/行业的订单项语义内容。每个类别都应包含自己的执行方式详细信息。必须是以下任一值:google.actions.orders.v3.verticals.purchase.PurchaseItemExtension google.actions.orders.v3.verticals.reservation.ReservationItemExtension google.actions.orders.v3.verticals.ticket.TicketItemExtension

可以包含任意类型字段的对象。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

联合字段 verticals。必需:基于类型/行业的订单项语义内容。每个类别都应包含自己的执行方式详细信息。verticals 只能是下列其中一项:
purchase

object (PurchaseItemExtension)

商品、食品等采购订单。

reservation

object (ReservationItemExtension)

预订餐厅、理发等。

PriceAttribute

订单或订单项的价格属性。

JSON 表示法
{
  "type": enum (Type),
  "name": string,
  "state": enum (State),
  "taxIncluded": boolean,

  // Union field spec can be only one of the following:
  "amount": {
    object (Money)
  },
  "amountMillipercentage": number
  // End of list of possible types for union field spec.
}
字段
type

enum (Type)

必需:货币类型属性。

name

string

必需:用户显示的价格属性字符串。此信息由商家发送并本地化。

state

enum (State)

必需:价格状态:估算价格与实际价格。

taxIncluded

boolean

价格是否包含税费。

联合字段 spec。表示货币金额或毫百分比。spec 只能是下列其中一项:
amount

object (Money)

货币金额。

amountMillipercentage
(deprecated)

number

百分比规范,精确到某个百分比的 1/1000。例如:8.750% 表示为 8750,负百分比表示折扣百分比。正在弃用此字段。当需要可靠的用例时,可以考虑重新添加代码。

类型

表示货币类型。

枚举
TYPE_UNSPECIFIED 未指定类型,客户端不应明确设置此类型。
REGULAR 应用任何折扣等之前的正常展示价格。
DISCOUNT 要从小计中减去。
TAX 将添加到小计中。
DELIVERY 将添加到小计中。
SUBTOTAL 小计金额(不包括某些费用)。
FEE 任何额外费用。
GRATUITY 将添加到小计中。
TOTAL 显示的订单或订单项价格。

状态

表示价格状态。

枚举
STATE_UNSPECIFIED 未指定。
ESTIMATE 价格只是一个估算值。
ACTUAL 将向用户收取的实际价格。

币种

表示含有货币类型的金额。

JSON 表示法
{
  "currencyCode": string,
  "amountInMicros": string
}
字段
currencyCode

string

ISO 4217 中定义的由 3 个字母组成的货币代码。

amountInMicros

string (int64 format)

以微单位表示的金额。例如,对于 $1.99,此字段应设置为 1990000。

操作

与订单或订单项相关的后续操作。

JSON 表示法
{
  "type": enum (Type),
  "title": string,
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "actionMetadata": {
    object (ActionMetadata)
  }
}
字段
type

enum (Type)

必需:操作类型。

title

string

向用户显示的操作标题或标签。允许的长度上限为 100 个字符。

openUrlAction

object (OpenUrlAction)

要执行的操作。

actionMetadata

object (ActionMetadata)

与操作关联的元数据。

类型

可能的后续操作。

枚举
TYPE_UNSPECIFIED 未指定的操作。
VIEW_DETAILS 查看订单详情操作。
MODIFY 修改订单操作。
CANCEL 取消订单操作。
RETURN 退货订单操作。
EXCHANGE 广告交易平台订单操作。
EMAIL

电子邮件操作。EMAIL 和 CALL 类型已被弃用。openUrlAction.url 可用作电话号码或电子邮件地址。

CALL

号召性用语。

REORDER 对操作重新排序。
REVIEW 查看订单操作。
CUSTOMER_SERVICE 请与客户服务团队联系。
FIX_ISSUE 请直接访问商家网站或应用以解决此问题。
DIRECTION 路线链接。

OpenUrlAction

打开指定的网址。

JSON 表示法
{
  "url": string,
  "androidApp": {
    object (AndroidApp)
  },
  "urlTypeHint": enum (UrlTypeHint)
}
字段
url

string

网址字段,可以是以下任一种:- 用于打开与应用关联的应用或网页的 http/https 网址

androidApp

object (AndroidApp)

有关 Android 应用的信息(如果该网址应由 Android 应用实现)。

urlTypeHint

enum (UrlTypeHint)

表示关于网址类型的提示。

AndroidApp

Android 应用的执行方式限制规范

JSON 表示法
{
  "packageName": string,
  "versions": [
    {
      object (VersionFilter)
    }
  ]
}
字段
packageName

string

指定 Android 执行方式时,必须指定软件包名称。

versions[]

object (VersionFilter)

如果指定了多个过滤器,任何过滤器匹配都将触发应用。

VersionFilter

如果需要特定版本的应用,则应添加 VersionFilter。

JSON 表示法
{
  "minVersion": number,
  "maxVersion": number
}
字段
minVersion

number

最低版本代码或 0(含 0)。

maxVersion

number

最高版本代码(含此值)。考虑的范围是 [minVersion:maxVersion]。null 范围表示所有版本。示例:如需指定单个版本,请使用:[target_version:target_version]。如需指定任何版本,请勿指定 minVersion 和 maxVersion。要指定 maxVersion 之前的所有版本,请勿指定 minVersion。如需指定 minVersion 的所有版本,请勿指定 maxVersion。

UrlTypeHint

不同类型的网址提示。

枚举
URL_TYPE_HINT_UNSPECIFIED 未指定
AMP_CONTENT 直接指向 AMP 内容的网址,或通过 <link rel="amphtml"> 引用 AMP 内容的规范网址。

ActionMetadata

每项操作的相关元数据。

JSON 表示法
{
  "expireTime": string
}
字段
expireTime

string (Timestamp format)

此操作的到期时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒。示例:"2014-10-02T15:01:23.045123456Z"

披露声明

可能会向用户显示的产品、服务或政策披露信息。

JSON 表示法
{
  "title": string,
  "disclosureText": {
    object (DisclosureText)
  },
  "presentationOptions": {
    object (DisclosurePresentationOptions)
  }
}
字段
title

string

披露声明的标题。示例:“安全信息”。

disclosureText

object (DisclosureText)

披露声明的内容。允许使用网页链接。

presentationOptions

object (DisclosurePresentationOptions)

披露声明的呈现选项。

DisclosureText

表示带有网络链接的纯文本。

JSON 表示法
{
  "template": string,
  "textLinks": [
    {
      object (TextLink)
    }
  ]
}
字段
template

string

要显示的文本,其中包含每个应插入的文本链接的占位符,如“{0}”和“{1}”。示例:“警告:本产品可让您接触加州政府已知会导致癌症的化学物质。有关更多信息,请访问 <ph type="x-smartling-placeholder">{0}</ph>。"此披露文字不得包含任何促销内容或与广告类似的内容。

DisclosurePresentationOptions

披露声明的呈现方式。

JSON 表示法
{
  "presentationRequirement": enum (PresentationRequirement),
  "initiallyExpanded": boolean
}
字段
presentationRequirement

enum (PresentationRequirement)

披露声明的呈现要求。

initiallyExpanded

boolean

披露声明的内容是否最初应展开。默认情况下,它最初处于收起状态。

PresentationRequirement

关于呈现披露声明的要求。

枚举
REQUIREMENT_UNSPECIFIED 未指定的要求。不应明确设置此属性。
REQUIREMENT_OPTIONAL 披露声明是可选操作。如果设备不支持显示披露信息,则可以跳过这些信息。
REQUIREMENT_REQUIRED 必须提供披露声明。如果设备不支持显示披露信息,对话将会被舍弃并改为电话内容。

PurchaseItemExtension

购买行业的订单项内容。

JSON 表示法
{
  "status": enum (PurchaseStatus),
  "userVisibleStatusLabel": string,
  "type": enum (PurchaseType),
  "productId": string,
  "quantity": number,
  "unitMeasure": {
    object (MerchantUnitMeasure)
  },
  "returnsInfo": {
    object (PurchaseReturnsInfo)
  },
  "fulfillmentInfo": {
    object (PurchaseFulfillmentInfo)
  },
  "itemOptions": [
    {
      object (ItemOption)
    }
  ],
  "extension": {
    "@type": string,
    field1: ...,
    ...
  },
  "productDetails": {
    object (ProductDetails)
  }
}
字段
status

enum (PurchaseStatus)

必需:订单项级状态。

userVisibleStatusLabel

string

必需:用户可见的状态标签/字符串。允许的长度上限为 50 个字符。

type

enum (PurchaseType)

必需:购买类型。

productId
(deprecated)

string

与此订单项关联的产品或优惠 ID。

quantity

number

商品的数量。

unitMeasure

object (MerchantUnitMeasure)

计量单位。指定商品的尺寸(以所选单位表示)。尺寸与有效价格一起用于确定单价。

returnsInfo

object (PurchaseReturnsInfo)

返回此订单项的信息。如果未设置,此订单项将沿用订单级返回信息。

fulfillmentInfo

object (PurchaseFulfillmentInfo)

此订单项的履单信息。如果未设置,此订单项将沿用订单级履单信息。

itemOptions[]

object (ItemOption)

其他插件或子作品。

extension

object

商家与 Google 之间交换的任何额外字段。

可以包含任意类型字段的对象。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

productDetails

object (ProductDetails)

商品的详细信息。

PurchaseStatus

与采购订单或特定订单项关联的购买状态。

枚举
PURCHASE_STATUS_UNSPECIFIED 状态不明。
READY_FOR_PICKUP 可随时取货。
SHIPPED 已发货。
DELIVERED 已送达。
OUT_OF_STOCK 缺货。
IN_PREPARATION “IN_PREPARATION”在不同的上下文中可能有不同的含义。对于 FOOD 订单,可能是“正在准备食物”。对于零售业,这可能是商品正在包装。
CREATED 订单已创建。
CONFIRMED 商家已确认订单。
REJECTED 商家拒绝了订单或订单项。
RETURNED 用户退回了商品。
CANCELLED 订单或订单项已被用户取消。
CHANGE_REQUESTED 用户已请求更改订单,集成商正在处理此更改。处理完请求后,订单应移至其他状态。

PurchaseType

购买类别。

枚举
PURCHASE_TYPE_UNSPECIFIED 未知值。
RETAIL 包括实体商品等购买交易。
FOOD 包括订餐服务。
GROCERY 杂货购买。
MOBILE_RECHARGE 购买预付费手机充值服务。

MerchantUnitMeasure

商家价格计量单位。

JSON 表示法
{
  "measure": number,
  "unit": enum (Unit)
}
字段
measure

number

值:示例 1.2。

unit

enum (Unit)

单位:示例 POUND、GRAM。

单位

枚举
UNIT_UNSPECIFIED 未指定单位。
MILLIGRAM 毫克。
GRAM 克。
KILOGRAM 公斤。
OUNCE 盎司。
POUND 英镑

PurchaseReturnsInfo

返回与订单或特定订单项相关的信息。

JSON 表示法
{
  "isReturnable": boolean,
  "daysToReturn": number,
  "policyUrl": string
}
字段
isReturnable

boolean

如果为 true,则允许返回。

daysToReturn

number

符合条件的天数内可退货。

policyUrl

string

指向退货政策的链接。

PurchaseFulfillmentInfo

与采购订单或特定订单项关联的履单信息。

JSON 表示法
{
  "id": string,
  "fulfillmentType": enum (Type),
  "expectedFulfillmentTime": {
    object (Time)
  },
  "expectedPreparationTime": {
    object (Time)
  },
  "location": {
    object (Location)
  },
  "expireTime": string,
  "price": {
    object (PriceAttribute)
  },
  "fulfillmentContact": {
    object (UserInfo)
  },
  "shippingMethodName": string,
  "storeCode": string,
  "pickupInfo": {
    object (PickupInfo)
  }
}
字段
id

string

此服务选项的唯一标识符。

fulfillmentType

enum (Type)

必需:执行方式的类型。

expectedFulfillmentTime

object (Time)

如果已指定时间范围,则为窗口;如果指定了单一时间,则为 ETA。预计送货或自提时间。

expectedPreparationTime

object (Time)

如果已指定时间范围,则为窗口;如果指定了单一时间,则为 ETA。准备食物的预计时间。首选一次性。

location

object (Location)

自提或送货地点。

expireTime

string (Timestamp format)

此履单选项的失效时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒。示例:"2014-10-02T15:01:23.045123456Z"

price

object (PriceAttribute)

此选项的费用。

fulfillmentContact

object (UserInfo)

此执行方式的用户联系人。

shippingMethodName

string

用户选择的配送方式的名称。

storeCode

string

营业地点的 StoreCode。示例:Walmart 是商家,storeCode 是履单的沃尔玛商店。https://support.google.com/business/answer/3370250?ref_topic=4596653

pickupInfo

object (PickupInfo)

有关如何选择订单的更多信息。仅当履单类型为“PICKUP”时,此字段才适用。

类型

执行方式类型。

枚举
TYPE_UNSPECIFIED 未指定类型。
DELIVERY 此订单将会送达。
PICKUP 此订单需要自提。

时间

表示向用户显示订单时使用的事件时间的时间结构。

JSON 表示法
{
  "timeIso8601": string
}
字段
timeIso8601

string

表示订单事件时间,例如预订时间、送货时间等。可以是持续时间(开始时间和结束时间),也可以是日期、日期时间等。如需了解所有支持的格式,请参阅 https://en.wikipedia.org/wiki/ISO_8601

PickupInfo

有关订单如何取货的详细信息。其中包括自提类型等详细信息,以及每种类型附加的其他元数据(如果有)。

JSON 表示法
{
  "pickupType": enum (PickupType),
  "curbsideInfo": {
    object (CurbsideInfo)
  },
  "checkInInfo": [
    {
      object (CheckInInfo)
    }
  ]
}
字段
pickupType

enum (PickupType)

提货方法,例如 INSTORE、CURBSIDE 等。

curbsideInfo

object (CurbsideInfo)

特定于路边信息的详细信息。如果 pickupType 不是“CURBSIDE”,此字段将被忽略。

checkInInfo[]

object (CheckInInfo)

合作伙伴支持的各种签入方法列表。

PickupType

支持的自提类型的列表。

枚举
UNSPECIFIED 未指定提货类型。
INSTORE 在餐厅内取餐。
CURBSIDE 将车辆停在餐厅外的指定位置,有人会在那里送餐。

CurbsideInfo

有关如何提供路边订购服务的详细信息。

JSON 表示法
{
  "curbsideFulfillmentType": enum (CurbsideFulfillmentType),
  "userVehicle": {
    object (Vehicle)
  }
}
字段
curbsideFulfillmentType

enum (CurbsideFulfillmentType)

合作伙伴需要更多信息来协助下达路边自提订单。根据所选的执行方式类型,系统将从用户那里收集相应的详细信息。

userVehicle

object (Vehicle)

下单用户的车辆详细信息。

CurbsideFulfillmentType

路边履单类型的可能值。

枚举
UNSPECIFIED 未指定路边履单类型。
VEHICLE_DETAIL 必须提供车辆详细信息,以便路边自提。

交通工具

车辆详情

JSON 表示法
{
  "make": string,
  "model": string,
  "licensePlate": string,
  "colorName": string,
  "image": {
    object (Image)
  }
}
字段
make

string

汽车品牌(例如“本田”)。此名称会向用户显示,并且必须本地化。必需。

model

string

车辆型号(例如“Grom”)。此名称会向用户显示,并且必须本地化。必需。

licensePlate

string

车牌号(例如“1ABC234”)。必需。

colorName

string

车辆的颜色名称(例如黑色)可选。

image

object (Image)

车辆照片的网址。照片将以约 256x256 像素显示。必须是 jpg 或 png。可选。

CheckInInfo

合作伙伴支持签入方法所需的元数据。

JSON 表示法
{
  "checkInType": enum (CheckInType)
}
字段
checkInType

enum (CheckInType)

用于发送签到指令的方法。

CheckInType

用于发送签到说明的各种方法。

枚举
CHECK_IN_TYPE_UNSPECIFIED 未知值。
EMAIL 签到信息将通过电子邮件发送。
SMS 签到信息将以短信形式发送。

ItemOption

表示插件或子作品。

JSON 表示法
{
  "id": string,
  "name": string,
  "prices": [
    {
      object (PriceAttribute)
    }
  ],
  "note": string,
  "quantity": number,
  "productId": string,
  "subOptions": [
    {
      object (ItemOption)
    }
  ]
}
字段
id

string

对于属于商品的选项,请确保商品的唯一 ID。

name

string

选项名称。

prices[]

object (PriceAttribute)

选项总价。

note

string

与此选项相关的备注。

quantity

number

对于商品选项,请选择数量。

productId

string

与此选项相关联的产品或优惠 ID。

subOptions[]

object (ItemOption)

定义其他嵌套子选项。

ProductDetails

商品的详细信息。

JSON 表示法
{
  "productId": string,
  "gtin": string,
  "plu": string,
  "productType": string,
  "productAttributes": {
    string: string,
    ...
  }
}
字段
productId

string

与此订单项相关联的产品或优惠 ID。

gtin

string

商品的全球贸易项目代码。如果 Merchant Center 中不存在 OfferId,那么此属性非常有用。可选。

plu

string

价格查询代码(通常称为 PLU 代码、PLU 代码、PLU、农产品代码或农产品标签)是一种编号系统,用于唯一标识杂货店和超市中销售的批量农产品。

productType

string

商家定义的商品类别。例如“家 > 杂货 > 乳制品和鸡蛋 > 牛奶 > 全脂牛奶”

productAttributes

map (key: string, value: string)

商家提供的商品详细信息,例如 { "allergen": "peanut" }。如果 Merchant Center 中没有 offerId,则该代码非常有用。可选。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

ReservationItemExtension

预订订单(例如餐厅、理发等)的订单项内容。下一个 ID:15。

JSON 表示法
{
  "status": enum (ReservationStatus),
  "userVisibleStatusLabel": string,
  "type": enum (ReservationType),
  "reservationTime": {
    object (Time)
  },
  "userAcceptableTimeRange": {
    object (Time)
  },
  "confirmationCode": string,
  "partySize": number,
  "staffFacilitators": [
    {
      object (StaffFacilitator)
    }
  ],
  "location": {
    object (Location)
  },
  "extension": {
    "@type": string,
    field1: ...,
    ...
  }
}
字段
status

enum (ReservationStatus)

必需:预留状态。

userVisibleStatusLabel

string

必需:用户可见的状态标签/字符串。允许的长度上限为 50 个字符。

type

enum (ReservationType)

预留类型。如果所有类型选项均不适用,则可以取消设置。

reservationTime

object (Time)

安排服务/事件的安排时间。可以是时间范围、日期或确切日期和时间。

userAcceptableTimeRange

object (Time)

用户可接受的时间范围。

confirmationCode

string

此预留的确认码。

partySize

number

人数。

staffFacilitators[]

object (StaffFacilitator)

接待员,为预订提供服务。例如:发型师。

location

object (Location)

服务/事件的地点。

extension

object

商家与 Google 之间交换的任何额外字段。

可以包含任意类型字段的对象。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

ReservationStatus

预留状态。

枚举
RESERVATION_STATUS_UNSPECIFIED 未指定状态。
PENDING 此预订正在等待处理。
CONFIRMED 已确认预订。
CANCELLED 预订被用户取消。
FULFILLED 已完成预留。
CHANGE_REQUESTED 已请求更改预定
REJECTED 预订已过期或被集成商拒绝。

ReservationType

预留类型。

枚举
RESERVATION_TYPE_UNSPECIFIED 未指定类型。
RESTAURANT 预订餐厅。
HAIRDRESSER 理发店预约。

StaffFacilitator

服务人员的相关信息。

JSON 表示法
{
  "name": string,
  "image": {
    object (Image)
  }
}
字段
name

string

教职员工的姓名。例如:“John Smith”

image

object (Image)

表演者的图片。

PaymentData

与订单相关的付款数据。

JSON 表示法
{
  "paymentResult": {
    object (PaymentResult)
  },
  "paymentInfo": {
    object (PaymentInfo)
  }
}
字段
paymentResult

object (PaymentResult)

集成商用于完成交易的付款结果。如果结账体验由 Actions-on-Google 管理,此字段将由 Actions on Google 填充。

paymentInfo

object (PaymentInfo)

有关订单的付款信息,可用于面向用户的互动。

PaymentResult

集成商用于完成交易的付款结果。

JSON 表示法
{

  // Union field result can be only one of the following:
  "googlePaymentData": string,
  "merchantPaymentMethodId": string
  // End of list of possible types for union field result.
}
字段
联合字段 result。提供了 Google 付款数据或商家付款方式。result 只能是下列其中一项:
googlePaymentData

string

Google 提供的付款方式数据。如果您的付款处理方被列为 Google 支持的付款处理方,请访问:https://developers.google.com/pay/api/ 请通过链接前往您的付款处理方,以了解更多详情。否则,请参阅以下文档,了解载荷详情。https://developers.google.com/pay/api/payment-data-cryptography

merchantPaymentMethodId

string

用户选择的商家/操作提供的付款方式。

PaymentInfo

有关所下订单的付款信息。此 proto 会捕获对面向用户的互动有用的信息。

JSON 表示法
{
  "paymentMethodDisplayInfo": {
    object (PaymentMethodDisplayInfo)
  },
  "paymentMethodProvenance": enum (PaymentMethodProvenance)
}
字段
paymentMethodDisplayInfo

object (PaymentMethodDisplayInfo)

交易所用付款方式的显示信息。

paymentMethodProvenance

enum (PaymentMethodProvenance)

交易所用付款方式的出处。用户可能在 Google 和商家处注册了同一付款方式。

PaymentMethodDisplayInfo

集成商用于完成交易的付款结果。

JSON 表示法
{
  "paymentType": enum (PaymentType),
  "paymentMethodDisplayName": string,
  "paymentMethodVoiceName": string
}
字段
paymentType

enum (PaymentType)

付款类型。

paymentMethodDisplayName

string

用户可见的付款方式名称。例如,VISA **** 1234 支票账户 **** 5678

paymentMethodVoiceName

string

对于仅支持语音的助理设备,系统会向用户读出付款方式名称。例如,“尾号为一二三四的签证”或“尾号为五六七八的支票账户”。注意:这是语音优化字符串,用于替代纯语音助理设备的 paymentMethodDisplayName。如果未设置此字符串,系统会改为将 paymentMethodDisplayName 读出给用户。

PaymentType

PaymentType 指明了商家提供的付款方式所用的付款方式。此外,操作还必须提供付款方式的显示名称。

枚举
PAYMENT_TYPE_UNSPECIFIED 未指定付款类型。
PAYMENT_CARD 信用卡/借记卡或预付卡。
BANK 付款方式为银行账户。
LOYALTY_PROGRAM 付款方式是会员回馈活动。
CASH 付款方式为现金。
GIFT_CARD 付款方式为礼品卡。
WALLET 第三方钱包,例如 PayPal

PaymentMethodProvenance

表示交易所用的付款方式出处。

枚举
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED 未指定出处。
PAYMENT_METHOD_PROVENANCE_GOOGLE 出处为 Google。
PAYMENT_METHOD_PROVENANCE_MERCHANT 出处为商家。

促销

已添加到购物车的促销/优惠。

JSON 表示法
{
  "coupon": string
}
字段
coupon

string

必填:应用于此优惠的优惠券代码。

PurchaseOrderExtension

适用于购买行业的订单附加信息。这些属性适用于订单中的所有订单项,除非它们在订单项中被替换。

JSON 表示法
{
  "status": enum (PurchaseStatus),
  "userVisibleStatusLabel": string,
  "type": enum (PurchaseType),
  "returnsInfo": {
    object (PurchaseReturnsInfo)
  },
  "fulfillmentInfo": {
    object (PurchaseFulfillmentInfo)
  },
  "extension": {
    "@type": string,
    field1: ...,
    ...
  },
  "purchaseLocationType": enum (PurchaseLocationType),
  "errors": [
    {
      object (PurchaseError)
    }
  ]
}
字段
status

enum (PurchaseStatus)

必需:订单的整体状态。

userVisibleStatusLabel

string

用户可见的状态标签/字符串。允许的长度上限为 50 个字符。

type

enum (PurchaseType)

必需:购买类型。

returnsInfo

object (PurchaseReturnsInfo)

退货信息。

fulfillmentInfo

object (PurchaseFulfillmentInfo)

订单的履单信息。

extension

object

商家与 Google 之间交换的任何额外字段。

可以包含任意类型字段的对象。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

purchaseLocationType

enum (PurchaseLocationType)

购买地点(实体店 / 网店)

errors[]

object (PurchaseError)

可选:此订单遭到拒绝的错误。

PurchaseLocationType

购买交易的位置类型。

枚举
UNSPECIFIED_LOCATION 未知值。
ONLINE_PURCHASE 所有在线购买交易。
INSTORE_PURCHASE 所有店内购买。

PurchaseError

采购订单可能因错误而遭拒。

JSON 表示法
{
  "type": enum (ErrorType),
  "description": string,
  "entityId": string,
  "updatedPrice": {
    object (PriceAttribute)
  },
  "availableQuantity": number
}
字段
type

enum (ErrorType)

必需:此属性表示订单被商家拒绝的详细原因。

description

string

更多错误说明。

entityId

string

与错误对应的实体 ID。例如,可与 LineItemId / ItemOptionId 对应起来。

updatedPrice

object (PriceAttribute)

与 PRICE_CHANGED / INORRECT_PRICE 错误类型相关。

availableQuantity

number

目前可售的数量。适用于 AVAILABILITY_CHANGED 的情况。

ErrorType

可能的错误类型。

枚举
ERROR_TYPE_UNSPECIFIED 未知错误
NOT_FOUND 找不到实体,可能是商品、FulfillmentOption、Promotion。必须提供实体 ID。
INVALID 实体数据无效,可能是商品、FulfillmentOption、Promotion。必须提供实体 ID。
AVAILABILITY_CHANGED 商品不可用,或商品数量不足以满足请求。必须提供实体 ID。
PRICE_CHANGED 商品价格与商品实体中的价格不同。必须提供实体 ID 和更新后的价格。
INCORRECT_PRICE “费用”中的价格错误,“总计”。必须提供实体 ID 和更新后的价格。
REQUIREMENTS_NOT_MET 未满足接受订单的限制 - 最小购物车金额等。
TOO_LATE FulfillmentOption 已过期。
NO_CAPACITY 没有可用的服务容量。
INELIGIBLE 用户不符合下单条件(已列入屏蔽名单)。
OUT_OF_SERVICE_AREA 由于边境规则等方面的原因,无法投递到所请求的地址。
CLOSED 餐厅在订餐时不营业。
PROMO_NOT_APPLICABLE 通用错误代码,用于捕获应用促销代码失败的所有情况(如果均不适用)。添加促销代码作为实体 ID。
PROMO_NOT_RECOGNIZED 合作伙伴无法识别优惠券代码。添加促销代码作为实体 ID。
PROMO_EXPIRED 促销已过期,因此无法应用。添加促销代码作为实体 ID。
PROMO_USER_INELIGIBLE 当前用户不符合享受此优惠券的条件。添加促销代码作为实体 ID。
PROMO_ORDER_INELIGIBLE 当前订单无法使用此优惠券。添加促销代码作为实体 ID。
UNAVAILABLE_SLOT 提前订餐时段不可用。
FAILED_PRECONDITION 未满足接受订单的限制 - 购物车金额下限等
PAYMENT_DECLINED 付款无效。
MERCHANT_UNREACHABLE 无法与商家取得联系。如果合作伙伴是集合商家且无法联系到商家,这会很有帮助。

TicketOrderExtension

订购电影票、体育赛事等票券的内容

JSON 表示法
{
  "ticketEvent": {
    object (TicketEvent)
  }
}
字段
ticketEvent

object (TicketEvent)

该事件适用于所有订单项工单。

TicketEvent

表示单个事件。

JSON 表示法
{
  "type": enum (Type),
  "name": string,
  "description": string,
  "url": string,
  "location": {
    object (Location)
  },
  "eventCharacters": [
    {
      object (EventCharacter)
    }
  ],
  "startDate": {
    object (Time)
  },
  "endDate": {
    object (Time)
  },
  "doorTime": {
    object (Time)
  }
}
字段
type

enum (Type)

必需:门票活动的类型,例如电影、音乐会。

name

string

必需:事件的名称。例如,如果事件是一部电影,则应填写电影名称。

description

string

事件说明。

url

string

活动信息的网址。

location

object (Location)

活动地点或组织所在的位置。

eventCharacters[]

object (EventCharacter)

与此活动相关的字符。受众群体可以是电影活动的导演或演员,也可以是音乐会的表演者等。

startDate

object (Time)

开始时间。

endDate

object (Time)

结束时间。

doorTime

object (Time)

进入时间,可能与活动开始时间不同。例如,活动从上午 9 点开始,但进入时间为上午 8:30。

类型

事件的类型。

枚举
EVENT_TYPE_UNKNOWN 事件类型未知。
MOVIE 影片。
CONCERT 音乐会。
SPORTS 体育。

EventCharacter

一个活动角色,例如组织者、表演者等。

JSON 表示法
{
  "type": enum (Type),
  "name": string,
  "image": {
    object (Image)
  }
}
字段
type

enum (Type)

事件角色的类型,例如演员或导演。

name

string

角色的名称。

image

object (Image)

角色的图片。

类型

字符类型。

枚举
TYPE_UNKNOWN 未知类型。
ACTOR 演员。
PERFORMER 表演者。
DIRECTOR 主管。
ORGANIZER 组织者。