這份文件已更新。
中文(香港) 的翻譯尚未完成。
英文更新時間:5月2日

傳送訊息

本文件會介紹您需要符合哪些條件,才能透過 Messenger Platform from Meta 為 Instagram 專業帳戶向顧客或對您帳戶感興趣的用戶傳送自由格式的訊息。

您可以傳送包含下列項目的自由格式訊息:

  • 圖片、影片、GIF 或音訊
  • 心情或貼圖
  • 文字,包括連結

準備工作

本指南假定您已閱讀 Messenger 平台概覽,並且已執行所需的元件(例如已連結至您 Instagram 專業帳戶的 Facebook 專頁或測試專頁)、註冊成為 Meta 開發人員,以及在應用程式管理中心的「Messenger」>「Instagram 訊息」產品之下建立商業應用程式編號。

您還可能需要查看 Meta 開發人員平台的狀態 ,以確保一切正常。

準備事項

  • 已連結至您 Instagram 專業帳戶的 Facebook 專頁編號。
  • 向您企業傳送訊息的顧客之 Instagram 範圍編號。
  • 專頁存取憑證,由可以在已連結您 Instagram 專業帳戶的 Facebook 專頁上執行 `MESSAGE` 任務的用戶所要求。
  • instagram_manage_messages 權限。

限制

  • 擁有一般存取權限的應用程式只可向擁有應用程式角色的用戶傳送訊息
  • 媒體附件可以是:
媒體類型支援的格式支援的大小上限

音訊

acc、m4a、wav、mp4

25 MB

圖像

png、jpeg、gif

8 MB

影片

mp4、ogg、avi、mov、webm

25 MB

如要獲取有關媒體附件的更多資訊,請參閱上載用於 Instagram 訊息的媒體

傳送基本訊息

如要傳送包含文字或連結的訊息,請向 /PAGE-ID/messages 端點傳送 POST 要求,其中需要加入含有 Instagram 範圍編號(IGSID)的 recipient 參數,以及含有相關文字或連結的 message 參數。

訊息文字必須採用 UTF-8 格式,且位元組數量不可超過 1000。連結必須是已設定格式的有效網址。

要求範例

已設定格式以便閱讀。

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id":"IGSID"}&message={"text":"TEXT-OR-LINK"}'

API 回應範例

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

{
  "recipient_id": "IGSID",
  "message_id": "MESSAGE-ID"
}

傳送已發佈的帖子

如要傳送包含已發佈至 Instagram 的帖子之訊息,請將 POST 要求傳送至 /PAGE-ID/messages 端點,並且加入含有 Instagram 範圍編號(IGSID)的 recipient 參數、含有 attachment 物件的 message 參數,其中 type 設定為 MEDIA_SHARE,以及包含帖子 Meta 編號的 payload

訊息中所用的媒體必須為您的企業所有。

要求範例

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id":"IGSID"}&message={
      "attachment": 
        {
          "type":"MEDIA_SHARE", 
          "payload":{"id":"POST-ID"}
        }
}’

API 回應範例

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

{
  "recipient_id": "IGSID",
  "message_id": "MESSAGE-ID"
}

傳送貼圖

如要傳送愛心貼圖,請將 POST 要求傳送至 /PAGE-ID/messages 端點,並且加入含有 Instagram 範圍編號(IGSID)的 recipient 參數,以及含有 attachment 物件的 message 參數,其中 type 設定為 like_heart

要求範例

已設定格式以便閱讀。

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id":"IGSID"}&message={
      "attachment": 
        {
          "type":"like_heart"
        }
}’

API 回應範例

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

{
  "recipient_id": "IGSID",
  "message_id": "MESSAGE-ID"
}

對訊息表達心情

如要傳送心情,請將 POST 要求傳送至 /PAGE-ID/messages 端點,並且加入含有 Instagram 範圍編號(IGSID)的 recipient 參數、已設定為 reactsender_action,以及已將 message_id 設定為要套用心情的訊息編號;reaction 設定為 lovepayload

要求範例

已設定格式以便閱讀。

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id":"IGSID"}&sender_action=react&payload={
      "message_id":"MESSAGE-ID",
      "reaction":"love",
}'

如要從訊息中移除心情,請將 POST 要求傳送至 /PAGE-ID/messages 端點,其中需要加入含有 Instagram 範圍編號(IGSID)的 recipient 參數、已設定為 unreactsender_action,以及已將 message_id 設定為要從中移除心情之訊息編號的 payload

要求範例

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id”:”IGSID”}&sender_action="unreact"&payload={
      “message_id":"MESSAGE-ID",
}'

回應範例

成功的話,應用程式就會收到對於表達心情/取消表達心情要求的以下 JSON 回應:

{
  "recipient_id": "IGSID"
}

後續步驟

另請參閱

開發人員支援