Releases: AstraOnlineWeb/AstraCalls
Release list
AstraCalls v0.0.2
Primeira versão estável desde a v0.0.1. Destaques: API completa estilo WAHA, recepção de novos tipos de mensagem no Chatwoot, recursos avançados do whatsmeow e suporte a pareamento por passkey.
✨ Novidades
API completa (compatível com clientes estilo WAHA)
- Mensagens e contatos
- Grupos (criar, participantes, admin)
- Canais, status, presença e perfil
- Histórico de conversas e mensagens
- Aliases de compatibilidade nos payloads (
id/chatId/subject/role/from…) - Documentação OpenAPI/Swagger de todas as rotas
Novos tipos de mensagem recebida (renderizados no Chatwoot e no webhook)
- Enquete/poll — criação, encaminhamento e recebimento de votos decodificados
- Figurinha (sticker/WebP) vira anexo
- Catálogo/produto e pedido do WhatsApp Business
- Cobrança Pix
- Evento do WhatsApp (nome/descrição/data BRT/local/link) + RSVP (Vou/Talvez/Não vou)
- Contato/vCard (nome + telefones)
- Reação (com o ID da mensagem reagida)
- Visualização única (desembrulha ViewOnce V2/V2Extension/legado; avisa quando indisponível)
Recursos avançados do whatsmeow
- Pareamento por código (sem QR)
- Privacidade da conta (leitura e alteração; privacidade de status)
- Mensagens temporárias (padrão e por conversa)
- Admin de grupo — solicitações de entrada, modo de aprovação e quem pode adicionar membros
- Perfil Business de contato e link/QR "me adicione"
Passkey (WebAuthn)
- Pareamento de contas em que o WhatsApp passou a exigir passkey
- Extensão AstraCalls Passkey (Chrome) + integração no painel e download pelo próprio painel
Integração Chatwoot
- Abre conversas de grupos e canais (com toggles)
- Espelha como nota privada as mensagens 1:1 enviadas pelo aparelho (anti-loop por id)
- Resposta com citação bidirecional (Chatwoot ↔ WhatsApp)
- Grava
source_idna mensagem de saída do agente - Não reutiliza contato de grupo legado em conversa 1:1
Chamadas
- Gravação de chamada opt-in por sessão → nota privada no Chatwoot + webhook
- Disparo em massa de ligações com áudio pré-gravado
Rede
- Proxy de saída por sessão (http/https/socks5) via painel e API
Interface
- Redesign com identidade AstraCalls (logo, favicon, paleta navy/azul, layout de cards flutuantes, pt-BR)
🐛 Ajustes
- Selects de áudio responsivos (empilham no mobile, não estouram o box)
- Cabeçalho da conta responsivo (ações quebram linha; rótulos viram ícone no mobile)
- Bolinha do Switch encosta corretamente no fim
- Sidebar e conteúdo unificados num único container
🐳 Docker
docker pull astraonline/wacalls:v0.0.2
Changelog completo: v0.0.1...v0.0.2
Full Changelog: v0.0.1...v0.0.2
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