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 透過網址連結觸發動作。

裝置屬性

與對話回合相關的裝置屬性。

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

enum (Surface)

用於與動作互動的介面。

location

object (Location)

裝置位置,例如經緯度和格式化地址。

locale

string

使用裝置上的設定語言。格式如下: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

可能用於與動作互動的介面。日後可能會包含其他值。

列舉
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 臺北市信義區信義路五段 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」搭配使用欄位,除了顯示互動式畫布回應外,還會提示使用者發言。回應的大小上限為 5 萬個位元組。

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

string

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

data[]

value (Value format)

選用設定。要以事件的形式傳遞至沉浸式體驗網頁的 JSON 資料。如果「覆寫」包含提示中的欄位為「false」系統會先按照先前的 Canvas 提示中定義的資料值,新增這個畫布提示中定義的資料值。

suppressMic

boolean

選用設定。預設值為 false。

enableFullScreen

boolean

如果 true 畫布應用程式佔用全螢幕空間,頂端就不會有標頭。載入畫面也會顯示浮動式訊息,其中包含動作顯示名稱、開發人員名稱及退出動作的操作說明。預設值為 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」也能在簡易提示、建議提示和畫布提示 (位於內容提示部分) 中附加某些欄位。如在提示中定義了「內容和連結」訊息,一律會遭到覆寫。預設值為「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)

內容欄的水平對齊。如未指定,內容將會與前端對齊。

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)

這個媒體回應工作階段支援的選用媒體控制項類型。如果設定此值,當特定媒體事件發生時,要求就會傳送到 3p。如未設定,則第三方代碼仍必須處理「FINISHED」和「失敗」這兩種預設控制項類型。

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

必要欄位。符合相關 Type 中項目索引鍵名稱的 NLU 金鑰。

清單

顯示選項清單的資訊卡。

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

string

清單的標題。選填。

subtitle

string

清單的副標題。選填。

items[]

object (ListItem)

下限:2,上限:30

ListItem

清單中的項目

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

string

必要欄位。符合相關 Type 中項目索引鍵名稱的 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 世界標準時間「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 未填入「Usage」欄位時的備用值。
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 未填入「Usage」欄位時的備用值。
OPTIONAL 表示不需要完成運算單元填充。
REQUIRED 表示需要該運算單元才能完成運算單元填充。

SlotStatus

代表時段狀態。

列舉
SLOT_UNSPECIFIED 未填入「Usage」欄位時的備用值。
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

通知服務專員對話已結束的事件。