傳送訊息

本文件說明若要使用 Meta 的 Messenger 開放平台,從 Instagram 專業帳號傳送任意形式的訊息給顧客或對您帳號感興趣的用戶,需要哪些必備條件。

您可以傳送包含以下內容的任意形式訊息:

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

準備工作

本指南假設您已閱讀 Messenger 開放平台總覽,並且已實作所需的組件(例如連結 Instagram 專業帳號的 Facebook 粉絲專頁(或測試粉絲專頁))、註冊為 Meta 開發人員,以及在應用程式主控板中使用 Messenger > Instagram 訊息產品,建立商業應用程式編號。

您可能還需要檢查 Meta 開發人員平台 的狀態,確認沒有問題。

需求

  • 連結至 Instagram 專業帳號的 Facebook 粉絲專頁編號
  • 傳送訊息至您的商家之顧客的 Instagram 範圍編號
  • 用戶要求的粉絲專頁存取權杖,該用戶能夠在連結您的 Instagram 專業帳號的 Facebook 粉絲專頁上執行 MESSAGE 任務
  • instagram_manage_messages 權限

限制

  • 具有標準存取權限的應用程式只能傳送訊息給在應用程式中擁有角色的用戶
  • 媒體附件可為:
媒體類型支援的格式支援的大小上限

音訊

acc、m4a、wav、mp4

25MB

圖像

png、jpeg、gif

8MB

影片

mp4、ogg、avi、mov、webm

25MB

如需更多有關媒體附件的資訊,請參閱上傳 Instagram 訊息的媒體

傳送基本訊息

若要傳送包含文字或連結的訊息,請使用包含 Instagram 範圍編號(IGSID)的 recipient 參數,以及包含文字或連結的 message 參數,傳送 POST 要求至 /PAGE-ID/messages 端點。

訊息文字必須為 UTF-8 且不超過 1,000 個位元組。連結必須是有效格式的網址。

範例要求

格式化使讀取更為方便。

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 的貼文,請使用包含 Instagram 範圍編號(IGSID)的 recipient 參數,以及包含 attachment 物件(其中 type 設為 MEDIA_SHARE,而 payload 包含該貼文的媒體編號)的 message 參數,傳送 POST 要求至 /PAGE-ID/messages 端點。

您的商家必須擁有要用在訊息中的媒體。

範例要求

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"
}

傳送貼圖

若要傳送愛心貼圖,請使用包含 Instagram 範圍編號(IGSID)的 recipient 參數,以及包含 attachment 物件(其中 type 設為 like_heart)的 message 參數,傳送 POST 要求至 /PAGE-ID/messages 端點。

範例要求

格式化使讀取更為方便。

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"
}

對訊息傳達心情

若要傳達心情,請使用包含 Instagram 範圍編號(IGSID)的 recipient 參數,以及所要 react(傳達心情)的 sender_action 參數(其中 payload 包含的 message_id 設為所要套用心情之訊息的編號,而 reaction 設為 love),傳送 POST 要求至 /PAGE-ID/messages 端點。

範例要求

採用方便閱讀的格式。

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",
}'

若要從訊息中移除心情,請使用包含 Instagram 範圍編號(IGSID)的 recipient 參數,以及所要 unreact(移除心情)的 sender_action 參數(其中 payload 包含的 message_id 設為要從中移除心情之訊息的編號),傳送 POST 要求至 /PAGE-ID/messages 端點。

範例要求

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"
}

後續步驟

另請參閱

開發人員支援