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)

必要欄位。用於與動作互動的裝置屬性。

conversationToken

string

必須在上一次互動時透過 SendInteractionResponse 接收的不透明權杖。如果不設定這個選項,可在測試工作階段的最初互動或放棄先前的對話後開始新對話,藉此發起新對話。

回應主體

如果成功,回應主體即會包含具有以下結構的資料:

回覆回合的會話群組。

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

object (Output)

提供給使用者的輸出內容。

diagnostics

object (Diagnostics)

說明要求處理方式的診斷資訊。

conversationToken

string

在下一個遠端程序呼叫 (RPC) 呼叫上設定的不透明權杖,以便繼續執行相同的對話。

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)

用於與動作互動的介面。

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_UNSPECIFIED 預設值。這個值未使用。
SPEAKER 喇叭 (例如 Google Home)。
PHONE
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

顯示地址,例如「110 臺北市信義區信義路 5 段 7 號」需要以下權限:[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

動作產生的語音內容。這可能包含 SSML 等標記元素。

canvas

object (Canvas)

互動式畫布內容。

actionsBuilderPrompt

object (Prompt)

對話結束時的提示狀態。如要進一步瞭解這項提示,請前往:https://developers.google.com/assistant/conversational/prompts

Canvas

代表要傳送給使用者的互動式畫布回應。除了顯示互動式畫布回應外,這段標記也可與內含提示中的「firstSimple」欄位搭配使用,讓使用者發言。回應的大小上限為 50,000 個位元組。

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

string

要載入的互動式畫布網頁應用程式網址。如未設定,系統會重複使用目前使用中畫布的網址。

data[]

value (Value format)

選用設定。要以事件的形式傳遞至沉浸式體驗網頁的 JSON 資料。如果內含提示的「覆寫」欄位是這個 Canvas 提示中定義的資料值,則系統會將先前 Canvas 提示中定義的資料值加到後方。

suppressMic

boolean

選用設定。預設值為 false。

enableFullScreen

boolean

如果 true 畫布應用程式佔據整個螢幕,且頂端不會有標頭,載入畫面也會顯示浮動式訊息,內含動作的顯示名稱、開發人員名稱及退出動作的操作說明。預設值為 false

Prompt

代表使用者的回應。

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」後,系統也會在簡易提示、建議提示和 Canvas 提示 (屬於「內容」提示) 中的部分欄位附加這項功能。如果在提示中定義了內容和連結訊息,系統一律會覆寫內容和連結訊息。預設值為「false」。

override

boolean

選用設定。這個模式用於將這則訊息與先前定義的訊息合併。如果設為「true」,系統會清除先前定義的所有訊息 (第一個和最後一則簡單的內容、內容、建議連結和畫布),並新增這個提示中定義的訊息。「false」會將這個提示中定義的訊息新增至先前回應中定義的訊息。如果將這個欄位設為「false」,也可以將這個欄位附加至簡易提示、建議提示和 Canvas 提示 (屬於「內容」提示) 中的某些欄位。如果在提示中定義了內容和連結訊息,系統一律會覆寫訊息和連結訊息。預設值為「false」。

firstSimple

object (Simple)

選用設定。第一個語音和純文字回應。

content

object (Content)

選用設定。要向使用者顯示的資訊卡、清單或媒體等內容。

lastSimple

object (Simple)

選用設定。最後一個語音和純文字回應。

suggestions[]

object (Suggestion)

選用設定。向使用者顯示的建議,且一律會顯示在回應結尾。如果內含提示的「覆寫」欄位為「false」,這個欄位中定義的標題會加到任何先前定義的建議提示中所定義的標題,重複的值會遭到移除。

canvas

object (Canvas)

選用設定。代表要傳送給使用者的互動式畫布回應。

簡單易用

代表要傳送給使用者的簡單提示。

JSON 表示法
{
  "speech": string,
  "text": string
}
欄位
speech

string

選用設定。代表要向使用者顯示的語音。可以是 SSML 或文字轉語音。如果內含提示的「覆寫」欄位為「true」,則這個欄位中定義的語音會取代前一個簡單提示的語音。

text

string

顯示在即時通訊泡泡中的選填文字。如未指定,系統會使用上述的語音欄位顯示內容。最長不得超過 640 個半形字元。如果內含提示中的「覆寫」欄位為「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 列一定會顯示,但其他內容可能會在特定介面上顯示。請使用模擬工具進行測試,瞭解特定介面會顯示哪些資料列。在支援 WEB_BROWSER 功能的介面上,您可以將使用者導向含有更多資料的網頁。

button

object (Link)

按鈕。

TableColumn

說明資料表中的欄。

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

string

資料欄的標題文字。

align

enum (HorizontalAlignment)

內容 w.r.t 欄的水平對齊。如未指定,內容則會與頂部邊緣對齊。

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)

第一個媒體物件的開始偏移。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

optionalMediaControls[]

enum (OptionalMediaControls)

這個媒體回應工作階段可支援的選用媒體控制項類型。如果設定這個項目,系統會在特定媒體事件發生時向 3p 發出要求。如果未設定,3p 仍必須處理兩個預設控制項類型「FINISHED」和「FAILED」。

mediaObjects[]

object (MediaObject)

媒體物件清單

MediaType

此回應的媒體類型。

列舉
MEDIA_TYPE_UNSPECIFIED 未指定的媒體類型。
AUDIO 音訊檔案。
MEDIA_STATUS_ACK 回覆確認媒體狀態報告的回應。

OptionalMediaControls

媒體回應支援的選用媒體控制項類型

列舉
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED 未指定的值
PAUSED 已暫停活動在使用者暫停媒體時觸發。
STOPPED 已停止事件。使用者在媒體播放期間退出 3p 工作階段時觸發。

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 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 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度,且最多 9 個小數位數。範例:"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)

Webhook 回應收據事件。

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Webhook 啟動的轉換事件。

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

觸發意圖比對 (全球或特定場景) 的相關資訊:https://developers.google.com/assistant/conversational/intents

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

string

觸發這項互動的意圖 ID。

intentParameters

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

觸發這項互動的意圖參數。

這個物件中包含 "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

傳送至動作 Webhook 的要求相關資訊:https://developers.google.com/assistant/conversational/webhooks#payloads

JSON 表示法
{
  "requestJson": string
}
欄位
requestJson

string

Webhook 要求的酬載。

WebhookResponse

從動作 Webhook 接收的回應相關資訊:https://developers.google.com/assistant/conversational/webhooks#payloads

JSON 表示法
{
  "responseJson": string
}
欄位
responseJson

string

Webhook 回應的酬載。

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

版位 Webhook 驗證完成後發生的事件: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

表示與服務專員對話已結束的事件。