メッセージを送信する

MessengerやInstagramでメッセージを送信するには、その送信相手によって会話が開始されていなければなりません。Messengerプラットフォームで送信できるメッセージにはいくつかのタイプがあります。それぞれのメッセージタイプで、送信できるコンテンツの種類と条件に関するポリシーやガイドラインは異なります。

2024年7月23日に、Instagramログイン付きの新しいInstagram APIがリリースされます。顧客、フォロワー、ビジネスやInstagramアカウントに関心のあるInstagramユーザーと会話したり、コメントを管理したり、メディアを公開したりするために、Instagramプロアカウント(ビジネスアカウントまたはクリエイターアカウント)を、Facebookページにリンクする必要はなくなります。この新しいバージョンの詳しい情報は、ブログ投稿をご覧ください。

詳しくは、Instagramログイン付きInstagram APIをご覧ください

自動化されたエクスペリエンスに関するユーザーへの通知

自動チャットエクスペリエンスは、適用される法律で求められている場合、利用者がやり取りしているのが実際には自動化サービスであることを、以下のタイミングで明らかにしなければなりません。

  • 会話またはメッセージ会話の最初
  • かなり時間が経過した後
  • ヒューマンエージェントとのやり取りから自動化エクスペリエンスにチャットが移行したとき

以下のグループに提供される自動チャットサービスでは上記の条件に特別な注意を払う必要があります。

  • カリフォルニア市場またはカリフォルニアのユーザー
  • ドイツ市場またはドイツのユーザー

開示の記載例としては、「これは[ページ名]のボットです」、「ご利用になっているのは自動サービスです」、「チャットの相手はボットです」、「これは自動チャットボットです」などが挙げられます。

法律で求められていない場合であっても、自動チャットとやり取りしているユーザーには、ベストプラクティスとしてそのことを知らせるようおすすめします。そうすれば、提供されているメッセージエクスペリエンスとのやり取りに対するユーザーの期待値を管理しやすくなります。

詳しくは、 開発者ポリシーをご覧ください。

メッセージの構成要素

アプリからメッセージを送信するために使用するSend APIリクエストには、必ず次のものが含まれていなければなりません。

  • FacebookページのページID、またはInstagramプロアカウントにリンクされているFacebookページ(メッセージ送信側)
  • 送信相手のID (メッセージ受信側)
  • ページからリクエストされたページアクセストークン(メッセージ送信側)
  • 相手からのアクセス許可(メッセージ受信側)

メッセージの構成要素に関する詳しい情報は、 Send APIリファレンスをご覧ください。

標準メッセージ時間枠

標準メッセージ時間枠は24時間です。この間に、相手にメッセージを送ることが許可されています。相手がページまたはInstagramプロアカウントにメッセージを送ったとき、またはウェブプラグインから会話を始めたときから24時間までの間に、アプリはメッセージを送ることができます。

この24時間の時間枠内に送信されるメッセージには宣伝コンテンツを含めることができます。

標準メッセージ時間枠を開くユーザーアクション

24時間の標準メッセージ時間枠を開くユーザーアクションには、次のものがあります。

  • 相手があなたのページまたはInstagramプロアカウントにメッセージを送る
  • 相手が会話内で[開始する]などのCTAボタンをクリックする
  • 相手がMessenger誘導広告をクリックし、それからあなたのページまたはInstagramプロアカウントにメッセージを送る
  • 相手がプラグイン([Messengerに送る]または[チェックボックス]プラグイン)経由でページにメッセージを送る
  • 相手がm.meリンクをクリックして、相手とページの間ですでに始まっていた会話に移動する
  • 相手がig.meリンクをクリックして、相手とInstagramプロアカウントの間ですでに始まっていた会話に移動する
  • 相手がマーケティングメッセージなどのメッセージにリアクションする
  • 相手があなたのページまたはInstagramプロアカウントの投稿にコメントする
  • 相手があなたのページにビジター投稿を公開する

相手は迅速な反応を期待しています。そのため、この24時間枠内でできるだけ早く返信するようにおすすめします。相手はいつでも会話をブロックしたりミュートにしたりすることができます。

