自訂事件

自訂事件是指您定義的事件。用於處理與使用者對話以外發生的事件。例如:使用者按下按鈕、經過一段時間、對話期間可用的廣告空間有所變更等等。

您可以使用執行要求API叫用這些事件。

使用 API 叫用事件

針對 Sessions 類型的 detectIntent 呼叫提出要求時,要求會包含 queryInput.event 欄位,用於叫用事件。這個欄位的類型為 EventInput,其中包含事件名稱、選用參數和語言代碼的欄位。

向偵測意圖呼叫提供事件時,請勿提供其他資料,例如使用者表達式。這個呼叫的唯一目的是叫用事件並觸發意圖。

使用執行要求叫用事件

您可以設定 WebhookResponsefollowupEventInput 欄位,透過執行要求叫用事件,並可選擇設定 followupEventInput.parameters 欄位,向意圖提供參數

例如:

{
  "followupEventInput": {
    "name": "event-name",
    "parameters": {
      "parameter-name-1": "parameter-value-1",
      "parameter-name-2": "parameter-value-2"
    },
    "languageCode": "en-US"
  }
}

如果為 WebhookResponse 設定 followupEventInput 參數,Dialogflow 會忽略 fulfillmentTextfulfillmentMessagespayload 欄位。此外,followupEventInput.languageCode 欄位是必填欄位,但 Dialogflow 會忽略這個欄位,因為語言已在原始意圖偵測要求中定義。

Dialogflow 收到包含事件的 Webhook 回應時,會立即觸發定義了該事件的對應意圖。

實際流程步驟如下:

  1. 使用者輸入或說出表達內容。
  2. Dialogflow 比對出使用者表達內容與 Intent-1 相符,而 Intent-1 已針對執行要求進行設定。
  3. Dialogflow 向您的伺服器傳送 Webhook 要求。
  4. 您的伺服器傳回包含後續追蹤事件的 Webhook 回應。
  5. Dialogflow 不會因為比對出 Intent-1 而回應使用者,而會觸發針對該事件設定的 Intent-2
  6. Dialogflow 會當做使用者啟動了 Intent-2 相符項目繼續作業,並處理 Intent-2 的設定所指定的必要參數和執行要求。

鏈結意圖相符項目和 Webhook 回應事件

您可以鏈結意圖相符項目和 Webhook 回應事件。在上述流程中,您也可針對執行要求設定 Intent-2。如果您伺服器的 Webhook 回應提供其他事件,Dialogflow 會繼續比對針對事件設定的 Intent-3,而不會因 Intent-2 而回應使用者。

在鏈結結束之前,Dialogflow 不會回應使用者。以這種方式鏈結意圖時,每個 Webhook 回應都必須在達到逾時限制前傳送。