營銷訊息

本文件介紹了如何要求用戶授予權限以向其傳送營銷訊息、與傳送要求相關的具體規定和限制,以及建立和傳送營銷訊息權限要求的方法。

訊息頻率

由 2023 年 1 月 31 日起,notification_messages_frequency 已停用,並且在您傳送選擇接收營銷訊息的要求時,系統不再要求設定訊息頻率。

  • 2023 年 1 月 31 日前按每週和每月頻率建立的通知憑證仍受支援。此類憑證的訊息頻率將不會變更,並且系統會在選擇接收訊息的 Webhook 通知中傳回 notification_messages_frequency

憑證過期和重新選擇接收

由 2023 年 8 月 10 日起,通知憑證將不再設期限。我們也不會再傳送重新選擇接收要求和選擇停用提醒。

概覽

有了營銷訊息,Facebook 專頁或 Instagram 專業帳戶可以在標準訊息時限以外,向授予您相關權限的用戶傳送訊息,並可與對您或您企業感興趣的用戶建立關係。

營銷訊息是一項全新的選用進階功能,且我們計劃日後就此項功能收取費用。我們現時會向使用 WhatsApp Business API 傳送訊息的企業收費,並正在收集顧客意見,以助制定我們的定價模式。如對免費試用期作出任何變更,我們會預留充足時間以提前通知顧客和合作夥伴。

必要條件

  • 在使用營銷訊息服務或其他 Messenger 平台功能時,您必須遵守所有適用的《開發人員政策

  • 您只能在標準訊息時限內向用戶傳送要求,以供其選擇接收營銷訊息。用戶選擇接收營銷訊息的操作並不會使系統開始計算這個標準訊息時限

  • 您的應用程式和/或訊息體驗不得收到過多的負面意見。若我們判斷您應用程式的訊息體驗收到過多來自用戶的負面意見,則其訊息功能或會受限或遭移除

  • 您不得使用選擇接收訊息的要求及其他營銷訊息服務,向用戶傳送任何垃圾訊息。這包括向同一位或同一批用戶頻繁傳送重複的選擇接收訊息要求,以及傳送我們《開發人員政策》所定義的其他垃圾訊息類型

  • 您必須遵循我們針對 Messenger 平台功能和營銷訊息服務所設的限制,方可繼續享有我們為您提供的服務範圍

限制

  • 您每星期只能向每位用戶就同一特定標題傳送 1 項選擇接收通知的要求。這當中包括「更新內容和推廣活動」的預設值
  • 切勿向用戶傳送重複的選擇接收通知要求。重複的選擇接收通知要求是指 Facebook 專頁的通知具有相同 title,或 Instagram 專業帳戶的通知具有相同 titleimage_url
  • 您在標準訊息時限內只能傳送選擇接收訊息的要求
  • 用戶選擇接收營銷訊息的操作並不會使系統開始計算標準訊息時限
  • 您只可查看用戶是否已選擇接收營銷訊息,但無法查看待回覆選擇接收訊息要求的狀態
  • 若用戶選擇停止接收營銷訊息,系統便不會再向該用戶傳送您的訊息,而您亦會收到錯誤訊息
  • 用戶可封鎖或舉報您的訊息,亦可關閉其通知
  • 如果 Instagram 專業帳戶希望傳送營銷訊息,一般來說可在 7 天內就不同標題向每位用戶傳送最多 10 項選擇接收訊息的要求。另外,每天只可向同一位用戶傳送最多 5 項此類要求。然而,傳送選擇接收通知的要求前,您亦應考慮用戶會否覺得每項這類要求均與其相關且具有價值

由於我們一直致力提供最出色的用戶和業務體驗,這些必要條件和限制可能會有所變動。

最佳操作實例

您應該向用戶傳送與其相關,且能為其帶來價值的營銷訊息,從而透過以下方式締造優質用戶體驗:

  • 您的選擇接收訊息要求(包括標題和圖像)列明用戶將會收到的營銷訊息類型,例如訂單更新、商品推薦或特定優惠

  • 在向用戶傳送多於 1 項選擇接收訊息要求時,每項這類要求均應該清楚說明用戶將會收到的各種具體營銷訊息類型

營銷訊息應與實際使用案例相關且按其情況度身訂造,以確保此類訊息較有機會能為用戶帶來價值。

用戶可提供有關您訊息體驗的意見,包括封鎖您的訊息,而這可能會導致您的營銷訊息功能受限。請務必定期審視自己的選擇接收訊息要求和營銷訊息,以確保相關內容符合上述各項最佳操作實例。

訊息頻率

適用於 2023 年 2 月 2 日之前建立的通知訊息憑證。

  • 用戶選擇接收訊息後,您便可根據用戶在選擇接收訊息時所選的接收頻率,每日每週每月向其傳送訊息。