宛先ID

メッセージを受け取る人のIDは、recipientオブジェクトパラメーターで設定します。以下のいずれかのIDタイプになります。

  • Page-scoped ID (PSID) – 相手があなたのページに初めてメッセージを送ったときに相手に割り当てられるID。この一意のIDは、ページと相手の間のインタラクションを表します。

  • User Ref – プラグインかポストバックボタンを使ってあなたのページにメッセージを送った人に割り当てられるID。

  • 投稿IDまたはコメントID: あなたのページに投稿を公開した、または投稿にコメントした人に割り当てられるID。相手にプライベート返信を送る際に使用されます。

Facebookログイン統合のユーザーIDはapp-scoped IDであり、Messengerプラットフォームでは機能しません。

メッセージタイプ

送信するメッセージのタイプは、messaging_typeパラメーターで設定します。このパラメーターを使えば、より明示的な方法で、メッセージポリシーと受信者の個人設定を遵守するメッセージを送ることができます。

次のメッセージのタイプがサポートされています。

  • 返信 – 送るメッセージが、受け取ったメッセージに対する返信である場合。メッセージには、宣伝コンテンツも非宣伝コンテンツも含めることができます。メッセージの送信は、標準メッセージ時間枠の間に実施する必要があります。

  • アップデート – 送るメッセージが、受け取ったメッセージに対する返信ではなく、こちらから先に送るものである場合。メッセージには、宣伝コンテンツも非宣伝コンテンツも含めることができます。メッセージの送信は、標準メッセージ時間枠の間に実施する必要があります。

  • タグ付けされたメッセージ – 送るメッセージが、標準メッセージ時間枠外に送るものである場合。このメッセージに付けられるメッセージタグは、許可されたユースケースと合致していなければならず、宣伝コンテンツを含めることはできません。

メッセージタグ

メッセージタグがあれば、標準メッセージ時間枠外でもメッセージを送ることができます。このようなメッセージは、相手に個人的に関係のある最新情報です。例えば、出荷や配送、間近に迫った予約やフライトに関する最新情報を送信したり、顧客のアカウントに関するアラートを送信したりできます。エスカレーションパスが必要なメッセージフローの場合は、ヒューマンエージェントタグを使えば、7日以内に事業者の担当者が相手のメッセージに手動で返信できます。

宣伝用コンテンツ(特売品、特典、クーポン、割引などを含むがそれらに限定されない)を送信するために、メッセージタグを使用することはできません。メッセージタグを承認されているユースケース以外で使用すると、ページまたはInstagramアカウントのメッセージの送信機能に制限が課される場合があります。詳しくは、MessengerプラットフォームとInstagramメッセージAPIポリシーをご覧ください。

Messengerプラットフォームを利用する事業者が、24時間の標準メッセージ時間枠外に宣伝用メッセージを送信する場合は、スポンサードメッセージまたはワンタイム通知を使用してください。

コンテンツタイプ

送信するメッセージには、以下のタイプのコンテンツを含めることができます。

  • 音声
  • ボタン
  • ファイル
  • メニュー
  • GIF
  • 画像
  • テンプレート
  • テキスト
  • 動画

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

あなたのページにメッセージを送ってくれた人に基本的なテキストメッセージを送信するには、POSTリクエストを/PAGE-ID/messagesエンドポイントに送信します。この際、recipientオブジェクトリテラルキーidを相手のPage-scoped ID (PSID)に設定し、message_typeパラメーターをRESPONSEに設定し、messageパラメーターオブジェクトtextにメッセージテキストを設定します。

リクエストの例

curl -X POST -H "Content-Type: application/json" -d '{
 "recipient":{
 "id":"{PSID}"
 },
 "messaging_type": "RESPONSE",
 "message":{
 "text":"Hello, world!"
 }
}' "https://graph.facebook.com/v24.0/{PAGE-ID}/messages?access_token={PAGE-ACCESS-TOKEN}"
 

成功すると、アプリは受信者のIDとメッセージIDが含まれた、以下のようなJSONの応答を受け取ります。

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

