MessengerやInstagramでメッセージを送信するには、その送信相手によって会話が開始されていなければなりません。Messengerプラットフォームで送信できるメッセージにはいくつかのタイプがあります。それぞれのメッセージタイプで、送信できるコンテンツの種類と条件に関するポリシーやガイドラインは異なります。
2024年7月23日に、Instagramログイン付きの新しいInstagram APIがリリースされます。顧客、フォロワー、ビジネスやInstagramアカウントに関心のあるInstagramユーザーと会話したり、コメントを管理したり、メディアを公開したりするために、Instagramプロアカウント(ビジネスアカウントまたはクリエイターアカウント)を、Facebookページにリンクする必要はなくなります。この新しいバージョンの詳しい情報は、ブログ投稿をご覧ください。
自動チャットエクスペリエンスは、適用される法律で求められている場合、利用者がやり取りしているのが実際には自動化サービスであることを、以下のタイミングで明らかにしなければなりません。
以下のグループに提供される自動チャットサービスでは上記の条件に特別な注意を払う必要があります。
開示の記載例としては、「これは[ページ名]のボットです」、「ご利用になっているのは自動サービスです」、「チャットの相手はボットです」、「これは自動チャットボットです」などが挙げられます。
法律で求められていない場合であっても、自動チャットとやり取りしているユーザーには、ベストプラクティスとしてそのことを知らせるようおすすめします。そうすれば、提供されているメッセージエクスペリエンスとのやり取りに対するユーザーの期待値を管理しやすくなります。
詳しくは、 開発者ポリシーをご覧ください。
アプリからメッセージを送信するために使用するSend APIリクエストには、必ず次のものが含まれていなければなりません。
メッセージの構成要素に関する詳しい情報は、 Send APIリファレンスをご覧ください。
標準メッセージ時間枠は24時間です。この間に、相手にメッセージを送ることが許可されています。相手がページまたはInstagramプロアカウントにメッセージを送ったとき、またはウェブプラグインから会話を始めたときから24時間までの間に、アプリはメッセージを送ることができます。
この24時間の時間枠内に送信されるメッセージには宣伝コンテンツを含めることができます。
標準メッセージ時間枠を開くユーザーアクション
24時間の標準メッセージ時間枠を開くユーザーアクションには、次のものがあります。
相手は迅速な反応を期待しています。そのため、この24時間枠内でできるだけ早く返信するようにおすすめします。相手はいつでも会話をブロックしたりミュートにしたりすることができます。
メッセージを受け取る人の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時間の標準メッセージ時間枠外に宣伝用メッセージを送信する場合は、スポンサードメッセージまたはワンタイム通知を使用してください。
送信するメッセージには、以下のタイプのコンテンツを含めることができます。
あなたのページにメッセージを送ってくれた人に基本的なテキストメッセージを送信するには、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_type
をRESPONSE
に設定 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..." }
短めにします。画面サイズとスクロール動作を考慮し、メッセージをコンパクトにして読みやすいようにします。1つの長いメッセージを送信するのではなく、いくつかに分けてメッセージを送信するようにします。
テキストを、画像、表、グラフの代わりにしないでください。フォーマット済みメッセージまたはウェブビューのほうが、必要をよりよく満たしているかもしれません。
長期間にわたってやり取りしないようにしてください。複数の事柄についてやり取りする必要がある場合は、1つの長いメッセージを送信するのではなく、いくつかに分けてメッセージを送信するようにします。
品質に注意を払ってください。高解像度のカラフルな画像を使用して、メッセージを目立たせてください。
アスペクト比を考慮してください。画像がメッセージバブルに表示されるときに、どのようにトリミングされるか確認してください。
画像には大量のテキストを入れないでください。代わりにテキストメッセージを使用するか、一般テンプレートを使って画像とテキストを組み合わせてください。
マーケティングメッセージを使って、標準メッセージ時間枠の終了後も、複数のマーケティングメッセージを送信する許可を相手に求めることができます。相手がこれらのお知らせの受信リクエストを受け入れたら、定期的な宣伝メッセージを自動で送ることができるようになります。間もなく始まるセールや商品の発売、最新情報などの情報を含めることができます。
ニュースメッセージは、 Facebookニュースページインデックス(NPI)に登録しているニュースパブリッシャーのみが利用できます。ニュースパブリッシャーはニュースメッセージを使用して、非宣伝のニュースメッセージを受け取るようサブスクリプション登録している人に、そのようなメッセージを送ることができます。
ニュースメッセージは、InstagramメッセージAPIでは使用できません。
ワンタイム通知を使って、24時間のメッセージ時間枠終了後に1件のフォローアップメッセージを送る許可を相手に求めることができます。相手がこのワンタイム通知受信のリクエストを受け入れたなら、個人的に関係のある期間限定のメッセージ(予約のリマインダーや入庫のお知らせなど)を1件送ることができます。
ワンタイム通知はInstagramメッセージAPIでは利用できません。
相手があなたの投稿や広告のいずれかにコメントしたとき、またはあなたのページかInstagramプロアカウントにビジター投稿を公開したときに、プライベート返信を使って相手にメッセージを送ることができます。プライベート返信は1件のメッセージにしかなりません。つまり、当該投稿やコメントへのリンクは自動的に組み込まれます。相手の投稿やコメントが公開されてから7日以内に送らなければなりません。
スポンサードメッセージを使って、あなたのページかInstagramプロアカウントにメッセージを送ってくれた人に、標準メッセージ時間枠が終了した後も、宣伝または非宣伝コンテンツを送ることができます。スポンサードメッセージは会話で通常のメッセージのように見えますが、メッセージ上部に「広告」という文字が付きます。スポンサードメッセージのコンテンツは、広告ポリシーに準拠していなければなりません。
スポンサードメッセージはInstagramメッセージAPIでは利用できません。
ユーティリティメッセージでは、注文、アカウントアップデート、予約などを含む事前承認されたテンプレートメッセージを送信できます。これらのメッセージは、アカウント番号、注文ID、配送追跡番号、予約日時などが含まれた、高度にパーソナライズされたメッセージです。注文のキャンセル、予約の変更、およびユーザーがビジネスとより簡単にやり取りできるその他の操作のコールトゥアクションを含めることもできます。
会話のメッセージに追加できるコンポーネントについて、詳細をご確認ください。
Messengerプラットフォームを使用したメッセージの送信について詳しくはこちら。