傳送 API 參考資料

「傳送 API」是傳送訊息給用戶時所使用的主要 API,內容包括文字、附件、範本、傳送者動作等等。

建立

建立訊息並向您的顧客或對您的 Facebook 粉絲專頁感興趣的人傳送訊息。

準備工作

必備資料:

  • 可在粉絲專頁執行 MESSAGE 工作的用戶所要求的粉絲專頁存取權杖
  • pages_messaging 權限
  • 訊息收件人必須在過去 24 小時內向您的粉絲專頁傳送訊息,或同意在標準 24 小時訊息期限外接收您的粉絲專頁訊息

限制

  • 訊息標籤不能用於傳送促銷內容

請注意,傳送 API 不包含用於識別訊息接收者的 recipient_id (在使用 recipient.user_refrecipient.phone_number 所傳送訊息的回應中)。

要求範例

若要傳送訊息給用戶,請向 /PAGE-ID/messsages 端點傳送 POST 要求,並設定 messaging_typerecipient 參數以及包含訊息內容。

採用方便閱讀的格式。

下列範例是針對用戶訊息的回覆,其中您的粉絲專頁僅傳送文字訊息。

curl -X POST "https://graph.facebook.com/v21.0/{PAGE_ID}/messages" \
      -d "recipient={'id':'{PSID}'}" \
      -d "messaging_type=RESPONSE" \
      -d "message={'text':'hello, world'}" \
      -d "access_token={PAGE_ACCESS_TOKEN}"

成功時,應用程式會收到下列 JSON 回應:

{
  "recipient_id": "PAGE-SCOPED-ID",
  "message_id": "AG5Hz2U..."
} 

參數

參數說明

message

物件

粉絲專頁傳送的訊息類型。使用此參數時,必須設定 textattachement

  • attachment 物件 - 預覽網址。用於傳送含媒體的訊息或結構化訊息。必須設定 textattachment

    • type - 附件類型。可為 audiofileimagetemplatevideo。檔案大小上限為 25 MB
    • payload - 包含範本內容檔案內容的物件
  • metadata - 要在 message_echo Webhook 中傳遞的其他資料字串。必須少於 1000 個字元

  • quick_replies - 要在訊息中傳送的快速回覆陣列
  • text - 僅包含文字的訊息。必須是 UTF-8 且小於 2000 個字元。

messaging_type

列舉

必要項目

所傳送訊息的訊息類型

  • RESPONSE - 訊息用以回覆收到的訊息。包含 24 小時標準訊息期限內傳送的推廣和非推廣訊息。例如,當用戶要求確認預約或近況更新時,可使用此標籤回覆。
  • UPDATE - 主動傳送的訊息,而不是回覆收到的訊息。包含 24 小時標準訊息期限內傳送的推廣和非推廣訊息。
  • MESSAGE_TAG - 非推廣訊息,使用訊息標籤24 小時標準訊息期限外傳送。這類訊息必須符合所允許的標籤使用案例。

notification_type

列舉

用戶將收到的推播通知類型

  • NO_PUSH - 沒有通知
  • REGULAR(預設)- 用戶收到訊息時的聲音或振動
  • SILENT_PUSH - 僅限螢幕上通知

recipient

物件

必要項目

粉絲專頁傳送之訊息的收件用戶

  • id - 用於在過去 24 小時內傳送訊息以回覆粉絲專頁所收到之訊息的用戶粉絲專頁範圍編號,或是已同意在標準 24 小時訊息期限外接收粉絲專頁訊息的用戶粉絲專頁範圍編號
  • user_ref - 用於傳送訊息以回覆核取方塊或顧客洽談外掛程式的用戶參考資料
  • comment_id - 用於透過私密回覆方式傳送訊息以回覆粉絲專頁貼文之訪客留言的留言編號
  • post_id - 用於透過私密回覆方式傳送訊息以回覆粉絲專頁之訪客貼文的粉絲專頁貼文編號

sender_action

列舉

訊息視窗中顯示的動作圖示,表示粉絲專頁收到用戶訊息時對其採取的動作。

  • typing_on - 當粉絲專頁準備回覆時,顯示輸入氣泡
  • typing_off - 不顯示輸入氣泡
  • mark_seen - 顯示已由粉絲專頁讀取的訊息已讀圖示

只能使用 recipient 參數傳送。不能使用 message 參數傳送,但必須以個別要求的方式傳送。

tag

列舉

