交接通訊協定

Messenger 開放平台交接通訊協定可在各 Facebook 應用程式之間傳遞對話控制權,讓兩個以上的應用程式參與對話。Facebook 粉絲專頁訂閱的應用程式會自動啟用交接通訊協定。

注意對話指派現已可供使用,並且很快就會取代交接通訊協定。請儘快將您的應用程式更新為使用「對話指派」。

運作方式

Facebook 粉絲專頁或 Instagram 專業帳號可以使用多種訊息應用程式來與顧客或對其內容感興趣的人通訊。例如,進行顧客支援時,可以將顧客送到自動化體驗,但如果自動化體驗無法解決顧客的問題,則可以將顧客送到提供真人支援客服的另一個應用程式。若要將對話(以及對話相關的中繼資料)從一個應用程式轉移到另一個應用程式,或在應用程式與 Facebook 粉絲專頁收件匣或 Instagram 收件匣之間轉移,對話的控制權必須從一個應用程式傳遞到另一個應用程式。交接通訊協定使得這個轉移作業能夠進行。

根據預設,當顧客傳送訊息以開始對話時,對話為閒置。應用程式將透過 Webhooks 收到一則通知,表示已收到一則訊息且正在等待回應。為了接收此通知,應用程式需要訂閱交接的特定 Webhooks。

任何應用程式都可以在對話閒置時控制對話。控制對話的應用程式具有回應訊息的專有能力。一次只有一個應用程式具有控制權,而其他應用程式在控制的應用程式解除控制權之前無法傳送訊息。一旦應用程式解除控制權,對話就會恢復閒置狀態,然後下一個應用程式便能控制。

針對控制對話的應用程式,該應用程式將收到來自傳訊 Webhooks 的通知。所有其他應用程式都將收到交接的特定 Webhooks 發出的通知。

如果 24 小時內沒有收到任何活動,對話將自動恢復閒置狀態。如有需要,具有控制權的應用程式可以將控制權延長至 24 小時以上。

如果沒有對話控制權的應用程式嘗試傳送訊息給某人,系統就會傳回 400 錯誤,錯誤子代碼為 2018300

主要接收器

如果您希望在收到訊息時由特定應用程式處理訊息,可以將該應用程式指派為主要接收器。主要接收器接收對話的所有新訊息,可將控制權轉移到另一個應用程式或 Facebook 粉絲專頁收件匣或 Instagram 收件匣,並可在必要時從另一個應用程式接收對話控制權。非主要接收器應用程式結束對話並釋出控制權時,對話會設為閒置

如果對話閒置,而有用戶傳送新訊息到您的粉絲專頁或帳號,主要接收器即擁有對話控制權,並且會收到新訊息的相關 Webhook 通知。

注意:設定主要接收器並非必要作法。

收件匣

不能將 Facebook 粉絲專頁收件匣或 Instagram 收件匣指派為主要接收器。不過,如果您將訊息移到主資料夾,或在非收件匣控制的對話中回覆訊息,則由收件匣取得對話控制權。如果您回覆收件匣中標記為完成的訊息,則控制權仍在前一個控制應用程式的主要接收器(如果設定),或將解除為閒置狀態。

對話進入點

使用 Messenger 發訊 (CTM) 對話進入點時,可以將對話指派至特定的應用程式。企業可以使用 CTM 與客戶開始對話,以產生潛在客戶、提高品牌知名度等。

常駐功能表

除非設定了主要接收器,否則任何應用程式都可以設定粉絲專頁層級功能表。如果設定了主要應用程式,則只有主要應用程式能設定或刪除粉絲專頁級功能表。

控制對話的應用程式可以設定或刪除用戶層級功能表,即使該應用程式不是主要接收器,任何應用程式都可以在對話閒置時設定用戶層級功能表。

當顧客從功能表中選擇一個項目時,建立功能表的應用程式將取得對話控制權。這是因為已設定建立功能表的應用程式將處理該資料。

回傳行動呼籲

當顧客點擊回傳行動呼籲 (CTA) 時,建立回傳 CTA 的應用程式將取得對話的控制權,即使另一個應用程式擁有控制權。這是因為已設定建立回傳 CTA 的應用程式將處理該資料。

顧客問卷調查

如果在另一個應用程式控制對話時傳送問卷調查,則在應用程式解除控制權且對話處於閒置狀態之前,不會傳遞問卷調查。

元件

為您的 Facebook 粉絲專頁訂閱的訊息應用程式成功實作交接通訊協定需要以下元件。

存取權杖

若要呼叫交接通訊協定端點,需要有可在粉絲專頁上執行 MODERATE 任務之用戶所要求的粉絲專頁存取權杖。

