AppResponse

AppResponse 是執行要求傳送給 Google 助理的回應。如需瞭解如何在 Actions on Google 中運用這項功能的範例,請參閱 https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json#conversation-response-body

JSON 表示法
{
  "conversationToken": string,
  "userStorage": string,
  "resetUserStorage": boolean,
  "expectUserResponse": boolean,
  "expectedInputs": [
    {
      object (ExpectedInput)
    }
  ],
  "finalResponse": {
    object (FinalResponse)
  },
  "customPushMessage": {
    object (CustomPushMessage)
  },
  "isInSandbox": boolean
}
欄位
conversationToken

string

每次對話回合用於動作的不透明符記。

userStorage

string

由動作控制的不透明符記,這類權杖會在特定使用者對話中持續存在。如果留空或未指定,現有的保留權杖不會受到影響。字串大小上限為 10,000 個位元組。如果同一使用者同時出現多個對話方塊,更新這個權杖時可能會無預警地互相覆寫。

resetUserStorage

boolean

是否要清除永久保留的 userStorage。如果設為 true,則在與使用者下次互動時,userStorage 欄位會留空。

expectUserResponse

boolean

指出動作是否預期使用者回應。如果對話正在進行中,則為 false。

expectedInputs[]

object (ExpectedInput)

「動作」預期的輸入內容清單,每個輸入內容都可以是 Google 意圖的常見動作 (開頭為「actions」),或是接受可能意圖的輸入清單。目前僅支援一個輸入值。

finalResponse

object (FinalResponse)

動作未預期使用者輸入內容時的最終回應。

customPushMessage

object (CustomPushMessage)

自訂推送訊息,可讓開發人員將結構化資料傳送至 Google 上的動作。

isInSandbox

boolean

指出是否要在沙箱模式中處理回應。必須使用沙箱模式,才能將結構化資料推送至 Google。

ExpectedInput

JSON 表示法
{
  "inputPrompt": {
    object (InputPrompt)
  },
  "possibleIntents": [
    {
      object (ExpectedIntent)
    }
  ],
  "speechBiasingHints": [
    string
  ]
}
欄位
inputPrompt

object (InputPrompt)

用來要求使用者輸入內容的自訂提示。

possibleIntents[]

object (ExpectedIntent)

可用來執行這項輸入內容的意圖清單。如要讓 Google 上的動作只會傳回原始的使用者輸入內容,應用程式應要求 actions.intent.TEXT 意圖。

speechBiasingHints[]

string

動作希望 Google 用於語音自訂調整的詞組清單。最多允許 1,000 個詞組。

InputPrompt

Google 助理會使用輸入提示,引導使用者輸入應用程式問題的內容。

JSON 表示法
{
  "initialPrompts": [
    {
      object (SpeechResponse)
    }
  ],
  "richInitialPrompt": {
    object (RichResponse)
  },
  "noInputPrompts": [
    {
      object (SimpleResponse)
    }
  ]
}
欄位
initialPrompts[]
(deprecated)

object (SpeechResponse)

要求使用者輸入內容的初始提示。僅支援一個 initial_prompt。

richInitialPrompt

object (RichResponse)

提示酬載。

noInputPrompts[]

object (SimpleResponse)

在使用者沒有輸入內容時,用來詢問使用者的提示。

SpeechResponse

只包含語音的回應。已淘汰。

JSON 表示法
{

  // Union field type can be only one of the following:
  "textToSpeech": string,
  "ssml": string
  // End of list of possible types for union field type.
}
欄位
聯集欄位 type。語音輸出類型:文字轉語音或 SSML。type 只能是下列其中一項:
textToSpeech

string

語音輸出的純文字,例如「你要去哪裡?」

ssml

string

以 SSML 格式向使用者的結構化語音回應,例如「 在聲音後面說出動物名稱。」。與 textToSpeech 互斥。

RichResponse

一種複合式回應,可包含音訊、文字、資訊卡、建議和結構化資料。

JSON 表示法
{
  "items": [
    {
      object (Item)
    }
  ],
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "linkOutSuggestion": {
    object (LinkOutSuggestion)
  }
}
欄位
items[]

object (Item)

組成回應的 UI 元素清單 項目必須符合下列規定:1.第一個項目必須是 SimpleResponse 2。最多兩個 SimpleResponse 3.最多一個複合式回應項目 (例如 BasicCardStructuredResponseMediaResponseHtmlResponse) 4.如果您使用 actions.intent.OPTION 意圖 (例如 ListSelectCarouselSelect),就無法使用複合式回應項目

suggestions[]

object (Suggestion)

