AstraCalls v0.0.1 — primeira versão
Primeira versão pública do AstraCalls, um fork de produção do WaCalls que adiciona toda a camada necessária para operar chamadas de voz do WhatsApp como serviço.
✨ Novidades desta versão
🗄️ Persistência em PostgreSQL (1 banco por sessão)
Modelo estilo WAHA: um banco principal (wacalls_main) + um banco por sessão (wacalls_<id>). Isola credenciais por conta e escala melhor em cenário multi-tenant/SaaS. Configurável por WACALLS_PG_URL e WACALLS_PG_NAMESPACE.
💬 API de mensagens
Envio de mensagens via whatsmeow: POST /api/sessions/{sid}/messages/{text|image|audio|video|document} (mídia por base64 ou URL).
🔔 Webhooks por sessão
GET/POST/DELETE /api/sessions/{sid}/webhook — dispara eventos message e receipt para a URL configurada.
🤝 Integração nativa com Chatwoot
Contato/conversa find-create por telefone, mensagens WhatsApp → Chatwoot (texto + mídia) e Chatwoot → WhatsApp via webhook. Tudo com 1 QR só por número.
📲 Widget de chamada dentro do Chatwoot
widget.js injetável que adiciona um botão de telefone na conversa: faz a chamada WebRTC direto do navegador do agente, abre e toca ao receber ligação, mostra "Chamando…" até atender, inicia o cronômetro só na conexão real e silencia o toque ao atender.
🔐 Autenticação por API key
Middleware withAuth: com WACALLS_API_KEY setada, as rotas /api/* exigem X-API-Key (ou ?apiKey= no SSE). Cliente React com tela de login.
🌐 Mídia WebRTC pronta para nuvem (ICE-TCP / NAT 1:1)
Resolve o bloqueio de UDP de entrada de provedores cloud usando SetNAT1To1IPs + ICE-TCP. Gated por WACALLS_PUBLIC_IP (aceita auto) e WACALLS_UDP_PORT.
🐳 Deploy em Docker Swarm + Traefik (HTTPS)
Stack com Postgres dedicado, rede de host para a mídia, proxy socat com labels Traefik e imagem versionada no Docker Hub (astraonline/wacalls:develop).
⚡ UX e robustez
Envio de offer/accept assíncrono (UI não trava no timeout de 15s) e parsing correto do <relay> de entrada (áudio nas chamadas recebidas).
📄 Licença
Relicenciado sob AGPL-3.0; o aviso MIT original do WaCalls é preservado em LICENSE.WaCalls.
👥 Créditos
Construído sobre o trabalho da equipe do WaCalls: @jotadev66, @jobasfernandes, @edgardmessias, @w3nder.
🛠️ Suporte Profissional: WhatsApp +55 61 9 9687-8959