Method: projects.sendInteraction

开始一轮对话。

HTTP 请求

POST https://actions.googleapis.com/v2/{project=projects/*}:sendInteraction

网址采用 gRPC 转码语法。

路径参数

参数
project

string

必需。要测试的项目,以项目 ID 表示。格式:projects/{project}

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "input": {
    object (UserInput)
  },
  "deviceProperties": {
    object (DeviceProperties)
  },
  "conversationToken": string
}
字段
input

object (UserInput)

必需。由用户提供的输入。

deviceProperties

object (DeviceProperties)

必需。用于与 Action 互动的设备的属性。

conversationToken

string

不透明令牌,必须在上一次互动中从 SendInteractionResponse 中接收。您可以未设置此选项,以便发起新对话(无论是作为测试会话的首次互动),还是放弃先前的对话并发起新对话。

响应正文

如果成功,响应正文将包含结构如下的数据:

对一轮对话的响应。

JSON 表示法
{
  "output": {
    object (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
字段
output

object (Output)

向用户提供的输出。

diagnostics

object (Diagnostics)

用于说明请求处理方式的诊断信息。

conversationToken

string

为继续同一会话而在下次 RPC 调用时在 SendInteractionRequest 上设置不透明令牌。

UserInput

在一轮对话中提供的用户输入。

JSON 表示法
{
  "query": string,
  "type": enum (InputType)
}
字段
query

string

用户发送的输入内容的内容。

type

enum (InputType)

输入的类型。

InputType

指示输入来源、输入的查询或语音查询。

枚举
INPUT_TYPE_UNSPECIFIED 未指定的输入来源。
TOUCH 基于 GUI 交互的查询。
VOICE 语音查询。
KEYBOARD 类型化查询。
URL 操作由网址链接触发。

DeviceProperties

与某轮对话相关的设备的属性。

JSON 表示法
{
  "surface": enum (Surface),
  "location": {
    object (Location)
  },
  "locale": string,
  "timeZone": string
}
字段
surface

enum (Surface)

用于与 Action 互动的 Surface。

location

object (Location)

设备位置,例如纬度、经度和设置了格式的地址。

locale

string

设备上设置的语言区域。格式应遵循 BCP 47:https://tools.ietf.org/html/bcp47 示例:en、en-US、es-419(如需查看更多示例,请访问 https://tools.ietf.org/html/bcp47#appendix-A)

timeZone

string

设备上设置的时区。格式应遵循 IANA 时区数据库,例如“America/New_York”:https://www.iana.org/time-zones

Surface

可用于与 Action 互动的 surface。未来可能会包含其他值。

枚举
SURFACE_UNSPECIFIED 默认值。此值未使用。
SPEAKER 扬声器(例如 Google Home)。
PHONE 手机。
ALLO Allo 聊天。
SMART_DISPLAY 智能显示屏设备。
KAI_OS KaiOS。

位置

表示营业地点的容器。

JSON 表示法
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
字段
coordinates

object (LatLng)

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

formattedAddress

string

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

zipCode

string

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

city

string

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

LatLng

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

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

number

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

longitude

number

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

输出

此轮对话的用户可见输出。

JSON 表示法
{
  "text": string,
  "speech": [
    string
  ],
  "canvas": {
    object (Canvas)
  },
  "actionsBuilderPrompt": {
    object (Prompt)
  }
}
字段
text

string

以纯文本字符串形式发送给用户的语音回复。

speech[]

string

Action 生成的语音内容。这可能包括 SSML 等标记元素。

canvas

object (Canvas)

Interactive Canvas 内容。

actionsBuilderPrompt

object (Prompt)

对话结束时提示的状态。如需详细了解该提示,请访问:https://developers.google.com/assistant/conversational/prompts

画布

表示要发送给用户的 Interactive Canvas 响应。此字段可与包含向用户语音提示的提示中的“firstSimple”字段结合使用,以及显示交互式画布响应。响应的大小上限为 50k 字节。

JSON 表示法
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
字段
url

string

要加载的交互式画布 Web 应用的网址。如果未设置此政策,系统将重复使用当前有效画布中的网址。

data[]

value (Value format)

可选。作为事件传递给沉浸式体验网页的 JSON 数据。如果包含的提示中的“override”字段为“false”,系统将会在之前的 Canvas 提示中定义的数据值之后添加此 Canvas 提示中定义的数据值。

suppressMic

boolean

可选。默认值:false。

enableFullScreen

boolean

如果为 true,则画布应用将占据整个屏幕,并且顶部不会显示标题。加载屏幕上还会显示一条消息框消息,其中包含该 Action 的显示名称、开发者名称以及有关退出该 Action 的说明。默认值:false

提示

表示对用户的响应。

JSON 表示法
{
  "append": boolean,
  "override": boolean,
  "firstSimple": {
    object (Simple)
  },
  "content": {
    object (Content)
  },
  "lastSimple": {
    object (Simple)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (Link)
  },
  "canvas": {
    object (Canvas)
  }
}
字段
append
(deprecated)

boolean

可选。指定如何与先前定义的消息合并的模式。选择“false”会清除之前定义的所有消息(第一个和最后一条简单消息、内容、建议链接和画布),并添加在此提示中定义的消息。如果设为“true”,会将此提示中定义的消息添加到先前的响应中定义的消息。将此字段设为“true”也会允许附加到“简单”提示、“建议”提示和“画布”提示(内容提示的一部分)中的某些字段。如果在提示中定义“内容”和“链接”消息,则一律会被覆盖。默认值为“false”。

override

boolean

可选。指定如何与先前定义的消息合并的模式。选择“true”会清除所有先前定义的消息(第一个和最后一个简单消息、内容、建议链接和画布),并添加此提示中定义的消息。“false”可将此提示中定义的消息添加到先前响应中定义的消息。如果将此字段保留为“false”,系统还会向简单提示、建议提示和 Canvas 提示(内容提示的一部分)中的某些字段附加内容。如果提示中已定义内容消息和链接消息,则一律会被覆盖。默认值为“false”。

firstSimple

object (Simple)

可选。第一条语音和纯文本响应。

content

object (Content)

可选。要向用户显示的卡片、列表或媒体等内容。

lastSimple

object (Simple)

可选。最后一次的语音和纯文本回复。

suggestions[]

object (Suggestion)

可选。要向用户显示的建议,这些建议将始终显示在响应的末尾。如果包含的提示中的“override”字段为“false”,此字段中定义的标题将添加到先前定义的任何建议提示中定义的标题,并移除重复值。

canvas

object (Canvas)

可选。表示要发送给用户的 Interactive Canvas 响应。

简单

表示要发送给用户的简单提示。

JSON 表示法
{
  "speech": string,
  "text": string
}
字段
speech

string

可选。表示要对用户说出的语音。可以是 SSML 或文字转语音。如果包含的提示中的“override”字段为“true”,此字段中定义的语音将替换上一个简单提示的语音。

text

string

在聊天气泡中显示的可选文本。如果未指定,将使用上述语音字段的显示渲染。上限为 640 个字符。如果包含的提示中的“override”字段为“true”,此字段中定义的文本将替换为上一个简单提示的文本。

内容

要显示的内容。

JSON 表示法
{

  // Union field content can be only one of the following:
  "card": {
    object (Card)
  },
  "image": {
    object (Image)
  },
  "table": {
    object (Table)
  },
  "media": {
    object (Media)
  },
  "canvas": {
    object (Canvas)
  },
  "collection": {
    object (Collection)
  },
  "list": {
    object (List)
  }
  // End of list of possible types for union field content.
}
字段
联合字段 content。内容。content 只能是下列其中一项:
card

object (Card)

基本卡片。

image

object (Image)

图片。

table

object (Table)

表格卡片。

media

object (Media)

指示要播放的一组媒体的响应。

canvas
(deprecated)

object (Canvas)

用于交互式画布体验的响应。

collection

object (Collection)

一张卡片,其中显示了一系列可供选择的选项。

list

object (List)

一张卡片,其中显示了一系列可供选择的选项。

卡片

用于显示一些信息(例如图片和/或文字)的基本卡片。

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
字段
title

string

卡片的总体标题。可选。

subtitle

string

可选。

text

string

卡片的正文。支持一组有限的 Markdown 格式设置语法。必填,除非包含图片。

image

object (Image)

卡片的主打图片。高度固定为 192dp。可选。

imageFill

enum (ImageFill)

图片背景的填充方式。可选。

button

object (Link)

按钮。可选。

图片

卡片中显示的图片。

JSON 表示法
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
字段
url

string

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

alt

string

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

height

integer

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

width

integer

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

ImageFill

可能会影响图片呈现的图片显示选项。当图片的宽高比与图片容器的宽高比不匹配时,应使用此属性。

枚举
UNSPECIFIED 未指定的图片填充方式。
GRAY 用灰条填补图片和图片容器之间的间隙。
WHITE 用白条填补图片和图片容器之间的间隙。
CROPPED 对图片进行缩放,使其宽度和高度符合或超过容器尺寸。如果缩放后的图片高度大于容器高度,则可能会剪裁图片的顶部和底部;如果缩放后的图片宽度大于容器宽度,则可能会剪裁图片的左侧和右侧。这类似于宽屏电视上播放 4:3 视频时的“缩放模式”。

OpenUrl

用户打开链接时执行的操作。

JSON 表示法
{
  "url": string,
  "hint": enum (UrlHint)
}
字段
url

string

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

hint

enum (UrlHint)

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

UrlHint

不同类型的网址提示。

枚举
AMP 直接指向 AMP 内容的网址,或通过 引用 AMP 内容的规范网址。

用于显示文本表格的表格卡片。

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
字段
title

string

表格的总体标题。可选,但如果设置了副标题,则必须设置。

subtitle

string

表格的副标题。可选。

image

object (Image)

与表关联的图片。可选。

columns[]

object (TableColumn)

标题和列的对齐方式。

rows[]

object (TableRow)

表的行数据。前 3 行一定会显示,但其他行可能会被某些 Surface 裁剪。请使用模拟器进行测试,了解给定界面将会显示哪些行。在支持 WEB_BROWSER 功能的 surface 上,您可以将用户指向包含更多数据的网页。

button

object (Link)

按钮。

TableColumn

描述表中的列。

JSON 表示法
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
字段
header

string

列的标题文本。

align

enum (HorizontalAlignment)

内容列的水平对齐方式。如果未指定,内容将与前边缘对齐。

HorizontalAlignment

单元格内内容的对齐方式。

枚举
UNSPECIFIED 未指定水平对齐方式。
LEADING 单元格的前沿。这是默认值。
CENTER 内容与列中心对齐。
TRAILING 内容与列的尾部边缘对齐。

TableRow

描述表中的行。

JSON 表示法
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
字段
cells[]

object (TableCell)

此行中的单元格。前 3 个单元格一定会显示,但其他单元格可能在某些表面上被裁剪掉。请使用模拟器进行测试,了解给定界面将会显示哪些单元格。

divider

boolean

指示每行后面是否应该有一个分隔线。

TableCell

描述行中的一个单元格。

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

string

单元格的文本内容。

媒体

表示一个媒体对象。包含媒体的相关信息,例如名称、说明、网址等。

JSON 表示法
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ]
}
字段
mediaType

enum (MediaType)

媒体类型。

startOffset

string (Duration format)

第一个媒体对象的起始偏移量。

该持续时间以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

optionalMediaControls[]

enum (OptionalMediaControls)

此媒体响应会话可以支持的可选媒体控件类型。如果设置此参数,当特定媒体事件发生时,系统会向第三方发出请求。如果未设置,第三方仍必须处理两种默认控件类型:FINISHED 和 FAILED。

mediaObjects[]

object (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 (MediaImage)
  }
}
字段
name

