本文件說明 Actions on Google 與定義自訂對話使用者介面的執行要求服務之間的 Webhook 格式通訊。
請務必瞭解 Actions on Google 和您的執行要求如何透過 Actions on Google Webhook 格式進行通訊:
- 如要參與 Actions on Google 對話,您的執行要求會實作 Webhook,可以回應來自 Actions on Google 的 HTTP 要求。
- 使用者叫用動作時,您的執行要求會收到
HTTP POST
,其中包含描述使用者要求的 JSON 酬載。 - 如此一來,您的執行要求就會負責讀取要求酬載中的參數、產生適當的 JSON 格式回應,並傳送包含此回應的回覆給 Google 助理。
要求類型
下表摘要列出 Webhook 可能從 Google 助理接收的要求類型:
類型 | 說明 | JSON 範例 |
---|---|---|
叫用要求 | 透過執行要求啟動對話的使用者語音,或觸發深層連結動作,例如「與 Personal Chef 對話,尋找晚餐食譜」。
|
|
對話要求 | 與執行要求開始對話之後,相同工作階段中的使用者發出的中繼。在對話 Webhook 格式中,這些是使用者傳送的原始文字回應,這些回應會對應到您在上一回合中要求的 actions.intent.TEXT 意圖。 |
|
輔助結果 | 在前一個對話中,Webhook 要求提供輔助意圖以處理對話的某些部分 (例如 actions.intent.OPTION 和 actions.intent.PERMISSION ) 時,Google 助理會將要求傳送至執行要求。 |
對話要求與回應
在一般的 Actions on Google 互動情境中,使用者會說出一個詞組來叫用動作。為提供回應,Actions on Google 會尋找與使用者叫用的動作相符的執行要求,然後傳送要求。
Actions on Google 確定執行要求符合使用者叫用的適當項目後,就會傳送包含使用者要求資訊的 JSON 酬載至執行要求端點,啟動對話工作階段。執行要求會剖析要求,並傳回包含 JSON 酬載的回應。接著,Actions on Google 會將酬載轉換成為使用者轉譯的語音和多媒體輸出。
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/actions/images/json-conversation.png?authuser=19&hl=zh-tw)
如要進一步瞭解 Actions on Google 透過 Actions SDK 叫用執行要求時,JSON 酬載的格式,請參閱「對話 Webhook 格式」。
Dialogflow 要求與回應
建立動作時,您可以選擇使用 Dialogflow 簡化建構對話介面的工作。在此情況下,Dialogflow 會做為 Actions on Google 和執行要求之間的 Proxy。Actions on Google 不會直接將 HTTP/JSON 要求傳送至執行要求端點,而是會將其傳送至 Dialogflow。
Dialogflow 會將原始要求中包含的 JSON 酬載納入至 Dialogflow Webhook 格式,然後將產生的要求轉送至 Dialogflow 執行要求。
反之,當執行要求傳送回應至 Dialogflow 時,回應的 JSON 酬載必須符合 Dialogflow Webhook 格式。您的執行要求會剖析 Dialogflow JSON 要求中的參數,並以 Dialogflow Webhook 格式產生回應。然後,Dialogflow 會將執行要求的回應轉換為 Google 助理理解的回應訊息。
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/actions/images/json-dialogflow.png?authuser=19&hl=zh-tw)
如要進一步瞭解 Actions on Google 透過 Dialogflow 叫用執行要求時的 JSON 酬載格式,請參閱 Dialogflow Webhook 格式。