メディア添付ファイルを送信する

メディア(GIFや画像、またはテンプレート)を付けたメッセージを送るには、JSONメッセージ添付オブジェクトで、APIリクエストにそのコンテンツを追加します。

あなたのページにメッセージを送ってくれた人に、画像を添付したメッセージを送るには、POSTリクエストを/PAGE-ID/messagesエンドポイントに送信します。この際、recipientオブジェクトリテラルキーidを相手のPage-scoped ID (PSID)に設定し、message_typeパラメーターをRESPONSEに設定し、messageパラメーターのattachmentオブジェクトtypeキーをimageに、payloadオブジェクト urlキーを画像のURLに設定します。

リクエストの例

curl -X POST -H "Content-Type: application/json" -d '{
 "recipient":{
 "id":"1254459154682919"
 },
 "message":{
 "attachment":{
 "type":"image", 
 "payload":{
 "url":"http://www.messenger-rocks.com/image.jpg", 
 "is_reusable":true
 }
 }
 }
}' "https://graph.facebook.com/v24.0/me/messages?access_token={PAGE_ACCESS_TOKEN}"
 

成功すると、アプリは受信者のIDとメッセージIDが含まれた、以下のようなJSONの応答を受け取ります。

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

URLから音声、動画、ファイルを送信する際には同じフォーマットを使用します。

自分のサーバーからメディアを送ったり、事前にMetaサーバーにアップロードしておいたコンテンツから送信したりすることもできます。 添付ファイルアップロードAPIを使用したファイルのアップロードの詳細をご確認ください。

複数のメディア添付ファイルを送信する

複数の画像を添付したメッセージを送信するには、JSONメッセージ添付ファイル配列でAPIリクエストに内容を追加します。許可されるメディアタイプは画像のみで、一度に30枚に限定されます。

あなたのページにメッセージを送ってくれた人に、画像を添付したメッセージを送るには、POSTリクエストを/PAGE-ID/messagesエンドポイントに送信します。その際、recipientオブジェクトリテラルキーidを相手のPage-scoped ID (PSID)に設定し、message_typeパラメーターをRESPONSEに設定します。messageパラメーターにはattachments配列が含まれます。この配列ではオブジェクトtypeキーをimageに、payloadオブジェクト urlキーを画像のURLに設定します。

リクエストの例

curl -X POST -H "Content-Type: application/json" -d '{
 "recipient": {
 "id": "1254459154682919"
 },
 "message": {
 "attachments": [
 {
 "type": "image",
 "payload": {
 "url": "http://www.messenger-rocks.com/image.jpg"
 }
 },
 {
 "type": "image",
 "payload": {
 "url": "http://www.messenger-rocks.com/image.jpg"
 }
 }
 ]
 }
}' "https://graph.facebook.com/v24.0/me/messages?access_token={PAGE_ACCESS_TOKEN}"
 

成功すると、アプリは受信者のIDとメッセージIDが含まれた、以下のようなJSONの応答を受け取ります。

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

メッセージに返信する

チャット内の特定の過去のメッセージに返信するには、POSTリクエストを/PAGE-ID/messagesに送信し、以下の内容を設定します。

  • recipientオブジェクトリテラルキーidを相手のPage-scoped ID (PSID)に設定
  • message_typeRESPONSEに設定
  • メッセージパラメーターオブジェクトのメッセージ詳細
  • reply_toオブジェクトリテラルキーmidを返信先のチャットの特定のメッセージのIDに設定

このメッセージは、ページまたはユーザーのいずれかから送信されたメッセージです。

リクエストの例

curl -X POST -H "Content-Type: application/json" -d '{
 "recipient": {
 "id": "{PSID}",
 }
 "messaging_type": "RESPONSE"
 "message": {
 "text": "Hello, world!" 
 },
 "reply_to": {
 "mid": "{MESSAGE_ID}"
 }
}' "https://graph.facebook.com/v23.0/{PAGE-ID}/messages?access_token={PAGE_ACCESS_TOKEN}" 