string

此媒体对象的名称。

description

string

此媒体对象的说明。

url

string

指向媒体内容的网址。

image

object (MediaImage)

与媒体卡片一起显示的图片。

MediaImage

与媒体卡片一起显示的图片。

JSON 表示法
{

  // Union field image can be only one of the following:
  "large": {
    object (Image)
  },
  "icon": {
    object (Image)
  }
  // End of list of possible types for union field image.
}
字段
联合字段 image。图片。image 只能是下列其中一项:
large

object (Image)

大图片,例如专辑封面等。

icon

object (Image)

显示在标题右侧的小图片图标。它的大小会调整为 36x36 dp。

集合

一张卡片,用于显示一系列可供选择的选项。

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
字段
title

string

集合的标题。可选。

subtitle

string

合集的副标题。可选。

items[]

object (CollectionItem)

最小值:2 最大值:10

imageFill

enum (ImageFill)

集合项的图片背景的填充方式。可选。

CollectionItem

集合中的一项内容

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

string

必需。与关联类型中的条目键名称匹配的 NLU 键。

列表

用于显示选项列表的卡片。

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
字段
title

string

列表标题。可选。

subtitle

string

列表的副标题。可选。

items[]

object (ListItem)

最小值:2 最大值:30

ListItem

列表中的一项

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

