Webhooksの設定

Webhooksをサブスクリプション登録すると、WhatsApp Businessアカウントの設定に加えられた変更や品質シグナルについての通知を受け取ることができます。

Webhooksの設定は、WhatsApp Businessアプリの電話番号に影響しません。電話番号をWhatsApp Businessプラットフォームに移行するのでない限り、その番号をWhatsApp Businessアプリで使うことができます。

エンドポイントを作成する

通知を受け取るには、事前に、通知を受け取るためのエンドポイントをサーバー上に作成する必要があります。

エンドポイントは、確認リクエストとイベント通知の2種類のHTTPSリクエストを処理できなければなりません。両方のリクエストでHTTPSが使われるため、サーバーで有効なTLSまたはSSL証明書が適切に構成され、インストールされている必要があります。自己署名の証明書はサポートされていません。

確認リクエストとイベント通知について詳しくはこちら

Webhooksをサブスクリプション登録する

Webhooksをサブスクリプション登録するには、MetaアプリIDとアクセス許可を取得する必要があります。そのためには、Metaアプリダッシュボードに移動します。そこで、以下を実行します。

  1. MetaアプリダッシュボードでMetaアプリを作成します
  2. アプリダッシュボードでMetaアプリにWebhooks製品を追加します

    各Metaアプリに設定できるエンドポイントは、常に1つだけです。Webhook更新を複数のエンドポイントに送信する必要がある場合は、複数のMetaアプリが必要です。

ビジネスメッセージをスケーリングする準備ができたら、次のことをする必要があるかもしれません。

  1. アプリダッシュボードでwhatsapp_business_managementアクセス許可を追加する
  2. Metaアプリレビューに合格する – このステップには時間がかかりますが、レビュープロセス中もずっとテストは続行できます。

サブスクリプションできるフィールド

サブスクリプションできるフィールド

フィールド名 説明

account_review_update

WhatsApp Businessアカウントの審査が完了すると通知が届きます。

account_update

WhatsApp Businessアカウントが変更されると通知が届きます。電話番号が更新された、ポリシー違反が発生した、WhatsApp Businessアカウントがブロックされた場合などが該当します。

business_capability_update

機能が更新された場合に通知が届きます。WABAが持ちうる電話番号の最大数や、電話番号あたりのスレッド数が変更された場合などが該当します。

message_template_status_update

メッセージテンプレートが承認されたか却下された場合、または無効化された場合に通知が届きます。

messages

ビジネスが顧客からメッセージを受け取った時、顧客にメッセージを送った時、顧客にメッセージが配信された時、顧客がメッセージを読んだ時に、通知が届きます。

phone_number_name_update

電話番号に関連付けられている名前が承認されたか却下された場合に通知が届きます。

phone_number_quality_update

電話番号のクオリティ関連のステータスが変わると通知が届きます。

security

以下の場合に通知が届きます。

  • 2段階認証コードの無効化をリクエストした
  • 2段階認証コードが無効化された
  • 2段階認証コードが更新された
  • 各ペイロードフィールドの詳細については WhatsApp BusinessアカウントのWebhooksリファレンスを、受信可能な各種messages通知の詳細については WhatsAppクラウドAPIのWebhooksリファレンスをご覧ください。

    通知ペイロード

    すべての通知は、以下の汎用フォーマットになっています。

    [{
        "object": "whatsapp_business_account",
        "entry": [{
           "id": "{whatsapp-business-account-id}",
            "time": {unix-timestamp},
            "changes": [{
                "field": "{subscribed-field}",
                "value": {
                    # Information that was update
                }
              }]
          }]
      }]

    最上位レベルの配列には、2つの主要なオブジェクトが含まれています。

    パラメーター説明

    object

    これは、サブスクリプション登録の対象となったオブジェクトです。

    entry

    このオブジェクトにはWebhooks呼び出しをトリガーした変更の詳細が含まれています。

    すべての使用可能なWebhooksオブジェクトについては、構成要素をご覧ください。