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。此 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)

用户的电话号码。

电话号码

标准电话号码表示法。

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

string

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

extension

string

扩展不是在 ITU 建议中标准化的,除非是定义为长度不超过 40 位的一串数字。此处将其定义为字符串,以配合在扩展名中使用前导零的情况(组织可以完全自由地这样做,因为未定义标准)。除数字外,一些其他拨号字符,例如“,”(表示等待)可能会存储在此处。例如,xxx-xxx-xxxx 分机号: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

商家的名称,例如“帕纳拉面包”。

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

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

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

有关输入 / 修改地址的建议:- 使用国际化地址 widget,例如 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 或者其无法很好地对应这个结构的区域,应将 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 个 line_item,最多允许提供 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

订单或订单项的 price 属性。

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(含)。

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}”插入每个文本链接。示例:“警告:本产品可能会接触加州已知的可致癌的化学物质。有关详情,请访问 {0}。”披露声明文字不得包含任何促销内容或类似广告的内容。

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”在不同语境下可能具有不同的含义。对于食品订单,可能是正在准备食物。对于零售业,这可能是商品在包装中。
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 是履单的沃尔玛商店。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、CUBSIDE 等

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)

指向车辆照片的网址。照片将显示约 256 x 256 像素。必须是 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)

商家提供的商品详细信息,例如{ &quot;allergen&quot;: &quot;peanut&quot;}。如果 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

教职员的姓名。例如:“张三”

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 找不到实体,实体可能是 Item、FulfillmentOption 和 Promotion。必须提供实体 ID。
INVALID 实体数据无效。可以是 Item、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 组织者。