このドキュメントでは、マーケティングメッセージを送信するための許可を相手にリクエストする方法、リクエスト送信の具体的な要件や制限、マーケティングメッセージの許可を求めるリクエストの作成方法と送信方法を紹介します。
メッセージの頻度
2023年1月31日以降、notification_messages_frequency
は廃止され、マーケティングメッセージのオプトインリクエストを送信する際にメッセージの頻度は不要になります。
notification_messages_frequency
が返されます。トークンの有効期限と再オプトイン
2023年8月10日より、通知トークンの有効期限はなくなります。再オプトインリクエストとオプトアウトリマインダーも送信されなくなります。
マーケティングメッセージを利用すると、標準のメッセージ時間枠外にFacebookページまたはInstagramプロアカウントから、メッセージ送信を許可してくれた人に、送信することができます。マーケティングメッセージにより、あなたやあなたのビジネスに興味のある人との関係を築くことができます。
マーケティングメッセージはオプションとして提供されている新しいプレミアム機能で、将来的には有料での提供を予定しています。現在、事業者に有料で提供しているWhatsApp Business APIからのメッセージ送信に関するカスタマーフィードバックを参考にして、価格設定を進めています。無料トライアルに関して変更があれば、お客様とパートナーの皆様に早めにお知らせします。
マーケティングメッセージやその他のMessengerプラットフォームの機能を利用するには、適用されるすべての開発者ポリシーに従う必要があります。
ユーザーにマーケティングメッセージをオプトインしてもらうリクエストを送信できるのは、標準メッセージ時間枠内に限られます。ユーザーがマーケティングメッセージをオプトインするアクションをしても、標準メッセージ時間枠は開始しません。
アプリやメッセージのエクスペリエンスに関して、ユーザーから否定的なフィードバックが多くならないように注意する必要があります。アプリのメッセージエクスペリエンスに関して、ユーザーからの否定的なフィードバックの割合が多すぎると判断されると、メッセージ機能が制限または無効にされることがあります。
マーケティングメッセージをスパムのように送信しないでください。オプトインリクエストについても同様です。これには、同じユーザーに同じ内容のオプトインリクエストを高頻度で送信する行為や、開発者ポリシーで定義されたその他のタイプのスパムを送信する行為が含まれます。
Metaが提供しているサービスの範囲を維持するため、Messengerプラットフォームとマーケティングメッセージの機能に設けられている制限事項を守ってください。
title
が同じお知らせ、Instagramプロアカウントからの場合はtitle
とimage_url
が同じお知らせを指しますMetaは常にユーザーやビジネスに最高のエクスペリエンスを提供するよう取り組んでいるので、上記の制限や要件は変更されることがあります。
ユーザーにとって関連性が高く、価値のあるマーケティングメッセージを送信して、質の高いユーザーエクスペリエンスを提供するために、以下を行うことができます。
オプトインリクエストに、タイトルや画像を含め、ユーザーが受け取ることを期待できるマーケティングメッセージのタイプ(注文の更新情報、おすすめの製品、特定のクーポンなど)を含める
1人のユーザーに複数のオプトインリクエストを送信する場合は、それぞれのオプトインリクエストで、ユーザーがどのタイプのマーケティングメッセージを受け取るかを明記する
マーケティングメッセージは、ユーザーにとって関連性の高い内容にし、ユースケースを参考にユーザーが価値を感じるようなものにしてください。
ユーザーは、メッセージをブロックするなどの方法でメッセージエクスペリエンスに関するフィードバックを提供でき、その結果、マーケティングメッセージの利用が制限される場合があります。オプトインリクエストとマーケティングメッセージは定期的に見直し、上述のベストプラクティスに従っているかどうかをチェックするようにしてください。
2023年2月2日より前に作成されたお知らせメッセージトークンに適用されます。
FacebookページまたはInstagramプロアカウントからのマーケティングメッセージを受け取るには、相手がアクセス許可を付与して、オプトインする必要があります。Messengerプラットフォームは、オプトインを取得するための複数の方法を提供しています。オプトインリクエストを次のようなメッセージエクスペリエンスに組み込むことができます。
m.me
リンク – ウェブサイト、メール、ソーシャルメディア投稿などのm.me
リンクがクリックされたとき
m.me
リンク対応)
マーケティングメッセージのオプトインリクエストを送信するには、メッセージテンプレートのタイプをnotification_messages
に設定してPOST
リクエストを/PAGE-ID/messages
エンドポイントに送信します。ページIDは、自分のFacebookページのID、または自分のInstagramプロアカウントにリンクされているFacebookページのIDです。
注:FacebookページまたはInstagramプロアカウントからカルーセルを含むマーケティングメッセージを送信する場合は、title
パラメーターが必須です。
curl -X POST -H "Content-Type: application/json" -d '{ "recipient":{ "id":"PSID-OR-IGSID" }, "message":{ "attachment":{ "type":"template", "payload":{ "template_type":"notification_messages", "notification_messages_timezone": "UTC", "title":"TITLE", "image_url":"IMAGE-URL", "payload": "ADDITIONAL-WEBHOOK-INFORMATION", } } } }' "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=PAGE-ACCESS-TOKEN"
成功すると、アプリは受信者のIDとメッセージIDが含まれた、以下のようなJSON応答を受け取ります。
{ "recipient": { "id":"PSID-OR-IGSID", "message_id":"MESSAGE-ID", }
マーケティングメッセージのオプトインリクエストで/PAGE-ID/messages
エンドポイントに送信するPOST
リクエストに、message
attachment
JSONオブジェクトを含める必要があります。
プロパティ | 説明 |
---|---|
template } | 必須。値は |
| このマーケティングメッセージオプトインリクエストのマーケティングメッセージの内容(テンプレートタイプ、タイトル、メッセージ頻度、メッセージオプションなど) |
elements array | カルーセルの場合は必須。オプトインを記述する要素オブジェクトを含む配列。各elementオブジェクトには、 |
image_aspect_ratio enum { HORIZONTAL , SQUARE } | 画像のアスペクト比。
|
image_url string | テンプレートに表示する画像のURL |
notification_messages_frequency enum { DAILY, WEEKLY, MONTHLY } | 2023年2月2日より後に作成されたトークンでは廃止。デフォルトはDAILY。このマーケティングメッセージオプトインリクエストのメッセージの頻度。
|
notification_messages_cta_text enum { ALLOW, GET, GET_UPDATES, OPT_IN, SIGN_UP } | CTAボタンに表示されるテキスト
|
notification_messages_timezone string | メッセージ受信側のタイムゾーン |
payload string | 必須。このマーケティングメッセージオプトインリクエストのマーケティングメッセージのタイプ(宣伝用メッセージや製品リリースメッセージなど) |
template_type enum { notification_messages } | 必須。値は |
title string | テンプレートに表示するタイトルは65文字以下にしてください。値が割り当てられていない場合、デフォルトの「更新情報とキャンペーン」になります |
オプトインされると、ビジネスはmessaging_optin
Webhooks通知を受け取ります。そこに、お知らせメッセージトークン、およびメッセージタイトルやオプトインした人のタイムゾーンなどの情報が含まれています。お知らせメッセージトークンにより、マーケティングメッセージをその人に送信することが許可されます。
{ "sender": { "id": "PSID", }, "recipient": { "id": "PAGE-ID", }, "timestamp": "TIMESTAMP", "optin": { "type": "notification_messages", "payload": "ADDITIONAL-WEBHOOK-INFORMATION", "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN", "notification_messages_timezone": "TIMEZONE-ID", "token_expiry_timestamp": "TIMESTAMP", "user_token_status": "TOKEN-STATUS" "notification_messages_status": "MESSAGE-STATUS", "title": "TITLE-FOR-THE-NOTIFICATION" } }
以下の内容は、2023年2月2日より前に作成されたお知らせメッセージトークンのうち、頻度が毎週または毎月であるものだけに適用されます。
お知らせメッセージトークンは、繰り返す頻度ごとに生成されます。例えば、ユーザーがマーケティングメッセージを受信する頻度として毎日と毎週を選んだ場合、2件のお知らせメッセージトークンが個別に生成されます。ユーザーが毎日、毎週、そして毎月のマーケティングメッセージをオプトインした場合は、3つの別個のお知らせメッセージトークンが生成されます。
マーケティングメッセージの頻度 | 説明 |
---|---|
毎週 | 暦上の1週間ごとに1通のメッセージのみ送信できます。1週間は、ページで設定されたタイムゾーンの毎週月曜日の午前0時から日曜日の午後11時59分までと定義されます。 |
毎月 | 暦上の1か月ごとに1通のメッセージのみ送信できます。月は、ページが設定したタイムゾーンの毎月1日の午前0時からその月の末日の午後11時59分までと定義されます |
マーケティングメッセージを受信するオプトインを利用者が継続した場合、トークンの有効期限は延長されます。いつでもオプトアウトできます。
マーケティングメッセージの受信をオプトインした人に対しては、最大3通のフォローアップメッセージを送信できます。それらのメッセージは、最初のフォローアップメッセージから2分以内に送信する必要があります。2番目と3番目のフォローアップメッセージは、250文字以下でなければなりません。これらのフォローアップメッセージは、標準の24時間メッセージ時間枠外に送信できます。
フォローアップメッセージを送信するには、お知らせメッセージトークンが含まれるrecipient
オブジェクト、そしてフォローアップメッセージのテキストが含まれるmessage
オブジェクトを使って、/PAGE-ID/messages
エンドポイントに対してPOST
リクエストを送信します。APIリクエストの構文は、3通のフォローアップメッセージのすべてについて同じです。
curl -X POST -H "Content-Type: application/json" -d '{ "recipient":{ "notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN" }, "message":{ "text":FOLLOWUP-MESSAGE-TEXT-HERE, } }' "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=TOKEN"
すべての有効なお知らせメッセージトークンを取得するには、GET
リクエストを/PAGE-ID/notification_message_tokens
エンドポイントに送信します。
curl -i -X GET "https://graph.facebook.com/API-VERSION-NUMBER/PAGE-ID/notification_message_tokens ?access_token=PAGE-ACCESS-TOKEN"
デフォルトでは最大25個のトークンのリストが、更新時刻順に返されます。さらに多くのトークンを読み取るには、limit
パラメーターを追加します。現在、返すことができるトークンは100個までです。after
パラメーターをページ分割に使用することができますが、before
パラメーターは利用できません。
成功すると、アプリは以下のようなJSON応答を受け取ります。それには、トークン、受信者ID (Instagram-scoped IDまたはPage-scoped ID)、トークンの作成時刻、お知らせのタイトル、受信者に次のマーケティングメッセージを送信できる時刻が含まれています。
{ "data":[ { "notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN-ID-1", "recipient_id":"PAGE-OR-INSTAGRAM-SCOPED-ID-1", "notification_messages_reoptin":"RE-OPT-IN-STATUS", "creation_timestamp":TIMESTAMP, "token_expiry_timestamp":UNIX-TIMESTAMP-EXPIRATION-DATE, "user_token_status":"TOKEN-STATUS", "topic_title":"NOTIFICATION-TITLE", "notification_messages_timezone":"TIMEZONE-ID", "next_eligible_time": TIMESTAMP }, ... { "notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN-ID-25", "recipient_id":"PAGE-OR-INSTAGRAM-SCOPED-ID-25", "notification_messages_reoptin":"RE-OPT-IN-STATUS", "creation_timestamp":TIMESTAMP, "token_expiry_timestamp":UNIX-TIMESTAMP-EXPIRATION-DATE, "user_token_status":"TOKEN-STATUS", "topic_title":"NOTIFICATION-TITLE", "notification_messages_timezone":"TIMEZONE-ID", "next_eligible_time": TIMESTAMP } ], "paging":{"cursors":{"before":"QVFIU...","after":"QVFIU..."},"next":"https:\/\/graph.facebook.com\/LATEST-API-VERSION\/PAGE-ID\/notification_message_tokens?access_token=PAGE-ACCESS-TOKEN"} }
マーケティングメッセージに関する情報を収集するには、messaging_optin
Webhooksを使用することをおすすめしています。しかし、トークンがnotification_messages_
、notification_messages_NOTIFICATION-MESSAGES-TOKEN
に付加されるトークンエンドポイントにGET
リクエストを送信してトークン情報を取得することもできます。
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/notification_messages_NOTIFICATION-MESSAGES-TOKEN ?access_token=PAGE-ACCESS-TOKEN"
成功すると、アプリは以下のようなJSON応答を受け取ります。それには、お知らせメッセージトークン、メッセージ受信者のID、その他のトークン情報が含まれています。そのお知らせメッセージトークンと受信者のIDを使って、マーケティングメッセージを送信します。
{ "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN", "recipient_id": "PAGE-OR-INSTAGRAM-SCOPED-ID", "creation_timestamp": "TIMESTAMP", "token_expiry_timestamp": "TIMESTAMP", "user_token_status": "REFRESHED", "notification_messages_reoptin": "ENABLED", "notification_messages_timezone": "TIMEZONE-ID" "next_eligible_time": TIMESTAMP }
これらのAPI呼び出しは、アプリのレート制限にカウントされます。
以下の情報が必要です。
MESSAGING
タスクを実行できる人がリクエストした、ページアクセストークンpages_messaging
の許可messaging_referrals
Webhookサブスクリプションマーケティングメッセージを送信するには、受信者のNOTIFICATION-MESSAGES-TOKEN
値、およびmessageのattachmentにメッセージ情報を入れて、POST
リクエストを/PAGE-ID/messages
エンドポイントに送信します。
curl -X POST -H "Content-Type: application/json" -d '{ "recipient":{ "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN" }, "message":{ "attachment":{ "type":"template", "payload":{ "template_type":"generic", "elements":[ { "title":"Welcome!", "image_url":"https://raw.githubusercontent.com/fbsamples/original-coast-clothing/main/public/styles/male-work.jpg", "subtitle":"We have the right hat for everyone.", "default_action": { "type": "web_url", "url": "https://www.originalcoastclothing.com/", "webview_height_ratio": "tall" }, "buttons":[ { "type":"web_url", "url":"https://www.originalcoastclothing.com/", "title":"View Website" },{ "type":"postback", "title":"Start Chatting", "payload":"ADDITIONAL-WEBHOOK-INFORMATION" } ] } ] } } } }' "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=PAGE-ACCESS-TOKEN"
成功すると、アプリは次の応答を受け取ります。
{ "recipient": "PAGE-OR-INSTAGRAM-SCOPED-ID", "message_id": "MESSAGE-ID" }
マーケティングメッセージのテストは、いつでも実行できます。
以下の情報が必要です。
マーケティングメッセージのテストは、以下のステップに従っていつでも実行できます。
developer_action
パラメーターをENABLE_FOLLOWUP_MESSAGE
に設定し、最初のメッセージの直後に別のマーケティングメッセージを送信します。curl -X POST "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/notification_messages_dev_support ?recipient={ "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN" } &developer_action=ENABLE_FOLLOWUP_MESSAGE &access_token=PAGE-ACCESS-TOKEN"
成功すると、アプリは、success
がtrue
に設定された以下のようなJSON応答を受け取ります。
{ "success": true }
再オプトインをテストするには、ステップ4でdeveloper_action
パラメーターをSEND_RE_OPTIN
に設定して、上記のステップを実行します。