建議回覆清單。這些內容一律會在回應的結尾顯示。如果在 FinalResponse 中使用,系統會忽略這些函式。

項目

回應的項目。

JSON 表示法
{
  "name": string,

  // Union field item can be only one of the following:
  "simpleResponse": {
    object (SimpleResponse)
  },
  "basicCard": {
    object (BasicCard)
  },
  "structuredResponse": {
    object (StructuredResponse)
  },
  "mediaResponse": {
    object (MediaResponse)
  },
  "carouselBrowse": {
    object (CarouselBrowse)
  },
  "tableCard": {
    object (TableCard)
  },
  "htmlResponse": {
    object (HtmlResponse)
  }
  // End of list of possible types for union field item.
}
欄位
name

string

這個項目的選用具名 ID。

聯集欄位 item。項目類型。item 只能是下列其中一項:
simpleResponse

object (SimpleResponse)

語音和純文字回覆。

basicCard

object (BasicCard)

基本資訊卡。

structuredResponse

object (StructuredResponse)

要由 Google 處理的結構化酬載。

mediaResponse

object (MediaResponse)

用於表示要播放的一組媒體的回應。

carouselBrowse

object (CarouselBrowse)

輪轉介面瀏覽資訊卡,請改用 collectionBrowse。

tableCard

object (TableCard)

表格資訊卡。

htmlResponse

object (HtmlResponse)

在 Canvas 上算繪的 HTML 回應。

SimpleResponse

簡單的回應,內含要向使用者顯示的語音或文字。

JSON 表示法
{
  "textToSpeech": string,
  "ssml": string,
  "displayText": string
}
欄位
textToSpeech

string

語音輸出的純文字,例如「你要去哪裡?」與 ssml 互斥。

ssml

string

以 SSML 格式向使用者的結構化語音回應,例如<speak> Say animal name after the sound. <audio src = 'https://www.pullstring.com/moo.mps' />, what’s the animal? </speak>。與 textToSpeech 互斥。

displayText

string

選填的文字,會顯示在即時通訊泡泡中。如未指定,系統會使用上述 textToSpeech 或 sml 的顯示內容。上限為 640 個半形字元。

BasicCard

顯示部分資訊的基本資訊卡,例如圖片及/或文字

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "formattedText": string,
  "image": {
    object (Image)
  },
  "buttons": [
    {
      object (Button)
    }
  ],
  "imageDisplayOptions": enum (ImageDisplayOptions)
}
欄位
title

string

資訊卡的整體標題。選填。

subtitle

string

選填。

formattedText

string

資訊卡的內文。支援一組 Markdown 語法,以便用於格式設定。除非有圖片,否則此為必要屬性。

image

object (Image)

資訊卡的主頁橫幅。高度固定為 192dp。選填。

buttons[]

object (Button)

按鈕。目前最多支援 1 個按鈕。選填。

imageDisplayOptions

enum (ImageDisplayOptions)

圖片顯示選項的類型選填。

按鈕

通常顯示在資訊卡底部的按鈕物件。

JSON 表示法
{
  "title": string,
  "openUrlAction": {
    object (OpenUrlAction)
  }
}
欄位
title

string

按鈕標題。必填。

openUrlAction

object (OpenUrlAction)

使用者輕觸按鈕時要採取的動作。必填。

StructuredResponse

為應用程式定義以結構化資料回應的回應。

JSON 表示法
{

  // Union field data can be only one of the following:
  "orderUpdate": {
    object (OrderUpdate)
  },
  "orderUpdateV3": {
    object (OrderUpdate)
  }
  // End of list of possible types for union field data.
}
欄位
聯集欄位 data。第三方代理程式的酬載回應容器。data 只能是下列其中一項:
orderUpdate

object (OrderUpdate)

應用程式會在收到訂單後提供訂單更新 (例如 Receipt)。

orderUpdateV3

object (OrderUpdate)

應用程式收到訂單後,會以 API v3 格式提供訂單更新。

OrderUpdate

已淘汰:請改用 V3 Proto。更新訂單。

JSON 表示法
{
  "googleOrderId": string,
  "actionOrderId": string,
  "orderState": {
    object (OrderState)
  },
  "orderManagementActions": [
    {
      object (Action)
    }
  ],
  "receipt": {
    object (Receipt)
  },
  "updateTime": string,
  "totalPrice": {
    object (Price)
  },
  "lineItemUpdates": {
    string: {
      object(LineItemUpdate)
    },
    ...
  },
  "userNotification": {
    object (UserNotification)
  },
  "infoExtension": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field info can be only one of the following:
  "rejectionInfo": {
    object (RejectionInfo)
  },
  "cancellationInfo": {
    object (CancellationInfo)
  },
  "inTransitInfo": {
    object (InTransitInfo)
  },
  "fulfillmentInfo": {
    object (FulfillmentInfo)
  },
  "returnInfo": {
    object (ReturnInfo)
  }
  // End of list of possible types for union field info.
}
欄位
googleOrderId

