AnyyのWhatsApp ChannelはMetaの公式Business Cloud APIを使用します。署名付きWebhookでダイレクトメッセージを受信し、設定されたビジネス電話番号の識別情報で返信します。
必要なもの
- WhatsAppを有効にしたMetaアプリ。
- App ID、WhatsApp Business Account ID、Phone Number ID。
- Cloud APIの利用を許可されたアクセストークン。
- 所有者が選んだWebhook検証トークン。
- Metaアプリシークレット。
- Anyy Gatewayに到達する公開HTTPSルート。
最新のプラットフォーム側の設定は、MetaのCloud APIドキュメントに従ってください。
Dashboardで接続する
- Dashboard → Channel → Addを開きます。
- WhatsAppを選びます。既定の項目はBusiness Cloud API webhookです。
- App ID、Business Account ID、Phone Number IDを入力します。
- アクセストークン、Webhook検証トークン、アプリシークレットを追加します。
- 認証情報を保存します。ポリシーの変更にはこのフォームではなく対話型CLIウィザードを使います。
- アカウントを保存し、表示されたMetaの前提条件と権限設定を完了します。
コールバック登録前に、メッセージングプラットフォームのリスナーとHTTPSプロキシを有効にします。受信コールバックパスは次のとおりです。
/channels/whatsapp/ACCOUNT_ID/webhook
既定のアカウントではACCOUNT_IDはpersonalです。このパスをHTTPSで公開し、同じ検証トークンを使ってMetaアプリをWhatsAppメッセージイベントに購読します。
アクセスポリシー
WhatsAppのダイレクトメッセージアクセスはpairing、open、allowlist、disabledに対応し、既定値はpairingです。対話型のanyy setup channelウィザードでWhatsAppを選んで変更します。現在の設定アクションには許可リスト項目のエディターがありません。共通の設定上の制限を参照してください。このプロファイルはグループやネイティブなメディア受け入れには対応していません。
電話番号の識別情報を確認してから保留中の送信者を承認してください。
anyy channel pairing list
anyy channel pairing approve --request REQUEST_ID
プラットフォーム上の制約
v0.1.107のAnyyは、組み込みのEEA/ブラジル国番号リストに一致する受信者識別情報だけを受け入れ、送信対象とします。DMポリシーをopenにしても、この実装上の制限は回避できません。Metaの最新の利用資格や地域ルールは別途確認してください。Anyyの固定リストは、現在のプラットフォームポリシー全体を表すものではありません。
自由形式の返信には、元のユーザー起点メッセージのコンテキストと、プラットフォームで許可された返信期間が必要です。現在のルートには受信メッセージIDが含まれるため、同じ連絡先の連続したメッセージが必ずしも1つのAnyy Sessionを共有するわけではありません。
Anyyは受信者を勝手に作ったり、Metaの会話ルールを回避したりしません。認可された受信会話を起点とし、配信の予約や再試行でもプラットフォームのポリシーを考慮してください。
接続を検証する
anyy channel doctor whatsapp
anyy channel reload
ビジネス番号へダイレクトメッセージを送り、ペアリングを完了してAnyyが返信できることを確認します。
トラブルシューティング
| 問題 | 確認する項目 |
|---|---|
| Webhookチャレンジが失敗する | 公開HTTPSルートとWebhook検証トークン |
| イベントに401が返る | MetaアプリシークレットとX-Hub-Signature-256の転送 |
| 受信できるが送信に失敗する | アクセストークン、Phone Number ID、権限、利用資格 |
| 送信者が無視される | DMポリシー、ペアリング状態、許可リスト |
| 後から返信が拒否される | ユーザー起点の返信可能期間とMetaの最新ルール |