WhatsApp API — プログラムによるメッセージ送信
シンプルな REST インターフェースでテキスト、メディアの送信と会話管理が可能な完全な WhatsApp API。Puppeteer 不要、ヘッドレスブラウザ不要 — 純粋な WebSocket 接続。
クイックスタート
1 分以内に最初の WhatsApp メッセージを送信。アカウントを作成し、番号を接続して、API を呼び出す:
curl -X POST https://api2whats.com/send-text \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{"to": "971501234567", "message": "Hello from the API!"}'
以上です。1 回のリクエスト、1 回のレスポンス。SDK 不要。
WhatsApp API とは?
WhatsApp API を使用すると、独自のソフトウェアから WhatsApp メッセージを送受信できます。スマートフォンで WhatsApp アプリを開いて手動でメッセージを入力する代わりに、コードが API エンドポイントに HTTP リクエストを送信します。API は WhatsApp サーバーへの接続、メッセージ配信、ステータス追跡、着信メッセージの転送を処理します。
これは、大規模に顧客とコミュニケーションする必要があるあらゆるビジネスに役立ちます。注文確認、配送更新、予約リマインダー、カスタマーサポートの返信、マーケティングキャンペーン — これらすべてを WhatsApp API で自動化できます。メッセージは顧客がすでに使用している同じ WhatsApp チャットに表示されるため、実際に読まれます。WhatsApp メッセージの開封率は通常 90% を超え、メールの 20% と比較されます。
概念はシンプルです: あなたのアプリケーションが API サーバーに HTTP リクエストを送信し、API サーバーが WhatsApp 経由で受信者にメッセージを配信し、あなたは配信確認のレスポンスを受け取ります。着信メッセージの場合、API はリアルタイムでそれらをあなたの webhook URL に転送するため、あなたのシステムが即座に処理できます。
私たちの WhatsApp API の仕組み
私たちの API は WhatsApp Web プロトコルに基づいており、直接 WebSocket 接続を使用します。これは、Puppeteer やヘッドレスブラウザを使用して Web インターフェースを自動化するソリューションとは根本的に異なります。直接 WebSocket は、より低いレイテンシ、より低いリソース使用量、大幅に優れた信頼性を意味します。
あなたが作成する各インスタンスは、WhatsApp のサーバーへの認証済み WebSocket 接続を維持します。API 経由でメッセージを送信すると、それは直接この WebSocket 接続を通過します。ブラウザレンダリングのオーバーヘッドも、スクリーンショットの解析も、脆弱な DOM 操作もありません。接続は持続的で、再接続を自動的に処理します。
また、複数のリージョンに分散した SOCKS5 プロキシプールを運用しています。これには 2 つの目的があります: サーバーがどこに配置されているかに関係なく信頼性の高い接続を確保することと、複数の IP アドレスに接続を分散してレート制限を回避することです。各インスタンスは異なるプロキシを通じて接続するため、同時に 10 個のインスタンスを実行していても、それぞれが独立したクリーンな接続経路を持ちます。
API でできること
テキストメッセージの送信
最も基本的なユースケース: 任意の WhatsApp 番号にテキストメッセージを送信。メッセージは Unicode をサポートしているため、アラビア語、ヒンディー語、中国語、絵文字を含むあらゆる言語でテキストを送信できます。各メッセージは完全な配信ステータス追跡とともに個別に配信されます。
メディアの送信
テキストを超えて。画像、動画、ドキュメント、音声ファイル、ステッカーを送信。メディアは URL (API が取得して配信) または Base64 エンコードデータでインライン送信で提供可能。ドキュメントは PDF、Word ファイル、スプレッドシート — WhatsApp がサポートするあらゆるファイルタイプ。
Webhook によるメッセージ受信
誰かがあなたの接続済み番号にメッセージを送信すると、API はそれを POST リクエストとしてあなたの webhook URL に転送します。送信者の番号、メッセージ内容、メディア添付ファイル、タイムスタンプ情報を取得できます。あなたの webhook ハンドラがメッセージを処理し、あらゆる自動応答やワークフローをトリガーできます。
複数番号の管理
各プランは複数のインスタンスをサポートしており、複数の WhatsApp 番号を接続して 1 つのダッシュボードからすべてを管理できます。リクエストでインスタンス ID を指定することで API 経由で番号を切り替えられます。これは複数の地域やブランドで運営するビジネスに便利です。
メッセージステータスの追跡
送信するすべてのメッセージは一意の ID を取得します。任意のメッセージのステータス — 保留中、送信済み、配信済み、既読 — を照会できます。Webhook はステータス更新をリアルタイムでプッシュするため、メッセージが配信または既読になる瞬間をポーリングなしで把握できます。
API エンドポイント
API はシンプルな REST 設計に従います。すべてのエンドポイントは JSON を受け入れ、JSON を返します。主なエンドポイントは以下の通りです:
- POST /send-text — テキストメッセージの送信
- POST /send-image — 画像の送信
- POST /send-video — 動画の送信
- POST /send-document — ドキュメントまたはファイルの送信
- POST /send-audio — 音声ファイルの送信
- POST /send-location — 位置情報の送信
- GET /message-status/{id} — 配信ステータスの確認
- POST /set-webhook — Webhook URL の設定
- GET /instance/status — 接続ステータスの確認
すべてのエンドポイントは Authorization ヘッダーでの API キーを必要とします。レート制限はプランごとに適用され、問題が発生した際は HTTP ステータスコード付きの明確なエラーメッセージが返されます。
接続方法
電話番号を API に接続するのは簡単です。2 つの方法をサポートしています:
QR コード接続
ダッシュボードの QR コードをスマホの WhatsApp アプリでスキャン。これが最速の方法 — 約 10 秒。スキャンしなかった場合、QR コードは自動的に更新。スキャン後、接続が確立され、インスタンスは切断するまでオンライン状態を維持。
ペアリングコード接続
QR コードのスキャンではなく、電話で数字のペアリングコードを入力。QR コードをスキャンできない場合に便利 — たとえばリモートサーバーで番号を接続する場合。API がペアリングコードを生成し、数分後に期限切れ。
サポートされているプログラミング言語
API は言語に依存しません。HTTP リクエストを送信できるあらゆる言語で使用可能。以下の言語で即座に使えるコードサンプルを提供しています:
- PHP — cURL または Guzzle を使用
- Python — requests ライブラリを使用
- JavaScript — fetch または axios を使用 (Node.js とブラウザ)
- cURL — コマンドラインから直接使用
- Go — net/http を使用
- Java — HttpURLConnection または OkHttp を使用
HTTP POST リクエストを JSON ボディで送信できる言語なら、この API を使用できます。SDK インストール不要。
メッセージ配信フロー
メッセージがシステム内でどのように流れるかを理解すると、より良い統合を構築できます。メッセージを送信すると、以下のステップで処理されます:
- あなたのアプリケーションが API キーとメッセージデータを含む HTTP リクエストを API に送信
- API がリクエストを検証: API キーの確認、電話番号の形式の検証、インスタンスが接続済みかの確認
- メッセージが適切なインスタンスの WebSocket 接続を通じて配信のためにキューイング
- メッセージが持続的な WebSocket 接続を通じて WhatsApp サーバーに送信
- WhatsApp が受信者の電話にメッセージを配信
- API が WhatsApp から配信確認を受信し、メッセージのステータスを更新
- webhook が設定されている場合、ステータス更新があなたのサーバーに転送されます
リクエストから配信確認までの全体の流れは通常 1-3 秒かかります。ステータス更新 (配信済み、既読) は、受信者の接続状況やメッセージを開くタイミングによってはさらに時間がかかることがあります。
インスタンス管理
接続する各 WhatsApp 番号は「インスタンス」と呼ばれます。1 つのダッシュボードから複数のインスタンスを管理でき、API 経由でインスタンス ID を指定して切り替えられます。各インスタンスには次のものがあります:
- API key — 一意の認証トークン
- Connection status — 接続済み、切断済み、再接続中の状態
- Phone number — インスタンスに関連付けられた WhatsApp 番号
- Webhook URL — 着信メッセージの転送先
- Message history — 送受信メッセージのログ
インスタンスはダッシュボードまたは API から作成、切断、削除できます。インスタンスを切断すると WhatsApp セッションは終了しますが、データを失うことなくいつでも再接続できます。
信頼性と稼働時間
すべてのプランで 99.9% の稼働時間 SLA を維持しています。インフラストラクチャは信頼性を重視して構築されています:
- Automatic reconnection — WebSocket 接続が切断された場合、API が数秒以内に自動的に再接続
- Proxy failover — あるプロキシサーバーに問題が発生した場合、プール内の別のサーバーにトラフィックをルーティング
- Message queuing — WhatsApp 接続が一時的に利用できない場合、メッセージはキューイングされ、接続が回復すると配信
- Health monitoring — すべてのインスタンスを 24/7 で監視し、配信に影響が出る前に対処
API はすべての接続経路が尽きた場合のみ 503 Service Unavailable エラーを返しますが、これは極めて稀です。実際には、個々のコンポーネントに一時的な障害が発生しても、メッセージは配信されます。
セキュリティとプライバシー
すべての API 通信は HTTPS で暗号化されます。API キーは bcrypt ハッシュで安全に保存され — 平文で保存することは決してありません。webhook URL は検証され、すべての webhook ペイロードは署名されるため、実際に私たちのサーバーからのリクエストであることを確認できます。
明示的に webhook で転送しない限り、私たちがメッセージの内容にアクセスすることはありません。あなたと顧客の間のメッセージはプライベートに保たれます。WhatsApp 接続はメッセージ転送層でエンドツーエンド暗号化を使用します。
料金
プランは月額 9.99 ドルから始まり、1 日あたりの API リクエスト数、インスタンス数、機能が含まれます。隠れた費用はなく、メッセージ単位の課金もなく、超過料金の驚きもありません。ダッシュボードからいつでもアップグレードまたはダウングレードできます。
暗号通貨とクレジットカードを受け付けています。支払い処理は安全なゲートウェイを通じて行われ、支払い情報が当社のサーバーに保存されることはありません。
ユースケース
私たちの WhatsApp API は、幅広い業界とアプリケーションで利用されています。顧客が構築する最も一般的なユースケースをいくつか紹介します:
- E-commerce — 注文確認、配送更新、配達通知、返品ステータス更新、カート放棄リマインダー
- Healthcare — 予約リマインダー、処方箋の再発行通知、検査結果の送付、患者フォローアップ
- Education — コース登録確認、課題の締め切り、試験結果、保護者と教師のコミュニケーション
- Real Estate — 物件掲載アラート、内見確認、オファー通知、入居者とのコミュニケーション
- Financial Services — 取引アラート、請求書送付、支払いリマインダー、アカウント通知
- Restaurants — 注文確認、席の予約リマインダー、フィードバック収集、プロモーションオファー
- Logistics — 出荷追跡の更新、配達確認、ドライバー割り当て、倉庫通知
WhatsApp を通じて顧客とコミュニケーションするあらゆる企業は、API で会話を自動化することで恩恵を受けられます。鍵となるのは、どのメッセージが繰り返し発生し予測可能かを特定することです — それらこそ自動化すべきものです。
はじめに
- 無料アカウントを作成 — (無料、クレジットカード不要)
- ニーズに合ったプランを選択
- あなたの ダッシュボード
- QR コードまたはペアリングコードで電話番号を接続
- API キーを使用して最初のメッセージを送信
始めるにあたってヘルプが必要な場合は、 API ドキュメント または サポートチームへのお問い合わせをご覧ください。