對話元件

對話元件是對話中的功能,您可以為商家電話號碼啟用。這些元件可讓 WhatsApp 用戶更輕鬆地與您的商家展開互動。您可以配置易用的指令、提供預先寫好的開場白供用戶點按,並使用歡迎訊息問候首次與您商家對話的用戶。

限制

如果 WhatsApp 用戶點按了以預先填妥文字配置的通用連結(即 wa.me 連結),開場白的用戶介面即會自動關閉。

經由 WhatsApp 管理工具配置

您可以在 WhatsApp 管理工具中為您選擇的特定號碼配置所有這些功能:

  1. 前往 Meta for Developers 網站上的「我的應用程式」管理中心
  2. 選擇您的應用程式,然後在左側面板選擇 WhatsApp 下的配置
  3. 電話號碼下,選擇管理電話號碼
  4. 在要配置的電話號碼最右側,選擇設定下的齒輪圖示
  5. 選擇自動化
  6. 存取並配置對話元件。

如果解決方案合作夥伴可以在 WhatsApp 管理工具中存取其顧客的 WhatsApp Business 帳戶,便可以為顧客配置這些功能。

歡迎訊息

歡迎訊息目前無法正常運作。

我們現時無法確定此功能將於未來何時投入使用。

所有自由格式、互動式和範本訊息類型均能用以傳送歡迎訊息。按分類訊息定價收費。

每當有 WhatsApp 用戶首次開啟與您的對話時,您都可收到 Webhook 通知。如果您想以自己設計的特定歡迎訊息來回覆這類用戶,這便相當實用。

歡迎訊息非常適合用來展開服務互動,如客戶支援或帳戶服務。例如,您可以在自己的應用程式或網站上內嵌 WhatsApp 按鈕。當用戶點按有關按鈕時,便會重新導向 WhatsApp 以接收歡迎訊息,相關訊息會指導用戶如何與您互動。

如果您啟用了此功能而用戶向您傳送訊息,WhatsApp 用戶端會檢查該用戶與您的商家電話號碼之間目前是否已有訊息串。如果沒有,用戶端會觸發訊息 messages Webhook,其中 type 會設為 request_welcome。然後,您可以使用自己設計的歡迎訊息回覆用戶。

request_welcome Webhook 會觸發顧客服務時段,而您的商家可在此時段傳送自由格式訊息來回覆顧客。

Ash: My home office supervisor

以輪播範本訊息傳送的歡迎訊息

Webhook 裝載

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "from": "<WHATSAPP_USER_PHONE_NUMBER_ID>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "type": "request_welcome"  // Indicates first time message from WhatsApp user
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

開場白

開場白是您首次與用戶對話時出現在訊息串中的可自訂和可點按文字字串。例如:「規劃行程」或「制定健身計劃」。

開場白非常適合用來展開服務互動,如客戶支援或帳戶服務。例如,您可以在自己的應用程式或網站上內嵌 WhatsApp 按鈕。當用戶點按有關按鈕時,便會重新導向 WhatsApp,在當中用戶可以選擇一系列可供自訂的提示,相關提示會指導用戶如何與您的服務互動。

您可以為一個商家電話號碼配置最多 4 個開場白。每個開場白不得超過 80 個字元,而且不支援表情符號。

用戶點按開場白後,就會觸發標準已接收訊息 Webhook,其中包含分配到裝載 body 屬性的開場白字串。如果用戶嘗試向您傳送訊息,而不是點按開場白,畫面就會顯示鍵盤覆蓋層,但用戶可關閉覆蓋層以再次查看開場白選單。

如果 WhatsApp 用戶點按了以預先填妥文字配置的通用連結(即 wa.meapi.whatsapp.com 連結),開場白的用戶介面即會自動關閉。

Webhook 裝載

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "from": "<WHATSAPP_USER_PHONE_NUMBER_ID>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "text": {
                  "body": "Plan a trip"
                },
                "type": "text"
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

指令

指令是文字字串,WhatsApp 用戶在與您商家的訊息串中輸入正斜線後,就能看到這些字串。

指令由指令本身和提示組成,該提示能讓用戶了解在使用指令後會發生的情況。例如,您可以定義以下指令:

/imagine - Create images using a text prompt

當 WhatsApp 用戶輸入 /imagine cars racing on Mars,就會觸發已接收訊息 Webhook,其中包含該確切的文字字串(分配到 body 屬性)。然後,您便可生成並傳回一張在火星上賽車的圖片。

您最多可定義 30 個指令。每個指令不得超過 32 個字元,每個提示不得超過 256 個字元,而且不支援表情符號。

Webhook 裝載

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "from": "<WHATSAPP_USER_PHONE_NUMBER_ID>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "text": {
                  "body": "/imagine cars racing on Mars"
                },
                "type": "text"
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

透過 API 配置

您也可使用此 API 配置對話元件,並查看任何已配置的值。

對話元件 API 有兩個端點:

POST </PHONE_NUMBER_ID>/conversational_automation:用於在指定電話號碼配置對話元件。

GET /<PHONE_NUMBER_ID>/conversational_automation:就指定電話號碼的 enable_welcome_message 、指令和欄位傳回現有值。

經由 API 配置對話元件

您可呼叫 POST 端點,以配置指定電話號碼的對話元件。

要求語法

// Enable or disable the Welcome Message for the given phone number ID
POST /<PHONE_NUMBER_ID>/conversational_automation?enable_welcome_message=<ENABLE_DISABLE>

// Configure Commands with names and descriptions
POST /<PHONE_NUMBER_ID>/conversational_automation?commands=<COMMAND_LIST>

// Configure Prompts
POST /<PHONE_NUMBER_ID>/conversational_automation?prompts=<PROMPT>

內文屬性


預留位置說明值範例

<PHONE_NUMBER_ID>

整數

此為必要項目。


WhatsApp Business 帳戶上的電話號碼編號。

+12784358810

<ENABLE_DISABLE>

布林值

此為選用項目。


布林值,用以啟用或停用電話號碼歡迎訊息。


true

<COMMAND_LIST>

JSON

此為選用項目。


可配置的指令清單。


"commands": {
     "command_name": "generate"
     "command_description": "Create a new image",
     “command_name”: “rethink”
     “command_description”: “Generate new images from existing images”,
} 

<PROMPTS>

字串清單

此為選用項目。


可配置的提示。


"prompts": ["Book a flight","plan a vacation"]

要求範例

   curl -X POST \
 'https://graph.facebook.com/v19.0/PHONE_NUMBER_ID/conversational_automation' \
 -H 'Authorization: Bearer ACCESS_TOKEN' \
 -H 'Content-Type: application/json' \
 -d '{
   "enable_welcome_message": true/false,
   "commands": [
     {
       "command_name": "tickets",
       "command_description": "Book flight tickets",
     },
     {
       "command_name": "hotel",
       "command_description": "Book hotel",
     }
   ],
 "prompts": ["Book a flight","plan a vacation"]
}'

回應範例

{
  "success": true
}

經由 API 查看現有設定

您可呼叫 GET 端點,以查看指定電話號碼的現有對話元件配置。

要求語法

GET  /<PHONE_NUMBER_ID>?fields=conversational_automation

回應範例

{
  "conversational_automation": {
    "enable_welcome_message": true
    "prompts": [
      "Find the best hotels in the area",
      "Find deals on rental cars"
    ],
    "commands": [
      {
        "command_name": "tickets",
        "command_description": "Book flight tickets",
      },
      {
        "command_name": "hotel",
        "command_description": "Book hotel",
      }
    ],
  }
  "id": "123456"
}

測試

對話元件配置完成之後,如要測試這些元件,請開啟 WhatsApp 用戶端,然後開啟與您商家電話號碼的對話。

測試歡迎訊息和開場白時,如果您與商家電話號碼之間已有對話串,則必須先清除對話串:

  1. 在 WhatsApp 用戶端開啟對話串。
  2. 點按商家電話號碼的商業檔案。
  3. 點按清除對話 >清除所有訊息
  4. 刪除對話
  5. 與此商家開始新對話串。

然後,您可以向此商家電話號碼傳送訊息,這樣應該會觸發 request_welcome Webhook。