Actions on Google Webhook 格式 (Dialogflow)

本文件說明 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 對話,尋找晚餐食譜」
  • 如果使用 Dialogflow,這些要求會對應到 Google 助理整合設定中「探索」部分定義的意圖。
  • 如果您使用 Actions SDK,這些要求會對應到動作套件中定義的意圖。
對話要求 與執行要求開始對話之後,相同工作階段中的使用者發出的中繼。在對話 Webhook 格式中,這些是使用者傳送的原始文字回應,這些回應會對應到您在上一回合中要求的 actions.intent.TEXT 意圖。
輔助結果 在前一個對話中,Webhook 要求提供輔助意圖以處理對話的某些部分 (例如 actions.intent.OPTIONactions.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 格式