string

必需。与关联类型中的条目键名称匹配的 NLU 键。

建议

要向用户显示的输入建议。

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

string

必需。建议内容信息卡中显示的文本。用户点按该文字后,系统会将文字完整地发布回对话,就像用户之前输入文字一样。每个标题在建议内容信息卡组中必须是唯一的。最多 25 个字符

诊断

与对话回合相关的诊断信息。

JSON 表示法
{
  "actionsBuilderEvents": [
    {
      object (ExecutionEvent)
    }
  ]
}
字段
actionsBuilderEvents[]

object (ExecutionEvent)

事件列表,包含有关在 Actions Builder 互动模型的各个阶段处理对话的详细信息。仅为 Actions Builder 和 Actions SDK 应用填充。

ExecutionEvent

包含在处理 Actions Builder 对话请求期间发生的执行事件的相关信息。如需简要了解对话请求涉及的各个阶段,请访问 https://developers.google.com/assistant/conversational/actions

JSON 表示法
{
  "eventTime": string,
  "executionState": {
    object (ExecutionState)
  },
  "status": {
    object (Status)
  },
  "warningMessages": [
    string
  ],

  // Union field EventData can be only one of the following:
  "userInput": {
    object (UserConversationInput)
  },
  "intentMatch": {
    object (IntentMatch)
  },
  "conditionsEvaluated": {
    object (ConditionsEvaluated)
  },
  "onSceneEnter": {
    object (OnSceneEnter)
  },
  "webhookRequest": {
    object (WebhookRequest)
  },
  "webhookResponse": {
    object (WebhookResponse)
  },
  "webhookInitiatedTransition": {
    object (WebhookInitiatedTransition)
  },
  "slotMatch": {
    object (SlotMatch)
  },
  "slotRequested": {
    object (SlotRequested)
  },
  "slotValidated": {
    object (SlotValidated)
  },
  "formFilled": {
    object (FormFilled)
  },
  "waitingUserInput": {
    object (WaitingForUserInput)
  },
  "endConversation": {
    object (EndConversation)
  }
  // End of list of possible types for union field EventData.
}
字段
eventTime

