- HTTP 请求
- 请求正文
- 响应正文
- 处理程序
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 意图
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- IntentParameterValue
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 场景
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- SlotFillingStatus
- 槽
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- SlotMode
- SlotStatus
- 提示
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 简单
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 内容
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 卡片
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 图片
- ImageFill
- 链接
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- OpenUrl
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- UrlHint
- 表
- TableColumn
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- HorizontalAlignment
- TableRow
- TableCell
- 媒体
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- MediaType
- OptionalMediaControls
- MediaObject
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- MediaImage
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- RepeatMode
- 集合
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- CollectionItem
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 列表
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- ListItem
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- CollectionBrowse
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 单品
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 建议
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 画布
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- ContinuousMatchConfig
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- ExpectedPhrase
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- OrderUpdate
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 类型
- 订单
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- UserInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PhoneNumber
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 图片
- 商家
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 位置
- LatLng
- PostalAddress
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 目录
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- LineItem
- PriceAttribute
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 类型
- 状态
- 资金
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 操作
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 类型
- OpenUrlAction
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- Android 应用
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- VersionFilter
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- UrlTypeHint
- ActionMetadata
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 披露声明
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- DisclosureText
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- TextLink
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- DisclosurePresentationOptions
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PresentationRequirement
- PurchaseItemExtension
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PurchaseStatus
- PurchaseType
- MerchantUnitMeasure
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 单位
- PurchaseReturnsInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PurchaseFulfillmentInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 类型
- 时间
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PickupInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PickupType
- CurbsideInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- CurbsideFulfillmentType
- 车辆
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- CheckInInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- CheckInType
- ItemOption
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- ProductDetails
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- ReservationItemExtension
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- ReservationStatus
- ReservationType
- StaffFacilitator
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PaymentData
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PaymentResult
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PaymentInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PaymentMethodDisplayInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PaymentType
- PaymentMethodProvenance
- 促销
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PurchaseOrderExtension
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PurchaseLocationType
- PurchaseError
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- ErrorType
- TicketOrderExtension
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- TicketEvent
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 类型
- EventCharacter
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 类型
- UserNotification
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- NextScene
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 会话
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- TypeOverride
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- TypeOverrideMode
- SynonymType
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- Entry
- EntryDisplay
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 用户
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- AccountLinkingStatus
- UserVerificationStatus
- 互动度
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- IntentSubscription
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PackageEntitlements
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 使用权
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- SkuType
- SignedData
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 权限
- 首页
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 设备
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 功能
- Location
- TimeZone
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 背景
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- MediaContext
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- CanvasContext
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 预期
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
表示 fulfillment API 的 RPC
HTTP 请求
POST https://webhook_handler_service.googleapis.com/fulfill
网址采用 gRPC 转码语法。
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 | |
|---|---|
| { "handler": { object ( | |
| 字段 | |
|---|---|
| handler | 
 必需。需要执行有关如何处理请求的信息。例如,旨在获取事实的请求可能具有名为“getFact”的处理程序。 | 
| intent | 
 必需。表示最后匹配的意图。请参阅 https://developers.google.com/assistant/conversational/intents。 | 
| scene | 
 可选。调用函数时有关当前场景和下一个场景的信息。将在场景范围内进行 fulfillment 调用时填充。请访问 https://developers.google.com/assistant/conversational/scenes。 | 
| session | 
 必需。保存会话数据,例如会话 ID 和会话参数。 | 
| user | 
 必需。发起对话的用户。 | 
| home | 
 可选。与目标设备所属的 HomeGraph 结构相关的信息。请参阅 https://developers.google.com/actions/smarthome/concepts/homegraph。 | 
| device | 
 必需。用户用于与 Action 互动的设备中的信息。 | 
| context | 
 可选。请求的当前上下文信息。包括但不限于正在进行的媒体会话信息或画布信息。 | 
响应正文
如果成功,响应正文将包含结构如下的数据:
表示从开发者执行方式向 Actions on Google 发送的响应。
| JSON 表示法 | |
|---|---|
| { "prompt": { object ( | |
| 字段 | |
|---|---|
| prompt | 
 可选。表示要发送给用户的提示。除非明确覆盖,否则这些提示将附加到之前添加的消息中。 | 
| scene | 
 可选。表示当前场景和下一个场景。如果设置了  | 
| session | 
 可选。描述当前会话的数据,执行方式可以创建、更新或移除会话参数。 | 
| user | 
 可选。用于指定要发回的用户参数。 | 
| home | 
 可选。用于指定与目标设备所属的 HomeGraph 结构相关的参数。请参阅 https://developers.google.com/actions/smarthome/concepts/homegraph。 | 
| device | 
 可选。用于在用户有权访问的支持 Google 助理的设备之间移动。 | 
| expected | 
 可选。说明对下一轮对话的预期。 | 
Handler
表示将事件信息从 Actions on Google 映射到执行方式的执行方式处理程序。使用处理程序名称确定应在 fulfillment 中运行哪些代码。例如,可以使用处理程序通过“OrderLookup”等处理程序名称获取用户订单信息另一个函数则使用处理程序名称(如“GetProductInfo”)从数据库中获取商品信息。
| JSON 表示法 | |
|---|---|
| { "name": string } | |
| 字段 | |
|---|---|
| name | 
 可选。处理程序的名称。 | 
意向
表示一个意图。请参阅 https://developers.google.com/assistant/conversational/intents。
| JSON 表示法 | |
|---|---|
| {
  "name": string,
  "params": {
    string: {
      object ( | |
| 字段 | |
|---|---|
| name | 
 必需。上次匹配的意图的名称。 | 
| params | 
 必需。表示在意图匹配过程中识别的参数。这是被识别的参数的名称与从用户输入中识别的参数值的映射。在匹配的意图中定义并且已被识别的所有参数都将在此处显示。 包含一系列  | 
| query | 
 可选。符合此意图的最终用户输入或语音输入的内容。当根据用户输入匹配意图时,将填充此字段。 | 
IntentParameterValue
表示 intent 参数的值。请参阅 https://developers.google.com/assistant/conversational/types。
| JSON 表示法 | |
|---|---|
| { "original": string, "resolved": value } | |
| 字段 | |
|---|---|
| original | 
 必需。从用户话语中提取的原始文本值。 | 
| resolved | 
 必需。从用户输入中提取的参数的结构化值。只有当匹配的意图中定义了参数,且在意图匹配期间可以识别参数的值,系统才会填充此字段。 | 
场景
表示场景。场景可以调用 fulfillment、添加提示以及从用户那里收集槽值。场景由事件或 intent 触发,可以触发事件并匹配 intent 以转换到其他场景。
| JSON 表示法 | |
|---|---|
| { "name": string, "slotFillingStatus": enum ( | |
| 字段 | |
|---|---|
| name | 
 必需。当前场景的名称。 | 
| slotFillingStatus | 
 必需。槽填充的当前状态。此字段为只读字段。 | 
| slots | 
 与当前场景关联的槽。处理程序响应无法返回未在请求中发送的槽。 包含一系列  | 
| next | 
 可选。接下来要执行的场景的相关信息。 | 
SlotFillingStatus
表示槽填充的当前状态。
| 枚举 | |
|---|---|
| UNSPECIFIED | 未填充用法字段时的后备值。 | 
| INITIALIZED | 槽已初始化,但尚未开始填充槽。 | 
| COLLECTING | 正在收集槽值。 | 
| FINAL | 所有广告位值都是最终值,无法更改。 | 
广告位
表示广告位。
| JSON 表示法 | |
|---|---|
| { "mode": enum ( | |
| 字段 | |
|---|---|
| mode | 
 槽的模式(必需或可选)。可由开发者设置。 | 
| status | 
 广告位的状态。 | 
| value | 
 广告位的值。在响应中更改此值,会修改槽填充中的值。 | 
| updated | 
 指明槽值是否在上次回合时收集。此字段为只读字段。 | 
| prompt | 
 可选。系统会在需要时向用户发送此提示,以填充所需的槽位。此提示会替换控制台中定义的现有提示。网络钩子请求中不包含此字段。 | 
SlotMode
表示槽的模式,即是否必需。
| 枚举 | |
|---|---|
| MODE_UNSPECIFIED | 未填充用法字段时的后备值。 | 
| OPTIONAL | 表示完成槽填充不需要槽。 | 
| REQUIRED | 指示必须有相应槽才能完成槽位填充。 | 
SlotStatus
表示广告位的状态。
| 枚举 | |
|---|---|
| SLOT_UNSPECIFIED | 未填充用法字段时的后备值。 | 
| EMPTY | 表示广告位没有任何值。此状态无法通过响应进行修改。 | 
| INVALID | 表示槽值无效。可通过响应来设置此状态。 | 
| FILLED | 表示广告位具有值。此状态无法通过响应进行修改。 | 
提示
表示对用户的响应。请参阅 https://developers.google.com/assistant/conversational/prompts。
| JSON 表示法 | |
|---|---|
| { "override": boolean, "firstSimple": { object ( | |
| 字段 | |
|---|---|
| override | 
 可选。指定如何将此消息与之前定义的消息合并的模式。“true”清除以前定义的所有消息(第一个和最后一个简单消息、内容、建议链接和画布),并添加此提示中定义的消息。“false”将此提示中定义的消息添加到之前响应中定义的消息。将此字段保留为“false”还支持向“简单提示”“建议”提示和“画布”提示(属于“内容”提示的一部分)内的部分字段附加内容。如果提示中指定了“内容”和“链接”消息,它们始终会被覆盖。默认值为“false”。 | 
| firstSimple | 
 可选。第一条语音回复和纯文字回复。 | 
| content | 
 可选。向用户显示的卡片、列表或媒体等内容。 | 
| lastSimple | 
 可选。最后一次语音和纯文字回复。 | 
| suggestions[] | 
 可选。要向用户显示的建议,这些建议将始终显示在响应末尾。如果“替换”字段的值为“false”,此字段中定义的标题将添加到之前定义的任何建议提示中定义的标题,并移除重复值。 | 
| link | 
 可选。可链接到关联的应用或网站的其他建议内容信息卡。该条状标签将以“Open (name)”(打开(名称))的标题呈现。最多 20 个字符。 | 
| canvas | 
 可选。表示要发送给用户的 Interactive Canvas 响应。 | 
| orderUpdate | 
 在交易流中收到订单后,可选 Action 会返回 OrderUpdate 响应。收到此信息后,Google 会将此次订单更新记录下来;如果成功,则会在显示设备上随同 TTS 一起显示收据卡片。 | 
简单
表示要发送给用户的简单提示。请参阅 https://developers.google.com/assistant/conversational/prompts-simple。
| JSON 表示法 | |
|---|---|
| { "speech": string, "text": string } | |
| 字段 | |
|---|---|
| speech | 
 可选。表示向用户说出的语音。可以是 SSML 或文字转语音。如果“替换”字段的值为“true”,则此字段中定义的语音将替换上一个简单提示的语音。请访问 https://developers.google.com/assistant/conversational/ssml。 | 
| text | 
 要在聊天气泡中显示的可选文本。如果未指定,系统将使用呈现方式呈现上面的语音字段。不得超过 640 个字符。如果“替换”字段的值为“true”,则此字段中定义的文本将替换成上一个简单提示的文本。 | 
内容
用于富提示或选择提示的容器对象。
| JSON 表示法 | |
|---|---|
| { // Union field | |
| 字段 | ||
|---|---|---|
| 联合字段  
 | ||
| card | 
 基本卡片。 | |
| image | 
 图片。 | |
| table | 
 表格卡片。 | |
| media | 
 指示要播放的一组媒体的响应。 | |
| collection | 
 显示一系列可供选择的选项的卡片。 | |
| list | 
 显示可供选择的选项列表的卡片。 | |
| collectionBrowse | 
 一张卡片,显示了一系列可打开的网页。 | |
卡片
用于显示某些信息的基本卡片,如图片和/或文字请参阅 https://developers.google.com/assistant/conversational/prompts-rich#basic_card。
| JSON 表示法 | |
|---|---|
| { "title": string, "subtitle": string, "text": string, "image": { object ( | |
| 字段 | |
|---|---|
| title | 
 卡片的总体标题。可选。 | 
| subtitle | 
 可选。 | 
| text | 
 卡片的正文。支持一组数量有限的 Markdown 语法。必填,除非显示图片。 | 
| image | 
 卡片的主打图片。高度固定为 192dp。可选。 | 
| imageFill | 
 图片背景的填充方式。可选。 | 
| button | 
 包含出站链接的按钮。可选。 | 
映像
卡片中显示的图片。请参阅 https://developers.google.com/assistant/conversational/prompts-rich#image-cards。
| JSON 表示法 | |
|---|---|
| { "url": string, "alt": string, "height": integer, "width": integer } | |
| 字段 | |
|---|---|
| url | 
 图片的来源网址。图片可以是 JPG、PNG 和 GIF(动画和非动画)。例如: | 
| alt | 
 将用于无障碍功能的图片的文字说明,例如屏幕阅读器。必填。 | 
| height | 
 图片的高度(以像素为单位)。可选。 | 
| width | 
 图片的宽度(以像素为单位)。可选。 | 
ImageFill
可能会影响图片呈现效果的图片显示选项。当图片的宽高比与图片容器的宽高比不一致时,应使用此属性。
| 枚举 | |
|---|---|
| UNSPECIFIED | |
| GRAY | 用灰色条填充图片和图片容器之间的间隙。 | 
| WHITE | 用白条填充图片和图片容器之间的间隙。 | 
| CROPPED | 对图片进行缩放,使图片宽度和高度符合或超过容器尺寸。如果缩放后的图片高度大于容器高度,系统可能会剪裁图片的顶部和底部;如果缩放后的图片宽度大于容器宽度,则可能会剪裁图片的左侧和右侧。与“缩放模式”相似在宽屏电视上播放 4:3 视频。 | 
链接
可链接到关联的应用或网站的其他建议内容信息卡。该条状标签将以“Open (name)”(打开(名称))的标题呈现。
| JSON 表示法 | |
|---|---|
| {
  "name": string,
  "open": {
    object ( | |
| 字段 | |
|---|---|
| name | 
 链接的名称。最多 20 个字符。 | 
| open | 
 用户打开链接后会怎么样 | 
OpenUrl
| JSON 表示法 | |
|---|---|
| {
  "url": string,
  "hint": enum ( | |
| 字段 | |
|---|---|
| url | 
 网址字段,可以是以下任一项:- 用于打开与应用关联的应用或网页的 http/https 网址 | 
| hint | 
 表示网址类型的提示。 | 
UrlHint
不同类型的网址提示。
| 枚举 | |
|---|---|
| LINK_UNSPECIFIED | 未指定 | 
| AMP | 直接指向 AMP 内容的网址,或通过 指向指向 AMP 内容的规范网址的网址。请参阅 https://amp.dev/。 | 
表
用于显示文本表格的表格卡片。请参阅 https://developers.google.com/assistant/conversational/prompts-rich#table_cards。
| JSON 表示法 | |
|---|---|
| { "title": string, "subtitle": string, "image": { object ( | |
| 字段 | |
|---|---|
| title | 
 表格的总体标题。可选,但如果设置了字幕,则必须设置该字段。 | 
| subtitle | 
 表格的副标题。可选。 | 
| image | 
 与表关联的图片。可选。 | 
| columns[] | 
 标题和列的对齐方式。 | 
| rows[] | 
 表中的行数据。前 3 行保证会显示,但其他行可能会被在某些平台上剪切。请使用模拟器进行测试,看看将针对给定 Surface 显示哪些行。在支持 WEB_BROWSER 功能的平台上,您可以将用户引导至包含更多数据的网页。 | 
| button | 
 按钮。 | 
TableColumn
| JSON 表示法 | |
|---|---|
| {
  "header": string,
  "align": enum ( | |
| 字段 | |
|---|---|
| header | 
 列的标题文本。 | 
| align | 
 内容与列的水平对齐方式。如果未指定,内容将与前缘对齐。 | 
HorizontalAlignment
内容在单元格中的对齐方式。
| 枚举 | |
|---|---|
| UNSPECIFIED | |
| LEADING | 单元格的前缘。这是默认值。 | 
| CENTER | 内容与列的中心对齐。 | 
| TRAILING | 内容与列的尾随边缘对齐。 | 
TableRow
描述表中的行。
| JSON 表示法 | |
|---|---|
| {
  "cells": [
    {
      object ( | |
| 字段 | |
|---|---|
| cells[] | 
 此行中的单元格。前 3 个单元格一定会显示,但其他单元格可能会被在某些表面上剪切。请使用模拟器进行测试,看看将针对给定 Surface 显示哪些单元格。 | 
| divider | 
 指示每行后是否应有分隔线。 | 
TableCell
描述一行中的单元格。
| JSON 表示法 | |
|---|---|
| { "text": string } | |
| 字段 | |
|---|---|
| text | 
 单元格的文本内容。 | 
媒体
表示一个媒体对象。包含有关媒体的信息,例如名称、说明、网址等。请参阅 https://developers.google.com/assistant/conversational/prompts-media。
| JSON 表示法 | |
|---|---|
| { "mediaType": enum ( | |
| 字段 | |
|---|---|
| mediaType | 
 | 
| startOffset | 
 第一个媒体对象的起始偏移量。 该持续时间以秒为单位,最多包含九个小数位,以“ | 
| optionalMediaControls[] | 
 此媒体响应会话可以支持的可选媒体控件类型。如果设置,当发生特定媒体事件时,系统会向第三方发送请求。如果此政策未设置,3p 仍必须处理两种默认控件类型:FINISHED 和 FAILED。 | 
| mediaObjects[] | 
 媒体对象列表 | 
| repeatMode | 
 针对媒体对象列表重复运行模式。 | 
| firstMediaObjectIndex | 
 mediaObject 中要播放的第一个媒体对象的索引(从 0 开始)。如果未指定、零或超出边界,则从 mediaObject 中的第一个媒体对象开始播放。 | 
MediaType
此响应的媒体类型。
| 枚举 | |
|---|---|
| MEDIA_TYPE_UNSPECIFIED | |
| AUDIO | 音频文件。 | 
| MEDIA_STATUS_ACK | 对确认媒体状态报告的响应。 | 
OptionalMediaControls
媒体响应可以支持的可选媒体控件类型
| 枚举 | |
|---|---|
| OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED | 未指定的值 | 
| PAUSED | 活动已暂停。当用户暂停媒体时触发。 | 
| STOPPED | 活动已停止。当用户在媒体播放期间退出第三方会话时触发。 | 
MediaObject
表示单个媒体对象
| JSON 表示法 | |
|---|---|
| {
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object ( | |
| 字段 | |
|---|---|
| name | 
 此媒体对象的名称。 | 
| description | 
 此媒体对象的说明。 | 
| url | 
 指向媒体内容的网址。MP3 文件必须托管在网络服务器上,并通过 HTTPS 网址公开提供。只有 MP3 格式支持直播。 | 
| image | 
 与媒体卡片一起显示的图片。 | 
MediaImage
| JSON 表示法 | |
|---|---|
| { // Union field | |
| 字段 | ||
|---|---|---|
| 联合字段  
 | ||
| large | 
 大图片,例如影集的封面等。 | |
| icon | 
 标题右侧会显示一个小图片图标。其大小已调整为 36x36 dp。 | |
RepeatMode
媒体对象列表的重复模式类型。
| 枚举 | |
|---|---|
| REPEAT_MODE_UNSPECIFIED | 相当于“关闭”。 | 
| OFF | 在最后一个媒体对象的末尾结束媒体会话。 | 
| ALL | 当到达最后一个媒体对象的结尾时,循环到第一个媒体对象的开头。 | 
集合
显示一系列可供选择的选项的卡片。请参阅 https://developers.google.com/assistant/conversational/prompts-selection#collection
| JSON 表示法 | |
|---|---|
| { "title": string, "subtitle": string, "items": [ { object ( | |
| 字段 | |
|---|---|
| title | 
 合集的标题。可选。 | 
| subtitle | 
 合集的副标题。可选。 | 
| items[] | 
 一个项列表。其值最小值为 2,最大值为 10。 | 
| imageFill | 
 集合项的图片背景的填充方式。可选。 | 
CollectionItem
集合中的一项内容
| JSON 表示法 | |
|---|---|
| { "key": string } | |
| 字段 | |
|---|---|
| key | 
 必需。与关联类型中的条目键名匹配的 NLU 键。 | 
列表
显示可供选择的选项列表的卡片。请参阅 https://developers.google.com/assistant/conversational/prompts-selection#list
| JSON 表示法 | |
|---|---|
| {
  "title": string,
  "subtitle": string,
  "items": [
    {
      object ( | |
| 字段 | |
|---|---|
| title | 
 列表的标题。可选。 | 
| subtitle | 
 列表的副标题。可选。 | 
| items[] | 
 一个项列表。其值最小值为 2,最大值为 30。 | 
ListItem
列表中的一个项
| JSON 表示法 | |
|---|---|
| { "key": string } | |
| 字段 | |
|---|---|
| key | 
 必需。与关联类型中的条目键名匹配的 NLU 键。 | 
CollectionBrowse
将一组网络文档作为大型图块的集合显示。选中内容后,即可在网页查看器中启动与其相关联的网络文档。请参阅 https://developers.google.com/assistant/conversational/prompts-selection#collectionBrowse。
| JSON 表示法 | |
|---|---|
| { "items": [ { object ( | |
| 字段 | |
|---|---|
| items[] | 
 一个项列表。其值最小值为 2,最大值为 10。 | 
| imageFill | 
 图片显示选项的类型。 | 
项
集合中的项。
| JSON 表示法 | |
|---|---|
| { "title": string, "description": string, "footer": string, "image": { object ( | |
| 字段 | |
|---|---|
| title | 
 必需。集合项的标题。 | 
| description | 
 集合项的说明。 | 
| footer | 
 集合项的页脚文本,显示在说明下方。一行文本,用省略号截断。 | 
| image | 
 合集项的图片。 | 
| openUriAction | 
 必需。在项被选中后打开的 URI。 | 
建议
当 Google 助理显示提示时,建议会为支持显示的设备用户提供建议内容信息卡。使用建议内容信息卡提示用户做出选择,从而继续或推进对话。点按后,建议内容信息卡会将显示的文本逐字返回对话中,就好像用户已经输入了一样。请参阅 https://developers.google.com/assistant/conversational/prompts#suggestions。
| JSON 表示法 | |
|---|---|
| { "title": string } | |
| 字段 | |
|---|---|
| title | 
 必需。建议内容信息卡中显示的文本。用户点按后,这些文字会一字不差地重新发布到对话中,就如同用户已经输入了一样。每个标题在一组建议内容信息卡中必须是唯一的。最多 25 个字符 | 
画布
表示要发送给用户的 Interactive Canvas 响应。此方法可与“firstSimple”字段。响应的大小上限为 50k 字节。请访问 https://developers.google.com/assistant/interactivecanvas。
| JSON 表示法 | |
|---|---|
| {
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "continuousMatchConfig": {
    object ( | |
| 字段 | |
|---|---|
| url | 
 要加载的交互式画布 Web 应用的网址。如果您未设置此政策,系统会重复使用当前有效画布中的网址。 | 
| data[] | 
 可选。要作为事件传递到沉浸式体验网页的 JSON 数据。如果“替换”字段的值为“false”此 Canvas 提示中定义的数据值将添加到之前的 Canvas 提示中定义的数据值之后。 | 
| suppressMic | 
 可选。默认值:false。 | 
| continuousMatchConfig | 
 用于启动持续匹配模式的配置。 | 
ContinuousMatchConfig
用于启动持续匹配模式的配置。
| JSON 表示法 | |
|---|---|
| {
  "expectedPhrases": [
    {
      object ( | |
| 字段 | |
|---|---|
| expectedPhrases[] | 
 此次持续匹配模式会话期间可能出现的所有预期词组。 | 
| durationSeconds | 
 使连续匹配模式保持开启状态的时长。如果指定,系统会在达到使用时间上限后关闭麦克风。允许的最大值为 180。 | 
ExpectedPhrase
| JSON 表示法 | |
|---|---|
| { "phrase": string, "alternativePhrases": [ string ] } | |
| 字段 | |
|---|---|
| phrase | 
 要在连续匹配模式会话期间匹配的词组。 | 
| alternativePhrases[] | 
 即使存在语音偏差,某些短语也可能被语音模型错误地识别。这样一来,开发者就可以为同音词指定替代触发器。 | 
OrderUpdate
更新为订单。
| JSON 表示法 | |
|---|---|
| { "type": enum ( | |
| 字段 | |
|---|---|
| type | 
 已弃用:请改用 OrderUpdate.update_mask。如果 type = SNAPSHOT,则 OrderUpdate.order 应为整个订单。如果 type = ORDER_STATUS,则表示订单级状态更改。只提取 order.last_update_time 和此行业状态。注意:type.ORDER_STATUS 仅支持 PurcahaseOrderExtension 状态更新,并且没有延长此支持的计划。我们建议使用 updateMask,因为它更通用、可扩展,并且适用于所有行业。 | 
| order | 
 | 
| updateMask | 
 注意:对于以下特殊字段,有以下注意事项/建议:1. order.last_update_time 将始终作为更新请求的一部分进行更新。2. 如果 order.create_time、order.google_order_id 和 order.merchant_order_id 作为 updateMask 的一部分提供,则将被忽略。 这是完全限定字段名称的逗号分隔列表。示例: | 
| userNotification | 
 指定此标志时,系统会向用户显示一条包含指定标题和文本的通知。指定通知只是建议发送通知,并不保证一定会带来通知。 | 
| reason | 
 更改/更新的原因。 | 
类型
已弃用:请改用 OrderUpdate.update_mask。允许对订单进行更新。
| 枚举 | |
|---|---|
| TYPE_UNSPECIFIED | 未指定类型,不应明确设置此字段。 | 
| ORDER_STATUS | 仅更新订单状态。 | 
| SNAPSHOT | 更新订单快照。 | 
订单
订单实体。注意:1.除非另有规定,否则所有级别的所有字符串都必须少于 1000 个字符。2. 除非另有规定,否则所有级别的所有重复字段数量都必须少于 50。3. 所有级别的所有时间戳(如果指定)都必须是有效的时间戳。
| JSON 表示法 | |
|---|---|
| { "googleOrderId": string, "merchantOrderId": string, "userVisibleOrderId": string, "userVisibleStateLabel": string, "buyerInfo": { object ( | |
| 字段 | ||
|---|---|---|
| googleOrderId | 
 Google 指定的订单 ID。 | |
| merchantOrderId | 
 必填:商家分配的内部订单 ID。此 ID 必须是唯一的,并且后续订单更新操作中必须使用该 ID。此 ID 可设置为提供的 googleOrderId 或任何其他唯一值。请注意,向用户显示的 ID 是 userVisibleOrderId,它可能是一个不同的值,更方便用户使用。允许的长度上限为 128 个字符。 | |
| userVisibleOrderId | 
 引用当前订单的面向用户的 ID。此 ID 应与该订单在其他情境(包括网站、应用和电子邮件)中显示的 ID 一致。 | |
| userVisibleStateLabel | 
 已弃用:请改用 OrderExtensions 状态。此订单状态的用户可见标签。 | |
| buyerInfo | 
 买方的相关信息。 | |
| image | 
 与订单相关联的图片。 | |
| createTime | 
 必填:订单的创建日期和时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: | |
| lastUpdateTime | 
 上次更新订单的日期和时间。OrderUpdate 是必需的。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: | |
| transactionMerchant | 
 协助结账的商家。可能与订单项级提供商不同。示例:包含来自 ANA 的订单项的 Expedia 订单。 | |
| contents | 
 必需:订单内容,即一组订单项。 | |
| priceAttributes[] | 
 价格、折扣、税费等。 | |
| followUpActions[] | 
 在订单级别跟踪后续操作。 | |
| paymentData | 
 订单的付款相关数据。 | |
| termsOfServiceUrl | 
 指向适用于订单/提议订单的服务条款的链接。 | |
| note | 
 订单已附加备注。 | |
| promotions[] | 
 与此订单相关联的所有促销活动。 | |
| disclosures[] | 
 与此订单相关的信息。 | |
| vertical | 
 已弃用:请改用行业。除非某些订单项中的这些属性被覆盖,否则这些属性将应用于所有订单项。此行业必须与订单项级行业类型一致。可能的值: 此对象可以包含任意类型的字段。附加字段  | |
| 联合字段 verticals。除非某些订单项中的这些属性被覆盖,否则这些属性将应用于所有订单项。此行业必须与订单项级行业类型一致。verticals只能是下列其中一项: | ||
| purchase | 
 采购订单 | |
| ticket | 
 票务订单 | |
UserInfo
用户相关信息。用于表示与订单相关联的用户信息。
| JSON 表示法 | |
|---|---|
| {
  "email": string,
  "firstName": string,
  "lastName": string,
  "displayName": string,
  "phoneNumbers": [
    {
      object ( | |
| 字段 | |
|---|---|
| email | 
 用户电子邮件地址,例如:janedoe@gmail.com。 | 
| firstName | 
 用户的名字。 | 
| lastName | 
 用户的姓氏。 | 
| displayName | 
 用户的显示名称,可能与名字或姓氏不同。 | 
| phoneNumbers[] | 
 用户的电话号码。 | 
电话号码
标准电话号码表示法。
| JSON 表示法 | |
|---|---|
| { "e164PhoneNumber": string, "extension": string, "preferredDomesticCarrierCode": string } | |
| 字段 | |
|---|---|
| e164PhoneNumber | 
 根据国际电信联盟 (ITU) 建议 E.164 中的定义,采用 E.164 格式的电话号码。Wiki 链接:https://en.wikipedia.org/wiki/E.164 | 
| extension | 
 扩展不是在 ITU 建议中标准化的,除非是定义为长度不超过 40 位的一串数字。此处将其定义为字符串,以配合在扩展名中使用前导零的情况(组织可以完全自由地这样做,因为未定义标准)。除数字外,一些其他拨号字符,例如“,”(表示等待)可能会存储在此处。例如,xxx-xxx-xxxx 分机号:123、“123”是扩展名。 | 
| preferredDomesticCarrierCode | 
 在国内拨打此电话号码时首选的运营商选择代码。这也包括在某些国家/地区,在固定电话和手机之间拨打需要拨打的代码。例如,在哥伦比亚,“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": integer, "width": integer } | |
| 字段 | |
|---|---|
| url | 
 图片的来源网址。图片可以是 JPG、PNG 和 GIF(动画和非动画)。例如: | 
| accessibilityText | 
 将用于无障碍功能的图片的文字说明,例如屏幕阅读器。必填。 | 
| height | 
 图片的高度(以像素为单位)。可选。 | 
| width | 
 图片的宽度(以像素为单位)。可选。 | 
商家
购物车/订单/订单项的商家。
| JSON 表示法 | |
|---|---|
| { "id": string, "name": string, "image": { object ( | |
| 字段 | |
|---|---|
| id | 
 分配给商家的可选 ID(如果有)。 | 
| name | 
 商家的名称,例如“帕纳拉面包”。 | 
| image | 
 与商家关联的图片。 | 
| phoneNumbers[] | 
 商家的电话号码。 | 
| address | 
 商家的地址。 | 
位置
表示位置的容器。
| JSON 表示法 | |
|---|---|
| { "coordinates": { object ( | |
| 字段 | |
|---|---|
| coordinates | 
 地理坐标。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 权限。 | 
| formattedAddress | 
 显示地址,例如“1600 Amphitheatre Pkwy, Mountain View, CA 94043”。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 权限。 | 
| zipCode | 
 邮政编码。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 或 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 权限。 | 
| city | 
 城市。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 或 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 权限。 | 
| postalAddress | 
 邮寄地址。需要 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 或 [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 权限。 | 
| name | 
 地点的名称。 | 
| phoneNumber | 
 营业地点的电话号码,例如营业地点的联系电话号码或送货地点的电话号码。 | 
| notes | 
 关于该地点的备注。 | 
| placeId | 
 placeId 与 Places API 搭配使用,用于提取地点的详细信息。请参阅 https://developers.google.com/places/web-service/place-id | 
LatLng
表示纬度/经度对的对象。该对象以一对双精度数表示,分别代表纬度度数和经度度数。除非另有说明,否则该对象必须符合 WGS84 标准。值必须介于标准化范围内。
| JSON 表示法 | |
|---|---|
| { "latitude": number, "longitude": number } | |
| 字段 | |
|---|---|
| latitude | 
 纬度(以度为单位)。它必须在 [-90.0, +90.0] 范围内。 | 
| longitude | 
 经度(以度为单位)。它必须在 [-180.0, +180.0] 范围内。 | 
PostalAddress
表示邮政地址,例如邮政递送或付款地址。给定邮政地址时,邮政服务可以将物品投递到处所、邮政信箱或其他投递地点。此对象不模拟地理位置(道路、城镇、山区)。
在典型的使用场景中,地址将通过用户输入或导入现有数据来创建,具体取决于进程的类型。
有关输入 / 修改地址的建议:- 使用国际化地址 widget,例如 https://github.com/google/libaddressinput
如需详细了解如何使用此架构,请参阅:https://support.google.com/business/answer/6397478
| JSON 表示法 | |
|---|---|
| { "revision": integer, "regionCode": string, "languageCode": string, "postalCode": string, "sortingCode": string, "administrativeArea": string, "locality": string, "sublocality": string, "addressLines": [ string ], "recipients": [ string ], "organization": string } | |
| 字段 | |
|---|---|
| revision | 
 
 所有新版本必须向后兼容旧版本。 | 
| regionCode | 
 必需。地址的国家/地区的 CLDR 地区代码。系统不会推断此字段,该值由用户确保正确。如需了解详情,请参阅 http://cldr.unicode.org/ 和 http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html。例如:瑞士的地区代码为“CH”。 | 
| languageCode | 
 选填。此地址内容的 BCP-47 语言代码(如果已知)。这通常是输入表单的界面语言,或者与地址的“国家/地区”中使用的某种语言或其转换后的其他语言相匹配。这可能会影响某些国家/地区的格式,但对数据的正确性并不重要,也不会影响任何验证或其他与格式无关的操作。 如果此值未知,则应省略(而不是指定可能不正确的默认值)。 示例:“zh-Hant”、“ja”、“ja-Latn”、“en”。 | 
| postalCode | 
 可选。地址的邮政编码。并非所有国家/地区都使用或要求使用邮政编码,但在使用邮政编码时,它们可能会触发地址其他部分的额外验证(例如美国的州/邮政编码验证)。 | 
| sortingCode | 
 可选。特定于国家/地区的额外排序代码。大多数区域都未使用此功能。在使用它的地方,此值可以是一个类似“CEDEX”的字符串,后面可能会跟一个数字(例如“CEDEX 7”),或者只有一个数字,代表“管制区代码”(牙买加),“投递区域指标”(马拉维)或“邮局指标”(例如科特迪瓦)。 | 
| administrativeArea | 
 可选。最高行政区划,用于国家或地区的邮政地址。例如,此值可以是州、省、州(俄罗斯)或县。具体来说,对于西班牙,此值为省而非自治区(例如此值为“巴塞罗那”而非“加泰罗尼亚”)。许多国家在邮政地址中不使用行政区划。例如对于瑞士,此字段应留空。 | 
| locality | 
 可选。一般是指地址的城市/城镇部分。示例:美国的城市、意大利的市镇、英国的邮镇。对于没有明确定义 locality 或者其无法很好地对应这个结构的区域,应将 locality 留空并使用 address_lines。 | 
| sublocality | 
 可选。地址的子级市行政区。例如,此值可以是社区、自治市/镇/区、行政区。 | 
| addressLines[] | 
 描述详细地址的非结构化地址行。 由于 addressLines 中的值没有类型信息,并且有时可能在单个字段中包含多个值(例如“Austin, TX”),因此清楚的行顺序很重要。地址行的顺序应该是地址的国家/地区的“信封顺序”。在某些地方,此顺序有可能不同(例如日本),address_language 有助于使其明确(例如,“ja”表示从大到小排序,“ja-Latn”或“en”表示从小到大排序)。这样就可以根据语言选择地址的具体行。 地址的最小结构化表示形式由 regionCode 和 addressLines 组成,其中所有其他信息都放在 addressLines 中。可以在没有地理编码的情况下非常近似地设置此地址的格式,但是在至少部分完成之前,不能对任何地址组成部分进行语义推理。 创建仅包含 regionCode 和 addressLines 的地址,然后进行地理编码是处理完全非结构化地址的推荐方法(而不是猜测地址的哪些部分是城市/市镇或行政区)。 | 
| recipients[] | 
 可选。此地址的收件人。在某些情况下,该字段可能包含多行信息。例如,它可能包含“转交”信息。 | 
| organization | 
 可选。地址对应的组织的名称。 | 
目录
订单项的封装容器。
| JSON 表示法 | |
|---|---|
| {
  "lineItems": [
    {
      object ( | |
| 字段 | |
|---|---|
| lineItems[] | 
 订单项列表。至少需要提供 1 个订单项,最多允许提供 50 个。所有订单项必须属于同一行业。 | 
LineItem
一个订单项包含一个行业。一个订单或购物车可以包含多个属于同一行业的订单项。子订单项/插件等应根据其用例在纵向 proto 中定义。注意:1.除非另有规定,否则所有级别的所有字符串都必须少于 1000 个字符。2. 除非另有规定,否则所有级别的所有重复字段数量都必须少于 50。3. 所有级别的所有时间戳(如果指定)都必须是有效的时间戳。
| JSON 表示法 | |
|---|---|
| { "id": string, "name": string, "userVisibleStateLabel": string, "provider": { object ( | |
| 字段 | ||
|---|---|---|
| id | 
 必需:商家为订单项分配的标识符。用于在应用部分更新时识别现有订单项。允许的长度上限为 64 个字符。 | |
| name | 
 收据上显示的订单项名称。允许的长度上限为 100 个字符。 | |
| userVisibleStateLabel | 
 已弃用。请改用垂直水平状态。例如,对于购买交易,请使用 PurchaseOrderExtension.status。用户可见的此订单项状态标签。 | |
| provider | 
 特定订单项的提供商(如果与整个订单不同)。示例:订单项提供商 ANA 的 Expedia 订单。 | |
| priceAttributes[] | 
 订单项级价格和调整项。 | |
| followUpActions[] | 
 跟踪订单项中的后续操作。 | |
| recipients[] | 
 订单项级客户,可能与订单级买方不同。示例:用户 X 以用户 Y 的名义预订了餐厅。 | |
| image | 
 与此内容相关的小图片(如果有)。 | |
| description | 
 订单项说明。 | |
| notes[] | 
 适用于此特定订单项的附加说明,例如取消政策。 | |
| disclosures[] | 
 与此订单项相关的信息。 | |
| vertical | 
 已弃用:请改用行业。必需:根据类型/行业划分的订单项的语义内容。每个类别都应包含自己的履单详情。必须是以下值之一: 此对象可以包含任意类型的字段。附加字段  | |
| 联合字段 verticals。必需:根据类型/行业划分的订单项的语义内容。每个类别都应包含自己的履单详情。verticals只能是下列其中一项: | ||
| purchase | 
 采购订单,如商品、食品等 | |
| reservation | 
 餐馆、理发等预订订单 | |
PriceAttribute
订单或订单项的 price 属性。
| JSON 表示法 | |
|---|---|
| { "type": enum ( | |
| 字段 | ||
|---|---|---|
| type | 
 必填:金额属性的类型。 | |
| name | 
 必需:用户显示的价格属性字符串。此信息由商家发送并本地化。 | |
| id | 
 可选:与此价格对应的订单项的 ID。 | |
| state | 
 必需:价格状态:估算价格与实际价格。 | |
| taxIncluded | 
 价格是否含税。 | |
| 联合字段 spec。表示货币金额或毫百分比。spec只能是下列其中一项: | ||
| amount | 
 货币金额。 | |
| amountMillipercentage | 
 百分比规范,精确到百分之 1/1000。例如:8.750% 表示为 8750,负百分比表示折扣百分比。弃用此字段。如果需要可靠的应用场景,可以考虑重新添加。 | |
类型
表示货币的类型。
| 枚举 | |
|---|---|
| TYPE_UNSPECIFIED | 未指定类型,客户端不应该明确设置此属性。 | 
| REGULAR | 未应用任何折扣等的正常显示价格。 | 
| DISCOUNT | 从小计中减去。 | 
| TAX | 添加到小计中。 | 
| DELIVERY | 添加到小计中。 | 
| SUBTOTAL | 在加收某些费用前的小计。 | 
| FEE | 任何其他费用。 | 
| GRATUITY | 添加到小计中。 | 
| TOTAL | 显示的订单或订单项价格。 | 
州
表示价格状态。
| 枚举 | |
|---|---|
| STATE_UNSPECIFIED | 未指定。 | 
| ESTIMATE | 价格只是估算值,但最终金额会接近此金额。示例:如果在交易时未准确知晓税费,则总金额为 ESTIMATE 金额。 | 
| ACTUAL | 将向用户收取的实际价格。 | 
金钱
表示含有货币类型的金额。
| JSON 表示法 | |
|---|---|
| { "currencyCode": string, "amountInMicros": string } | |
| 字段 | |
|---|---|
| currencyCode | 
 ISO 4217 中定义的由 3 个字母组成的货币代码。 | 
| amountInMicros | 
 金额(以微单位表示)。例如,对于 1.99 美元,应将此字段设置为 1990000。 | 
操作
与订单或订单项相关联的后续操作。
| JSON 表示法 | |
|---|---|
| { "type": enum ( | |
| 字段 | |
|---|---|
| type | 
 必需:操作类型。 | 
| title | 
 操作的标题或标签,向用户显示。允许的长度上限为 100 个字符。 | 
| openUrlAction | 
 要执行的操作。 | 
| 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 ( | |
| 字段 | |
|---|---|
| url | 
 网址字段,可以是以下任一项:- 用于打开与应用关联的应用或网页的 http/https 网址 | 
| androidApp | 
 有关 Android 应用的信息(如果网址应由 Android 应用实现)。 | 
| urlTypeHint | 
 表示网址类型的提示。 | 
AndroidApp
执行方式限制的 Android 应用规范
| JSON 表示法 | |
|---|---|
| {
  "packageName": string,
  "versions": [
    {
      object ( | |
| 字段 | |
|---|---|
| packageName | 
 指定 Android 执行方式时,必须指定软件包名称。 | 
| versions[] | 
 如果指定了多个过滤条件,任何过滤条件匹配都将触发应用。 | 
VersionFilter
如果需要应用的特定版本,则应添加 VersionFilter。
| JSON 表示法 | |
|---|---|
| { "minVersion": integer, "maxVersion": integer } | |
| 字段 | |
|---|---|
| minVersion | 
 最低版本代码或 0(含)。 | 
| maxVersion | 
 最高版本代码(含边界值)。考虑的范围是 [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 | 
 此操作的到期时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: | 
披露
可能会向用户显示的产品、服务或政策披露信息。
| JSON 表示法 | |
|---|---|
| { "title": string, "disclosureText": { object ( | |
| 字段 | |
|---|---|
| title | 
 披露信息的标题。示例:“安全信息”。 | 
| disclosureText | 
 披露声明的内容。允许使用网页链接。 | 
| presentationOptions | 
 披露信息的呈现选项。 | 
DisclosureText
表示带有网页链接的纯文本。
| JSON 表示法 | |
|---|---|
| {
  "template": string,
  "textLinks": [
    {
      object ( | |
| 字段 | |
|---|---|
| template | 
 要显示的文本,包含占位符,如“{0}”和“{1}”插入每个文本链接。示例:“警告:本产品可能会接触加州已知的可致癌的化学物质。有关详情,请访问 {0}。”披露声明文字不得包含任何促销内容或类似广告的内容。 | 
| textLinks[] | 
 应替换到模板中的文本链接。第一张将替换为“{0}”第二个是“{1}”,以此类推。 | 
TextLink
应替换到模板中的文本链接。
| JSON 表示法 | |
|---|---|
| { "displayText": string, "url": string } | |
| 字段 | |
|---|---|
| displayText | 
 应向用户显示的文本。 | 
| url | 
 链接激活后,用户应被定向到的网址。 | 
DisclosurePresentationOptions
披露信息的呈现方式。
| JSON 表示法 | |
|---|---|
| {
  "presentationRequirement": enum ( | |
| 字段 | |
|---|---|
| presentationRequirement | 
 披露声明的呈现要求。 | 
| initiallyExpanded | 
 披露信息的内容一开始是否应展开。默认情况下,该窗格最初处于收起状态。 | 
PresentationRequirement
披露信息的呈现要求。
| 枚举 | |
|---|---|
| REQUIREMENT_UNSPECIFIED | 未指定的要求。不应明确设置此属性。 | 
| REQUIREMENT_OPTIONAL | 您可以选择是否披露。如果设备不支持显示披露声明,则可以跳过。 | 
| REQUIREMENT_REQUIRED | 您必须提供这项披露信息。如果设备不支持显示披露信息,系统会将对话内容移至手机。 | 
PurchaseItemExtension
购买行业的订单项内容。
| JSON 表示法 | |
|---|---|
| { "status": enum ( | |
| 字段 | |
|---|---|
| status | 
 必需:订单项级状态。 | 
| userVisibleStatusLabel | 
 必需:状态的用户可见标签/字符串。允许的长度上限为 50 个字符。 | 
| type | 
 必填:购买交易的类型。 | 
| productId | 
 与此订单项关联的产品或优惠 ID。 | 
| quantity | 
 商品的数量。 | 
| unitMeasure | 
 单位度量。用于指定商品的尺寸(以所选单位为单位)。尺寸和有效价格共同用于确定单价。 | 
| returnsInfo | 
 返回此订单项的信息。如果未设置,此订单项将沿用订单级返回的信息。 | 
| fulfillmentInfo | 
 此订单项的履单信息。如果未设置,此订单项将沿用订单级履单信息。 | 
| itemOptions[] | 
 其他插件或子作品。 | 
| productDetails | 
 商品的详细信息。 | 
| extension | 
 商家与 Google 之间交换的任何额外字段。注意:强烈建议您不要使用此扩展程序。根据用例/情况,请考虑以下某种方法:1.如果 PurchaseItemExtension 中的字段可用于其他用例(即通用功能),请在 PurchaseItemExtension 中定义相应字段。2. 如果 Vertical_extension 仅适用于自定义的非通用用例/功能,请使用该扩展程序。 此对象可以包含任意类型的字段。附加字段  | 
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 ( | |
| 字段 | |
|---|---|
| measure | 
 值:示例 1.2。 | 
| unit | 
 单位:例如 POUND, GRAM。 | 
单位
| 枚举 | |
|---|---|
| UNIT_UNSPECIFIED | 未指定单位。 | 
| MILLIGRAM | 毫克。 | 
| GRAM | 克。 | 
| KILOGRAM | 公斤。 | 
| OUNCE | 盎司。 | 
| POUND | 磅。 | 
PurchaseReturnsInfo
返回与订单或特定订单项相关的信息。
| JSON 表示法 | |
|---|---|
| { "isReturnable": boolean, "daysToReturn": integer, "policyUrl": string } | |
| 字段 | |
|---|---|
| isReturnable | 
 如果为 true,则允许返回。 | 
| daysToReturn | 
 指定天数内允许退货。 | 
| policyUrl | 
 指向退货政策的链接。 | 
PurchaseFulfillmentInfo
与采购订单或特定订单项关联的履单信息。
| JSON 表示法 | |
|---|---|
| { "id": string, "fulfillmentType": enum ( | |
| 字段 | |
|---|---|
| id | 
 此服务选项的唯一标识符。 | 
| fulfillmentType | 
 必需:履单的类型。 | 
| expectedFulfillmentTime | 
 如果指定了时间范围,则为窗口;如果指定了单个时间,则为 ETA。预计送货或自提时间。 | 
| expectedPreparationTime | 
 如果指定了时间范围,则为窗口;如果指定了单个时间,则为 ETA。准备食物的预计时间。一次性首选。 | 
| location | 
 自提或送货地点。 | 
| expireTime | 
 此履单选项的过期时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: | 
| price | 
 此选项的费用。 | 
| fulfillmentContact | 
 此执行方式的用户联系人。 | 
| shippingMethodName | 
 用户选择的配送方式名称。 | 
| storeCode | 
 营业地点的商店代码。示例:沃尔玛是商家,storeCode 是履单的沃尔玛商店。https://support.google.com/business/answer/3370250?ref_topic=4596653. | 
| pickupInfo | 
 有关如何选择订单的更多信息。仅当履单类型为“PICKUP”时,此字段才适用。 | 
类型
履单类型。
| 枚举 | |
|---|---|
| TYPE_UNSPECIFIED | 未指定类型。 | 
| DELIVERY | 此订单将会送达。 | 
| PICKUP | 此订单需要自提。 | 
时间
时间结构,用于表示向用户显示订单时使用的事件时间。
| JSON 表示法 | |
|---|---|
| { "timeIso8601": string } | |
| 字段 | |
|---|---|
| timeIso8601 | 
 表示订单事件时间,例如预订时间、送货时间等。可以是持续时间(开始和结束时间),可以是日期、日期时间等。如需查看所有支持的格式,请参阅 https://en.wikipedia.org/wiki/ISO_8601。 | 
PickupInfo
有关订单取货方式的详细信息。其中包括提货类型等详细信息,以及每种类型所附的其他元数据(如果有)。
| JSON 表示法 | |
|---|---|
| { "pickupType": enum ( | |
| 字段 | |
|---|---|
| pickupType | 
 提货方法,例如 INSTORE、CUBSIDE 等 | 
| curbsideInfo | 
 路边信息具体详情。如果 pickupType 不是“CURBSIDE”,将忽略此字段。 | 
| checkInInfo[] | 
 合作伙伴支持的各种方法的列表,用于支持签到。 | 
PickupType
支持的自提类型列表。
| 枚举 | |
|---|---|
| UNSPECIFIED | 未指定自提类型。 | 
| INSTORE | 在餐厅内取餐。 | 
| CURBSIDE | 在餐厅外的指定地点停车,有人会送餐到那里。 | 
CurbsideInfo
有关如何进行路边下单的详细信息。
| JSON 表示法 | |
|---|---|
| { "curbsideFulfillmentType": enum ( | |
| 字段 | |
|---|---|
| curbsideFulfillmentType | 
 合作伙伴需要更多信息才能处理路边自提订单。根据所选的履单类型,系统将从用户那里收集相应的详细信息。 | 
| userVehicle | 
 下单用户的车辆详细信息。 | 
CurbsideFulfillmentType
路边履单类型的可能值。
| 枚举 | |
|---|---|
| UNSPECIFIED | 未指定路边履单类型。 | 
| VEHICLE_DETAIL | 必须提供车辆详细信息,方便路边自提。 | 
交通工具
车辆详细信息
| JSON 表示法 | |
|---|---|
| {
  "make": string,
  "model": string,
  "licensePlate": string,
  "colorName": string,
  "image": {
    object ( | |
| 字段 | |
|---|---|
| make | 
 车辆品牌(例如“本田”)。此信息会向用户显示,并且必须本地化。必填。 | 
| model | 
 车辆型号(例如“Grom”)。此信息会向用户显示,并且必须本地化。必填。 | 
| licensePlate | 
 车牌号(例如“1ABC234”)。必填。 | 
| colorName | 
 车辆颜色名称,例如黑色 可选。 | 
| image | 
 指向车辆照片的网址。照片将显示约 256 x 256 像素。必须是 jpg 或 png。可选。 | 
CheckInInfo
合作伙伴支持签入方法所需的元数据。
| JSON 表示法 | |
|---|---|
| {
  "checkInType": enum ( | |
| 字段 | |
|---|---|
| checkInType | 
 用于发送签到说明的方法。 | 
CheckInType
用于发送签到说明的各种方法。
| 枚举 | |
|---|---|
| CHECK_IN_TYPE_UNSPECIFIED | 未知值。 | 
| EMAIL | 签到信息将通过电子邮件发送。 | 
| SMS | 签到信息将通过短信发送。 | 
ItemOption
表示插件或子项。
| JSON 表示法 | |
|---|---|
| { "id": string, "name": string, "prices": [ { object ( | |
| 字段 | |
|---|---|
| id | 
 对于属于商品的选项,应提供唯一商品 ID。 | 
| name | 
 选项名称。 | 
| prices[] | 
 选项总价。 | 
| note | 
 与选项相关的备注。 | 
| quantity | 
 对于作为商品的选项,则指定数量。 | 
| productId | 
 与此选项关联的产品或优惠 ID。 | 
| subOptions[] | 
 定义其他嵌套子选项。 | 
ProductDetails
商品的详细信息。
| JSON 表示法 | |
|---|---|
| { "productId": string, "gtin": string, "plu": string, "productType": string, "productAttributes": { string: string, ... } } | |
| 字段 | |
|---|---|
| productId | 
 与此订单项关联的产品或优惠 ID。 | 
| gtin | 
 商品的全球贸易项目代码。如果 Merchant Center 中不存在 offerId,此对象会很有用。可选。 | 
| plu | 
 价格查询代码(通常称为 PLU 代码、PLU 编号、PLU、农产品代码或农产品标签)是一个数字体系,用于唯一地标识杂货店和超市出售的批发产品。 | 
| productType | 
 商家定义的商品类别。例如:“首页 >杂货 >乳制品和鸡蛋 >牛奶 >全脂牛奶” | 
| productAttributes | 
 商家提供的商品详细信息,例如{ "allergen": "peanut"}。如果 Merchant Center 中不存在 offerId,此对象会很有用。可选。 包含一系列  | 
ReservationItemExtension
餐馆、理发等预订订单的订单项内容。
| JSON 表示法 | |
|---|---|
| { "status": enum ( | |
| 字段 | |
|---|---|
| status | 
 必需:预留状态。 | 
| userVisibleStatusLabel | 
 必需:状态的用户可见标签/字符串。允许的长度上限为 50 个字符。 | 
| type | 
 预留的类型。如果所有类型选项均不适用,则可以未设置。 | 
| reservationTime | 
 服务/事件预定发生的时间。可以是时间范围、日期或确切日期和时间。 | 
| userAcceptableTimeRange | 
 用户接受的时间范围。 | 
| confirmationCode | 
 此预订的确认码。 | 
| partySize | 
 人数。 | 
| staffFacilitators[] | 
 将负责为预订提供服务的教员。例如:发型师 | 
| location | 
 服务/事件的位置。 | 
ReservationStatus
预留的状态。
| 枚举 | |
|---|---|
| RESERVATION_STATUS_UNSPECIFIED | 未指定状态。 | 
| PENDING | 预留正在等待处理。 | 
| CONFIRMED | 预订已确认。 | 
| CANCELLED | 用户取消了预订。 | 
| FULFILLED | 预留已完成。 | 
| CHANGE_REQUESTED | 已请求更改预留 | 
| REJECTED | 预订已过期或被集成商拒绝。 | 
ReservationType
预留的类型。
| 枚举 | |
|---|---|
| RESERVATION_TYPE_UNSPECIFIED | 未指定类型。 | 
| RESTAURANT | 预订餐厅。 | 
| HAIRDRESSER | 理发师预订。 | 
StaffFacilitator
服务人员的相关信息。
| JSON 表示法 | |
|---|---|
| {
  "name": string,
  "image": {
    object ( | |
| 字段 | |
|---|---|
| name | 
 教职员的姓名。例如:“张三” | 
| image | 
 表演者的图片。 | 
PaymentData
与订单相关的付款数据。
| JSON 表示法 | |
|---|---|
| { "paymentResult": { object ( | |
| 字段 | |
|---|---|
| paymentResult | 
 集成商用于完成交易的付款结果。如果结账体验由 Actions-on-Google 管理,则 Actions on Google 会填充此字段。 | 
| paymentInfo | 
 与订单相关的付款信息,便于进行用户互动。 | 
PaymentResult
集成商用于完成交易的付款结果。
| JSON 表示法 | |
|---|---|
| { // Union field | |
| 字段 | ||
|---|---|---|
| 联合字段 result。提供的是 Google 付款数据或商家付款方式。result只能是下列其中一项: | ||
| googlePaymentData | 
 Google 提供的付款方式数据。如果您的付款处理方被列为 Google 支持的付款处理方,请访问:https://developers.google.com/pay/api/。通过链接前往您的付款处理方,可了解详情。否则,请参阅以下文档了解载荷详情。https://developers.google.com/pay/api/payment-data-cryptography | |
| merchantPaymentMethodId | 
 用户选择的商家/操作提供的付款方式。 | |
PaymentInfo
与正在下单有关的付款信息。此 proto 可捕获对用户的互动有用的信息。
| JSON 表示法 | |
|---|---|
| { "paymentMethodDisplayInfo": { object ( | |
| 字段 | |
|---|---|
| paymentMethodDisplayInfo | 
 交易所用付款方式的显示信息。 | 
| paymentMethodProvenance | 
 交易所用付款方式的出处。用户可能向 Google 和商家注册了同一付款方式。 | 
PaymentMethodDisplayInfo
集成商用于完成交易的付款结果。
| JSON 表示法 | |
|---|---|
| {
  "paymentType": enum ( | |
| 字段 | |
|---|---|
| paymentType | 
 付款的类型。 | 
| paymentMethodDisplayName | 
 向用户显示的付款方式名称。例如:VISA **** 1234 支票账户 **** 5678 | 
| paymentMethodVoiceName | 
 对于仅支持语音助理的设备,将向用户显示的付款方式名称。例如,“尾号为一二三四的签证”或“尾号为五六七八的支票账户”。注意:这是语音优化字符串,用于替代纯语音助理设备的 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 | 
 必填:适用于此优惠的优惠券代码。 | 
PurchaseOrderExtension
适用于购买行业的附加订单信息。这些属性适用于订单内的所有订单项,除非它们在订单项中被覆盖。
| JSON 表示法 | |
|---|---|
| { "status": enum ( | |
| 字段 | |
|---|---|
| status | 
 必需:订单的总体状态。 | 
| userVisibleStatusLabel | 
 用户可见的状态标签/字符串。允许的长度上限为 50 个字符。 | 
| type | 
 必填:购买交易的类型。 | 
| returnsInfo | 
 订单的退货信息。 | 
| fulfillmentInfo | 
 订单的履单信息。 | 
| purchaseLocationType | 
 购买地点(实体店内 / 在线) | 
| errors[] | 
 可选:此订单因而导致此订单被拒的错误。 | 
| extension | 
 商家与 Google 之间交换的任何额外字段。注意:强烈建议您不要使用此扩展程序。根据用例/情况,请考虑以下某种方法:1.如果 PurchaseOrderExtension 中的字段可用于其他用例(即通用功能),请定义 PurchaseOrderExtension 中的字段。2. 如果 Vertical_extension 仅适用于自定义的非通用用例/功能,请使用该扩展程序。 此对象可以包含任意类型的字段。附加字段  | 
PurchaseLocationType
购买的地理位置类型。
| 枚举 | |
|---|---|
| UNSPECIFIED_LOCATION | 未知值。 | 
| ONLINE_PURCHASE | 所有在线购买交易。 | 
| INSTORE_PURCHASE | 所有实体店内购买。 | 
PurchaseError
采购订单可能被拒绝的错误。
| JSON 表示法 | |
|---|---|
| { "type": enum ( | |
| 字段 | |
|---|---|
| type | 
 必需:表示订单被商家拒绝的详细原因。 | 
| description | 
 更多错误说明。 | 
| entityId | 
 与错误对应的实体 ID。例如,它可对应于 LineItemId / ItemOptionId。 | 
| updatedPrice | 
 在出现 PRICE_CHANGED / INORRECT_PRICE 错误类型时相关。 | 
| availableQuantity | 
 现货数量。在 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 | 没有可用的服务容量。如果更精细的错误类型均不适用,请使用此错误代码。 | 
| NO_COURIER_AVAILABLE | 找不到快递公司。一种精细的错误类型,可以归类为 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 | 无法联系到商家。当合作伙伴是集合商家而无法覆盖商家时,这会很有用。 | 
| ACCOUNT_LINKING_FAILED | 商家尝试将用户 Google 账号与其系统中的账号相关联,但在此过程中遇到了错误。 | 
TicketOrderExtension
为电影、体育赛事等票务订单订购内容。
| JSON 表示法 | |
|---|---|
| {
  "ticketEvent": {
    object ( | |
| 字段 | |
|---|---|
| ticketEvent | 
 应用于所有订单项门票的活动。 | 
TicketEvent
表示单个事件。
| JSON 表示法 | |
|---|---|
| { "type": enum ( | |
| 字段 | |
|---|---|
| type | 
 必填:门票活动的类型,例如电影,音乐会 | 
| name | 
 必填:活动名称。例如,如果活动为电影,则此值应为电影名称。 | 
| description | 
 活动说明。 | 
| url | 
 指向活动信息的网址。 | 
| location | 
 活动进行的地点或组织所在的地点。 | 
| eventCharacters[] | 
 与此事件相关的字符。它可以是电影活动的导演或演员,或音乐会的表演者等。 | 
| startDate | 
 开始时间。 | 
| endDate | 
 结束时间。 | 
| doorTime | 
 进入时间,可能不同于活动开始时间。例如活动于上午 9 点开始,但入场时间是上午 8:30。 | 
类型
事件的类型。
| 枚举 | |
|---|---|
| EVENT_TYPE_UNKNOWN | 事件类型未知。 | 
| MOVIE | 影片。 | 
| CONCERT | 音乐会。 | 
| SPORTS | 体育。 | 
EventCharacter
一个事件字符,例如组织者、表演者等
| JSON 表示法 | |
|---|---|
| { "type": enum ( | |
| 字段 | |
|---|---|
| type | 
 事件字符的类型,例如演员或导演。 | 
| name | 
 字符的名称。 | 
| image | 
 角色的图片。 | 
类型
字符类型。
| 枚举 | |
|---|---|
| TYPE_UNKNOWN | 未知类型。 | 
| ACTOR | 演员。 | 
| PERFORMER | 表演者。 | 
| DIRECTOR | 主管。 | 
| ORGANIZER | 组织者。 | 
UserNotification
作为订单更新的一部分显示的可选用户通知。
| JSON 表示法 | |
|---|---|
| { "title": string, "text": string } | |
| 字段 | |
|---|---|
| title | 
 用户通知的标题。允许的长度上限为 30 个字符。 | 
| text | 
 通知的内容。允许的长度上限为 100 个字符。 | 
NextScene
表示接下来要执行的场景。
| JSON 表示法 | |
|---|---|
| { "name": string } | |
| 字段 | |
|---|---|
| name | 
 接下来要执行的场景的名称。 | 
会话
包含当前对话会话的相关信息
| JSON 表示法 | |
|---|---|
| {
  "id": string,
  "params": {
    string: value,
    ...
  },
  "typeOverrides": [
    {
      object ( | |
| 字段 | |
|---|---|
| id | 
 必需。当前对话会话的全局唯一 ID。此字段为只读字段。 | 
| params | 
 必需。会话期间从表单和意图收集的所有参数的列表。key 为参数名称。此处定义的参数将与会话中定义的参数合并。值为 null 的参数将从会话中移除。请参阅会话存储文档:https://developers.google.com/assistant/conversational/storage-session。 包含一系列  | 
| typeOverrides[] | 
 可选。类型范围限定为会话。会话类型定义可以补充或替换现有类型。类型名称必须是唯一的。 | 
| languageCode | 
 当前对话会话的语言。遵循 IETF BCP-47 语言代码 http://www.rfc-editor.org/rfc/bcp/bcp47.txt。如果操作使用多语言功能,则可能与用户语言区域不同。例如,如果设置了 Handler_response.expected.language_code,则该脚本会更改所有后续回合的对话语言,这将反映在此字段中。 | 
TypeOverride
表示类型的替换。
| JSON 表示法 | |
|---|---|
| { "name": string, "mode": enum ( | |
| 字段 | |
|---|---|
| name | 
 必需。要补充或替换的类型的名称。 | 
| mode | 
 必需。此类型应如何与其他类型值合并。 | 
| synonym | 
 | 
TypeOverrideMode
会话实体类型的修改类型。
| 枚举 | |
|---|---|
| TYPE_UNSPECIFIED | 未指定。不应使用此值。 | 
| TYPE_REPLACE | 此响应中的类型定义将替换之前定义的类型定义。 | 
| TYPE_MERGE | 此响应中的类型定义将与之前定义的类型定义合并。新的类型定义将覆盖现有的类型定义。 | 
SynonymType
表示具有同义词的类型。
| JSON 表示法 | |
|---|---|
| {
  "entries": [
    {
      object ( | |
| 字段 | |
|---|---|
| entries[] | 
 必需。同义词类型的条目列表。 | 
条目
表示同义词类型的条目。
| JSON 表示法 | |
|---|---|
| {
  "name": string,
  "synonyms": [
    string
  ],
  "display": {
    object ( | |
| 字段 | |
|---|---|
| name | 
 必需。条目名称(例如“bicycle”)。此字段中的条目必须包含在重复的同义词字段中,才能识别为有效的类型值。 | 
| synonyms[] | 
 必需。条目的同义词列表(例如“bike”和“cycle”)。 | 
| display | 
 可选。商品显示的信息。 | 
EntryDisplay
| JSON 表示法 | |
|---|---|
| { "title": string, "description": string, "image": { object ( | |
| 字段 | |
|---|---|
| title | 
 必需。商品的标题。用户点按后,这些文字会一字不差地重新发布到对话中,就如同用户已经输入了一样。每个标题在一组集合项中必须是唯一的。 | 
| description | 
 可选。卡片的正文。 | 
| image | 
 可选。要显示的图像。 | 
| footer | 
 可选。浏览集合项的页脚文本,显示在说明下方。一行文本,用省略号截断。 | 
| openUrl | 
 与浏览轮播项相关联的文档的网址。浏览轮播界面时必填。 | 
用户
表示向 Action 发出请求的用户。
| JSON 表示法 | |
|---|---|
| { "locale": string, "params": { string: value, ... }, "accountLinkingStatus": enum ( | |
| 字段 | |
|---|---|
| locale | 
 发出请求的用户的主要语言区域设置。遵循 IETF BCP-47 语言代码 http://www.rfc-editor.org/rfc/bcp/bcp47.txt。但不包含脚本子标记。 | 
| params | 
 可选。与当前用户关联的所有参数的列表。请参阅用户存储空间文档:https://developers.google.com/assistant/conversational/storage-user。 包含一系列  | 
| accountLinkingStatus | 
 用户账号是否已关联到应用。 | 
| verificationStatus | 
 指明用户的验证状态。 | 
| lastSeenTime | 
 上次与此用户互动的时间戳。如果用户之前未与代理互动过,此字段会被省略。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: | 
| engagement | 
 当前用户的互动度,包括对 intent 的任何订阅。 | 
| packageEntitlements[] | 
 与当前操作关联的 Android 软件包相关的用户权限。 | 
| permissions[] | 
 包含用户向此操作授予的权限。 | 
AccountLinkingStatus
指明最终用户是否已将其账号与此应用相关联。请参阅账号关联文档:https://developers.google.com/assistant/identity。
| 枚举 | |
|---|---|
| ACCOUNT_LINKING_STATUS_UNSPECIFIED | 未知。 | 
| NOT_LINKED | 用户尚未将其账号与此应用相关联。 | 
| LINKED | 用户已将其账号关联到此应用。 | 
UserVerificationStatus
指明 Google 是否已验证用户。“VERIFIED”状态表示您可以使用 params 字段或通过账号关联保存各会话中的数据。
| 枚举 | |
|---|---|
| USER_VERIFICATION_STATUS_UNSPECIFIED | 未知。 | 
| GUEST | 访客用户。 | 
| VERIFIED | 已验证用户。 | 
互动
提供有关当前用户已注册了哪些互动机制的其他只读信息。例如,了解用户已订阅的 intent 有助于避免让用户再次订阅同一个 intent。也就是说,此信息可用于有条件地路由到场景,以便仅在用户尚未订阅的情况下设置 DailyUpdates 或 PushNotifications。请参阅与用户互动相关的文档:https://developers.google.com/assistant/engagement。
| JSON 表示法 | |
|---|---|
| { "pushNotificationIntents": [ { object ( | |
| 字段 | |
|---|---|
| pushNotificationIntents[] | 
 包含用户已启用推送通知的 intent 的列表。 | 
| dailyUpdateIntents[] | 
 包含用户已启用每日更新的意图列表。 | 
IntentSubscription
描述现有的 IntentSubscription。
| JSON 表示法 | |
|---|---|
| { "intent": string, "contentTitle": string } | |
| 字段 | |
|---|---|
| intent | 
 所订阅的 intent 的名称。 | 
| contentTitle | 
 订阅的简短说明。当 Google 助理向用户请求权限时,它会用作通知的标签。 | 
PackageEntitlements
与软件包名称相关的用户权限列表。请参阅数字商品交易文档:https://developers.google.com/assistant/transactions/digital/dev-guide-digital-non-consumables。
| JSON 表示法 | |
|---|---|
| {
  "packageName": string,
  "entitlements": [
    {
      object ( | |
| 字段 | |
|---|---|
| packageName | 
 在操作软件包中指定的 Android 软件包名称。 | 
| entitlements[] | 
 用户对给定套餐的使用权。 | 
使用权
定义用户的数字使用权。
| JSON 表示法 | |
|---|---|
| { "sku": string, "skuType": enum ( | |
| 字段 | |
|---|---|
| sku | 
 产品 SKU。付费应用的软件包名称,用于应用内购买和应用内订阅的 Finsky docid 后缀。与 Play InApp Billing API 中的 getSku() 匹配。请参阅 Play 应用内结算文档:https://developer.android.com/google/play/billing。 | 
| skuType | 
 SKU 的类型。 | 
| inAppDetails | 
 仅适用于应用内购买和应用内订阅。 | 
SkuType
| 枚举 | |
|---|---|
| SKU_TYPE_UNSPECIFIED | |
| IN_APP | 应用内购买 | 
| SUBSCRIPTION | 订阅 | 
| APP | 付费应用 | 
SignedData
| JSON 表示法 | |
|---|---|
| { "inAppPurchaseData": { object }, "inAppDataSignature": string } | |
| 字段 | |
|---|---|
| inAppPurchaseData | 
 包含 JSON 格式的所有应用内购买数据。如需了解详情,请参阅 https://developer.android.com/google/play/billing/billing_reference.html 的表 6。 | 
| inAppDataSignature | 
 匹配 Play InApp Billing API 中 getPurchases() 方法中的 IN_APP_DATA_SIGNATURE。 | 
权限
可能的权限值。
| 枚举 | |
|---|---|
| PERMISSION_UNSPECIFIED | 未指定的权限。 | 
| DEVICE_PRECISE_LOCATION | 询问用户的确切位置、纬度/经度和采用特定格式的地址。 | 
| DEVICE_COARSE_LOCATION | 询问用户的粗略位置、邮政编码、城市和国家/地区代码。 | 
| UPDATE | 请求权限以发送更新。请访问 https://developers.google.com/assistant/engagement/daily。 | 
首页
表示用户目标设备所属的 HomeGraph 结构。
| JSON 表示法 | |
|---|---|
| { "params": { string: value, ... } } | |
| 字段 | |
|---|---|
| params | 
 可选。与目标设备所属的 HomeGraph 结构相关联的参数的列表。请参阅主存储空间文档:https://developers.google.com/assistant/conversational/storage-home。 包含一系列  | 
设备
表示用户用于向 Action 发出请求的设备。
| JSON 表示法 | |
|---|---|
| { "capabilities": [ enum ( | |
| 字段 | |
|---|---|
| capabilities[] | 
 必填。向 Action 发出请求的设备的功能。 | 
| currentLocation | 
 可选。用户的设备位置信息。请注意,只有在最终用户授予位置信息权限后,系统才会填充此字段。如需详细了解哪些字段根据粗略和细粒度权限进行设置,请参阅位置消息。请参阅权限文档:https://developers.google.com/assistant/conversational/permissions。 | 
| timeZone | 
 可选。与客户端设备关联的时区。它可用于解析日期时间值。 | 
能力
请求时设备 Surface 支持的功能。
| 枚举 | |
|---|---|
| UNSPECIFIED | 未指定的设备功能。 | 
| SPEECH | 设备可以通过文字转语音或 SSML 向用户发出语音提示。 | 
| RICH_RESPONSE | 设备可以显示丰富的响应,如卡片、列表和表格。 | 
| LONG_FORM_AUDIO | 设备可以播放长音频媒体,例如音乐和播客。 | 
| INTERACTIVE_CANVAS | 设备可以显示交互式画布响应。 | 
| WEB_LINK | 设备可以在富响应中使用网页链接来打开网络浏览器。 | 
| HOME_STORAGE | 设备可以支持保存和获取家庭存储空间。 | 
位置
表示位置的容器。
| JSON 表示法 | |
|---|---|
| { "coordinates": { object ( | |
| 字段 | |
|---|---|
| coordinates | 
 地理坐标。需要 [DEVICE_PRECISE_LOCATION] 权限。 | 
| postalAddress | 
 邮寄地址。需要 [DEVICE_PRECISE_LOCATION] 或 [DEVICE_COARSE_LOCATION] 权限。授予粗略位置信息权限后,系统仅会发送“postalCode”和“locality”字段。确切位置权限将填充其他字段,例如“administrativeArea”“addressLines”和“addressLines”。 | 
TimeZone
表示 IANA 时区数据库中的时区。
| JSON 表示法 | |
|---|---|
| { "id": string, "version": string } | |
| 字段 | |
|---|---|
| id | 
 IANA 时区数据库中的时区,例如“America/New_York”。 | 
| version | 
 可选。IANA 时区数据库版本号,例如“2019a”。 | 
上下文
在用户进行查询时包含上下文信息。此类上下文包括但不限于有关活跃媒体会话、画布 Web 应用状态的信息等。
| JSON 表示法 | |
|---|---|
| { "media": { object ( | |
| 字段 | |
|---|---|
| media | 
 包含有关当前活跃媒体会话的上下文信息。 | 
| canvas | 
 包含有关当前画布的上下文信息。 | 
MediaContext
包含有关当前活跃媒体会话的上下文信息。
| JSON 表示法 | |
|---|---|
| { "progress": string, "index": integer } | |
| 字段 | |
|---|---|
| progress | 
 当前有效媒体文件的媒体播放进度。 该持续时间以秒为单位,最多包含九个小数位,以“ | 
| index | 
 媒体响应中媒体文件列表中当前活动媒体文件的索引(从 0 开始)。 | 
CanvasContext
包含有关当前画布的上下文信息。
| JSON 表示法 | |
|---|---|
| { "state": value } | |
| 字段 | |
|---|---|
| state | 
 可选。状态由第三方 Interactive Canvas 应用设置。这仅适用于请求,而不适用于响应。例如,如果这是一个食谱应用,则状态可以是 struct 值:{ "current_page": 5, "last_page": 3, } 文件大小上限为 50KB。 | 
预计
说明对下一轮对话的预期。
| JSON 表示法 | |
|---|---|
| { "speech": [ string ] } | |
| 字段 | |
|---|---|
| speech[] | 
 Action 希望从用户话语中返回的短语列表,用于实现语音纠偏。最多可以输入 1,000 个词组。注意:此字段与 v2 API 中的 预期 Input.speech_biasing_hints 相同。 | 
