Skip to content

AstraCalls v0.0.1 — primeira versão

Choose a tag to compare

@github-actions github-actions released this 26 Jun 13:11

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