對話動作已於 2023 年 6 月 13 日淘汰。詳情請參閱「
對話動作已淘汰 」。
Actions on Google Webhook 格式 (Dialogflow)
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本文件說明 Actions on Google 與定義自訂對話使用者介面 的執行要求服務之間的 Webhook 格式通訊。
注意: 如果您有 Node.js 後端伺服器,強烈建議您使用 Actions on Google Node.js 用戶端程式庫 來簡化 Webhook 的建立程序。用戶端程式庫會提供 Webhook 格式的包裝函式。如果您偏好在不使用用戶端程式庫的情況下自行導入後端實作項目,您的後端會負責取用及處理 Actions on Google 透過 HTTP POST 傳送的 JSON 訊息。 請務必瞭解 Actions on Google 和您的執行要求如何透過 Actions on Google Webhook 格式進行通訊:
如要參與 Actions on Google 對話,您的執行要求會實作 Webhook ,可以回應來自 Actions on Google 的 HTTP 要求。
使用者叫用動作時,您的執行要求會收到 HTTP POST
,其中包含描述使用者要求的 JSON 酬載。
如此一來,您的執行要求就會負責讀取要求酬載中的參數、產生適當的 JSON 格式回應,並傳送包含此回應的回覆給 Google 助理。
重要字詞:
Dialogflow Webhook 格式: Actions on Google 透過 Dialogflow 叫用您的執行要求時,請使用 JSON 酬載格式。
對話 Webhook 格式: Actions on Google 透過 Actions SDK 叫用您的執行要求時,採用 JSON 酬載格式。
要求類型
下表摘要列出 Webhook 可能從 Google 助理接收的要求類型:
類型
說明
JSON 範例
叫用要求
透過執行要求啟動對話的使用者語音,或觸發深層連結動作,例如「與 Personal Chef 對話,尋找晚餐食譜」 。
如果使用 Dialogflow,這些要求會對應到 Google 助理 整合設定中「探索」 部分定義的意圖。
如果您使用 Actions SDK,這些要求會對應到動作套件 中定義的意圖。
對話要求
與執行要求開始對話之後,相同工作階段中的使用者發出的中繼。在對話 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 會將酬載轉換成為使用者轉譯的語音和多媒體輸出。
圖 1. Actions on Google 透過 Actions SDK 叫用執行要求。
如要進一步瞭解 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 助理理解的回應訊息。
圖 2. Actions on Google 透過 Dialogflow 叫用執行要求。
如要進一步瞭解 Actions on Google 透過 Dialogflow 叫用執行要求時的 JSON 酬載格式,請參閱 Dialogflow Webhook 格式 。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權 ,程式碼範例則為阿帕契 2.0 授權 。詳情請參閱《Google Developers 網站政策 》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2023-12-02 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u4e0a\u6b21\u66f4\u65b0\u6642\u9593\uff1a2023-12-02 (\u4e16\u754c\u6a19\u6e96\u6642\u9593)\u3002"}
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2023-12-02 (世界標準時間)。"],[],[]]