Method: projects.sendInteraction

Phát một vòng của cuộc trò chuyện.

Yêu cầu HTTP

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

URL sử dụng cú pháp Chuyển mã gRPC.

Tham số đường dẫn

Các tham số
project

string

Bắt buộc. Dự án đang được kiểm thử, được biểu thị bằng Mã dự án. Định dạng: project/{project}

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "input": {
    object (UserInput)
  },
  "deviceProperties": {
    object (DeviceProperties)
  },
  "conversationToken": string
}
Các trường
input

object (UserInput)

Bắt buộc. Thông tin đầu vào do người dùng cung cấp.

deviceProperties

object (DeviceProperties)

Bắt buộc. Thuộc tính của thiết bị dùng để tương tác với Hành động.

conversationToken

string

Mã thông báo mờ phải được chuyển khi nhận được từ SendInteractionResponse trên tương tác trước đó. Bạn có thể không đặt chính sách này để bắt đầu một cuộc trò chuyện mới dưới dạng lượt tương tác đầu tiên của phiên thử nghiệm hoặc để bỏ cuộc trò chuyện trước đó và bắt đầu cuộc trò chuyện mới.

Nội dung phản hồi

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Phản hồi một vòng cuộc trò chuyện.

Biểu diễn dưới dạng JSON
{
  "output": {
    object (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
Các trường
output

object (Output)

Đầu ra được cung cấp cho người dùng.

diagnostics

object (Diagnostics)

Thông tin chẩn đoán giải thích cách xử lý yêu cầu.

conversationToken

string

Mã thông báo mờ sẽ được đặt trên SendInteractionRequest trong lệnh gọi RPC tiếp theo để tiếp tục cuộc trò chuyện đó.

UserInput

Thông tin do người dùng cung cấp trong một vòng trò chuyện.

Biểu diễn dưới dạng JSON
{
  "query": string,
  "type": enum (InputType)
}
Các trường
query

string

Nội dung của thông tin đầu vào do người dùng gửi.

type

enum (InputType)

Loại đầu vào.

InputType

Cho biết nguồn đầu vào, truy vấn được nhập hoặc truy vấn bằng giọng nói.

Enum
INPUT_TYPE_UNSPECIFIED Nguồn đầu vào chưa được chỉ định.
TOUCH Truy vấn từ một tương tác GUI.
VOICE Yêu cầu bằng giọng nói.
KEYBOARD Truy vấn đã nhập.
URL Hành động được kích hoạt bởi một liên kết URL.

DeviceProperties

Thuộc tính của thiết bị liên quan đến một vòng trò chuyện.

Biểu diễn dưới dạng JSON
{
  "surface": enum (Surface),
  "location": {
    object (Location)
  },
  "locale": string,
  "timeZone": string
}
Các trường
surface

enum (Surface)

Khu vực dùng để tương tác với Hành động.

location

object (Location)

Vị trí của thiết bị, chẳng hạn như vĩ độ, kinh độ và địa chỉ đã định dạng.

locale

string

Ngôn ngữ như đã đặt trên thiết bị. Định dạng phải tuân theo BCP 47: https://tools.ietf.org/html/bcp47 Ví dụ: en, en-US, es-419 (xem thêm ví dụ tại https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

Múi giờ như đã đặt trên thiết bị. Định dạng phải tuân theo Cơ sở dữ liệu múi giờ IANA, ví dụ: "America/New_NY": https://www.iana.org/time-zones

Bề mặt

Các nền tảng có thể dùng để tương tác với Hành động. Các giá trị khác có thể được bao gồm trong tương lai.

Enum
SURFACE_UNSPECIFIED Giá trị mặc định. Giá trị này không được sử dụng.
SPEAKER Loa (ví dụ: Google Home).
PHONE Điện thoại.
ALLO Trò chuyện trên Allo.
SMART_DISPLAY Thiết bị màn hình thông minh.
KAI_OS KaiOS.

Vị trí

Vùng chứa đại diện cho một vị trí.

Biểu diễn dưới dạng JSON
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
Các trường
coordinates

object (LatLng)

Toạ độ địa lý. Cần có quyền [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

Địa chỉ hiển thị, ví dụ: "1600 Amphitheatre Pkwy, Mountain View, CA 94043". Cần có quyền [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

zipCode

string

Mã bưu chính. Cần có quyền [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] hoặc [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

city

string

Thành phố. Cần có quyền [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] hoặc [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

LatLng

Một đối tượng đại diện cho cặp vĩ độ/kinh độ. Đây là một cặp số kép để biểu thị độ vĩ độ và độ kinh độ. Trừ phi có quy định khác, đối tượng này phải tuân thủ tiêu chuẩn WGS84. Giá trị phải nằm trong phạm vi chuẩn hoá.

Biểu diễn dưới dạng JSON
{
  "latitude": number,
  "longitude": number
}
Các trường
latitude

number

Vĩ độ tính theo độ. Giá trị này phải nằm trong khoảng [-90,0, +90,0].

longitude

number

Kinh độ theo độ. Giá trị này phải nằm trong khoảng [-180,0, +180,0].

Đầu ra

Kết quả mà người dùng nhìn thấy cho vòng trò chuyện.

Biểu diễn dưới dạng JSON
{
  "text": string,
  "speech": [
    string
  ],
  "canvas": {
    object (Canvas)
  },
  "actionsBuilderPrompt": {
    object (Prompt)
  }
}
Các trường
text

string

Phản hồi bằng giọng nói được gửi tới người dùng dưới dạng một chuỗi thuần tuý.

speech[]

string

Nội dung lời nói do Hành động tạo ra. Quy định này có thể bao gồm các phần tử đánh dấu như SSML.

canvas

object (Canvas)

Nội dung Canvas tương tác.

actionsBuilderPrompt

object (Prompt)

Trạng thái của lời nhắc khi kết thúc vòng trò chuyện. Xem thêm thông tin về câu lệnh: https://developers.google.com/assistant/conversational/prompts

Canvas

Biểu thị phản hồi Canvas tương tác sẽ được gửi đến người dùng. Bạn có thể sử dụng tính năng này cùng với trường "firstSimple" trong câu lệnh chứa lời nhắc để nói chuyện với người dùng ngoài việc hiển thị phản hồi canvas tương tác. Kích thước tối đa của phản hồi là 50 nghìn byte.

Biểu diễn dưới dạng JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
Các trường
url

string

URL của ứng dụng web canvas tương tác sẽ tải. Nếu bạn không đặt chính sách này, thì URL từ canvas đang hoạt động sẽ được sử dụng lại.

data[]

value (Value format)

Không bắt buộc. Dữ liệu JSON sẽ được truyền đến trang web trải nghiệm sống động dưới dạng sự kiện. Nếu trường "ghi đè" trong câu lệnh chứa là "sai" thì các giá trị dữ liệu được xác định trong lời nhắc Canvas này sẽ được thêm vào sau các giá trị dữ liệu được xác định trong các câu lệnh trước đó của Canvas.

suppressMic

boolean

Không bắt buộc. Giá trị mặc định: false.

enableFullScreen

boolean

Nếu true, ứng dụng canvas sẽ chiếm toàn màn hình và sẽ không có tiêu đề ở trên cùng. Một thông báo ngắn cũng sẽ xuất hiện trên màn hình tải, bao gồm tên hiển thị của Hành động, tên nhà phát triển và hướng dẫn thoát khỏi Hành động đó. Giá trị mặc định: false.

Lời nhắc trong

Thể hiện nội dung phản hồi cho người dùng.

Biểu diễn dưới dạng JSON
{
  "append": boolean,
  "override": boolean,
  "firstSimple": {
    object (Simple)
  },
  "content": {
    object (Content)
  },
  "lastSimple": {
    object (Simple)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (Link)
  },
  "canvas": {
    object (Canvas)
  }
}
Các trường
append
(deprecated)

boolean

Không bắt buộc. Chế độ cách hợp nhất tin nhắn này với tin nhắn đã xác định trước đó. "false" sẽ xoá tất cả thông báo đã xác định trước đó (đơn giản nhất và cuối cùng, nội dung, đường liên kết đề xuất và canvas) cũng như thêm thông báo được xác định trong câu lệnh này. "true" sẽ thêm thông báo được xác định trong câu lệnh này vào các thông báo được xác định trong các câu trả lời trước. Việc đặt trường này thành "true" cũng sẽ cho phép thêm một số trường trong lời nhắc Đơn giản, lời nhắc Đề xuất và lời nhắc Canvas (một phần của lời nhắc Nội dung). Thông báo Nội dung và Liên kết sẽ luôn bị ghi đè nếu được xác định trong câu lệnh. Giá trị mặc định là "false".

override

boolean

Không bắt buộc. Chế độ cách hợp nhất tin nhắn này với tin nhắn đã xác định trước đó. "true" xoá tất cả thông báo đã xác định trước đó (nội dung, đường liên kết đơn giản đầu tiên và cuối cùng, đường liên kết đề xuất và canvas) đồng thời thêm thông báo được xác định trong câu lệnh này. "false" sẽ thêm thông báo được xác định trong câu lệnh này vào các thông báo được xác định trong các câu trả lời trước. Việc để trường này thành "false" cũng cho phép thêm một số trường trong lời nhắc Đơn giản, lời nhắc Đề xuất và lời nhắc Canvas (một phần của lời nhắc Nội dung). Thông báo Nội dung và Đường liên kết luôn bị ghi đè nếu được xác định trong câu lệnh. Giá trị mặc định là "false".

firstSimple

object (Simple)

Không bắt buộc. Tin nhắn phản hồi đầu tiên bằng giọng nói và văn bản.

content

object (Content)

Không bắt buộc. Nội dung như thẻ, danh sách hoặc nội dung nghe nhìn cần hiển thị với người dùng.

lastSimple

object (Simple)

Không bắt buộc. Câu trả lời bằng giọng nói và văn bản sau cùng.

suggestions[]

object (Suggestion)

Không bắt buộc. Các nội dung đề xuất dành cho người dùng sẽ luôn xuất hiện ở cuối câu trả lời. Nếu trường "override" trong câu lệnh chứa có giá trị "false", thì tiêu đề được xác định trong trường này sẽ được thêm vào tiêu đề được xác định trong mọi câu lệnh đề xuất đã được xác định trước đó và các giá trị trùng lặp sẽ bị xoá.

canvas

object (Canvas)

Không bắt buộc. Biểu thị phản hồi Canvas tương tác sẽ được gửi đến người dùng.

Simple

Đại diện cho một lời nhắc đơn giản để gửi đến người dùng.

Biểu diễn dưới dạng JSON
{
  "speech": string,
  "text": string
}
Các trường
speech

string

Không bắt buộc. Đại diện cho lời nói sẽ được nói với người dùng. Có thể là SSML hoặc tính năng chuyển văn bản sang lời nói. Nếu trường "ghi đè" trong câu lệnh chứa có giá trị là "đúng", thì lời nói xác định trong trường này sẽ thay thế lời nói của câu lệnh Đơn giản trước đó.

text

string

Văn bản không bắt buộc xuất hiện trong bong bóng trò chuyện. Nếu không được cung cấp, chế độ hiển thị của trường lời nói ở trên sẽ được sử dụng. Giới hạn ở 640 ký tự. Nếu trường "override" trong câu lệnh chứa có giá trị là "true", thì văn bản được xác định trong trường này sẽ thay thế bằng văn bản của câu lệnh Đơn giản trước đó.

Nội dung

Nội dung sẽ hiển thị.

Biểu diễn dưới dạng 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.
}
Các trường
Trường nhóm content. Nội dung. content chỉ có thể là một trong những trạng thái sau đây:
card

object (Card)

Một thẻ cơ bản.

image

object (Image)

Một hình ảnh.

table

object (Table)

Thẻ bảng.

media

object (Media)

Phản hồi cho biết một nhóm nội dung nghe nhìn sẽ phát.

canvas
(deprecated)

object (Canvas)

Một phản hồi sẽ được dùng cho trải nghiệm canvas tương tác.

collection

object (Collection)

Một thẻ hiển thị một tập hợp các tuỳ chọn để chọn.

list

object (List)

Một thẻ hiển thị danh sách các tuỳ chọn để chọn.

Thẻ

Một thẻ cơ bản để hiển thị một số thông tin (ví dụ: hình ảnh và/hoặc văn bản).

Biểu diễn dưới dạng JSON
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
Các trường
title

string

Tiêu đề chung của thẻ. Không bắt buộc.

subtitle

string

Không bắt buộc.

text

string

Văn bản nội dung của thẻ. Hỗ trợ một số cú pháp Markdown có giới hạn để định dạng. Bắt buộc, trừ khi có hình ảnh.

image

object (Image)

Hình ảnh chính cho thẻ. Chiều cao được cố định là 192 dp. Không bắt buộc.

imageFill

enum (ImageFill)

Cách tô nền hình ảnh. Không bắt buộc.

button

object (Link)

Nút. Không bắt buộc.

Bài đăng có hình ảnh

Hình ảnh hiển thị trong thẻ.

Biểu diễn dưới dạng JSON
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
Các trường
url

string

URL nguồn của hình ảnh. Hình ảnh có thể ở định dạng JPG, PNG và GIF (động và tĩnh). Ví dụ: https://www.agentx.com/logo.png. Bắt buộc.

alt

string

Nội dung mô tả văn bản của hình ảnh được dùng cho khả năng hỗ trợ tiếp cận, ví dụ: trình đọc màn hình. Bắt buộc.

height

integer

Chiều cao của hình ảnh tính bằng pixel. Không bắt buộc.

width

integer

Chiều rộng của hình ảnh tính bằng pixel. Không bắt buộc.

ImageFill

Các tuỳ chọn hiển thị hình ảnh có thể ảnh hưởng đến cách trình bày hình ảnh. Bạn nên sử dụng thuộc tính này khi tỷ lệ khung hình của hình ảnh không khớp với tỷ lệ khung hình của vùng chứa hình ảnh.

Enum
UNSPECIFIED Tô màu hình ảnh chưa được chỉ định.
GRAY Lấp đầy khoảng trống giữa hình ảnh và vùng chứa hình ảnh bằng các thanh màu xám.
WHITE Lấp đầy khoảng trống giữa hình ảnh và vùng chứa hình ảnh bằng các thanh màu trắng.
CROPPED Hình ảnh được điều chỉnh theo tỷ lệ sao cho chiều rộng và chiều cao của hình ảnh khớp hoặc vượt quá kích thước vùng chứa. Thao tác này có thể cắt phần trên cùng và dưới cùng của hình ảnh nếu chiều cao hình ảnh được điều chỉnh theo tỷ lệ lớn hơn chiều cao vùng chứa hoặc cắt bên trái và bên phải của hình ảnh nếu chiều rộng hình ảnh được điều chỉnh theo tỷ lệ lớn hơn chiều rộng vùng chứa. Điều này tương tự như "Chế độ thu phóng" trên TV màn hình rộng khi phát video 4:3.

OpenUrl

Hành động được thực hiện khi người dùng mở một đường liên kết.

Biểu diễn dưới dạng JSON
{
  "url": string,
  "hint": enum (UrlHint)
}
Các trường
url

string

Trường url có thể là bất kỳ URL nào trong số: – URL http/https để mở Ứng dụng được liên kết với ứng dụng hoặc một trang web

hint

enum (UrlHint)

Biểu thị gợi ý cho loại URL.

UrlHint

Các loại gợi ý về URL.

Enum
AMP URL trỏ trực tiếp đến nội dung AMP hoặc đến URL chính tắc dẫn đến nội dung AMP thông qua .

Bảng

Thẻ bảng để trình bày một bảng văn bản.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
Các trường
title

string

Tiêu đề chung của bảng. Không bắt buộc nhưng phải đặt nếu đã đặt tiêu đề phụ.

subtitle

string

Tiêu đề phụ cho bảng. Không bắt buộc.

image

object (Image)

Hình ảnh được liên kết với bảng. Không bắt buộc.

columns[]

object (TableColumn)

Tiêu đề và căn chỉnh các cột.

rows[]

object (TableRow)

Dữ liệu hàng của bảng. 3 hàng đầu tiên chắc chắn sẽ xuất hiện, nhưng những hàng khác có thể bị cắt trên một số vị trí. Vui lòng thử nghiệm bằng trình mô phỏng để xem hàng nào sẽ xuất hiện trên một nền tảng nhất định. Trên các nền tảng hỗ trợ chức năng WEB_BROWSER, bạn có thể trỏ người dùng đến một trang web có nhiều dữ liệu hơn.

button

object (Link)

Nút.

TableColumn

Mô tả một cột trong bảng.

Biểu diễn dưới dạng JSON
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
Các trường
header

string

Văn bản tiêu đề cho cột.

align

enum (HorizontalAlignment)

Căn ngang nội dung với cột t.r.t. Nếu chưa chỉ định, nội dung sẽ được căn chỉnh vào cạnh trên cùng.

HorizontalAlignment

Căn chỉnh nội dung trong ô.

Enum
UNSPECIFIED Căn chỉnh ngang chưa được chỉ định.
LEADING Cạnh trên của ô. Đây là lựa chọn mặc định.
CENTER Nội dung được căn chỉnh vào giữa cột.
TRAILING Nội dung được căn chỉnh theo cạnh sau của cột.

TableRow

Mô tả một hàng trong bảng.

Biểu diễn dưới dạng JSON
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
Các trường
cells[]

object (TableCell)

Các ô trong hàng này. 3 ô đầu tiên được đảm bảo sẽ hiển thị, nhưng các ô khác có thể bị cắt trên một số bề mặt nhất định. Vui lòng thử nghiệm bằng trình mô phỏng để xem ô nào sẽ xuất hiện trên một nền tảng nhất định.

divider

boolean

Cho biết có cần dùng dải phân cách sau mỗi hàng hay không.

TableCell

Mô tả một ô trong hàng.

Biểu diễn dưới dạng JSON
{
  "text": string
}
Các trường
text

string

Nội dung văn bản của ô.

Nội dung nghe nhìn

Đại diện cho một đối tượng nội dung nghe nhìn. Chứa thông tin về nội dung nghe nhìn, chẳng hạn như tên, nội dung mô tả, URL, v.v.

Biểu diễn dưới dạng JSON
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ]
}
Các trường
mediaType

enum (MediaType)

Loại phương tiện.

startOffset

string (Duration format)

Bắt đầu độ lệch của đối tượng nội dung đa phương tiện đầu tiên.

Thời lượng tính bằng giây có tối đa 9 chữ số phân số, kết thúc bằng 's'. Ví dụ: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

Các loại chế độ điều khiển nội dung nghe nhìn không bắt buộc mà phiên phản hồi nội dung nghe nhìn này có thể hỗ trợ. Nếu được đặt, yêu cầu sẽ được gửi đến bên thứ ba khi một sự kiện truyền thông nhất định diễn ra. Nếu không được đặt, 3p vẫn phải xử lý hai loại điều khiển mặc định là ComposeED và FAILED (KHÔNG THÀNH CÔNG).

mediaObjects[]

object (MediaObject)

Danh sách đối tượng nội dung đa phương tiện

MediaType

Loại nội dung đa phương tiện của phản hồi này.

Enum
MEDIA_TYPE_UNSPECIFIED Loại nội dung nghe nhìn chưa được chỉ định.
AUDIO Tệp âm thanh.
MEDIA_STATUS_ACK Nội dung phản hồi để xác nhận báo cáo trạng thái nội dung nghe nhìn.

OptionalMediaControls

Các loại điều khiển nội dung nghe nhìn tuỳ chọn mà phản hồi của nội dung nghe nhìn có thể hỗ trợ

Enum
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED Giá trị chưa được chỉ định
PAUSED Đã tạm dừng sự kiện. Được kích hoạt khi người dùng tạm dừng nội dung đa phương tiện.
STOPPED Sự kiện đã dừng. Được kích hoạt khi người dùng thoát khỏi phiên 3p trong khi phát nội dung nghe nhìn.

MediaObject

Đại diện cho một đối tượng nội dung đa phương tiện

Biểu diễn dưới dạng JSON
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
Các trường
name

string

Tên của đối tượng nội dung đa phương tiện này.

description

string

Nội dung mô tả về đối tượng nội dung đa phương tiện này.

url

string

URL trỏ đến nội dung nghe nhìn.

image

object (MediaImage)

Hình ảnh để hiển thị cùng với thẻ nội dung đa phương tiện.

MediaImage

Hình ảnh để hiển thị cùng với thẻ nội dung đa phương tiện.

Biểu diễn dưới dạng 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.
}
Các trường
Trường nhóm image. Hình ảnh. image chỉ có thể là một trong những trạng thái sau đây:
large

object (Image)

Một hình ảnh lớn, chẳng hạn như bìa album, v.v.

icon

object (Image)

Một biểu tượng hình ảnh nhỏ ở bên phải của tiêu đề. Nó được đổi kích thước thành 36x36 dp.

Bộ sưu tập

Một thẻ trình bày một bộ sưu tập các tuỳ chọn để chọn.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
Các trường
title

string

Tên bộ sưu tập. Không bắt buộc.

subtitle

string

Tiêu đề phụ của bộ sưu tập. Không bắt buộc.

items[]

object (CollectionItem)

tối thiểu: 2 tối đa: 10

imageFill

enum (ImageFill)

Cách tô nền hình ảnh của các mục trong bộ sưu tập. Không bắt buộc.

CollectionItem

Một mục trong bộ sưu tập

Biểu diễn dưới dạng JSON
{
  "key": string
}
Các trường
key

string

Bắt buộc. Khoá NLU khớp với tên khoá nhập trong Loại được liên kết.

Danh sách

Một thẻ trình bày danh sách các tuỳ chọn để chọn.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
Các trường
title

string

Tiêu đề danh sách. Không bắt buộc.

subtitle

string

Tiêu đề phụ của danh sách. Không bắt buộc.

items[]

object (ListItem)

tối thiểu: 2 tối đa: 30

ListItem

Một mục trong danh sách

Biểu diễn dưới dạng JSON
{
  "key": string
}
Các trường
key

string

Bắt buộc. Khoá NLU khớp với tên khoá nhập trong Loại được liên kết.

Đề xuất

Nội dung đề xuất đầu vào sẽ hiển thị với người dùng.

Biểu diễn dưới dạng JSON
{
  "title": string
}
Các trường
title

string

Bắt buộc. Văn bản xuất hiện trong khối đề xuất. Khi được nhấn, văn bản này sẽ được đăng lại nguyên văn trong cuộc trò chuyện như thể người dùng đã nhập. Mỗi tiêu đề phải là duy nhất trong tập hợp khối đề xuất. Tối đa 25 ký tự

Chẩn đoán

Thông tin chẩn đoán liên quan đến vòng trò chuyện.

Biểu diễn dưới dạng JSON
{
  "actionsBuilderEvents": [
    {
      object (ExecutionEvent)
    }
  ]
}
Các trường
actionsBuilderEvents[]

object (ExecutionEvent)

Danh sách sự kiện kèm theo thông tin chi tiết về quá trình xử lý vòng trò chuyện trong suốt các giai đoạn của mô hình tương tác Trình tạo hành động. Chỉ được điền sẵn cho các ứng dụng SDK Hành động và Trình tạo hành động.

ExecutionEvent

Chứa thông tin về sự kiện thực thi xảy ra trong quá trình xử lý yêu cầu trò chuyện trong Trình tạo hành động. Để biết thông tin tổng quan về các giai đoạn liên quan đến một yêu cầu trò chuyện, hãy tham khảo https://developers.google.com/assistant/conversational/actions.

Biểu diễn dưới dạng 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.
}
Các trường
eventTime

string (Timestamp format)

Dấu thời gian khi sự kiện xảy ra.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

executionState

object (ExecutionState)

Trạng thái thực thi trong sự kiện này.

status

object (Status)

Trạng thái kết quả của bước thực thi cụ thể.

warningMessages[]

string

Danh sách các cảnh báo được tạo trong quá trình thực thi Sự kiện này. Cảnh báo là các mẹo mà nhà phát triển tìm thấy trong yêu cầu trò chuyện. Các vấn đề này thường không quan trọng và không làm gián đoạn quá trình thực thi yêu cầu. Ví dụ: hệ thống có thể tạo cảnh báo khi webhook cố gắng ghi đè một Loại tuỳ chỉnh không tồn tại. Lỗi được báo cáo dưới dạng mã trạng thái không thành công, nhưng cảnh báo có thể xuất hiện ngay cả khi trạng thái bình thường.

Trường nhóm EventData. Thông tin chi tiết cụ thể về nhiều sự kiện có thể liên quan đến việc xử lý vòng trò chuyện. Trường được đặt ở đây sẽ xác định loại sự kiện này. EventData chỉ có thể là một trong những trạng thái sau đây:
userInput

object (UserConversationInput)

Sự kiện xử lý hoạt động đầu vào của người dùng.

intentMatch

object (IntentMatch)

Sự kiện so khớp ý định.

conditionsEvaluated

object (ConditionsEvaluated)

Sự kiện đánh giá điều kiện.

onSceneEnter

object (OnSceneEnter)

Sự kiện thực thi OnSceneEnter.

webhookRequest

object (WebhookRequest)

Sự kiện gửi yêu cầu webhook.

webhookResponse

object (WebhookResponse)

Sự kiện xác nhận phản hồi webhook.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Sự kiện chuyển đổi do webhook khởi tạo.

slotMatch

object (SlotMatch)

Sự kiện so khớp vị trí.

slotRequested

object (SlotRequested)

Sự kiện yêu cầu vị trí.

slotValidated

object (SlotValidated)

Sự kiện xác thực vị trí.

formFilled

object (FormFilled)

Sự kiện điền biểu mẫu.

waitingUserInput

object (WaitingForUserInput)

Sự kiện chờ người dùng nhập.

endConversation

object (EndConversation)

Sự kiện kết thúc cuộc trò chuyện.

ExecutionState

Trạng thái hiện tại của quá trình thực thi.

Biểu diễn dưới dạng JSON
{
  "currentSceneId": string,
  "sessionStorage": {
    object
  },
  "slots": {
    object (Slots)
  },
  "promptQueue": [
    {
      object (Prompt)
    }
  ],
  "userStorage": {
    object
  },
  "householdStorage": {
    object
  }
}
Các trường
currentSceneId

string

Mã nhận dạng của cảnh hiện đang hoạt động.

sessionStorage

object (Struct format)

Trạng thái bộ nhớ của phiên truy cập: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

Trạng thái lấp đầy vị trí (nếu có): https://developers.google.com/assistant/conversational/scenes#slot_filling

promptQueue[]

object (Prompt)

Hàng đợi lời nhắc: https://developers.google.com/assistant/conversational/prompts

userStorage

object (Struct format)

Trạng thái bộ nhớ của người dùng: https://developers.google.com/assistant/conversational/storage-user

householdStorage

object (Struct format)

Trạng thái bộ nhớ của nhà: https://developers.google.com/assistant/conversational/storage-home

Máy đánh bạc

Biểu thị trạng thái hiện tại của các vị trí trong cảnh.

Biểu diễn dưới dạng JSON
{
  "status": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  }
}
Các trường
status

enum (SlotFillingStatus)

Trạng thái hiện tại của việc lấp đầy vị trí.

slots

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

Các vị trí liên kết với cảnh hiện tại.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotFillingStatus

Biểu thị trạng thái hiện tại của việc lấp đầy vị trí.

Enum
UNSPECIFIED Giá trị dự phòng khi trường sử dụng không được điền.
INITIALIZED Các khe đã được khởi chạy nhưng việc điền vị trí chưa bắt đầu.
COLLECTING Các giá trị vị trí đang được thu thập.
FINAL Tất cả các giá trị vị trí đều là cuối cùng và không thể thay đổi.

Vùng

Đại diện cho một vị trí.

Biểu diễn dưới dạng JSON
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
Các trường
mode

enum (SlotMode)

Chế độ của vị trí (bắt buộc hoặc không bắt buộc). Có thể do nhà phát triển thiết lập.

status

enum (SlotStatus)

Trạng thái của vị trí.

value

value (Value format)

Giá trị của vị trí. Việc thay đổi giá trị này trong phản hồi sẽ sửa đổi giá trị trong điền vị trí.

updated

boolean

Cho biết liệu giá trị vị trí có được thu thập ở ngã rẽ cuối cùng hay không. Trường này chỉ để đọc.

prompt

object (Prompt)

Không bắt buộc. Lời nhắc này được gửi đến người dùng khi cần điền vào một ô bắt buộc. Lời nhắc này sẽ ghi đè lời nhắc hiện có được xác định trong bảng điều khiển. Trường này không có trong yêu cầu webhook.

SlotMode

Đại diện cho chế độ của một vị trí, tức là nếu bắt buộc hay không.

Enum
MODE_UNSPECIFIED Giá trị dự phòng khi trường sử dụng không được điền.
OPTIONAL Cho biết rằng vị trí không bắt buộc phải hoàn thành việc lấp đầy vị trí.
REQUIRED Cho biết rằng vị trí này cần phải được hoàn thành để hoàn thành việc lấp đầy vị trí.

SlotStatus

Biểu thị trạng thái của một vị trí.

Enum
SLOT_UNSPECIFIED Giá trị dự phòng khi trường sử dụng không được điền.
EMPTY Cho biết rằng vị trí không có bất kỳ giá trị nào. Bạn không thể sửa đổi trạng thái này thông qua phản hồi.
INVALID Cho biết rằng giá trị vị trí không hợp lệ. Bạn có thể đặt trạng thái này thông qua câu trả lời.
FILLED Cho biết vị trí có một giá trị. Bạn không thể sửa đổi trạng thái này thông qua phản hồi.

Trạng thái

Loại Status xác định một mô hình lỗi logic phù hợp với nhiều môi trường lập trình, bao gồm cả API REST và API RPC. gRPC sử dụng khoá này. Mỗi thông báo Status chứa 3 phần dữ liệu: mã lỗi, thông báo lỗi và thông tin chi tiết về lỗi.

Bạn có thể tìm hiểu thêm về mô hình lỗi này và cách xử lý lỗi trong Hướng dẫn thiết kế API.

Biểu diễn dưới dạng JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Các trường
code

integer

Mã trạng thái, phải là giá trị enum của google.rpc.Code.

message

string

Một thông báo lỗi dành cho nhà phát triển, phải bằng tiếng Anh. Mọi thông báo lỗi dành cho người dùng phải được bản địa hoá và gửi trong trường google.rpc.Status.details hoặc được ứng dụng bản địa hoá.

details[]

object

Danh sách các thông báo chứa thông tin chi tiết về lỗi. Có một tập hợp các loại thông báo phổ biến để API sử dụng.

Đối tượng chứa các trường thuộc kiểu tuỳ ý. Trường bổ sung "@type" chứa URI nhận dạng loại. Ví dụ: { "id": 1234, "@type": "types.example.com/standard/id" }.

UserConversationInput

Thông tin liên quan đến hoạt động đầu vào của người dùng.

Biểu diễn dưới dạng JSON
{
  "type": string,
  "originalQuery": string
}
Các trường
type

string

Loại hoạt động đầu vào của người dùng. Ví dụ: bàn phím, giọng nói, thao tác chạm, v.v.

originalQuery

string

Nhập văn bản gốc từ người dùng.

IntentMatch

Thông tin về kiểu khớp ý định được kích hoạt (chung hoặc trong một cảnh): https://developers.google.com/assistant/conversational/intents

Biểu diễn dưới dạng JSON
{
  "intentId": string,
  "intentParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "handler": string,
  "nextSceneId": string
}
Các trường
intentId

string

Mã ý định đã kích hoạt hoạt động tương tác này.

intentParameters

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

Các tham số của ý định đã kích hoạt lượt tương tác này.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

handler

string

Tên của trình xử lý đi kèm với tương tác này.

nextSceneId

string

Cảnh mà hoạt động tương tác này dẫn đến.

ConditionsEvaluated

Kết quả đánh giá điều kiện: https://developers.google.com/assistant/conversational/scenes#conditions

Biểu diễn dưới dạng JSON
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
Các trường
failedConditions[]

object (Condition)

Danh sách các điều kiện được đánh giá là "false".

successCondition

object (Condition)

Điều kiện đầu tiên được đánh giá là 'true', nếu có.

Điều kiện

Điều kiện được đánh giá.

Biểu diễn dưới dạng JSON
{
  "expression": string,
  "handler": string,
  "nextSceneId": string
}
Các trường
expression

string

Biểu thức được chỉ định trong điều kiện này.

handler

string

Tên trình xử lý đã chỉ định trong điều kiện được đánh giá.

nextSceneId

string

Cảnh đích được chỉ định trong điều kiện được đánh giá.

OnSceneEnter

Thông tin về cách thực thi giai đoạn onSceneEnter: https://developers.google.com/assistant/conversational/scenes#onEnter

Biểu diễn dưới dạng JSON
{
  "handler": string
}
Các trường
handler

string

Tên trình xử lý được chỉ định trong sự kiện onSceneEnter.

WebhookRequest

Thông tin về yêu cầu được gửi đến webhook Hành động: https://developers.google.com/assistant/conversational/webhooks#payloads

Biểu diễn dưới dạng JSON
{
  "requestJson": string
}
Các trường
requestJson

string

Tải trọng của yêu cầu webhook.

WebhookResponse

Thông tin về phản hồi nhận được từ webhook Action: https://developers.google.com/assistant/conversational/webhooks#payloads

Biểu diễn dưới dạng JSON
{
  "responseJson": string
}
Các trường
responseJson

string

Tải trọng của phản hồi webhook.

WebhookInitiatedTransition

Sự kiện được kích hoạt bởi cảnh điểm đến được trả về từ webhook: https://developers.google.com/assistant/conversational/webhooks#transition_scenes

Biểu diễn dưới dạng JSON
{
  "nextSceneId": string
}
Các trường
nextSceneId

string

Mã của cảnh nơi chuyển đổi đang dẫn đến.

SlotMatch

Thông tin về(các) ô phù hợp: https://developers.google.com/assistant/conversational/scenes#slot_filling

Biểu diễn dưới dạng JSON
{
  "nluParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  }
}
Các trường
nluParameters

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

Thông số do NLU trích xuất từ hoạt động đầu vào của người dùng.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotRequested

Thông tin về vị trí hiện được yêu cầu: https://developers.google.com/assistant/conversational/scenes#slot_filling

Biểu diễn dưới dạng JSON
{
  "slot": string,
  "prompt": {
    object (Prompt)
  }
}
Các trường
slot

string

Tên của vùng được yêu cầu.

prompt

object (Prompt)

Lời nhắc về vị trí.

SlotValidated

Sự kiện xảy ra sau khi hoàn tất quá trình xác thực webhook cho(các) vị trí: https://developers.google.com/assistant/conversational/scenes#slot_filling

FormFilled

Sự kiện xảy ra khi người dùng điền đầy đủ biểu mẫu: https://developers.google.com/assistant/conversational/scenes#slot_filling

WaitingForUserInput

Sự kiện xảy ra khi hệ thống cần hoạt động đầu vào của người dùng: https://developers.google.com/assistant/conversational/scenes#input

EndConversation

Sự kiện cho biết cuộc trò chuyện với nhân viên hỗ trợ đã kết thúc.