string (Timestamp format)

事件发生时的时间戳。

时间戳,采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

executionState

object (ExecutionState)

此事件期间的执行状态。

status

object (Status)

特定执行步骤的结果状态。

warningMessages[]

string

在执行此事件期间生成的警告列表。警告是面向开发者在对话请求过程中发现的提示。这些状态通常是非关键的,不会暂停请求的执行。例如,当 webhook 尝试替换不存在的自定义类型时,可能会生成警告。错误会报告为失败的状态代码,但即使状态为“正常”,也可能会显示警告。

联合字段 EventData。特定于处理一轮对话中可能涉及的不同事件的详细信息。此处设置的字段定义了此事件的类型。EventData 只能是下列其中一项:
userInput

object (UserConversationInput)

用户输入处理事件。

intentMatch

object (IntentMatch)

意图匹配事件。

conditionsEvaluated

object (ConditionsEvaluated)

条件评估事件。

onSceneEnter

object (OnSceneEnter)

OnSceneEnter 执行事件。

webhookRequest

object (WebhookRequest)

Webhook 请求调度事件。

webhookResponse

object (WebhookResponse)

网络钩子响应接收事件。

webhookInitiatedTransition

object (WebhookInitiatedTransition)

网络钩子发起的转换事件。

slotMatch

