Botpress のボットを Coexistence で WhatsApp に接続する
Botpress の WhatsApp インテグレーションを Manual Configuration で使います。接続済みの電話番号のアクセストークンと phone number id を貼り付け、Verify Token を任意に決め、App ID と Client Secret は空のままにします。次に、Botpress の Webhook URL とその Verify Token を電話番号の Webhook の送信先に設定すると、Meta がすべてのメッセージをボットへ配信します。
Botpress の Client Secret 欄:空のままにすると、Webhook の署名検証はスキップされます。
Botpress のガイドで購読する Webhook フィールドには、messages とテンプレートのステータス更新が含まれます。
お客様のメッセージで開く、24 時間のカスタマーサービスウィンドウ。この間はどのサービスメッセージも送信できます。
Coexistence の電話番号で使える Botpress の設定はどれですか?
Manual Configuration です。それ以外の選択肢は、Botpress 自身の Meta アプリを通して電話番号を接続します。これは既に接続済みの番号を使う方法ではなく、番号の別のオンボーディングになります。
WhatsApp インテグレーションで Configuration のドロップダウンを開き、Manual Configuration を選びます。入力を求められるのは Verify Token、Access Token、Default Bot Phone Number ID で、任意項目として App ID、Client Secret、WABA ID があります。
アクセストークン、phone number id、WABA id は接続から取得します。ダッシュボードに表示され、アシスタントには get_api_credentials が返します。Verify Token は自由に決めた文字列で構いません。App ID と Client Secret は空のままにします。Botpress のガイドではシークレットを入力する項目として案内されていますが、インテグレーション定義では任意とされ、未入力の場合は署名検証をスキップすると記載されています。これは重要です。Meta は各配信に Tech Provider のアプリシークレットで署名しますが、それを持っているお客様はいないためです。
Botpress の Webhook は、どのように Meta のメッセージを受け取りますか?
電話番号の Webhook の送信先を通して受け取ります。Botpress のガイドでは、Botpress の Webhook URL と Verify Token を Meta アプリの WhatsApp 設定に貼り付けます。ここではご自身の Meta アプリは存在せず、Meta は接続に指定された送信先へ電話番号のイベントを届けます。そのため、Botpress がインテグレーションに表示する Webhook URL をコピーし、同じ Verify Token とともに、ダッシュボードまたは set_webhook_destination で送信先として設定してください。
Meta が確認用の GET を送り、Botpress が応答すると、配信が始まります。Botpress は手動設定を保存するとき、トークンを発行したアプリを Graph に問い合わせて確認します。そのため、無効または失効したトークンは、最初のメッセージではなく保存時に失敗します。
Botpress のハンドラーは smb_message_echoes も処理します。これは WhatsApp Business アプリから誰かが返信したときに Meta が送るイベントです。したがって、スマートフォンからの返信はボットから見えない状態にはなりません。
| Required? | What to enter | |
|---|---|---|
| Access Token | Required | The connected number's token |
| Default Bot Phone Number ID | Required | The connected number's phone number id |
| Verify Token | Required | Any string, reused in the webhook destination |
| WABA ID | Optional | The connected number's WABA id |
| App ID and Client Secret | Optional | Leave both empty |
Coexistence について、ボットは何を知っておくべきですか?
人がすでに対応している可能性がある、という点です。電話番号では WhatsApp Business アプリが引き続き使えるため、お客様が同じ 1 分以内にスマートフォンとボットの両方から返信を受け取ることがあります。エコーが届いたときにフローでどう動くかを決めてください。多くのチームは、そのお客様に対してしばらくボットを一時停止し、対応に入った担当者の発言にボットが割り込まないようにしています。
2 つ目はタイミングです。受信メッセージに応答するボットは、フリーテキストが使える 24 時間のカスタマーサービスウィンドウの中で動作します。1 日後のフォローアップやリマインダーのようなメッセージを送るフローには、承認済みのメッセージテンプレートが必要です。この場面でフリーテキストを送ると、エラー 131047 が返ります。Botpress のガイドがテンプレートのステータスのフィールドを購読するのは、まさにこうした能動的なメッセージのためです。
なお、Coexistence の電話番号のスループットは毎秒 20 メッセージで固定です。会話型のボットが送る量をはるかに上回ります。
よくある間違い
- Client Secret にご自身の Meta アプリのシークレットを入力する。署名が一致せず、Botpress はすべての配信に 401 を返します。
- Manual Configuration ではなく OAuth やサンドボックスの選択肢を選ぶ。これらは既に接続済みの番号ではなく、Botpress 自身のアプリ経由で番号を接続します。
- エコーを無視する。スマートフォンから送った返信への対応ルールがないと、すでに対応に入った担当者の発言に、ボットが重ねて返信してしまいます。
easycoexistence.com で電話番号を接続し、そのトークンと phone number id を Botpress の Manual Configuration に貼り付け、Botpress の Webhook URL を送信先に設定します。料金は電話番号 1 件あたり月額 US$ 9 から、番号を追加するにつれて US$ 1 まで下がります。最初の 3 日間は無料トライアルです。
よくある質問
署名検証をスキップしても安全ですか?
保護の役割が URL に移ります。Botpress はインテグレーションごとに Webhook URL を生成するため、URL は非公開にしてください。メディアはトークンを使って Meta から取得する必要があり、偽造されたイベントではこれを再現できません。
同じ電話番号から n8n にもイベントを送れますか?
電話番号に設定できる Webhook の送信先は 1 つです。1 つのシステムに向け、2 つ目のシステムにもイベントが必要なら、そこから転送してください。
Botpress に WABA id は必要ですか?
現時点では任意項目とされていますが、将来のメジャーバージョンで必須になると定義に記載されています。接続から取得して入力しておいてください。
メッセージは EasyCoexistence を経由しますか?
いいえ。Meta が Botpress の Webhook URL へ直接配信し、内容が当社側に保存されることはありません。
続きを読む
始める準備はできましたか?
WhatsApp Coexistence の設定は数分で完了し、数か月もかかりません。スマートフォン上のアプリも引き続き使えます。
無料トライアルを始める確認日