string

訂單 ID 是 Google 核發的 ID。

actionOrderId

string

必要欄位。參照這筆訂單的標準訂單 ID。如果整合商未在系統中產生標準訂單 ID,他們只需複製順序包含的 googleOrderId 即可。

orderState

object (OrderState)

訂單的新狀態。

orderManagementActions[]

object (Action)

更新訂單適用的管理動作,例如管理、修改、聯絡支援團隊

receipt

object (Receipt)

訂購收據。

updateTime

string (Timestamp format)

從應用程式的角度更新訂單的時間。

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位。範例:"2014-10-02T15:01:23.045123456Z"

totalPrice

object (Price)

訂單的新總價

lineItemUpdates

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

委刊項層級的變更對應表,按項目 ID 指定。選填。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

userNotification

object (UserNotification)

如果有指定,系統會向使用者顯示含有指定標題和文字的通知。指定通知是通知系統的推薦做法,而且不保證一定會收到通知。

infoExtension

object

根據自訂訂單狀態或標準狀態等資訊的額外資料。

含有任意類型欄位的物件。額外的 "@type" 欄位則包含能辨識類型的 URI。範例:{ "id": 1234, "@type": "types.example.com/standard/id" }

聯集欄位 info。與訂單狀態相關的額外資訊。info 只能是下列其中一項:
rejectionInfo

object (RejectionInfo)

拒絕狀態相關資訊。

cancellationInfo

object (CancellationInfo)

取消狀態的相關資訊。

inTransitInfo

object (InTransitInfo)

大眾運輸狀態的相關資訊。

fulfillmentInfo

object (FulfillmentInfo)

執行要求狀態的相關資訊。

returnInfo

object (ReturnInfo)

傳回狀態的相關資訊。

動作

與訂單更新相關的後續動作。

JSON 表示法
{
  "type": enum (ActionType),
  "button": {
    object (Button)
  }
}
欄位
type

enum (ActionType)

動作類型

button

object (Button)

按鈕標籤和連結。

收據

已淘汰:請改用 V3 Proto。狀態是 CONFIRMED 或其他包含 CONFIRMED 狀態的任何其他狀態 (例如 IN_TRANSIT、FULFILLED) 收到的收據。

JSON 表示法
{
  "confirmedActionOrderId": string,
  "userVisibleOrderId": string
}
欄位
confirmedActionOrderId
(deprecated)

string

整合商收到訂單時的確認訂單 ID。這是整合商系統中參照訂單的正規訂單 ID,之後可能會用來識別訂單為 actionOrderId

請注意,這個欄位已淘汰。請改為透過 OrderUpdate.action_order_id 傳遞欄位。

userVisibleOrderId

string

選用設定。參照目前訂單的使用者 ID,這個 ID 會顯示在收據資訊卡中 (如有)。這組 ID 通常會顯示在紙本收據或寄給使用者電子郵件的收據上。使用者應能利用這個 ID 參照訂單,處理整合商提供的客戶服務。請注意,如果整合商針對附有紙本收據 / 電子郵件收據的訂單產生面向使用者 ID,就必須填寫此欄位。

RejectionInfo

狀態顯示為 REJECTED 時的拒絕資訊。這則訊息可在對話中的初始訂單更新或後續的非同步訂單更新中填入。

JSON 表示法
{
  "type": enum (ReasonType),
  "reason": string
}
欄位
type

enum (ReasonType)

拒絕類型。

reason

string

錯誤原因。

CancellationInfo

已淘汰:請改用 V3 Proto。狀態為「CANCELLED」時的取消資訊。

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

string

取消原因。

InTransitInfo

已淘汰:請改用 V3 Proto。狀態為 IN_TRANSIT 的大眾運輸資訊。

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

string (Timestamp format)

運送時間的上次更新時間。

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位。範例:"2014-10-02T15:01:23.045123456Z"

FulfillmentInfo

已淘汰:請改用 V3 Proto。狀態為「FULFILLED」時的執行要求資訊。

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

string (Timestamp format)

訂單出貨時間。

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位。範例:"2014-10-02T15:01:23.045123456Z"

ReturnInfo

已淘汰:請改用 V3 Proto。狀態遭拒絕時的傳回資訊。

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

string

退貨原因。

UserNotification