object (SlotMatch)

广告位匹配事件。

slotRequested

object (SlotRequested)

槽请求事件。

slotValidated

object (SlotValidated)

槽验证事件。

formFilled

object (FormFilled)

表单填写事件。

waitingUserInput

object (WaitingForUserInput)

正在等待用户输入事件。

endConversation

object (EndConversation)

对话结束事件。

ExecutionState

执行的当前状态。

JSON 表示法
{
  "currentSceneId": string,
  "sessionStorage": {
    object
  },
  "slots": {
    object (Slots)
  },
  "promptQueue": [
    {
      object (Prompt)
    }
  ],
  "userStorage": {
    object
  },
  "householdStorage": {
    object
  }
}
字段
currentSceneId

string

当前处于活动状态的场景的 ID。

sessionStorage

object (Struct format)

会话存储的状态:https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

槽填充的状态(如果适用):https://developers.google.com/assistant/conversational/scenes#slot_filling

promptQueue[]

object (Prompt)

提示队列:https://developers.google.com/assistant/conversational/prompts

userStorage

object (Struct format)

用户存储空间的状态:https://developers.google.com/assistant/conversational/storage-user

householdStorage

object (Struct format)

家庭存储空间状况:https://developers.google.com/assistant/conversational/storage-home

槽数

表示场景的槽的当前状态。

JSON 表示法
{
  "status": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  }
}
字段
status

enum (SlotFillingStatus)

槽填充的当前状态。

slots

map (key: string, value: object (Slot))

与当前场景相关联的槽位。

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

SlotFillingStatus

表示槽填充的当前状态。

枚举
UNSPECIFIED 未填充用法字段时的回退值。
INITIALIZED 槽已初始化,但槽填充尚未开始。
COLLECTING 正在收集槽值。
FINAL 所有广告位的值均为最终值,无法更改。

槽位

表示槽。

JSON 表示法
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
字段
mode

enum (SlotMode)

广告位的模式(必需或可选)。可以由开发者设置。

status

enum (SlotStatus)

空档的状态。

value

value (Value format)

槽的值。在响应中更改此值会修改槽填充中的值。

updated

boolean

指示槽值是否是在最后一轮收集的。此字段为只读字段。

prompt

object (Prompt)

可选。系统会在需要填充所需槽位时向用户发送此提示。此提示会覆盖控制台中定义的现有提示。此字段不包含在 webhook 请求中。

SlotMode

表示槽的模式,即,是否必需。

枚举
MODE_UNSPECIFIED 未填充用法字段时的回退值。
OPTIONAL 表示不需要该槽来完成槽填充。
REQUIRED 表示需要该槽才能完成槽填充。

SlotStatus

表示空档的状态。

