- HTTP 请求
- 请求正文
- 响应正文
- 处理程序
- intent
- IntentParameterValue
- 场景
- SlotFillingStatus
- 槽
- SlotMode
- SlotStatus
- 提示
- 简单
- 内容
- 卡片
- 图片
- ImageFill
- 链接
- OpenUrl
- UrlHint
- 表
- TableColumn
- HorizontalAlignment
- TableRow
- TableCell
- 媒体
- MediaType
- OptionalMediaControls
- MediaObject
- MediaImage
- RepeatMode
- 数据收集
- CollectionItem
- 列表
- ListItem
- CollectionBrowse
- 单品
- 建议
- 画布
- ContinuousMatchConfig
- ExpectedPhrase
- OrderUpdate
- 类型
- 订单
- UserInfo
- PhoneNumber
- 图片
- 商家
- 位置
- LatLng
- PostalAddress
- 目录
- LineItem
- PriceAttribute
- 类型
- 状态
- 金额
- 操作
- 类型
- OpenUrlAction
- AndroidApp
- VersionFilter
- UrlTypeHint
- ActionMetadata
- 披露
- DisclosureText
- TextLink
- DisclosurePresentationOptions
- PresentationRequirement
- PurchaseItemExtension
- PurchaseStatus
- PurchaseType
- MerchantUnitMeasure
- 单位
- PurchaseReturnsInfo
- PurchaseFulfillmentInfo
- 类型
- 时间
- PickupInfo
- PickupType
- CurbsideInfo
- CurbsideFulfillmentType
- 车辆
- CheckInInfo
- CheckInType
- ItemOption
- ProductDetails
- ReservationItemExtension
- ReservationStatus
- ReservationType
- StaffFacilitator
- PaymentData
- PaymentResult
- PaymentInfo
- PaymentMethodDisplayInfo
- PaymentType
- PaymentMethodProvenance
- 促销
- PurchaseOrderExtension
- PurchaseLocationType
- PurchaseError
- ErrorType
- TicketOrderExtension
- TicketEvent
- 类型
- EventCharacterEventCharacter
- 类型
- UserNotification
- NextScene
- 会话
- TypeOverride
- TypeOverrideMode
- SynonymType
- 条目
- EntryDisplayEntryDisplay
- 用户
- AccountLinkingStatus
- UserVerificationStatus
- 互动度
- IntentSubscription
- PackageEntitlements
- 使用权
- SkuType
- SignedData
- 权限
- 主屏幕
- 设备
- 功能
- Location
- TimeZone
- 上下文
- MediaContext
- CanvasContext
- 预期值
代表 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 处理程序。使用处理程序名称确定应在 fulfillment 中运行哪些代码。例如,处理程序名称可能使用处理程序名称(如“OrderLookup”)获取用户订单信息,而处理程序名称也可能从数据库中获取商品信息,处理程序名称如“GetProductInfo”。
JSON 表示法 | |
---|---|
{ "name": string } |
字段 | |
---|---|
name |
可选。处理程序的名称。 |
意向
表示一个意图。请访问 https://developers.google.com/assistant/conversational/intents。
JSON 表示法 | |
---|---|
{
"name": string,
"params": {
string: {
object ( |
字段 | |
---|---|
name |
必需。上次匹配的 intent 的名称。 |
params |
必需。表示作为 intent 匹配的一部分标识的参数。这是已识别的形参的名称与从用户输入中识别出的参数值的映射。在匹配的意图中定义并且已被识别的所有参数都将在此处显示。 包含一系列 |
query |
可选。与此意图匹配的最终用户输入或语音输入。当根据用户输入匹配 intent 时,将填充此字段。 |
IntentParameterValue
表示 intent 参数的值。请访问 https://developers.google.com/assistant/conversational/types。
JSON 表示法 | |
---|---|
{ "original": string, "resolved": value } |
字段 | |
---|---|
original |
必需。从用户话语中提取的原始文本值。 |
resolved |
必需。从用户输入中提取的参数的结构化值。仅当匹配的 intent 中定义了参数,并且在 intent 匹配期间可以识别该参数的值时,系统才会填充此字段。 |
场景
表示场景。场景可以调用执行方式、添加提示,以及向用户收集槽值。场景由事件或 intent 触发,可以触发事件和匹配 intent 以过渡到其他场景。
JSON 表示法 | |
---|---|
{ "name": string, "slotFillingStatus": enum ( |
字段 | |
---|---|
name |
必需。当前场景的名称。 |
slotFillingStatus |
必需。槽填充的当前状态。此字段为只读字段。 |
slots |
与当前场景相关联的槽位。处理程序响应无法返回未在请求中发送的槽。 包含一系列 |
next |
可选。接下来要执行的场景信息。 |
SlotFillingStatus
表示槽填充的当前状态。
枚举 | |
---|---|
UNSPECIFIED |
未填充用法字段时的回退值。 |
INITIALIZED |
槽已初始化,但槽填充尚未开始。 |
COLLECTING |
正在收集槽值。 |
FINAL |
所有广告位的值均为最终值,无法更改。 |
槽位
表示槽。
JSON 表示法 | |
---|---|
{ "mode": enum ( |
字段 | |
---|---|
mode |
广告位的模式(必需或可选)。可以由开发者设置。 |
status |
空档的状态。 |
value |
槽的值。在响应中更改此值会修改槽填充中的值。 |
updated |
指示槽值是否是在最后一轮收集的。此字段为只读字段。 |
prompt |
可选。系统会在需要填充所需槽位时向用户发送此提示。此提示会覆盖控制台中定义的现有提示。此字段不包含在 webhook 请求中。 |
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”,系统还会向简单提示、建议提示和 Canvas 提示(内容提示的一部分)中的某些字段附加内容。如果提示中已定义内容消息和链接消息,则一律会被覆盖。默认值为“false”。 |
firstSimple |
可选。第一条语音和纯文本响应。 |
content |
可选。要向用户显示的卡片、列表或媒体等内容。 |
lastSimple |
可选。最后一次的语音和纯文本回复。 |
suggestions[] |
可选。要向用户显示的建议,这些建议将始终显示在响应的末尾。如果包含的提示中的“override”字段为“false”,此字段中定义的标题将添加到先前定义的任何建议提示中定义的标题,并移除重复值。 |
link |
可选。可链接到关联的应用或网站的额外建议内容信息卡。条状标签将以“打开(名称)”标题呈现。最多 20 个字符。 |
canvas |
可选。表示要发送给用户的 Interactive Canvas 响应。 |
orderUpdate |
可选操作在交易流程中收到订单后返回 OrderUpdate 进行响应。收到该订单后,Google 会记录对订单的这项更新,如果更新成功,则会在显示设备上显示一张收据卡片以及 TTS 信息。 |
简单
表示要发送给用户的简单提示。请访问 https://developers.google.com/assistant/conversational/prompts-simple。
JSON 表示法 | |
---|---|
{ "speech": string, "text": string } |
字段 | |
---|---|
speech |
可选。表示要对用户说出的语音。可以是 SSML 或文字转语音。如果包含的提示中的“override”字段为“true”,此字段中定义的语音将替换上一个简单提示的语音。请访问 https://developers.google.com/assistant/conversational/ssml。 |
text |
在聊天气泡中显示的可选文本。如果未指定,将使用上述语音字段的显示渲染。上限为 640 个字符。如果包含的提示中的“override”字段为“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 视频时的“缩放模式”。 |
链接
可链接到关联的应用或网站的额外建议内容信息卡。条状标签将以“打开(名称)”标题呈现。
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 功能的 surface 上,您可以将用户指向包含更多数据的网页。 |
button |
按钮。 |
TableColumn
JSON 表示法 | |
---|---|
{
"header": string,
"align": enum ( |
字段 | |
---|---|
header |
列的标题文本。 |
align |
内容列的水平对齐方式。如果未指定,内容将与前边缘对齐。 |
HorizontalAlignment
单元格内内容的对齐方式。
枚举 | |
---|---|
UNSPECIFIED |
|
LEADING |
单元格的前沿。这是默认值。 |
CENTER |
内容与列中心对齐。 |
TRAILING |
内容与列的尾部边缘对齐。 |
TableRow
描述表中的行。
JSON 表示法 | |
---|---|
{
"cells": [
{
object ( |
字段 | |
---|---|
cells[] |
此行中的单元格。前 3 个单元格一定会显示,但其他单元格可能在某些表面上被裁剪掉。请使用模拟器进行测试,了解给定界面将会显示哪些单元格。 |
divider |
指示每行后面是否应该有一个分隔线。 |
TableCell
描述行中的一个单元格。
JSON 表示法 | |
---|---|
{ "text": string } |
字段 | |
---|---|
text |
单元格的文本内容。 |
媒体
表示一个媒体对象。包含媒体的相关信息,例如名称、说明和网址等。请参阅 https://developers.google.com/assistant/conversational/prompts-media。
JSON 表示法 | |
---|---|
{ "mediaType": enum ( |
字段 | |
---|---|
mediaType |
|
startOffset |
第一个媒体对象的起始偏移量。 该持续时间以秒为单位,最多包含九个小数位,以“ |
optionalMediaControls[] |
此媒体响应会话可以支持的可选媒体控件类型。如果设置此参数,当特定媒体事件发生时,系统会向第三方发出请求。如果未设置,第三方仍必须处理两种默认控件类型: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。 |
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 数据。如果包含的提示中的“override”字段为“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. 如果作为 updateMask 的一部分提供,则 order.create_time、order.google_order_id 和 order.merchant_order_id 将被忽略。 这是以逗号分隔的完全限定字段名称列表。示例: |
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 可以设置为提供的 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[] |
用户的电话号码。 |
PhoneNumber
标准电话号码表示法。
JSON 表示法 | |
---|---|
{ "e164PhoneNumber": string, "extension": string, "preferredDomesticCarrierCode": string } |
字段 | |
---|---|
e164PhoneNumber |
按照国际电信联盟 (ITU) 的建议 E.164 中的定义,采用 E.164 格式的电话号码。Wiki 链接:https://en.wikipedia.org/wiki/E.164 |
extension |
除了被定义为最长长度为 40 位的一系列数字之外,扩展项在 ITU 建议中并未标准化。此处将它定义为一个字符串,以适应可能在扩展名中使用前导零的情况(组织可以自由使用,因为没有定义任何标准)。除数字外,一些其他拨号字符可能会存储在此处,例如“,”(表示等待)。例如,在 xxx-xxx-xxxx ext. 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 |
商家的名称,例如“Panera Bread”。 |
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
表示邮政地址,例如邮政递送或付款地址。给定邮政地址时,邮政服务可以将物品投递到处所、邮政信箱或其他投递地点。此对象不模拟地理位置(道路、城镇、山区)。
在典型的使用场景中,地址将通过用户输入或导入现有数据来创建,具体取决于进程的类型。
有关输入/修改地址的建议:- 使用国际化地址微件,例如 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
订单或订单项的价格属性。
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(含 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}”。示例:“警告:本产品可让您接触加州政府已知会导致癌症的化学物质。有关更多信息,请访问 <ph type="x-smartling-placeholder">{0}</ph>。"此披露文字不得包含任何促销内容或与广告类似的内容。 |
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”在不同的上下文中可能有不同的含义。对于 FOOD 订单,可能是“正在准备食物”。对于零售业,这可能是商品正在包装。 |
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。示例:Walmart 是商家,storeCode 是履单的 Walmart 商店。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 |
提货方式,例如到店、路边自提等。 |
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 |
车辆照片的网址。照片将以约 256x256 像素显示。必须是 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 |
找不到实体,可能是商品、FulfillmentOption、Promotion。必须提供实体 ID。 |
INVALID |
实体数据无效,可能是商品、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。如果操作使用多语言功能,该语言区域可能与用户语言区域不同。例如,设置 handle_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”状态表示您可以使用参数字段或通过帐号关联保存各对话的数据。
枚举 | |
---|---|
USER_VERIFICATION_STATUS_UNSPECIFIED |
未知。 |
GUEST |
访客用户。 |
VERIFIED |
已验证用户。 |
互动
提供关于当前用户已注册哪种互动机制的其他只读信息。例如,了解用户已订阅哪些 intent 会很有帮助,以免要求用户再次订阅相同的 intent。即,只有在用户尚未订阅的情况下,此信息可用于有条件地路由到场景以设置 DailyUpdates 或 PushNotifications。请参阅用户互动文档:https://developers.google.com/assistant/engagement。
JSON 表示法 | |
---|---|
{ "pushNotificationIntents": [ { object ( |
字段 | |
---|---|
pushNotificationIntents[] |
包含用户已启用推送通知的 intent 的列表。 |
dailyUpdateIntents[] |
包含用户已启用每日更新的 intent 列表。 |
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 |
Action 软件包中指定的 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”。 |
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[] |
针对语音自定义调整,操作期望用户话语中的短语列表。最多允许 1000 个词组。注意:此字段与 v2 API 中 EstimatedInput.speech_biasing_hints 的含义相同。 |