GetMyBot は WhatsApp Cloud API(Meta Graph API)を通じて WhatsApp を接続します。接続後、ボットは WhatsApp からの入力メッセージを受け取ってリアクションを適用し、オペレーターはダイアログでやり取りを続けられます。マルチチャネルの概要は チャネル のページをご覧ください。
WhatsApp チャネルの接続
接続には、Meta アプリ(WhatsApp Cloud API)から取得する5つの認証情報が必要です。すべて 必須 です:
- Phone number ID — WhatsApp Business の番号の識別子。
- WABA ID — WhatsApp Business Account の識別子。
- Access token — Meta アプリのアクセストークン。
- Verify token — 自分で決める任意の文字列。Meta での Webhook 検証時に使用します(下記参照)。
- App secret — Meta アプリのシークレット。入力 Webhook の HMAC 署名(ヘッダー
X-Hub-Signature-256)の検証に必要です。
インターフェースでの手順:
- ボット → 「チャネルを追加」→ WhatsApp を開きます。
- 上記5つの項目を入力し、必要に応じてチャネル名を入力します(任意)。
- 「検証」 をクリックします — GetMyBot が Meta 経由で認証情報を検証します。
- 「接続」 をクリックします。
Meta での Webhook 設定
接続後、チャネルには {アドレス}/ch/{channelID} 形式の Callback URL(インターフェースでは Webhook アイコン 🔗)が表示されます。これを Verify token とともに Meta アプリに指定します: WhatsApp → Configuration → Webhook。
仕組み:
- Meta が Callback URL に 検証リクエスト を送り、渡された
verify_tokenをあなたの Verify token と照合します。一致すれば Webhook は確認済みとみなされます。 - 以降、Meta はこのアドレスにイベント(入力メッセージ、配信ステータス、テンプレートのモデレーション結果)を送信します。
- 各入力リクエストにはヘッダー
X-Hub-Signature-256で署名が付きます。GetMyBot は App secret で署名を検証します — このため接続時にこの認証情報が必要です。
24時間セッションウィンドウ
WhatsApp は能動的なやり取りを制限します: 自由メッセージ は、ユーザーの最後の入力メッセージから 24時間 以内にのみ送信できます。ユーザーからの新しい入力メッセージが届くたびに、このウィンドウは更新されます。
24時間ウィンドウを過ぎると自由メッセージは送信できません。ユーザーに再び連絡(re-engage)する唯一の方法は 承認済みのメッセージテンプレート です。そのため、テンプレートは WhatsApp での一斉配信やリマインダーの要となる機能です。
メッセージテンプレート
テンプレート(message template)とは、Meta と事前に取り決めたメッセージで、セッションウィンドウ外でも送信できます。テンプレートの管理は GetMyBot のインターフェースで行います。
テンプレートの管理場所
ボット → WhatsApp チャネルの 「メッセージテンプレート」 アイコン(📄)→ ダイアログ 「WhatsApp チャネルのテンプレート」。ダイアログには次のボタンがあります:
- 「テンプレートを作成」 — 新しいテンプレートを組み立てます。
- 「同期」 — Meta からテンプレートのカタログを取り込みます(ステータスと一覧を最新化)。
テンプレートのカテゴリ
- MARKETING(マーケティング) — キャンペーン、告知、一斉配信。
- UTILITY(サービス) — ユーザー操作に関する通知(注文ステータス、リマインダー)。
- AUTHENTICATION(認証) — 確認コード。
テンプレートの項目
- 名前 — 小文字のラテン文字、数字、
_、最大512文字。 - 言語 — Meta のロケール。
- カテゴリ — 上記3つのいずれか。
マーケティング と サービス カテゴリでは、さらに次を設定します:
- ヘッダー — なし / テキスト / 画像 / 動画 / ドキュメント。メディアヘッダーの場合はサンプルファイルをアップロードします。
- 本文 — 必須、最大1024文字。変数は
{{1}}、{{2}}、… と、1 から N まで順番どおりに、抜けなく指定します。 - フッター — 最大60文字。
- ボタン — 最大10個: クイック返信、リンク(最大2)、電話(1)、コードコピー(1)。
- 各変数
{{n}}には サンプル値 を設定する必要があります — これはモデレーションのための Meta の要件です。
認証 カテゴリでは、本文は Meta 側で固定されており、設定できるのは: コードの有効期間(1〜90分)、セキュリティ推奨事項、コードコピーボタンのテキストです。
モデレーション
「作成」 ボタンを押すと、テンプレートはただちに Meta のモデレーションへ送られます — 「審査に送る」という別の手順はありません。結果は非同期に(Webhook 経由で)届き、テンプレート一覧は自動更新されます。ステータス:
- PENDING(審査中)
- APPROVED(承認済み)
- REJECTED(却下) — 理由付き
- さらに PAUSED、DISABLED、IN_APPEAL、PENDING_DELETION。
編集できるのは APPROVED、REJECTED、PAUSED ステータスのテンプレートです。名前と言語は変更できません。承認済みテンプレートではカテゴリもロックされます。
リアクションでのテンプレート利用
テンプレートの送信はリアクションのアクションです:
- リアクションのコンストラクターで 「アクション」→「アクションを追加」→「WhatsApp テンプレートを送信」 を開きます。
- このアクションは、ボットにテンプレート対応の WhatsApp チャネルが接続されている場合にのみ利用できます。
- 選べるのは 承認済み(APPROVED) のテンプレートのみです。
- パラメータを入力します: 本文の変数
{{n}}の値、テキストヘッダー、リンクによるメディアヘッダー、URL ボタンのパラメータ。パラメータには置換変数を使えます。
実際の送信チャネルはイベントのチャネルによって決まります。イベントが WhatsApp から来た場合、テンプレートは WhatsApp へ送られます。
ダイアログと添付ファイル
オペレーターは WhatsApp のダイアログで返信し、添付ファイル(画像、動画、ドキュメント)を送信できます。ただし24時間ウィンドウの制約を受けます(ウィンドウ外では自由なやり取りはできません)。購読者からの入力メディアはプロキシ経由で取得され、ダイアログに表示されます。
課金
GetMyBot は WhatsApp の会話(conversations)をカテゴリ別 — marketing / utility / authentication / service — に集計します。現バージョンでは、これは 観測のための記録のみ(record-only)です: 会話に対する残高の消費はありません。