顯示於訂單更新項目的使用者通知 (選用)。

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

string

使用者通知的標題。

text

string

通知的內容。

MediaResponse

此回應表示要在對話中播放的一組媒體。

JSON 表示法
{
  "mediaType": enum (MediaType),
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ]
}
欄位
mediaType

enum (MediaType)

特定的媒體類型

mediaObjects[]

object (MediaObject)

媒體物件清單。

MediaObject

代表以 MediaResponse 傳回的媒體物件。包含媒體相關資訊,例如名稱、說明、網址等。

JSON 表示法
{
  "name": string,
  "description": string,
  "contentUrl": string,

  // Union field image can be only one of the following:
  "largeImage": {
    object (Image)
  },
  "icon": {
    object (Image)
  }
  // End of list of possible types for union field image.
}
欄位
name

string

此媒體物件的名稱

description

string

這段媒體物件的說明

contentUrl

string

指向媒體內容的網址。

聯集欄位 image。與媒體資訊卡一併顯示的圖片。image 只能是下列其中一項:
largeImage

object (Image)

大型圖片,例如相簿封面等。

icon

object (Image)

顯示在標題右側的小型圖片圖示。已將大小調整為 36x36 dp。

CarouselBrowse

以大型圖塊項目的輪轉介面呈現一組 AMP 文件。可選擇在 AMP 檢視器中啟動相關聯的 AMP 文件。

JSON 表示法
{
  "items": [
    {
      object (Item)
    }
  ],
  "imageDisplayOptions": enum (ImageDisplayOptions)
}
欄位
items[]

object (Item)

下限:2.最大值:10。

imageDisplayOptions

enum (ImageDisplayOptions)

圖片顯示選項的類型選填。

項目

輪轉介面中的項目。

JSON 表示法
{
  "title": string,
  "description": string,
  "footer": string,
  "image": {
    object (Image)
  },
  "openUrlAction": {
    object (OpenUrlAction)
  }
}
欄位
title

string

輪轉介面項目的標題。必填。

description

string

輪轉介面項目的說明。選填。

footer

string

輪轉介面項目的頁尾文字,顯示在說明下方。單行文字,以刪節號截斷。選填。

image

object (Image)

輪轉介面項目的主頁橫幅。選填。

openUrlAction

object (OpenUrlAction)

與輪轉介面項目相關聯的文件網址。文件可包含 HTML 內容,或含有「urlTypeHint」的文字內容設為 AMP_CONTENT 的 AMP 內容。必填。

TableCard

顯示文字表格的表格資訊卡。

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columnProperties": [
    {
      object (ColumnProperties)
    }
  ],
  "rows": [
    {
      object (Row)
    }
  ],
  "buttons": [
    {
      object (Button)
    }
  ]
}
欄位
title

string

表格的整體標題。選用,但如有設定字幕,則必須設定。

subtitle

string

資料表的副標題。選填。

image

object (Image)

與資料表相關聯的圖片。選填。

columnProperties[]

object (ColumnProperties)

資料欄的標頭和對齊方式。

rows[]

object (Row)

表格的資料列資料。我們保證會顯示前 3 列,但部分資料列可能只適用於特定介面。請使用模擬工具進行測試,以查看特定介面會顯示哪些資料列。在支援 WEB_BROWSER 功能的介面上,您可以將使用者導向至含有更多資料的網頁。

buttons[]

object (Button)

按鈕。目前最多支援 1 個按鈕。選填。

ColumnProperties

保留欄屬性 (包括標題)。

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

string

資料欄的標題文字。

horizontalAlignment

enum (HorizontalAlignment)

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

說明資料表中的一列。

JSON 表示法
{
  "cells": [
    {
      object (Cell)
    }
  ],
  "dividerAfter": boolean
}
欄位
cells[]

object (Cell)

這一列的儲存格。我們保證會顯示前 3 個儲存格,但部分儲存格可能會遭到截斷。請使用模擬器進行測試,以瞭解特定表面會顯示哪些儲存格。

dividerAfter

boolean

表示每列後方是否應有分隔線。

儲存格

說明資料列中的儲存格。

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

string

儲存格的文字內容。

HtmlResponse

使用互動式畫布功能顯示 HTML 的回應。大小上限 回應為 5 萬位元組

JSON 表示法
{
  "updatedState": value,
  "suppressMic": boolean,
  "url": string
}
欄位
updatedState

value (Value format)

將下列 JSON 物件傳送至應用程式。

suppressMic

boolean

如果提供選項,讓系統在收到這類沉浸式回覆後不會開啟麥克風。

url

string

應用程式的網址。

建議

