よくある質問

このドキュメントでは、よくある質問に答えます。

一般

アプリのインストールはアプリのウェブサイトから行い、 Facebookログイン を使用して特定のページにpages_messagingアクセス許可を付与します。認証済みアプリは、[メッセージの詳細設定]内の[ページ設定]で確認できます。

はい、1つのFacebookアプリが複数のページをフォローすることはできます。pages_messaging権限などのアプリレビューを通過したアプリは、複数のページのWebhookを受け取るようにフォローすることができます。ペイロードに基づいて、各Webhookから取得するコンテキストは自由に決められます。

はい、複数のアプリをページにサブスクリプション登録できます。複数のアプリで同じスレッドを扱う場合に最適な方法は ハンドオーバープロトコル を使ってスレッドを所有するボットを常に管理することです。

一般データ保護規則(GDPR)

エントリポイント

「Messengerに送信」プラグインを使用する際に、data-refパラメータをパススルーパラメータとして使うと、クリックのコンテキストに関する情報を通じて送信できます。

また、利用者はMessengerの検索機能を使用してあなたのページを見つけることもできます。このような場合、パススルーパラメータは使用できません。アカウントのリンク機能を使用すると、スレッドをサイトのユーザーアカウントに関連付けることができます。

アプリが開発モードの場合は、プラグインはアプリの管理者、開発者、テスターにのみ表示されます。アプリのレビューと承認が終わったら、アプリダッシュボードの[アプリレビュー]タブで、アプリを利用できるように公開します。

ワンタイム通知API

No. Unlike subscriptions where a business can send multiple messages to people on a recurring basis, the one-time notification API limits the business to a single message per user request. If the person engages with the message, the standard messaging window will reopen.

Yes. Pages interested in using the One-time Notification API need to apply for permission. Go to the Advanced Messaging section of your Page Settings and consent to the terms. A Page will be granted permission if the Page meets our criteria.

Common uses of the API include various promotional and non-promotional use cases where the User explicitly requested a follow-up. Examples include:

  • Back in stock alerts
  • Collection launches
  • Concert tickets going on sale
  • Price drop alerts
  • Train tickets available for purchase
  • CSAT surveys

Your Page is not allowed to send a notification on a topic for which the User has not agreed to receive a notification. Please see the Usage and Restrictions and Limitations sections of the One-time Notification guide for more information.

A Page can send multiple requests however, the 24-hour policy will be applied to all the requests being sent. We also have controls in place to prevent spamming users with multiple requests.

The 24 hour standard messaging window will open only if the user interacts with the opt-in message. The behavior is consistent with interactions with other elements in the Messenger experience.

Once a person asks to be notified, the Page will receive a token which is equivalent to a permission to send a single message to the person. The token can be used to send a message to the person outside the 24 hour window. The token can only be used once and unused tokens will expire within 1 year of creation.

Yes. However, while it is possible to send another notification request using an existing token, there is no clear benefit for the business to send these type of requests.

No. The app does not need to specify any message tags when sending a message outside the 24-hour standard messaging window using this API.

送受信API

このような場合、次のようにいくつかの原因があります。

  • FacebookログインのIDを使用している。 FacebookログインのユーザーIDを送受信APIで使用することはできません。Messengerプラットフォームの認証を通じて取得したIDのみが、Messengerプラットフォームで機能します。
  • ページアクセストークンが間違ったIDを使用している。 MessengerプラットフォームのユーザーIDはページを対象としているため、ページに固有のものです。有効なユーザーIDでも、そのページアクセストークンが別のページに関連付けられている場合は、呼び出しが機能しません。必ず同じページに関連付けられたユーザーIDとページアクセストークンを使用してください。
  • 最近認証されたものではない電話番号に送信している。 電話番号を使って送信APIを使用するときは、電話番号が最近認証されたものである場合にのみ、メッセージが送信されます。電話番号が認証済みであると表示される場合であっても、最近認証されたものでない場合は、送信が失敗することがあります。電話番号を再度認証し、24時間待ってから再度送信してください。

