Meta Cloud API経由でWhatsAppを接続する
Twilioの代わりに、ご自身の番号とアプリを使って、Meta(Cloud API)から直接WhatsAppを送受信します。BYOモデル:番号、WhatsApp Business Account、アプリはすべてあなたのものです。
メッセージテンプレート
お客様からの返信が 24 時間ないと、WhatsApp は自由文の送信を認めなくなります。会話を再開するには承認済みのテンプレートが必要です。テンプレートは CRM の中で作成・管理できます。設定 → 連携の WhatsApp カードにあり、Meta のビジネスマネージャーへ行く必要はありません。
- 「新しいテンプレート」を押し、用途を書きます。技術的な名前は自動で入ります(Meta は小文字・数字・アンダースコアしか受け付けません)。
- 言語とカテゴリを選びます。注文や予約など、お客様が待っている連絡は「ユーティリティ」、案内や特典は「マーケティング」です。Meta はカテゴリも審査し、誤りは差し戻しのよくある原因です。
- 本文を書きます。人によって変わる部分は {{1}}、{{2}} を使い、順番どおりに、番号を飛ばさずに付けます。
- 各変数に例を入れます。Meta の必須項目で、なければテンプレートは差し戻されます。この値が誰かに届くことはなく、審査のためだけのものです。
- 審査に出します。テンプレートは保留として登録され、通常は数分で承認されます。状態は一覧に表示されます。
ワンクリックで接続
カード上部に「WhatsApp を接続」ボタンが表示されていれば、それが近道です。Meta のウィンドウが開き、WhatsApp Business アカウントと番号を選ぶ(または作成する)だけで完了します。アプリの作成もトークンの生成も貼り付けも不要です。SellioCRM が Meta の承認済みテックプロバイダーであるため、ご自身で用意するアプリではなく当社のアプリのもとで接続が行われます。
- 番号もアカウントもお客様のものです。Meta 側でいつでも接続を解除でき、その時点で当社のアクセスは失われます。
- Facebook のパスワードを当社が見ることはなく、当社の秘密情報がブラウザーに渡ることもありません。
- メッセージ料金は引き続き Meta がお客様のアカウントに請求します。
手動設定(自前の Meta アプリ)
Twilioに加えて、公式のCloud APIを使ってMetaから直接WhatsAppを送受信できます。これは代替手段です。この連携が有効な場合、WhatsAppはMeta経由になり、SMSは引き続きTwilioを使用します。BYOモデル(自分のアカウントを持ち込む方式):番号、WhatsApp Business Account(WABA)、Metaアプリはすべてあなたのものであり、メッセージはあなたのMetaアカウントで課金され、当社側でのコスト、マージン、仲介は一切発生しません。
この連携は最初は非活性の状態です。項目を入力して有効化するまで何も送信されません。アクセストークンとアプリシークレットはCRM内で暗号化して保存され、再表示されることはありません。
前提条件
- WhatsAppプロダクトが追加され、WhatsApp Business Account(WABA)を持つMetaアプリ(developers.facebook.com)。
- WABAに登録されたWhatsApp番号と、そのPhone Number ID(WhatsApp > API Setup配下)。
- 永続的なアクセストークン(推奨:Business Managerのシステムユーザー)とアプリのApp secret(Settings > Basic配下)。
- Sellioにおいて、認証情報を保存し、設定 → 連携でこの連携を有効化するための管理者権限。
入力が必要な項目
- Phone Number ID:Metaにおけるあなたの WhatsApp 番号の識別子(電話番号そのものではなくIDです)。
- WABA ID(任意):あなたのWhatsApp Business AccountのID。管理やテンプレートに役立ちます。
- Graphバージョン:呼び出すGraph APIのバージョン(例:v21.0)。空欄の場合はデフォルトが使用されます。
- 確認トークン:自分で選ぶ文字列です。CRMとMetaパネルでwebhookを購読する際に同じ値である必要があります。
- アクセストークン:送信を許可する永続トークン(CRM内で暗号化して保存されます)。
- App secret:受信したwebhookの署名を検証するために使用されるアプリシークレット(CRM内で暗号化して保存されます)。
設定方法
- 設定 → 連携を開き、「WhatsApp(Meta Cloud API)」カードを見つけます。
- Phone Number ID、確認トークン(文字列を選択)、アクセストークン、App secretを入力します。WABA IDとGraphバージョンは任意です。「認証情報を保存」をクリックします。
- 表示された「Webhook URL(Meta)」をコピーします。Metaパネルの WhatsApp → Configuration → Webhooks で、そのURLをCallback URLに、同じ確認トークンをVerify tokenフィールドに貼り付けます。
- 引き続きMetaで、メッセージとステータスを受信するために「messages」フィールドを購読します。
- CRMに戻り、「有効化」をクリックします。以後、WhatsAppの送信はMeta経由になります。
メッセージの送信方法
- 電話番号(電話または携帯電話フィールド)を持つ連絡先またはリードを開きます。
- 「メッセージ(SMS/WhatsApp)」パネルで「SMS/WhatsAppを送信」をクリックし、WhatsAppチャネルを選びます。
- 番号を確認し、メッセージを書いて「送信」をクリックします。
- メッセージはレコードの履歴に記録されます。顧客からの返信はwebhook経由で届き、同じ履歴に表示されます。
セキュリティ:CRMは、あなたのApp secretを使って、受信したすべてのwebhookのX-Hub-Signature-256を検証します(署名がない、または無効な呼び出しは拒否されます)。アクセストークンとApp secretは機密情報として扱ってください。暗号化して保存され、再表示されることはありません。
同じアプリで複数の番号
同じ連携に複数の WhatsApp 番号を持てます(例:米国番号を既定にして、ブラジル番号を現地の会話に使う)。連携カードの「追加の番号」に番号を追加し(Phone Number ID、任意の WABA ID、ラベル)、保存します。会話を開始するときは「送信元」で送信番号を選びます。受信トレイからの返信は、各会話が届いた番号から自動的に送信されます。メインの番号が既定のままです。
テスト方法
- 電話番号を持つ連絡先またはリードを開き、自分の番号のいずれかに短いWhatsAppメッセージを送信します。
- メッセージが携帯電話に届き、レコードの履歴に記録されていることを確認します。
- 携帯電話から返信し、同じ履歴に返信が表示されることを確認します(これにより受信webhookが検証されます)。
トラブルシューティング
- Metaでwebhookの検証が失敗する:CRMとMetaパネルの確認トークンは同一である必要があります。Callback URLがカード上に表示されている「Webhook URL(Meta)」であることを確認してください。
- 送信エラー:Phone Number IDとアクセストークンを確認してください。トークンが期限切れ、またはWhatsAppの権限がない場合、Metaは送信を拒否します。
- ウィンドウ外でWhatsAppが送信できない:承認済みテンプレートを使用してください。自由なテキストは24時間ウィンドウ内でのみ有効です。
- 返信を受信できない:Metaパネルで「messages」フィールドを購読し、Callback URLと確認トークンを確認してください。
- Webhookが拒否される(403):X-Hub-Signature-256が一致していません。CRMに同じApp secretを再入力してください(サーバーからは再取得できません)。
- 依然としてTwilio経由で送信される:Meta連携が「有効化」されている必要があります。有効化しない限り、WhatsAppは引き続きTwilioを使用します。
WhatsApp Business アプリで使用中の番号をそのまま使う
同じ番号を、スマートフォンのアプリと CRM の両方で同時に使えます。Meta はこれをコエグジスタンス(共存)と呼びます。担当者はこれまでどおり携帯から返信でき、送信したメッセージは自動的に CRM の会話に表示されます。有効化時に、過去6か月ぶんの会話が取り込まれます。
- ビジネスマネージャーでお客様ご自身が有効化するものではありません。CRM の接続ウィザードから行い、WhatsApp に届く確認コードで完了します。
- アプリはこれまでどおり使えます。変わるのは、会話が正しい連絡先に紐づいてここにも記録される点だけです。
- 履歴の取り込みには期限があります。Meta が定める期限は有効化から24時間です。取り込み中はアプリを開いたままにしてください。進捗は画面に表示されます。
- 端末を変更したり番号を再登録したりすると接続は切れ、やり直しが必要です。その際は CRM がお知らせします。