개요
OpenWA는 무료 오픈 소스 WhatsApp API 게이트웨이로, 개발자에게 REST API, Webhook, 멀티 세션 관리 및 웹 콘솔을 제공합니다. 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 메시지에 "edited" 표시가 나타나지 않는 이유는 무엇인가요?
이는 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 오류 핸들러를 등록합니다. 이로 인해 라우팅 전에 발생하는 body parser의 실제 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의 문서화된 완화 전략을 따르세요: 엄격한 rate limiting을 적용하고, 메시지 간에 현실적인 지연을 추가하며, 알 수 없는 번호로 대량 메시지를 보내지 말고, 동일한 메시지 템플릿을 재사용하지 마십시오. https://github.com/rmyndharis/OpenWA/blob/main/docs/16-risk-management.md 의 위험 관리 문서를 검토하세요. 참고: OpenWA로 스캔하면 WhatsApp이 연결된 기기를 제거할 수 있습니다.