Messengerプラットフォームのワンタイム通知API(ベータ版)を使うと、24時間のメッセージング時間枠が経過した後でも、ページで1通のフォローアップメッセージの送信をユーザーにリクエストできます。ユーザーは、今後通知を受け取るか尋ねられます。ユーザーが通知を依頼すると、ページは、単一メッセージをユーザーに送信するアクセス許可と同等のトークンを受け取ります。このトークンは1回だけ使用でき、作成後1年間有効です。
ページでこのAPIを使う場合は、ページ設定の「高度なメッセージ」セクション内の「ワンタイム通知」アクセス許可を申請する必要があります。このページはベータ規約に同意する必要があり、ページがMetaの条件を満たしていればアクセス許可が付与されます。
送信APIを使うことにより、ページで通知リクエストメッセージをテンプレートとして送信できます。テンプレートのタイプはone_time_notif_req
でなければなりません。すべてのテンプレートタイプで、リクエストの本文は標準のフォーマットに従い、タイプと、各テンプレートタイプに固有のコンテンツ詳細を含むmessage.attachment.payload
プロパティを指定します。リクエストのタイトルとペイロードのみカスタマイズ可能です。title
フィールドは65文字に制限されています。
{
"recipient": {
"id":"
ワンタイム通知リクエストテンプレートがレンダリングされ、ユーザーが[通知してください]ボタンをクリックすると、message_optins
Webhookがバックエンドに送信されます。one_time_notif_token
を使えば、24時間が経過した後でも、ワンタイムフォローアップメッセージをユーザーに送信できます。
フォローアップメッセージを送るには、POST
リクエストを送信APIに送信します。その際、Webhook経由で取得したone_time_notif_token
とmessage.text
をリクエスト本文に設定します。
curl -X POST -H "Content-Type: application/json" -d '{
"recipient": {
"one_time_notif_token":"<ONE_TIME_TOKEN>"
},
"message": {
"text":"<MESSAGE_CONTENT>"
}
}' "https://graph.facebook.com/v21.0
/me/messages?access_token=<PAGE_ACCESS_TOKEN>"
リッチテキストのメッセージを送信するには、テキストをリッチコンテンツに置き換えます。サポートされているメッセージタイプの完全なリストについては、送信APIリファレンスを参照してください。one_time_notif_token
は1回だけ使うことができ、メッセージの送信に成功すると無効になります。
ユーザーが特定のアップデートの通知に同意すると、ページの作成者はpayload
とone_time_notif_token
が設定されたWebhookイベントを受け取ります。情報が利用可能になった時点でフォローアップメッセージを送信するには、ペイロードとトークンの両方を保管しておく必要があります。one_time_notif_token
のリストをクエリするための個別のAPIは存在しません。そのため、Webhook情報の受信時に処理して保管しておくことが重要です。各トークンは1回だけ使うことができ、作成後1年間有効です。
{ "sender": { "id":"<PSID>" }, "recipient": { "id":"<PAGE_ID>" }, "timestamp":1458692752478, "optin": { "type": "one_time_notif_req", "payload": "<USER_DEFINED_PAYLOAD>", "one_time_notif_token":"<ONE_TIME_TOKEN>", } }
詳しくはよくある質問ページをご覧ください。