讓您的粉絲專頁能夠在標準 24 小時訊息期限外傳送訊息給用戶的標籤。

  • ACCOUNT_UPDATE - 將傳送給顧客的訊息,標記為對其應用程式或帳號的非定期更新。查看允許的使用方式。

    不適用於 Instagram 傳訊 API。

  • CONFIRMED_EVENT_UPDATE - 將傳送給顧客的訊息,標記為近期活動的提醒或顧客註冊之進行中活動的更新。查看允許的使用方式。

    不適用於 Instagram 傳訊 API。

  • CUSTOMER_FEEDBACK - 將傳送給顧客的訊息,標記為顧客意見回饋問卷調查。顧客意見回饋問卷調查必須在顧客發送最後一則訊息後的 7 天內傳送。查看允許的使用方式。

    不適用於 Instagram 傳訊 API。

  • HUMAN_AGENT - Instagram 傳訊 API 的必要項目。將此標籤新增至傳送給用戶的訊息時,允許真人客服回覆用戶的訊息。訊息可在用戶發送訊息後的 7 天內傳送。真人客服支援適用於無法在標準訊息期限內解決的問題。查看允許的使用方式。
    • 應用程式將需要透過開發人員應用程式主控板申請 Human Agent 權限。前往應用程式主控板 -> 應用程式審查 -> 權限和功能 -> 真人客服。先前已獲准真人客服權限試用版存取的應用程式無需重新申請存取。

    Human Agent 權限無法在一般存取或開發模式中使用。您必須先完成應用程式審查程序,才能使用真人客服標籤。在提交應用程式審查期間,請提供明確的指示和示範,說明您想要如何在體驗中使用真人客服標籤。

  • POST_PURCHASE_UPDATE - 將傳送給顧客的訊息標記為顧客最近購買行為的更新。查看允許的使用方式。

    不適用於 Instagram 傳訊 API。

訊息標籤使用方式

下表列出每個訊息標籤的傳訊類型。

訊息標籤使用方式

ACCOUNT_UPDATE

允許的使用方式

  • 申請狀態變更通知,例如申請信用卡或應徵工作
  • 可疑活動通知,例如詐騙警示

禁止的使用方式(非完整清單)

  • 推廣內容,包括但不限於優惠、促銷活動、優惠券和定期提供的折扣內容(如對帳單已備妥、帳單到期、新工作機會)
  • 提示進行與 Messenger 中的先前互動無關的任何調查、投票或評論

不適用於 Instagram 傳訊 API。

CONFIRMED_EVENT_UPDATE

允許的使用方式

  • 提醒用戶已安排的近期課程、預約或活動
  • 確認用戶預訂或參加已接受的活動或預約
  • 通知用戶的交通或預定行程,例如到達、取消、行李延誤或其他旅遊狀態變更

禁止的使用方式(非完整清單)

  • 促銷內容,包括但不限於交易、優惠、優惠券和折扣
  • 與用戶未註冊的活動相關的內容(例如,購買活動門票的提醒、其他活動的交叉銷售、旅遊時間表等)
  • 與已結束的活動相關的訊息
  • 提示進行與 Messenger 中的先前互動無關的任何調查、投票或評論

不適用於 Instagram 傳訊 API。

CUSTOMER_FEEDBACK

允許的使用方式

  • 購買支援意見回饋問卷調查
  • 活動意見回饋問卷調查
  • 商品評論

禁止的使用方式(非完整清單)

  • 此標籤僅限用於顧客意見回饋範本,禁止以任何其他形式使用,否則將會失敗。

不適用於 Instagram 傳訊 API。

HUMAN_AGENT

允許的使用方式

  • 真人客服支援無法在 24 小時標準訊息期間內解決的問題,例如解決非正常營業時間的問題,或需要超過 24 小時才能解決的問題

禁止的使用方式(非完整清單)

  • 自動傳送訊息
  • 與用戶查詢項目無關的內容

Instagram 傳訊 API 的必要項目。

POST_PURCHASE_UPDATE

允許的使用方式

  • 交易確認,例如發票或收據
  • 出貨狀態更新,例如產品到貨中、已出貨、已送達或延遲
  • 要求用戶對所下之訂單進行操作的狀態更新,例如信用卡遭拒、預購商品,或其他需要用戶操作的訂單更新

禁止的使用方式(非完整清單)

  • 促銷內容,包括但不限於交易、促銷、優惠券和折扣
  • 交叉銷售或追加銷售產品或服務的訊息
  • 提示進行與 Messenger 中的先前互動無關的任何調查、投票或評論

不適用於 Instagram 傳訊 API。

讀取

您無法在這個端點執行此操作。

若要取得有關粉絲專頁所屬之對話的資訊,請前往粉絲專頁對話參考資料

更新

您無法在這個端點執行此操作。

刪除

您無法在這個端點執行此操作。

另請參閱

開發人員支援