Várias instâncias
Um número de WhatsApp por instância, cada uma com token próprio. Crie, pare, reinicie e apague pela API.
O mesmo binário no seu computador, no seu servidor ou na nuvem gerenciada. Um processo por número, supervisionado, com uma fila que respeita o ritmo de um humano.
Não oficial. Sem afiliação com o WhatsApp ou a Meta.
curl -X POST "localhost:8787/v1/instances/$ID/messages?wait=true" \
-H "Authorization: Bearer $TOK" \
-d '{
"to": "5511999999999",
"type": "text",
"text": "Seu pedido saiu para entrega!",
"client_message_id": "pedido-123"
}'const res = await fetch(
`http://localhost:8787/v1/instances/${id}/messages?wait=true`,
{
method: "POST",
headers: { Authorization: `Bearer ${token}` },
body: JSON.stringify({
to: "5511999999999",
type: "text",
text: "Seu pedido saiu para entrega!",
client_message_id: "pedido-123",
}),
},
);
const msg = await res.json(); // { id, status: "sent", wa_message_id }import requests
r = requests.post(
f"http://localhost:8787/v1/instances/{instance_id}/messages",
params={"wait": "true"},
headers={"Authorization": f"Bearer {token}"},
json={
"to": "5511999999999",
"type": "text",
"text": "Seu pedido saiu para entrega!",
"client_message_id": "pedido-123",
},
)
print(r.json()["status"]) # "sent"HTTP/1.1 200 OK
{
"id": "msg_a41c9e07d2b35f68",
"client_message_id": "pedido-123",
"wa_message_id": "3EB0A1B2C3D4E5F6A7B8C9",
"chat": "[email protected]",
"from_me": true,
"type": "text",
"status": "sent"
}Distribuição
Comece no seu computador e leve para um servidor sem mudar uma linha da sua integração.
App de bandeja com painel web: pareie, converse e configure sem terminal. Seu IP residencial, API só em localhost.
Disponívelassinatura de código em breveVPS ou servidor próprio com Docker ou systemd, atrás de um proxy reverso com TLS.
DisponívelUm projeto pré-instalado só seu, com upgrades, backups, monitoramento e IPs gerenciados.
Em construçãoRecursos
Recursos no nível das APIs de WhatsApp comerciais, num motor que você pode ler, rodar e auditar.
Um número de WhatsApp por instância, cada uma com token próprio. Crie, pare, reinicie e apague pela API.
Pareie escaneando o QR (JSON ou PNG) ou digitando no celular um código gerado pela API.
Cada número roda num processo isolado. Heartbeat a cada 10s, restart com backoff e circuit breaker. Crash de um worker não derruba os outros.
Fila persistente por instância, modo síncrono com ?wait=true, idempotência por client_message_id, chats, histórico e confirmações de leitura.
Imagem, vídeo, áudio (inclusive mensagem de voz), documento e reações. Mídia recebida sob demanda, com URLs assinadas temporárias.
Ritmo com variação aleatória, rampa para números novos, janela de envio para contatos frios e verificação do número antes do primeiro envio.
HTTP, HTTPS ou SOCKS5 por número, fixo durante a sessão. Se o proxy cai, a instância espera: nunca vaza pela conexão direta.
Eventos com envelope único, assinados com HMAC, retry por 24h e dead-letter, além de streams SSE ao vivo.
Claude, ChatGPT e outros clientes leem conversas e enviam mensagens por 40 ferramentas MCP, sempre pela mesma fila anti-ban. Atendente IA embutido ou hook para o seu agente.
Amplitude
Tudo o que está marcado como disponível já está no motor, com página na documentação. O que ainda está em construção está no roadmap.
Por que open source
Os mesmos recursos que você espera de uma API comercial, sem abrir mão do controle.
Arquitetura
litezap serve expõe a API REST, guarda tudo num SQLite local e cuida da fila de envio. Cada número conectado ganha seu próprio processo litezap worker, falando com o supervisor por gRPC num socket local.
Preços
Grátis
Para sempre, Apache-2.0. Rode quantas instâncias o seu hardware aguentar.
Em breve
Projeto pré-instalado por cliente, com cobrança mensal por instância.
Compile, suba o servidor e envie a primeira mensagem em poucos minutos.