Messengerプラットフォームの統合にプラットフォームテストユーザーを使用するための回避策を説明します。

  1. アプリの役割ページで、[テスターを追加]ボタンをクリックして新しいテストユーザーを作成します。
  2. [このアプリのテストユーザーを許可しますか?]オプションを切り替え、"manage_pages""page_messaging"のアクセス許可を付与します。
  3. [編集]ボタンを使用して、このユーザーのアクセストークンを取得します(v2.6を使用)。後で使用するため、このアクセストークンは保存しておいてください。
  4. [編集]ボタンを使用して、テストユーザーとしてログインします。
  5. ログイン後、テストユーザーとしてページを作成します。
  6. このテストユーザーのユーザーアクセストークンを使用して、このユーザーのページアクセストークンを取得します。この操作は次の呼び出しを使用して実行します。
    https://graph.facebook.com/v2.6/me/accounts?access_token=[TEST_USER_ACCESS_TOKEN]
    (ドキュメント)
  7. このページアクセストークンを使用して、Facebookアプリケーションをページにリンクさせます。
    https://graph.facebook.com/v2.6/me/subscribed_apps?method=POST&access_token=[TEST_USER_PAGE_ACCESS_TOKEN]
            
    (ドキュメント)
  8. これらの手順を実行すると、テストページにRTUのアップデートが送信され、テストページからテストユーザーにメッセージを送信できるようになります。 上述の操作に加えて、トークンの有効期限が短すぎてテストできない場合は、アクセストークンを長期トークンに置き換えることができます。こちらのドキュメントの手順に従ってください。
    GET /oauth/access_token?  
        grant_type=fb_exchange_token&           
        client_id={app-id}&
        client_secret={app-secret}&
        fb_exchange_token={short-lived-token} 
            

はい、ボットには両方のタイプのメッセージを含めることができます。利用者は、該当のトリガーのいずれかにより標準プラットフォームメッセージをトリガーする必要があります。また、購読メッセージの受信にオプトインする必要があります。

ボットが、利用者に24時間の枠を超えて、メッセージ2回以上を送信することは、今後、技術的に不可能になります。既存のボットの移行期間には、24時間の枠を超えて2回目以降のメッセージも送信できますが、そのようなメッセージが検出された場合は、フラグが付きます。

いいえ、Messengerプラットフォームは、ボットからメッセージを受信することを選択したすべてのユーザーのPSIDのリストを返すAPIを提供しません。

Webhooks

コールバックの受信には2つの手順が必要です。まず、webhookが正しく設定されていることを確認します(https://developers.facebook.com/docs/messenger-platform/webhook-reference#setup)。webhookが適切に設定されていることを示すインジケーターがあります。

次に、各ページをフォローします。フォロー対象のページはすべてリストに表示されます。

webhookへの呼び出しが長期間にわたって失敗する場合は、アプリのフォローが解除され、webhookやページの再フォローが必要になります。

webhookへの呼び出しには、X-Hub-Signatureという名前のヘッダー内にフィールドが含まれます。このフィールドを使用すると、呼び出しがFacebookから来たものであることを検証できます。

webhookからの応答のステータスコードが200になっていることを確認してください。これは、webhookが正しく受信されたことを示します。200が返されない場合は、正しく処理されるまで呼び出しが繰り返されます。また、webhookが長期間にわたって200を返さない場合は、開発者アラートが表示されます。

成功のステータスコードは時間通りに返されます。webhookの呼び出しは20秒後にタイムアウトします。成功のステータスコードがただちに返されて個別に処理されるように、このwebhookのようなコードは非同期に処理されるように設定してください。

最近のWebhookのエラーを表示するツールがあります。Webhooksで配信に失敗している場合、Facebookサーバーは該当するURLをサブスクリプション登録解除することになります。このツールを利用するには、アプリダッシュボード> [Messenger] > [設定]に移動し、Webhooksカードの中の[最近のエラーを表示]というボタンを使用します。

参考情報