要求獲得權限以傳送營銷訊息

用戶必須授予權限並選擇接收訊息,才會從您的 Facebook 專頁或 Instagram 專業帳戶接收營銷訊息。Messenger 平台為您提供了多種讓用戶選擇接收訊息的方式。您可以將選擇接收訊息的要求置入以下通訊體驗:

選擇接收訊息要求的範例

如要傳送選擇接收營銷訊息的要求,請將 POST 要求傳送至 /PAGE-ID/messages 端點,其中訊息範本類型需要設為 notification_messages。專頁編號是指 Facebook 專頁或連結至 Instagram 專業帳戶之 Facebook 專頁的編號。

備註:若營銷訊息包含來自您 Facebook 專頁 Instagram 專業帳戶 的輪播廣告,則必須設定 title 參數。

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"PSID-OR-IGSID"
  },
  "message":{
    "attachment":{
      "type":"template", 
      "payload":{
         "template_type":"notification_messages", 
         "notification_messages_timezone": "UTC",
         "title":"TITLE",
         "image_url":"IMAGE-URL",
         "payload": "ADDITIONAL-WEBHOOK-INFORMATION",
      }
    }
  }
}' "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=PAGE-ACCESS-TOKEN"

成功的話,您的應用程式將收到以下 JSON 回應,當中包括傳送對象編號和訊息編號。

{ 
        "recipient": {
          "id":"PSID-OR-IGSID",
          "message_id":"MESSAGE-ID",
}

Message Attachment 物件參考資料

如果是選擇接收營銷訊息的要求,您必須將 messageattachment JSON 物件加入 POST 要求,再傳送給 /PAGE-ID/messages 端點。

屬性說明

type

列舉 { template }

此為必要項目。值必須為 template

payload

物件

在此選擇接收營銷訊息的要求中,營銷訊息所包含的內容,包括範本類型、標題、訊息頻率、訊息選項等

elements
陣列

此為輪播內容的必要項目。此陣列包含用以描述選擇接收通知設定的素材物件。每個素材物件都必須包含 payloadnotification_messages_frequency,而且可以包含自訂 titleimage_urlnotification_messages_reoptin。系統支援最少 1 個和最多 5 個素材。

image_aspect_ratio
列舉 { HORIZONTAL, SQUARE }

圖像的長闊比例。

  • SQUARE:顯示正方形圖像 (1:1)。必要時會裁剪圖像
  • HORIZONTAL:顯示橫向圖像 (1.91:1)。必要時會裁剪圖像
image_url
字串

範本中顯示的圖像之網址

notification_messages_frequency
列舉 { DAILY, WEEKLY, MONTHLY }

已不適用於 2023 年 2 月 2 日後建立的憑證。預設為 DAILY。此選擇接收營銷訊息要求的訊息頻率。

  • DAILY:選擇在每 24 小時接收 1 則通知
  • WEEKLY:選擇每 7 天接收 1 則通知
  • MONTHLY:選擇每 1 個月接收 1 則通知
notification_messages_cta_text
列舉 { ALLOW, GET, GET_UPDATES, OPT_IN, SIGN_UP }

呼籲字句按鈕上顯示的文字

  • ALLOW:將選擇接收訊息按鈕的文字設為「允許傳送訊息」
  • GET:將選擇接收訊息按鈕的文字設為「接收訊息」
  • GET_UPDATES:將選擇接收訊息按鈕的文字設為「取得最新消息」,這也是在未設定 notification_messages_cta_text 時的預設選項
  • OPT_IN:將選擇接收訊息按鈕的文字設為「選擇使用訊息功能」
  • SIGN_UP:將選擇接收訊息按鈕的文字設為「訂閱以接收訊息」
notification_messages_timezone
字串

接收訊息的用戶之時區

payload
字串

此為必要項目。此選擇接收營銷訊息要求的營銷訊息類型,如推廣訊息或商品發佈訊息

template_type
列舉 { notification_messages }

此為必要項目。值必須為 notification_messages

title
字串

範本中顯示的標題不能超過 65 個字元。如未指派任何值,該值會預設為「更新內容和推廣活動」

通知訊息憑證

用戶選擇接收通知時,您的企業將會收到 messaging_optin Webhooks 通知,當中包含通知訊息憑證,以及選擇接收通知的用戶所選的訊息標題和所在時區等資訊。有了通知訊息憑證,您便可以向有關用戶傳送營銷訊息。

選擇接收 Webhook 通知

{
  "sender": {
    "id": "PSID",
  },
  "recipient": {
    "id": "PAGE-ID",
  },
  "timestamp": "TIMESTAMP",
  "optin": {
    "type": "notification_messages", 
      "payload": "ADDITIONAL-WEBHOOK-INFORMATION",
      "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN", 
      "notification_messages_timezone": "TIMEZONE-ID",
      "token_expiry_timestamp": "TIMESTAMP",
      "user_token_status": "TOKEN-STATUS"  
      "notification_messages_status": "MESSAGE-STATUS", 
      "title": "TITLE-FOR-THE-NOTIFICATION"
    }
}

以下內容僅適用於 2023 年 2 月 2 日前建立,而且頻率為每週或每月的通知訊息憑證。

系統會按定期傳送訊息的頻率產生通知訊息憑證。舉例來說,如果用戶同時選擇每天和每週接收營銷訊息,系統便會分別產生兩個通知訊息憑證。如果用戶同時選擇每天、每週和每月接收營銷訊息,系統便會分別產生 3 個通知訊息憑證。

營銷訊息頻率說明

每週

您每個日曆週只能傳送一則訊息。一個日曆週是指在專頁設定的時區中,由星期一凌晨 12 時至星期日晚上 11 時 59 分的一週。

每月

您每個日曆月只能傳送一則訊息。一個日曆月是指在專頁設定的時區中,由當月首日凌晨 12 時至當月最後一日晚上 11 時 59 分的一個月。

用戶選擇繼續接收營銷訊息後,憑證到期日期將會延長。用戶可隨時選擇退出接收定期通知。

選擇接收跟進訊息

用戶選擇接收營銷訊息後,您最多可以傳送三則跟進訊息。您必須在發出第一則跟進訊息後的兩分鐘內,傳送剩餘兩則訊息。第二則和第三則跟進訊息的字元上限為 250 個。這些跟進訊息可在 24 小時的標準訊息時限以外傳送。

若要傳送跟進訊息,請向 /PAGE-ID/messages 端點傳送 POST 要求,其中需要包括含有通知訊息憑證的 recipient 物件,以及包含跟進訊息文字的 message 物件。所有三則跟進訊息的 API 要求語法均為一致。

要求範例

我們已設定特定格式以便閱讀。
curl -X POST -H "Content-Type: application/json" -d 
    '{ 
        "recipient":{ 
            "notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN" 
        }, 
        "message":{ 
            "text":FOLLOWUP-MESSAGE-TEXT-HERE, 
        } 
    }' 