建議方塊,使用者輕觸即可快速在對話中張貼回覆。

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

string

建議方塊中顯示的文字。使用者輕觸這段文字後,系統就會逐字張貼回對話,就像使用者已輸入訊息一樣。所有建議方塊的標題都不得重複。最多需要 25 個字元

LinkOutSuggestion

建立建議方塊,讓使用者跳出與這個代理程式相關聯的應用程式或網站。

JSON 表示法
{
  "destinationName": string,
  "url": string,
  "openUrlAction": {
    object (OpenUrlAction)
  }
}
欄位
destinationName

string

這個方塊連結的應用程式或網站名稱。方塊會顯示「開啟」標題。最多 20 個半形字元。此為必要欄位。

url
(deprecated)

string

已淘汰,請改用 OpenUrlAction。

openUrlAction

object (OpenUrlAction)

使用者輕觸建議方塊時要開啟的應用程式或網站網址。請務必在 Google Developer Console 中驗證這個應用程式/網址的擁有權,否則系統不會向使用者顯示建議。開啟網址動作支援 http、https 和意圖網址。如需意圖網址,請參閱:https://developer.chrome.com/multidevice/android/intents

ExpectedIntent

應用程式要求 Google 助理提供的預期意圖。

JSON 表示法
{
  "intent": string,
  "inputValueData": {
    "@type": string,
    field1: ...,
    ...
  },
  "parameterName": string
}
欄位
intent

string

內建意圖名稱,例如actions.intent.TEXT,或動作套件中定義的意圖。如果指定的意圖並非內建意圖,則只會用於語音自訂調整,Google 助理提供的輸入內容將為 actions.intent.TEXT

inputValueData

object

內建意圖所需的其他設定資料。內建意圖的可能值:actions.intent.OPTION -> google.actions.v2.OptionValueSpecactions.intent.CONFIRMATION -> google.actions.v2.ConfirmationValueSpecactions.intent.TRANSACTION_REQUIREMENTS_CHECK -> google.actions.v2.TransactionRequirementsCheckSpecactions.intent.DELIVERY_ADDRESS -> google.actions.v2.DeliveryAddressValueSpecactions.intent.TRANSACTION_DECISION -> google.actions.v2.TransactionDecisionValueSpecactions.intent.PLACE -> google.actions.v2.PlaceValueSpecactions.intent.Link -> google.actions.v2.LinkValueSpec

含有任意類型欄位的物件。額外的 "@type" 欄位則包含能辨識類型的 URI。範例:{ "id": 1234, "@type": "types.example.com/standard/id" }

parameterName

string

或者,您可以要求所要求的意圖參數。只對要求的意圖有效。用於語音自訂調整。

FinalResponse

預期使用者輸入內容時的最終回應。

JSON 表示法
{

  // Union field response can be only one of the following:
  "speechResponse": {
    object (SpeechResponse)
  },
  "richResponse": {
    object (RichResponse)
  }
  // End of list of possible types for union field response.
}
欄位
聯集欄位 response。可能的回應類型。response 只能是下列其中一項:
speechResponse
(deprecated)

object (SpeechResponse)

當使用者不需要輸入內容時,系統會發出語音回應。

richResponse

object (RichResponse)

當使用者不需要輸入內容時,可以提供豐富的回應。

CustomPushMessage

自訂推送訊息,保留要推送的結構化資料,以便執行 Fulfillment API 的動作。

JSON 表示法
{
  "target": {
    object (Target)
  },

  // Union field content can be only one of the following:
  "orderUpdate": {
    object (OrderUpdate)
  },
  "userNotification": {
    object (UserNotification)
  }
  // End of list of possible types for union field content.
}
欄位
target

object (Target)

推送要求的指定目標。

聯集欄位 content。不同類型的酬載。content 只能是下列其中一項:
orderUpdate

object (OrderUpdate)

透過交易 API 更新訂單的更新訂單。

userNotification

object (UserNotification)

如果有指定,系統會向使用者顯示含有指定標題和文字的通知。

UserNotification

要與要求一併顯示的使用者通知。

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

string

通知的標題。

text

string

通知的內容。

目標

推送要求的指定目標。

JSON 表示法
{
  "userId": string,
  "intent": string,
  "argument": {
    object (Argument)
  },
  "locale": string
}
欄位
userId

string

要指定的使用者。

intent

string

要指定的意圖。

argument

object (Argument)

意圖指定的引數。如果是 V1,僅支援一個引數。

locale

string

要指定的語言代碼。會遵循 IETF BCP-47 語言代碼。多語言應用程式可用於指定本地化應用程式的使用者。如未指定,將預設為 en-US。