概要
OpenWA は、無料のオープンソース WhatsApp API ゲートウェイであり、開発者向けに REST API、Webhook、マルチセッション管理、Web コンソールを提供します。NestJS と TypeScript を基盤に構築され、SQLite/PostgreSQL と Docker によるデプロイをサポートしています。
README プレビュー
\n \n\n\nOpenWA\n\n Open Source WhatsApp API Gateway\n\n\n\n Features •\n Quick Start •\n Docs •\n API •\n Contributing\n\n\n\n \n \n \n \n \n \n\n\n---\n\n## ✨ Why OpenWA?\n\n**OpenWA** is a free, open-source WhatsApp API Gateway designed for developers who need full control over their messaging infrastructure—without vendor lock-in or hidden paywalls.\n\nBuilt on a **pluggable architecture**, OpenWA lets you swap database engines (SQLite/PostgreSQL), storage backends (Local/S3), and cache layers (Memory/Redis) without changing a single line of application code.\n\n| | |\n| ----------------------------- | ------------------------------------------------------------ |\n| 🔓 **100% Open Source** | No licensing fees, no feature locks, full source code access |\n| 🏗️ **Pluggable Architecture** | Swap adapters for database, storage, and cache via config |\n| 🖥️ **Full Dashboard** | Modern React UI for session, webhook, and API key management |\n| 🔹 **Multi-Session Ready** | Run multiple WhatsApp sessions concurrently on one instance |\n| 🐳 **Docker Native** | Production-ready with zero configuration |\n| 🔗 **n8n Integration** | Community nodes for workflow automation |\n\n---\n\n## 🎯 Features\n\n### Core Features\n\n| Feature | Status | Description |\n| ------------- | ------ | ------------------------------------ |\n| REST API | ✅ | Full WhatsApp API via HTTP endpoints |\n| Multi-Session | ✅ | Manage multiple WhatsApp accounts |\n| Webhooks | ✅ | Real-time events with HMAC signature |\n| Web Dashboard | ✅ | Visual management interface |\n| API Key Auth | ✅ | Secure API authentication |\n| Swagger Docs | ✅ | Interactive API documentation |\n\n### Messaging\n\n| Feature | Status |
FAQ (3)
トラブル対応OpenWA Chatsダッシュボードで編集されたWhatsAppメッセージに「編集済み」インジケーターが表示されないのはなぜですか?
これは OpenWA 0.26.0(PR #1906)で修正されたバグです。以前は、編集が到着した際にゲートウェイは保存されているメッセージ本文のみを更新し、編集済みマーカーを記録していなかったため、ダッシュボードには新しいテキストは表示されるものの、インジケーターは表示されませんでした。OpenWA 0.26.0 以降にアップグレードしてください。この修正により、インバウンド編集パスと REST 編集パスの両方でメッセージメタデータに edited マーカーが保存され、Chats ではタイムスタンプの横にローカライズされた編集済みインジケーターが表示され、リロード後も保持されます。注意: アップグレード前に編集されたメッセージにはマーカーが付いていないため、インジケーターが遡って表示されることはありません。
トラブル対応open-wa で POST /api が 413 Payload Too Large や 400 Bad Request ではなく、404 "Cannot POST" を返すのはなぜですか?
open-wa 0.25.0(および Docker イメージ ghcr.io/rmyndharis/openwa:0.25.0)では、BODY_SIZE_LIMIT(デフォルト 25mb)を超えるボディ、または無効な JSON を持つ /api 以下へのリクエストが、413 や 400 ではなく、誤って 404 "Cannot POST <path>" を返します。原因は @nestjs/serve-static です。バンドルされたダッシュボードが配信されると、除外パス(/api、/socket.io、/mcp)上のすべてのエラーを 404 に書き換える Express エラーハンドラーが登録されます。これにより、ルーティング前に発生したボディパーサーの本来の 413/400/415 エラーが飲み込まれてしまいます。
修正: この問題が修正された 0.26.0 にアップグレードしてください(#1925)。制限超過のボディには 413、不正な形式の JSON には 400、100 レベルを超えてネストされたボディやサポートされていない charset には 400/415 が正しく返されるようになります。
0.25.0 での回避策: SERVE_DASHBOARD=false を設定し、ダッシュボードビルドが配信されないようにします。これにより serve-static モジュールはエラーハンドラーをインストールせず、正しいステータスコードが表面化します。なお、ボディ制限自体は常に適用されており、誤っていたのはステータスコードだけでした。そのため、アップグレードによって変わるのは返されるレスポンスのみで、動作自体は変わりません。
トラブル対応OpenWAのWhatsApp自動化を使用するとアカウントが停止される可能性はありますか?リスクを軽減するにはどうすればよいですか?
はい、非公式のWhatsApp自動化を使用するとアカウントが禁止されるリスクがあります。低使用率でスパムを送っていないにもかかわらず、禁止されたというユーザーの報告もあります。リスクを最小限に抑えるには、OpenWAの文書化された緩和戦略に従ってください。厳格なレート制限の実施、メッセージ間の現実的な遅延の追加、不明な番号への一括メッセージ送信の回避、同一のメッセージテンプレートの再利用をしないことです。リスク管理ドキュメントは https://github.com/rmyndharis/OpenWA/blob/main/docs/16-risk-management.md で確認してください。注意:OpenWAでスキャンすると、WhatsAppがリンクされたデバイスを削除する可能性があります。