"https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=TOKEN"

獲取憑證清單

如要獲取包含所有有效通知訊息憑證的清單,請傳送 GET 要求至 /PAGE-ID/notification_message_tokens 端點。

要求範例

我們已設定特定格式以便閱讀。
curl -i -X GET "https://graph.facebook.com/API-VERSION-NUMBER/PAGE-ID/notification_message_tokens
    ?access_token=PAGE-ACCESS-TOKEN"

預設情況下,系統傳回的清單最多包含 25 個憑證,並且按照更新時間排列這些憑證。如要讀取更多憑證,您可以新增 limit 參數。目前,系統傳回的憑證數量上限為 100 個。您可以使用 after 參數以作分頁,但無法使用 before 參數。

成功的話,應用程式就會收到以下 JSON 回應,其中包括憑證、傳送對象的 Instagram 範圍編號或專頁範圍編號、憑證建立時間、通知標題,以及可以向該傳送對象傳送下一則營銷訊息的時間。

{
  "data":[
    {
      "notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN-ID-1",
      "recipient_id":"PAGE-OR-INSTAGRAM-SCOPED-ID-1",
      "notification_messages_reoptin":"RE-OPT-IN-STATUS",
      "creation_timestamp":TIMESTAMP,
      "token_expiry_timestamp":UNIX-TIMESTAMP-EXPIRATION-DATE,
      "user_token_status":"TOKEN-STATUS",
      "topic_title":"NOTIFICATION-TITLE",
      "notification_messages_timezone":"TIMEZONE-ID",
      "next_eligible_time": TIMESTAMP
    },
...
    {
      "notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN-ID-25",
      "recipient_id":"PAGE-OR-INSTAGRAM-SCOPED-ID-25",
      "notification_messages_reoptin":"RE-OPT-IN-STATUS",
      "creation_timestamp":TIMESTAMP,
      "token_expiry_timestamp":UNIX-TIMESTAMP-EXPIRATION-DATE,
      "user_token_status":"TOKEN-STATUS",
      "topic_title":"NOTIFICATION-TITLE",
      "notification_messages_timezone":"TIMEZONE-ID",
      "next_eligible_time": TIMESTAMP
    }
  ],
  "paging":{"cursors":{"before":"QVFIU...","after":"QVFIU..."},"next":"https:\/\/graph.facebook.com\/LATEST-API-VERSION\/PAGE-ID\/notification_message_tokens?access_token=PAGE-ACCESS-TOKEN"}
}

取得憑證資訊

