【ITニュース解説】WhatsApp Business API: A Complete Developer Guide
2026年11月05日に「Dev.to」が公開したITニュース「WhatsApp Business API: A Complete Developer Guide」について初心者にもわかりやすく解説しています。
ITニュース概要
WhatsApp Business APIは、システムからWhatsAppで顧客へ自動的にメッセージを送受信する機能だ。注文更新やOTP、サポート返信などを効率化できる。開発者は、事前にテンプレートを承認させ、24時間ルールや料金体系を理解して連携を構築する必要がある。
ITニュース解説
WhatsApp Business APIは、企業がWhatsApp上で顧客と自動的に、かつ大規模にコミュニケーションを取るためのシステム連携インターフェースである。これは、従業員がスマートフォンアプリで手動でメッセージを送信するWhatsApp Businessアプリとは異なり、企業のバックエンドシステムがプログラムを通じてメッセージの送受信を自動化することを可能にする。例えば、注文状況の更新、ワンタイムパスワードの送信、リマインダー通知、カスタマーサポートの返信といった、顧客への情報伝達やインタラクションを効率的に実現できる。
このAPIの利用方法は主に二つある。一つは、Metaが直接ホスティングする「Cloud API」を企業が直接利用する方法である。この場合、企業はメッセージ送受信のためのサーバーを自前で運用する必要がなく、Metaのインフラを直接利用できる。もう一つは、WhatsAppの認定パートナーである「WhatsApp Business Solution Provider(BSP)」を介して利用する方法である。BSPは、APIの基本機能に加えて、使いやすいダッシュボード、テンプレート管理機能、メッセージの分析ツール、既存の顧客管理システムなどとの連携機能を提供し、APIの導入と運用をより容易にする。
APIをシステムに組み込む際の基本的な構成要素はいくつかある。まず、企業は「Meta Businessアカウント」を持ち、その下に「WhatsApp Businessアカウント(WABA)」を紐づける必要がある。このWABAには、顧客とのコミュニケーションに用いる専用の電話番号を登録する。この電話番号は、通常のWhatsAppアプリやWhatsApp Businessアプリで同時に使用することはできない。次に、企業システムがWhatsAppのAPI(Graph APIと呼ばれる)を呼び出す際に認証のために用いる「アクセストークン」と、メッセージ送信時のURLで特定の電話番号を識別するための「電話番号ID」が必要となる。さらに、顧客からのメッセージや、企業が送信したメッセージの配信状況(例:送信済み、配信済み、既読、失敗)に関する更新情報を受け取るために、「Webhook URL」を設定し、WhatsAppからの通知を受け取る準備をする。
メッセージの送信は、HTTPSプロトコルを用いてMetaのGraph APIエンドポイントへPOSTリクエストを送ることで行われる。このリクエストのボディには、送信先の電話番号、メッセージのタイプ、具体的な内容(後述のテンプレート情報など)をJSON形式で記述する。一方、顧客からのメッセージや、企業が送信したメッセージのステータス更新は、WhatsAppが事前に設定された企業のWebhook URLへ自動的にHTTPS POSTリクエストを送ることで、企業システムに通知される。これにより、システムは顧客の返信をリアルタイムで受け取ったり、送信したメッセージが顧客に届いたかを確認したりできる。
特に重要なルールとして、企業が顧客に対して最初にメッセージを送る場合、そのメッセージは「メッセージテンプレート」と呼ばれる、Metaによって事前に審査・承認された形式でなければならない。テンプレートは、注文番号や配送予定日などの可変情報を埋め込むためのプレースホルダー(例: {{1}})を含むことができる。テンプレートには「マーケティング」「ユーティリティ」「認証」といったカテゴリがあり、これらはメッセージの目的を明確にし、同時にメッセージの料金にも影響を与える。例えば、プロモーションや新製品の案内はマーケティング、注文確認や配送状況の通知はユーティリティ、ワンタイムパスワードなどは認証カテゴリに分類される。Metaは提出されたテンプレートの内容とカテゴリが適切であるかを審査するため、テンプレートの目的を正確に申告することが重要である。
顧客が企業にメッセージを送信すると、「24時間のカスタマーサービスウィンドウ」が開く。このウィンドウがアクティブな間は、企業はテンプレートの利用なしに、自由な形式のメッセージ(テキスト、画像、ドキュメント、ボタンなど)で顧客に返信できる。しかし、この24時間のウィンドウが閉じると、再び顧客にメッセージを送るためには承認されたテンプレートを使用する必要がある。
メッセージ送信の実装例としては、Node.jsなどのプログラミング言語でHTTPクライアントライブラリを利用し、Graph APIのエンドポイントへPOSTリクエストを送信する形となる。リクエストヘッダーにはアクセストークンを含む認証情報とコンテンツタイプを指定し、リクエストボディには、宛先、メッセージの種類(template)、テンプレートの名前、言語コード、そしてテンプレートのプレースホルダーに埋め込む具体的なパラメータ情報をJSON形式で記述する。メッセージ送信が成功すると、WhatsAppからは一意のメッセージIDが返される。このIDは、後続のWebhookで受け取る配信状況の更新と紐付けるために極めて重要である。
Webhookで受け取るイベントは、大きく二種類ある。一つは顧客からのメッセージ(JSONペイロード内のmessages配列に含まれる)で、送信元情報、メッセージの種類、テキストメッセージであればその内容などが含まれる。もう一つは、企業が送信したメッセージに関するステータス更新(statuses配列に含まれる)である。これにより、メッセージが「送信済み」「配信済み」「既読」「失敗」といったどの状態にあるか、もし失敗した場合はその詳細なエラー情報が通知される。Webhookのエンドポイントは、受け取ったリクエストに対し迅速にHTTP 200 OKを返すことが推奨される。時間のかかる処理は非同期的にバックグラウンドで行うべきである。また、ネットワークの状況などによりWhatsAppが同じイベントを複数回送信する可能性があるため、メッセージIDに基づいて処理の重複を防ぐ「冪等性」を確保するようにシステムを設計することが求められる。
WhatsApp上でのメッセージ送信には、「オプトイン」と呼ばれる顧客からの明確な許可が必須である。企業は、顧客がWhatsAppでメッセージを受け取ることに同意したことを明確に理解しているかを確認し、その同意の記録を保持する必要がある。また、顧客がメッセージの受信を拒否する「オプトアウト」の要求があった場合には、迅速に対応しなければならない。同意なしにメッセージを送信したり、オプトアウト要求を無視したりすると、顧客からのブロックや報告につながり、企業の品質評価が低下し、最終的にはメッセージ送信能力が制限される可能性もあるため、これらのルール順守は極めて重要である。
WhatsApp Business APIの料金体系は、Metaが配信したテンプレートメッセージごとに課金される仕組みである。料金はテンプレートのカテゴリ(マーケティング、ユーティリティ、認証)と、メッセージを受信する顧客の国によって異なり、Metaはこれらの料金を定期的に更新している。一般的に、マーケティングテンプレートが最も高価であり、ユーティリティや認証テンプレートは比較的安価に設定されている。また、2026年10月1日からは、24時間ウィンドウ内で顧客から返信があった際、それに対する企業のメッセージも課金対象となるが、毎月最初の1,000件のサービスメッセージは無料である。プロバイダーを利用する場合、Metaの基本料金に加えて、プロバイダー独自のサービス手数料が上乗せされるのが一般的である。
APIを実際に利用開始する「Go-live」に際しては、いくつかの重要なチェック項目がある。まず、Meta Business Managerでのビジネス認証が完了していることと、WABAに専用の電話番号が登録されていること。次に、企業が送信を計画しているすべてのビジネス起点メッセージについて、メッセージテンプレートがMetaに承認されていること。そして、WebhookのURLがHTTPSで保護されており、正しく検証済みで、前述の通り冪等性を持つようにデプロイされていること。さらに、メッセージを送信するすべての顧客についてオプトインが適切に取得・保管され、オプトアウト機能が正常に動作すること。最後に、メッセージ送信の失敗ステータスを監視し、問題が発生した場合に迅速に検知できる体制が整っていることが、安定した運用には不可欠である。notifySphereのようなプロバイダーは、これら多くの運用負荷を軽減するサポートを提供している。