Analisi AI · Italiano
openai · gpt-4o-miniSintesi
OpenWA è un gateway API WhatsApp open source e self-hosted pensato per sviluppatori che necessitano di pieno controllo sull'infrastruttura di messaggistica senza dipendere da vendor o costi nascosti. Offre un'architettura modulare che consente di sostituire facilmente database, sistemi di storage e cache senza modificare il codice applicativo. Include funzionalità come supporto multi-sessione, dashboard React per la gestione, autenticazione via API key, e integrazione nativa con Docker e strumenti di automazione workflow come n8n. È adatto sia per sviluppo locale che per deployment in produzione con opzioni configurabili.
Casi d'uso
- →Automazione e gestione di messaggi WhatsApp per aziende senza dipendere da servizi esterni a pagamento.
- →Integrazione di sistemi CRM con WhatsApp per invio e ricezione di messaggi multimediali e notifiche.
- →Creazione di chatbot avanzati multi-account per supporto clienti tramite WhatsApp.
- →Gestione centralizzata di gruppi, canali e newsletter WhatsApp per campagne marketing.
- →Monitoraggio e audit delle comunicazioni WhatsApp in un ambiente conforme e controllato.
Idee SaaS / Business
Un servizio cloud che utilizza OpenWA per permettere alle piccole e medie imprese di gestire comunicazioni WhatsApp automatizzate, con dashboard intuitivi e integrazione nativa con CRM e sistemi di ticketing.
Offrire un gateway API WhatsApp scalabile e personalizzabile come SaaS per sviluppatori e agenzie, con supporto multi-sessione, autenticazione sicura e strumenti di monitoring integrati.
Una soluzione SaaS che facilita la gestione e invio di campagne marketing via WhatsApp, sfruttando le funzionalità di gruppi, canali e bulk messaging di OpenWA con analytics avanzate.
README · tradotto in italiano
Introduzione
OpenWA è un gateway API WhatsApp open source, gratuito e self-hosted pensato per sviluppatori che vogliono avere pieno controllo sulla propria infrastruttura di messaggistica, evitando blocchi da vendor e costi nascosti.
Costruito con un'architettura modulare, OpenWA permette di cambiare database (SQLite/PostgreSQL), storage (locale/S3) e cache (Memory/Redis) senza modificare una riga di codice.
| 🔓 100% Open Source | Nessun costo di licenza, nessuna limitazione, codice aperto |
| 🏗️ Architettura modulare | Cambia componenti via configurazione |
| 🖥️ Dashboard completo | Interfaccia moderna in React per gestione sessioni, webhook |
| 🔹 Multi-sessione | Gestisci più account WhatsApp contemporaneamente |
| 🐳 Docker Ready | Pronto per produzione senza configurazioni extra |
| 🔗 Integrazione n8n | Componenti comunitari per automazione flussi |
Caratteristiche
Funzionalità core
| Funzionalità | Stato | Descrizione |
|---|---|---|
| REST API | ✅ | API WhatsApp completa via HTTP |
| Multi-sessione | ✅ | Gestione di più account |
| Webhook | ✅ | Eventi realtime con firma HMAC |
| Dashboard web | ✅ | Interfaccia grafica di gestione |
| Autenticazione API Key | ✅ | Sicurezza accesso API |
| Documentazione Swagger | ✅ | Docs API interattive |
Messaggistica
| Funzionalità | Stato | Descrizione |
|---|---|---|
| Messaggi testuali | ✅ | Invio e ricezione di testo |
| Messaggi media | ✅ | Immagini, video, documenti, audio |
| Reazioni messaggi | ✅ | Reagisci ai messaggi con emoji |
| Messaggistica bulk | ✅ | Invio a più destinatari |
| Stato messaggi | ✅ | Tracking di consegna e lettura |
Funzionalità avanzate
| Funzionalità | Stato | Descrizione |
|---|---|---|
| API Gruppi | ✅ | Creazione e gestione gruppi |
| Canali/Newsletter | ✅ | Supporto canali WhatsApp |
| Gestione etichette | ✅ | Organizza chat con etichette |
| Supporto proxy | ✅ | Configurazione proxy per sessione |
| Rate limiting | ✅ | Limiti configurabili richieste |
| Whitelist CIDR | ✅ | Controllo accessi per IP |
| Logging audit | ✅ | Tracciamento operazioni API |
Infrastruttura
| Funzionalità | Stato | Descrizione |
|---|---|---|
| SQLite | ✅ | DB embedded zero-config |
| PostgreSQL | ✅ | DB per produzione |
| Cache Redis | ✅ | Cache opzionale per prestazioni |
| Storage S3/MinIO | ✅ | Storage scalabile media |
| Docker | ✅ | Deploy con un solo comando |
| Health checks | ✅ | Probes pronte per Kubernetes |
| Migrazioni dati | ✅ | Export/import backend |
Installazione
Opzione A: Docker (consigliato)
git clone https://github.com/rmyndharis/OpenWA.git
cd OpenWA
docker compose -f docker-compose.dev.yml up -d
Accesso:
- Dashboard: http://localhost:2886
- API: http://localhost:2785/api
- Swagger: http://localhost:2785/api/docs
Opzione B: Sviluppo locale
git clone https://github.com/rmyndharis/OpenWA.git
cd OpenWA
npm install
npm run dev
Accesso come sopra.
Deploy in produzione
Utilizza docker-compose.yml con profili opzionali:
docker compose up -d # Base: SQLite, storage locale
docker compose --profile postgres up -d # Postgres DB
docker compose --profile full up -d # Stack completo (Postgres, Redis, Dashboard, Traefik)
| Profilo | Servizi inclusi |
|---|---|
postgres | Database PostgreSQL |
redis | Cache Redis |
minio | Storage S3 compatibile |
with-dashboard | Dashboard web |
with-proxy | Reverse proxy Traefik |
full | Tutti i servizi sopra |
Porte utilizzate
| Servizio | Porta | Descrizione |
|---|---|---|
| API | 2785 | Endpoint REST API |
| Dashboard | 2886 | Interfaccia web gestione |
| Swagger | 2785/api/docs | Documentazione API |
Esempi di API
- Creazione sessione:
curl -X POST http://localhost:2785/api/sessions \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"name": "my-bot"}'
- Avvio sessione e QR Code:
curl -X POST http://localhost:2785/api/sessions/{sessionId}/start \
-H "X-API-Key: YOUR_API_KEY"
curl http://localhost:2785/api/sessions/{sessionId}/qr \
-H "X-API-Key: YOUR_API_KEY"
- Invia messaggio:
curl -X POST http://localhost:2785/api/sessions/{sessionId}/messages/send-text \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"chatId": "628123456789@c.us", "text": "Hello from OpenWA!"}'
- Configura webhook:
curl -X POST http://localhost:2785/api/sessions/{sessionId}/webhooks \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"url": "https://your-server.com/webhook", "events": ["message.received", "session.status"], "secret": "your-hmac-secret"}'
Tech Stack
| Layer | Tecnologia |
|---|---|
| Runtime | Node.js 22 LTS |
| Framework | NestJS 11.x |
| Linguaggio | TypeScript 5.x |
| Motore WhatsApp | whatsapp-web.js |
| Database | SQLite / PostgreSQL |
| Cache | Redis (opzionale) |
| Storage | Locale / S3 / MinIO |
| ORM | TypeORM |
| Container | Docker + Docker Compose |
Struttura progetto
openwa/
├── src/ # Codice sorgente
│ ├── main.ts # Entry point
│ ├── app.module.ts # Modulo root
│ ├── config/ # Configurazioni
│ ├── common/ # Utilità comuni
│ │ ├── cache/ # Cache Redis
│ │ └── storage/ # Storage file
│ ├── core/ # Core system
│ │ ├── hooks/ # Plugin hooks
│ │ └── plugins/ # Sistema plugin
│ ├── engine/ # Astrazione WhatsApp
│ └── modules/ # Moduli funzionali
│ ├── session/
│ ├── message/
│ ├── webhook/
│ ├── group/
│ ├── contact/
│ ├── auth/
│ ├── infra/
│ └── health/
├── dashboard/ # Dashboard React
├── docs/ # Documentazione
├── docker-compose.yml
├── Dockerfile
└── package.json
Documentazione
Documenti dettagliati sono disponibili in docs/:
| Documento | Descrizione |
|---|---|
| Project Overview | Introduzione e obiettivi |
| Requirements Specification | Specifiche funzionali |
| System Architecture | Architettura sistema |
| Security Design | Implementazione sicurezza |
| Database Design | Modelli dati e migrazioni |
| API Specification | Riferimento API completo |
| Development Guidelines | Standard di sviluppo |
| Migration Guide | Guida migrazione dati |
Contribuire
Per contribuire:
- Fai fork del progetto
- Crea un branch feature (
git checkout -b feature/nome-feature) - Fai commit delle modifiche
- Push sul branch
- Apri una Pull Request
Leggi le Development Guidelines per standard di codice.
Licenza
OpenWA è rilasciato sotto licenza MIT, gratuito per usi personali e commerciali.
Vedi il file LICENSE per i dettagli.
Attività commit · ultime 26 settimane
stimaApprofondimenti AI
Chiedi al repo
AI · contesto README + issueFai una domanda sul progetto. L'AI legge README e issue recenti.
Hai bisogno di un server per far girare rmyndharis/OpenWA?
Abbiamo testato decine di provider e Hostinger VPS è il miglior rapporto qualità/prezzo per self-hostare le repo che trovi qui. Setup in 1 click, pannello semplice e supporto 24/7.
Questo progetto esiste grazie a voi
RepoRadar AI è gratis e senza pubblicità. Le donazioni coprono server, API e modelli AI.
Ogni analisi tradotta che leggi costa qualche centesimo di chiamate al modello. Se RepoRadar ti ha fatto risparmiare tempo, considera una piccola donazione cripto — anche pochi euro aiutano a mantenere il servizio libero per tutti.
0x86ECDF546d8dFc0739d44c066A6110F11cdB7773bc1qqe0wcmhnt78enk8ql0lxvey4z8hquxsxjtyz8rEtTK61Lz7kfdDM8543TMMiAUUTbFVpzX5tvPEcBtZ3ajGrazie di cuore — ogni contributo conta.