雖然我們建議使用 messaging_optin Webhook 來收集營銷訊息資訊,但您亦可向憑證端點傳送 GET 要求以取得憑證資訊,其中有關端點的 notification_messages_ 中應附有您的憑證,如 notification_messages_NOTIFICATION-MESSAGES-TOKEN

要求範例

我們已設定特定格式以便閱讀。
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/notification_messages_NOTIFICATION-MESSAGES-TOKEN
    ?access_token=PAGE-ACCESS-TOKEN"

成功的話,應用程式就會收到以下 JSON 回應,其中包括通知訊息憑證、訊息接收對象的編號,以及其他憑證資訊。您將可以使用通知訊息憑證和傳送對象的編號傳送營銷訊息。

{
  "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN",
  "recipient_id": "PAGE-OR-INSTAGRAM-SCOPED-ID",
  "creation_timestamp": "TIMESTAMP",
  "token_expiry_timestamp": "TIMESTAMP",
  "user_token_status": "REFRESHED",
  "notification_messages_reoptin": "ENABLED",
  "notification_messages_timezone": "TIMEZONE-ID"
  "next_eligible_time": TIMESTAMP
}

這些 API 呼叫將計入您應用程式的傳輸率限速。

傳送營銷訊息

準備工作

您將需要:

  • 已選擇接收通知的用戶之通知訊息憑證
  • 您企業 Facebook 專頁的編號
  • 由可在專頁上執行 MESSAGING 任務的用戶所要求獲取的專頁存取憑證
  • pages_messaging 權限(使用 Facebook 登入)
  • 要加入營銷訊息的任何素材
  • 您應用程式的 messaging_referrals Webhooks 訂閱

如要傳送營銷訊息,請將 POST 要求傳送至 /PAGE-ID/messages 端點,並在訊息附件中包含傳送對象的 NOTIFICATION-MESSAGES-TOKEN 值和訊息資訊。

限制

  • 對於每個通知訊息憑證,您每天只能傳送 1 則訊息。如需傳送多則訊息,請務必將後續訊息延遲 24 小時,否則您將收到錯誤。(不適用於選擇接收跟進訊息)。

建議

  • 強烈建議您在傳送營銷訊息時考慮傳送對象的所屬時區,以確保傳送對象在適宜的時間收到訊息。

要求範例

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN"
  },
  "message":{
    "attachment":{
      "type":"template",
      "payload":{
        "template_type":"generic",
        "elements":[
           {
            "title":"Welcome!",
            "image_url":"https://raw.githubusercontent.com/fbsamples/original-coast-clothing/main/public/styles/male-work.jpg",
            "subtitle":"We have the right hat for everyone.",
            "default_action": {
              "type": "web_url",
              "url": "https://www.originalcoastclothing.com/",
              "webview_height_ratio": "tall"
            },
            "buttons":[
              {
                "type":"web_url",
                "url":"https://www.originalcoastclothing.com/",
                "title":"View Website"
              },{
                "type":"postback",
                "title":"Start Chatting",
                "payload":"ADDITIONAL-WEBHOOK-INFORMATION"
              }              
            ]      
          }
        ]
      }
    }
  }
}' "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=PAGE-ACCESS-TOKEN"

成功的話,應用程式將會收到以下回應:

{ 
  "recipient": "PAGE-OR-INSTAGRAM-SCOPED-ID",
  "message_id": "MESSAGE-ID"      
}

測試營銷訊息

您隨時可以測試營銷訊息。

準備工作

您將需要:

  • 擔任測試人員以接收通知的用戶,這位用戶需在應用程式中擁有角色

測試選擇接收訊息功能

您隨時可以按照下列步驟來測試營銷訊息。

  • 第 1 步:使用選擇接收營銷訊息範本向測試人員傳送一則訊息。
  • 第 2 步:確保測試人員點擊對話中的選擇接收通知按鈕,例如「接收 50% 折扣特價訊息」。
  • 第 3 步:向測試人員傳送第一則營銷訊息
  • 第 4 步:developer_action 參數設定為 ENABLE_FOLLOWUP_MESSAGE,以在傳送第一則訊息後立即傳送另一則營銷訊息。
  • 第 5 步:向測試人員傳送另一則營銷訊息,即您的測試訊息。

要求範例

我們已設定特定格式以便閱讀。
curl -X POST "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/notification_messages_dev_support
    ?recipient={
        "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN"
    }
    &developer_action=ENABLE_FOLLOWUP_MESSAGE
    &access_token=PAGE-ACCESS-TOKEN"

成功的話,應用程式就會收到以下 JSON 回應,其中包含設為 truesuccess

{ "success": true }

如要測試重新選擇接收通知功能,請重複第 4 步中的操作,並將 developer_action 參數設定為 SEND_RE_OPTIN

後續步驟

另請參閱

開發人員支援