メッセージを送信する

このドキュメントでは、MetaのMessengerプラットフォーム使って、Instagramプロアカウントから顧客や人に自由形式メッセージを送信するための要件について説明します。

送信する自由形式メッセージには、次のものを含めることができます。

  • 画像、動画、GIF、音声
  • リアクションまたはスタンプ
  • テキスト(リンクを含む)

開始する前に

このガイドは、Messengerプラットフォームの概要に目を通していること、InstagramプロアカウントにリンクされたFacebookページ(またはテストページ)などの必要なコンポーネントを実装済みであること、Meta開発者として登録済みであること、アプリダッシュボードの[Messenger] > [Instagramメッセージ製品]でビジネスアプリIDを作成済みであることを前提としています。

また、Meta開発者プラットフォームのステータスをチェックし、問題がないことを確認しておくとよいかもしれません。

要件

  • InstagramプロアカウントにリンクされているFacebookページのID
  • ビジネスにメッセージを送信した顧客のInstagramスコープID
  • InstagramプロアカウントにリンクされているFacebookページでMESSAGEタスクを実行できる人がリクエストしたページアクセストークン
  • instagram_manage_messagesアクセス許可

制限

  • スタンダードアクセスを付与されているアプリは、アプリ上で役割が与えられているユーザーに対してのみメッセージを送信できます
  • 添付可能なメディアファイルは以下のとおりです。
メディアタイプサポートされるフォーマットサポートされる最大サイズ

音声

acc、m4a、wav、mp4

25MB

画像

png、jpeg、gif

8MB

動画

mp4、ogg、avi、mov、webm

25MB

メディアの添付ファイルについて詳しくは、Instagramメッセージ用メディアのアップロードをご覧ください。

基本的なテキストを送信する

テキストまたはリンクを含むメッセージを送信するには、recipientパラメーターにInstagram-scoped ID (IGSID)を、messageパラメーターに対象のテキストまたはリンクを指定して、POSTリクエストを/PAGE-ID/messagesエンドポイントに送信します。

メッセージテキストは1000バイト以下のUTF-8でなければなりません。リンクは有効な形式のURLでなければなりません。

リクエストの例

読みやすいようにフォーマットしています。

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に公開済みの投稿を含むメッセージを送信するには、recipientパラメーターにInstagram-scoped ID (IGSID)を、messageパラメーターにtypeMEDIA_SHAREに設定したattachmentオブジェクトを、payloadに投稿のMeta 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"}&message={
      "attachment": 
        {
          "type":"MEDIA_SHARE", 
          "payload":{"id":"POST-ID"}
        }
}’

API応答の例

成功すると、アプリは次のJSON応答を受け取ります。

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

スタンプを送信する

ハートのスタンプを送信するには、recipientパラメーターにInstagram-scoped ID (IGSID)を、messageパラメーターにtypelike_heartに設定したattachmentオブジェクトを指定して、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"
}

メッセージにリアクションする

リアクションを送信するには、recipientパラメーターにInstagram-scoped ID (IGSID)を、sender_actionパラメーターにreactを指定し、message_idにはリアクションを適用するメッセージのIDを、reactionにはloveを設定したpayloadを指定して、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",
}'

メッセージからリアクションを削除するには、recipientパラメーターにInstagram-scoped ID (IGSID)を、sender_actionパラメーターにunreactを指定して、message_idにリアクションを削除する対象となるメッセージのIDを設定したpayloadを指定して、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",
}'

応答の例

reactリクエストとunreactリクエストが成功すると、アプリは、以下のJSON応答を受け取ります。

{
  "recipient_id": "IGSID"
}

次のステップ

参考情報

開発者サポート