送信APIリファレンス

送信APIは、テキスト、添付ファイル、テンプレート、送信者アクションなどのメッセージをユーザーに送信する際に使用される主要なAPIです。

作成

顧客やあなたのFacebookページに関心を示した人を対象としたメッセージを作成して送信することができます。

開始する前に

以下が必要です。

  • ページに対してMESSAGEタスクを実行できる人がリクエストした、ページアクセストークン
  • pages_messagingアクセス許可
  • メッセージの受信者は、過去24時間以内にあなたのページにメッセージを送信したか、24時間の標準メッセージ時間枠外にあなたのページからメッセージを受け取ることに同意していなければなりません

制限

  • 宣伝を含むコンテンツを送信するためにメッセージタグを使ってはならない

メッセージに対する応答に送信APIが recipient_id を含めないことがありますが、それはそのメッセージが受信者を識別するために recipient.user_ref または recipient.phone_number を使用して送信された場合であることに注意してください。

リクエストの例

特定の人にメッセージを送信するには、messaging_typeパラメーターとrecipientパラメーターを指定したPOSTリクエストを、メッセージコンテンツと共に/PAGE-ID/messsagesエンドポイントに送信します。

読みやすくするためにフォーマットを調整しています。

以下は、ユーザーのメッセージへの返信例です。ここで、ページから送信するのはテキストのみのメッセージです。

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

object

ページが送信するメッセージのタイプ。このパラメーターを使うときは、textまたはattachementのどちらかを設定する必要があります。

  • attachmentオブジェクト – URLのプレビュー。メディアまたは構造化メッセージを伴うメッセージの送信に使用されます。textまたはattachmentを設定する必要があります。

  • metadatamessage_echo Webhooksに渡したい追加データの文字列。1000文字未満にする必要があります。

  • quick_replies – メッセージで送信されるクイック返信の配列
  • text – テキストだけを含んだメッセージ。UTF-8で2000文字未満にする必要があります。

messaging_type

enum

必須

送信するメッセージのタイプ

  • RESPONSE – 受信したメッセージに対する返信メッセージ。これには、24時間の標準メッセージ時間枠内で送信される、宣伝メッセージと非宣伝メッセージが含まれます。例えば、ユーザーから予約確認やステータスの最新情報を求められたら、このタグを使用して返信します。
  • UPDATE – 受信したメッセージへの返信としてではなく、先を見越して送信されるメッセージ。24時間の標準メッセージ時間枠内で送信される宣伝メッセージと非宣伝メッセージもこれに該当します。
  • MESSAGE_TAG24時間の標準メッセージ時間枠外でメッセージタグを付けて送信される、宣伝を含まないメッセージ。メッセージは、このタグに許可されているユースケースに一致していなければなりません。

notification_type

enum

ユーザーが受け取るプッシュ通知のタイプ

  • NO_PUSH – 通知なし
  • REGULAR (デフォルト) – ユーザーがメッセージを受け取ったときに音を鳴らすか振動する
  • SILENT_PUSH – 画面上の通知のみ

recipient

object

必須

ページが送信するメッセージの受信者

  • id – 過去24時間以内にあなたのページが受信したメッセージに返信するために使用されるユーザーのページスコープID、または24時間の標準メッセージ時間枠外であなたのページからメッセージを受け取ることに同意したユーザーのページスコープID
  • user_ref – チェックボックスまたはカスタマーチャットプラグインへの返信としてメッセージを送信するために使用されるユーザーのリファレンス
  • comment_id – あなたのページ投稿への訪問者のコメントに対する非公開返信としてメッセージを送信するために使用されるコメントのID
  • post_id – あなたのページへの訪問者の投稿に対する非公開返信としてメッセージを送信するために使用されるページ投稿のID

sender_action

enum

メッセージ時間枠内に表示されるアクションアイコン。ページがユーザーから受信したメッセージに対して実行するアクションを表します。

  • typing_on – ページが返信を準備しているときに、入力中の吹き出しを表示する
  • typing_off – 入力中の吹き出しを表示しない
  • mark_seen – ページに表示されたメッセージを示す既読アイコンを表示する

recipientパラメーターでのみ送信できます。messageパラメーターでは送信できません。また、個別のリクエストとして送信する必要があります。

tag

enum

このタグが付いていれば、24時間の標準メッセージ時間枠外でも、ページからユーザーにメッセージを送信できます。

  • ACCOUNT_UPDATE – 顧客のアプリやアカウントに関する1回限りの最新情報として顧客に送信しているメッセージにタグ付けします。許可されている用途についてご確認ください。

    InstagramメッセージAPIでは利用できません。

  • CONFIRMED_EVENT_UPDATE – 顧客が登録した、予定されているイベントに関するリマインダーとして、または進行中のイベントに関する最新情報として、顧客に送信しているメッセージにタグ付けします。許可されている用途についてご確認ください。

    InstagramメッセージAPIでは利用できません。

  • CUSTOMER_FEEDBACK顧客フィードバックアンケートとして顧客に送信するメッセージにタグ付けします。顧客フィードバックアンケートは、その顧客の最後のメッセージから7日以内に送信されなければなりません。許可されている用途についてご確認ください。

    InstagramメッセージAPIでは利用できません。

  • HUMAN_AGENTInstagramメッセージAPIの場合は必須。このタグが利用者へのメッセージに追加された場合、その人のメッセージにはヒューマンエージェントから返信できます。メッセージを送信できるのは、その人のメッセージを受信してから7日以内です。ヒューマンエージェントによるサポートの対象となるのは、標準のメッセージ時間枠内で解決できなかった問題です。許可されている用途についてご確認ください。
    • アプリは、開発者アプリダッシュボードでHuman Agentアクセス許可を申請する必要があります。アプリダッシュボードで、[アプリレビュー] -> [アクセス許可と機能] -> [ヒューマンエージェント]を選択してください。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では利用できません。

読み取り

このエンドポイントではこの操作を実行できません。

ページが属しているスレッドに関する情報を入手するには、ページスレッドのリファレンスをご覧ください。

更新

このエンドポイントではこの操作を実行できません。

削除

このエンドポイントではこの操作を実行できません。

参考情報

開発者サポート