應用程式審查

具有以下用途的應用程式需要進行應用程式審查:

  • 提供不具備應用程式相關角色的用戶使用
  • 允許真人客服回應顧客

真人客服功能

如果應用程式通過應用程式審查,獲准使用真人客服功能,且訊息中包含真人客服標籤,即使該應用程式沒有對話控制權,還是可以傳送訊息給用戶。這是沒有對話控制權的應用程式可以傳送訊息的唯一情況。

權限

應用程式需要 pages_messaging 權限,才能向顧客要求存取訊息資料的權限。

Webhooks

在交換通訊協定中,應用程式應該訂閱兩組 Webhooks,傳訊 Webhooks 和待命 Webhooks。應用程式接收的通知取決於對話控制權。如果應用程式控制對話,則應用程式將接收傳訊 Webhooks 通知。如果應用程式未控制對話,則應用程式將接收待命 Webhooks 通知。

常見用途

顧客支援

企業使用應用程式解決常見問題的自動化體驗,但如果自動化體驗不能解決客戶的問題,則將客戶轉移到另一個應用程式以提供即時支援。自動化應用程式設為主要接收器,因此所有對話都歸自動化應用程式所有。當真人支援客服需要加入對話時,即時支援應用程式可以要求對話控制權。真人客服應用程式完成對話後,應將對話控制權傳回至自動化應用程式。如果真人客服應用程式需要更多時間來處理客戶的問題,應用程式可以申請延長。兩個應用程式都應該訂閱 Webhooks 以確保對話正常進行。

行銷活動 – 產品潛在顧客

商家展開行銷活動,並使用自動化體驗評定潛在顧客,或是根據商品小測驗提供商品推薦。商家在評定潛在顧客後,使用 Facebook 粉絲專頁收件匣或 Instagram 收件匣繼續追蹤該潛在顧客。自動化應用程式設為主要接收器,因此所有對話都歸自動化應用程式所有。自動化應用程式完成潛在顧客評定階段後,對話控制權會傳遞給 Facebook 粉絲專頁收件匣或 Instagram 收件匣。在 Facebook 粉絲專頁收件匣或 Instagram 收件匣中完成對話後,將對話標示為完成。這會將對話控制權釋出給主要應用程式。兩個應用程式都應該訂閱 Webhooks 以確保對話正常進行。

行銷活動 - Messenger 發訊廣告

商家展開行銷活動並將潛在客戶傳送到自動化應用程式,以獲得特定的 Messenger 體驗。自動化應用程式設為主要接收器,因此所有對話都歸自動化應用程式所有。當真人支援客服需要加入對話時,即時支援應用程式可以要求對話控制權。真人客服應用程式完成對話後,應將對話控制權傳回至自動化應用程式。如果真人客服應用程式需要更多時間來處理客戶的問題,應用程式可以申請延長。兩個應用程式都應該訂閱 Webhooks 以確保對話正常進行。

最佳作法

  1. 建議將自動化體驗設為主要接收器應用程式,並將任何線上服務人員應用程式設為非主要應用程式。最好是由線上服務人員應用程式接聽待命事件,除非有需要,否則不要採取行動。
  2. 務必使用「取得對話串控制權 API」來檢查您是否握有對話串控制權,然後視情況呼叫其他 API。如果您沒有控制權,請勿插話或介入。
  3. 請確保您不會在其他應用程式握有對話控制權時,嘗試傳送訊息至對話串。如果您是主要應用程式,請只在您看到需要時,才使用「取得對話串控制權 API」。在非緊急的情況下,或您是非主要應用程式時,請要求對話串控制權。
  4. 無論如何,都務必尊重來自任何其他應用程式的要求對話串控制權事件,並將對話串控制權傳遞給提出要求的應用程式。如果您因故無法立即傳遞對話串控制權,請使用「傳遞中繼資料 API」,將其他背景資料傳送給提出要求的應用程式,並將其排入您完成對話後將傳遞對話串控制權的佇列。
  5. 如果您已完成對話,請將對話串控制權傳遞給仍在佇列中,先前提出要求的應用程式,或將對話串控制權解除至閒置模式,讓任何其他應用程式能夠接手該對話串。否則,24 小時後,對話串會自動從您的應用程式解除,並進入閒置模式。將此情境編碼,其相關狀態會進行相應的變更。
  6. 如果您呼叫「取得對話串控制權 API」,而發現對話串閒置,請使用「要求對話串控制權」來取得對話串控制權,這樣您就可以獨自傳送訊息給用戶而不受干擾,完成對話後再解除控制權。

後續步驟

現在您已經瞭解交換通訊協定的作業原理,要實作該通訊協定,您需要: