OpenSource-Hub

OpenWA

アプリケーション

rmyndharis/OpenWA

オープンソースの WhatsApp API ゲートウェイ。マルチセッションと Web コンソールに対応。

概要

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 ではタイムスタンプの横にローカライズされた編集済みインジケーターが表示され、リロード後も保持されます。注意: アップグレード前に編集されたメッセージにはマーカーが付いていないため、インジケーターが遡って表示されることはありません。

参照 Issue #1905
トラブル対応
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 モジュールはエラーハンドラーをインストールせず、正しいステータスコードが表面化します。なお、ボディ制限自体は常に適用されており、誤っていたのはステータスコードだけでした。そのため、アップグレードによって変わるのは返されるレスポンスのみで、動作自体は変わりません。

参照 Issue #1921
トラブル対応
OpenWAのWhatsApp自動化を使用するとアカウントが停止される可能性はありますか?リスクを軽減するにはどうすればよいですか?

はい、非公式のWhatsApp自動化を使用するとアカウントが禁止されるリスクがあります。低使用率でスパムを送っていないにもかかわらず、禁止されたというユーザーの報告もあります。リスクを最小限に抑えるには、OpenWAの文書化された緩和戦略に従ってください。厳格なレート制限の実施、メッセージ間の現実的な遅延の追加、不明な番号への一括メッセージ送信の回避、同一のメッセージテンプレートの再利用をしないことです。リスク管理ドキュメントは https://github.com/rmyndharis/OpenWA/blob/main/docs/16-risk-management.md で確認してください。注意:OpenWAでスキャンすると、WhatsAppがリンクされたデバイスを削除する可能性があります。

参照 Issue #60