Webhook 事件是 Messenger 平台向您的 Bot 發出通知的方式;當發生各種互動或事件(包括用戶傳送訊息)時,便會發出通知。Webhook 事件會以 POST 要求的形式,由 Messenger 平台傳送至您的 Webhook。
備註:您需要為企業的所有訊息應用程式訂閱訊息 Webhooks。
以下是 Messenger 平台可向您的 Webhook 傳送的事件清單。
注意:建議您使用最新版本的 API 來接收每個 Webhook 的所有資訊。
Webhook 事件 | 描述 |
---|---|
| 訂閱訊息已接收事件 |
| 訂閱帳戶連結事件 |
| 訂閱結帳更新事件 |
| 訂閱訊息已送達事件 |
| 訂閱訊息回應事件 |
| 訂閱即時遊戲事件 |
| |
| 訂閱附加程式啟用事件 |
| 訂閱付款事件 |
| 訂閱政策執行事件 |
| 訂閱回傳已接收事件 |
| 訂閱付款預先結帳事件 |
| 訂閱訊息已讀取事件 |
| 訂閱轉介事件 |
|
所有 Messenger 平台的回呼都有一組通用屬性,可提供所需資訊以讓您處理並回覆用戶使用您的 Bot 輸入的內容。除了下列屬性之外,每個事件也包含特定的屬性,用以說明該事件的詳細情況。
{
"object":"page",
"entry":[
{
"id":"<PAGE_ID>",
"time":1458692752478,
"messaging":[
{
"sender":{
"id":"<PSID>"
},
"recipient":{
"id":"<PAGE_ID>"
},
...
}
]
}
]
}
屬性 | 類型 | 描述 |
---|---|---|
| 字串 | 值為 |
|
| 包含事件資料的陣列 |
entry
屬性 | 類型 | 描述 |
---|---|---|
| 字串 | 專頁的專頁編號 |
| 數字 | 更新時間(以毫秒為單位的 Epoch 時間) |
| 陣列< | 包含一個 |
entry.messaging
屬性 | 類型 | 描述 |
---|---|---|
| 字串 | 傳送者用戶編號 |
| 字串 | 傳送對象用戶編號 |
如果您使用多個應用程式來處理訊息,例如一個應用程式負責處理自動回覆,另一個負責處理要上報給真人服務人員的內容,您便需要執行交接通訊協定,以將對話從一個應用程式傳遞到另一個應用程式。交接通訊協定