枚举
SLOT_UNSPECIFIED 未填充用法字段时的回退值。
EMPTY 表示槽没有任何值。无法通过响应修改此状态。
INVALID 表示槽值无效。此状态可通过响应来设置。
FILLED 表示槽有一个值。无法通过响应修改此状态。

状态

Status 类型定义了适用于不同编程环境(包括 REST API 和 RPC API)的逻辑错误模型。此类型供 gRPC 使用。每条 Status 消息包含三部分数据:错误代码、错误消息和错误详细信息。

如需详细了解该错误模型及其使用方法,请参阅 API 设计指南

JSON 表示法
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
字段
code

integer

状态代码,应为 google.rpc.Code 的枚举值。

message

string

面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 google.rpc.Status.details 字段发送,或者由客户端进行本地化。

details[]

object

包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。

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

UserConversationInput

与用户输入相关的信息。

JSON 表示法
{
  "type": string,
  "originalQuery": string
}
字段
type

string

用户输入的类型。例如,键盘、语音、触摸等。

originalQuery

string

用户输入的原始文本。

IntentMatch

有关触发的 intent 匹配的信息(全局或场景内):https://developers.google.com/assistant/conversational/intents

JSON 表示法
{
  "intentId": string,
  "intentParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "handler": string,
  "nextSceneId": string
}
字段
intentId

string

触发此互动的 intent ID。

intentParameters

map (key: string, value: object (IntentParameterValue))

触发此互动的 intent 的参数。

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

handler

string

附加到此互动的处理程序的名称。

nextSceneId

string

此互动指向的场景。

ConditionsEvaluated

条件评估结果:https://developers.google.com/assistant/conversational/scenes#conditions

JSON 表示法
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
字段
failedConditions[]

object (Condition)

评估结果为“false”的条件列表。

successCondition

object (Condition)

第一个被评估为“true”的条件(如果有)。

条件

已评估的条件。

JSON 表示法
{
  "expression": string,
  "handler": string,
  "nextSceneId": string
}
字段
expression

string

此条件中指定的表达式。

handler

string

在评估条件中指定的处理程序名称。

nextSceneId

string

在评估条件中指定的目标场景。

OnSceneEnter

有关 onSceneEnter 阶段执行的信息:https://developers.google.com/assistant/conversational/scenes#onEnter

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

string

onSceneEnter 事件中指定的处理程序名称。

WebhookRequest

与分派给 Action 网络钩子的请求的相关信息:https://developers.google.com/assistant/conversational/webhooks#payloads

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

string

网络钩子请求的载荷。

WebhookResponse

从 Action 网络钩子收到的响应的相关信息:https://developers.google.com/assistant/conversational/webhooks#payloads

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

string

网络钩子响应的载荷。

WebhookInitiatedTransition

由从 webhook 返回的目标场景触发的事件:https://developers.google.com/assistant/conversational/webhooks#transition_scenes

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

string

过渡效果所指向的场景的 ID。

SlotMatch

有关匹配槽的信息:https://developers.google.com/assistant/conversational/scenes#slot_filling

JSON 表示法
{
  "nluParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  }
}
字段
nluParameters

map (key: string, value: object (IntentParameterValue))

由 NLU 从用户输入中提取的参数。

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

SlotRequested

有关当前请求的槽的信息:https://developers.google.com/assistant/conversational/scenes#slot_filling

JSON 表示法
{
  "slot": string,
  "prompt": {
    object (Prompt)
  }
}
字段
slot

string

所请求广告位的名称。

prompt

object (Prompt)

槽提示。

SlotValidated

完成槽的网络钩子验证后发生的事件:https://developers.google.com/assistant/conversational/scenes#slot_filling

FormFilled

表单填满后发生的事件:https://developers.google.com/assistant/conversational/scenes#slot_filling

WaitingForUserInput

当系统需要用户输入时发生的事件:https://developers.google.com/assistant/conversational/scenes#input

EndConversation

通知客服人员与客服人员的对话已结束的事件。