成功すると、アプリは受信者のIDとメッセージIDが含まれた、以下のようなJSONの応答を受け取ります。

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

ベストプラクティス

SMS

短めにします。画面サイズとスクロール動作を考慮し、メッセージをコンパクトにして読みやすいようにします。1つの長いメッセージを送信するのではなく、いくつかに分けてメッセージを送信するようにします。

テキストを、画像、表、グラフの代わりにしないでください。フォーマット済みメッセージまたはウェブビューのほうが、必要をよりよく満たしているかもしれません。

長期間にわたってやり取りしないようにしてください。複数の事柄についてやり取りする必要がある場合は、1つの長いメッセージを送信するのではなく、いくつかに分けてメッセージを送信するようにします。

添付

品質に注意を払ってください。高解像度のカラフルな画像を使用して、メッセージを目立たせてください。

アスペクト比を考慮してください。画像がメッセージバブルに表示されるときに、どのようにトリミングされるか確認してください。

画像には大量のテキストを入れないでください。代わりにテキストメッセージを使用するか、一般テンプレートを使って画像とテキストを組み合わせてください。

その他のメッセージタイプ

マーケティングメッセージ

マーケティングメッセージを使って、標準メッセージ時間枠の終了後も、複数のマーケティングメッセージを送信する許可を相手に求めることができます。相手がこれらのお知らせの受信リクエストを受け入れたら、定期的な宣伝メッセージを自動で送ることができるようになります。間もなく始まるセールや商品の発売、最新情報などの情報を含めることができます。

ニュースメッセージ(開発中)

ニュースメッセージは、 Facebookニュースページインデックス(NPI)に登録しているニュースパブリッシャーのみが利用できます。ニュースパブリッシャーはニュースメッセージを使用して、非宣伝のニュースメッセージを受け取るようサブスクリプション登録している人に、そのようなメッセージを送ることができます。

ニュースメッセージは、InstagramメッセージAPIでは使用できません。

ワンタイム通知

ワンタイム通知を使って、24時間のメッセージ時間枠終了後に1件のフォローアップメッセージを送る許可を相手に求めることができます。相手がこのワンタイム通知受信のリクエストを受け入れたなら、個人的に関係のある期間限定のメッセージ(予約のリマインダーや入庫のお知らせなど)を1件送ることができます。

ワンタイム通知はInstagramメッセージAPIでは利用できません。

プライベート返信

相手があなたの投稿や広告のいずれかにコメントしたとき、またはあなたのページかInstagramプロアカウントにビジター投稿を公開したときに、プライベート返信を使って相手にメッセージを送ることができます。プライベート返信は1件のメッセージにしかなりません。つまり、当該投稿やコメントへのリンクは自動的に組み込まれます。相手の投稿やコメントが公開されてから7日以内に送らなければなりません。

スポンサードメッセージ

スポンサードメッセージを使って、あなたのページかInstagramプロアカウントにメッセージを送ってくれた人に、標準メッセージ時間枠が終了した後も、宣伝または非宣伝コンテンツを送ることができます。スポンサードメッセージは会話で通常のメッセージのように見えますが、メッセージ上部に「広告」という文字が付きます。スポンサードメッセージのコンテンツは、広告ポリシーに準拠していなければなりません。

スポンサードメッセージはInstagramメッセージAPIでは利用できません。

ユーティリティメッセージ

ユーティリティメッセージでは、注文、アカウントアップデート、予約などを含む事前承認されたテンプレートメッセージを送信できます。これらのメッセージは、アカウント番号、注文ID、配送追跡番号、予約日時などが含まれた、高度にパーソナライズされたメッセージです。注文のキャンセル、予約の変更、およびユーザーがビジネスとより簡単にやり取りできるその他の操作のコールトゥアクションを含めることもできます。

次のステップ

会話のメッセージに追加できるコンポーネントについて、詳細をご確認ください。

詳しくはこちら

Messengerプラットフォームを使用したメッセージの送信について詳しくはこちら。

開発者サポート

AltStyle によって変換されたページ (->オリジナル) /