Messenger 開放平台會在各種互動或事件發生時(包括用戶傳送訊息時),透過 Webhook 事件通知您的 Bot。Messenger 開放平台會以 POST 要求的方式,將 Webhook 事件傳送至 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
屬性 | 類型 | 說明 |
---|---|---|
| 字串 | 粉絲專頁的粉絲專頁編號 |
| 數字 | 更新時間(以毫秒為單位的紀元時間) |
| 陣列< | 包含一個 |
entry.messaging
屬性 | 類型 | 說明 |
---|---|---|
| 字串 | 傳送者用戶編號 |
| 字串 | 接收者用戶編號 |
如果您有多個處理訊息的應用程式(例如,一個應用程式處理自動回覆,一個應用程式處理呈報至真人服務人員),則需要實作交接通訊協定,將對話從一個應用程式傳遞到另一個應用程式。交接通訊協定