本文件提供常見問題的回答。
應用程式可透過應用程式網站使用 Facebook 登入 進行安裝,並會授予特定粉絲專頁 pages_messaging 權限。經授權的應用程式會顯示於進階訊息內的粉絲專頁設定中。
是的,單一 Facebook 應用程式可以訂閱至多個粉絲專頁。一旦進行應用程式審查(例如 pages_messaging 權限),該應用程式就能夠訂閱以接收多個頁面上的 Webhook。您可以根據承載自行決定取得每個 Webhook 的環境。
若要參閱 GDPR 和 Messenger 開放平台的常見問題,請瀏覽 Messenger 開放平台及一般資料保護規章。
使用「傳送到 Messenger」外掛程式時,您可使用 data-ref 參數作為傳遞參數,以傳遞任何有關點擊內容的資訊。
用戶也可能透過在 Messenger 中搜尋來探索您的粉絲專頁。在這種情況下,您就沒有傳遞參數。您可使用帳號連結功能,將對話串與您網站上的用戶帳號建立關聯。
當應用程式處於開發模式,僅應用程式的管理員、開發人員和測試人員才可看見這個外掛程式。在應用程式經過審查並獲批准後,您就可在「應用程式主控板」的「應用程式審查」頁籤中公開應用程式。
No. Unlike subscriptions where a business can send multiple messages to people on a recurring basis, the one-time notification API limits the business to a single message per user request. If the person engages with the message, the standard messaging window will reopen.
Yes. Pages interested in using the One-time Notification API need to apply for permission. Go to the Advanced Messaging section of your Page Settings and consent to the terms. A Page will be granted permission if the Page meets our criteria.
Common uses of the API include various promotional and non-promotional use cases where the User explicitly requested a follow-up. Examples include:
Your Page is not allowed to send a notification on a topic for which the User has not agreed to receive a notification. Please see the Usage and Restrictions and Limitations sections of the One-time Notification guide for more information.
A Page can send multiple requests however, the 24-hour policy will be applied to all the requests being sent. We also have controls in place to prevent spamming users with multiple requests.
The 24 hour standard messaging window will open only if the user interacts with the opt-in message. The behavior is consistent with interactions with other elements in the Messenger experience.
Pages will need to subscribe to message_optins webhook to receive notifications about User consent.
Once a person asks to be notified, the Page will receive a token which is equivalent to a permission to send a single message to the person. The token can be used to send a message to the person outside the 24 hour window. The token can only be used once and unused tokens will expire within 1 year of creation.
Yes. However, while it is possible to send another notification request using an existing token, there is no clear benefit for the business to send these type of requests.
Token is for one-time use only. Once a token is used it can not be used again.
No. The API does not return tokens available to a Page.
Page level. Permissions for the One-time Notification API are given at the Page level.
No. The app does not need to specify any message tags when sending a message outside the 24-hour standard messaging window using this API.
發生這類錯誤可能有以下幾個原因:
針對 Messenger 平台整合,使用平台測試用戶的因應措施如下:
https://graph.facebook.com/v2.6/me/accounts?access_token=[TEST_USER_ACCESS_TOKEN](說明文件)
https://graph.facebook.com/v2.6/me/subscribed_apps?method=POST&access_token=[TEST_USER_PAGE_ACCESS_TOKEN](說明文件)
GET /oauth/access_token? grant_type=fb_exchange_token& client_id={app-id}& client_secret={app-secret}& fb_exchange_token={short-lived-token}
Bot 可以同時包含這兩種類型的訊息。用戶必須透過合格的觸發動作來觸發標準平台訊息,並且選擇接收訂閱訊息。
技術上而言,Bot 無法在超過 24 小時後發送一次以上的訊息給用戶(訊息不會傳送)。在現有 Bot 的過渡期間,這些訊息會完成發送,但是如果系統發現這種情況,就會標示異常。
不行,Messenger 開放平台沒有提供這樣的 API,無法針對所有曾選擇從 Bot 接收訊息的用戶,傳回 PSID 清單。
對 Webhook 發出的呼叫會在標頭中包含名為 X-Hub-Signature 的欄位,您可使用這個欄位來驗證呼叫是否來自 Facebook。
請確定 Webhook 以狀態代碼 200 回應。這樣會告知我們已成功收到 Webhook。如果您未傳回狀態代碼 200,我們會重新嘗試呼叫,直到成功完成為止。此外,如果 Webhook 很長一段時間都未傳回狀態代碼 200,我們就會傳送開發人員重要通知。
另請注意,成功狀態代碼必須即時傳回。Webhook 呼叫會在 20 秒後逾時。請務必在設計程式碼架構時,以非同步的方式處理 Webhook,以便可立即傳回成功狀態代碼,然後分別處理 Wehbook。
我們提供一個可顯示最新 Webhook 錯誤的工具。在 Webhooks 無法傳遞的情況下,Facebook 伺服器會取消訂閱您的網址。若要尋找該工具,請依序點擊「應用程式主控板」>「Messenger」>「設定」,在 Webhooks 卡中找到名為「顯示最新錯誤」的按鈕