オンプレミスAPI用Webhooks

Webhooksをサブスクリプション登録すると、ビジネスが受け取るメッセージや顧客プロフィールの更新に関する通知を受け取ることができます。WhatsApp BusinessプラットフォームのWebhooksについて詳しくは、概要、Webhooksをご覧ください。

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

開始する前に

以下が必要です。

  • HTTPSをサポートし、有効なSSL証明書のあるコード
  • Coreappからのインバウンドリクエストを受け入れるように設定されているコールバックURLエンドポイント
  • 通知受信時にHTTPS 200 OK応答を返すコールバックURLエンドポイント

再試行

何らかの理由で通知が配信されない場合や、Webhookリクエストが200以外のHTTPステータスコードを返す場合は、配信が再試行されます。Facebookは、特定のタイムアウト(通常は24時間ですが、異なる場合もあります)に達するまで、または配信が成功するまで、遅延時間を増やしながら継続的に配信を再試行します。

コールバックURLのエンドポイントを設定する

webhooksパラメーターをコールバックURLエンドポイントに設定したPATCHリクエストを、/v1/settings/applicationエンドポイントに対して送信します。それ以外にも、sent_statusパラメーターやcallback_persistパラメーターが設定でよく使われます。

リクエストの例

PATCH /v1/settings/application
{
    "callback_persist": true,
    "sent_status": true,  // Either use this or webhooks.message.sent, but webhooks.message.sent property is preferred as sent_status will be deprecated soon
    "webhooks": { 
    	"url": "webhook.your-domain", 
        "message": {     // Available on v2.41.2 and above
        	"sent": false,
        	"delivered": true,
        	"read": false
       },
    }
}

成功した場合の応答には、nullまたはJSONオブジェクトを伴う200 OKが含まれます。

アプリの設定と追加のWebhooksパラメーターについて詳しくは、アプリ設定リファレンスをご覧ください。

Webhook通知ペイロード

トリガーイベントが発生するたびに、WhatsApp Businessプラットフォームはイベントを認識し、事前に指定されたWebhook URLに通知を送信します。次の2種類の通知を受け取ることができます。

  • 受信したメッセージ: このアラートは、メッセージを受信したことを通知します。ドキュメント全体で「インバウンド通知」とも呼ばれています。
  • メッセージステータスと価格設定通知: このアラートは、メッセージのステータスが変化したこと(メッセージが読まれた場合や配信された場合など)を通知します。このドキュメント全体を通じて「アウトバウンド通知」とも呼ばれています。

各フィールドに関する情報については、コンポーネントをご覧ください。

エラー通知

{
    "errors": [ {
       "code": <error-code>,
       "title": "<error-title>",
       "details": "<error-description>",
       "href": "location for error detail"
    },
    {
       ...
    }
    ]
 }

アプリエンドポイントのサンプル

Webhoooksをテストするため、通知受信用エンドポイントを備えたサンプルアプリを作成できます。