Sua API de WhatsApp não precisa custar o salário do seu dev.
Multi-instância, multi-tenant, REST simples. Suporte em PT-BR. Um curl POST e a mensagem foi.
# enviar uma mensagem
curl -X POST https://api.wsapi.app/v1/message/send-text \
-H "Authorization: Bearer $TOKEN" \
-d '{
"phone": "5547999198263",
"message": "Olá, mundo!"
}'
# 200 OK · ack: ✓✓ · 187msEmpresas que confiam na WS API
Do zero ao primeiro “Olá, mundo” em ~3 minutos.
Três passos curtos. Sem onboarding-call de 45min. Sem demo agendada.
Cria a conta
14 dias grátis, sem cartão. Confirma o email e está dentro.
Conecta o QR
Cria uma instância e escaneia o QR — pelo painel ou via GET /v1/instance/qrcode na sua aplicação.
Confere e dispara
Checa o status, faz o POST. Se desconectou, sua tela pede o QR de novo. Sem suporte humano.
Uma chamada HTTP. Sem SDK chato.
Não tem cliente proprietário, não tem build step, não tem npm install obscuro. É REST puro com Bearer token. Funciona com a stack que você já tem.
- instanceId — ex.: INST-RMQJHC-7CKZH3
- token — 32 hex, gerado por instância
- um número — formato 55DDDxxxxxxxx
- uma mensagem — string, pode ter emoji
Você pega tudo isso no painel em ~3 minutos. Sem onboarding-call, sem demo de 45min.
const r = await fetch(
`https://api.wsapi.app/v1/message/send-text`
+ `?instanceId=${id}`,
{
method: 'POST',
headers: {
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
phone: '5547999198263',
message: 'Olá, mundo!'
})
}
);
// 200 OK · ack: ✓✓ · ~180msSeu cliente reconecta sozinho. Sem te ligar às 3h.
A WS API expõe status e qrcode como endpoints. Sua aplicação embute essas duas chamadas em qualquer tela e dá autonomia total ao cliente final — ele nunca vê nosso painel.
// na tela de envio, antes de habilitar o botão
const s = await fetch(
`${API}/v1/instance/status?instanceId=${id}`,
{ headers: { Authorization: `Bearer ${token}` } }
).then(r => r.json());
if (s.state !== 'open') {
// bloqueia o disparo, mostra o QR
showReconnect();
}Sua UI nunca tenta um envio cego. Sem timeout silencioso, sem fila parada, sem “a mensagem não chegou e ninguém sabe por quê”.
// botão "Reconectar WhatsApp" na sua app
const qr = await fetch(
`${API}/v1/instance/qrcode?instanceId=${id}`,
{ headers: { Authorization: `Bearer ${token}` } }
).then(r => r.json());
// renderiza qr.base64 num <img> ou <canvas>
showQR(qr.base64);O cliente escaneia direto na tela do seu produto. Você fica com a UX, a marca e o dado de quem reconectou quando.
O que você ganha além de alívio na fatura.
Tudo o que precisa pra colocar mensagens de WhatsApp em produção, sem promessas que a gente não consegue cumprir.
Multi-instância
Cada cliente, cada departamento, cada bot — uma instância isolada com QR Code próprio.
Multi-tenant nativo
Tenant isolation no banco. Seu cliente vê só o que é dele. Você vê tudo.
Webhooks (em breve)
Eventos de mensagem, status, conexão. Push pra sua URL — sem polling triste.
Status em tempo real
GET /v1/instance/status devolve o estado da conexão antes de cada envio. Sem disparo cego.
QR Code via API
Seu cliente final reconecta sozinho na sua aplicação — sem precisar entrar no painel da WS API.
REST honesto
JSON, Bearer token e códigos HTTP que fazem sentido. Sem SDK proprietário, sem build step.
A média do mercado vs. a gente.
Sem citar nome de concorrente — você sabe quem cobra caro e te deixa no chatbot. À esquerda, o que se vê por aí; à direita, o que oferecemos.
Copia, cola, funciona.
Quatro linguagens, o mesmo body. Troca o token e o número, dá run.
curl -X POST "https://api.wsapi.app/v1/message/send-text?instanceId=$INSTANCE_ID" \
-H "Authorization: Bearer $INSTANCE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phone": "5547999198263",
"message": "Olá, mundo!",
"delayMessage": 2
}'Times que já trocaram a fatura inflada por uma planilha menor.
Cases reais, com números. Quer ver mais? Acessa /cases pra história completa.
Migrei 14 instâncias do nosso provedor anterior e cortamos R$ 2.100/mês na hora. Setup foi de uma manhã.
Plugamos o endpoint de status na nossa tela de envio e o número de chamados de 'mensagem não chegou' caiu pra zero.
Suporte responde no WhatsApp em PT-BR, em horário comercial brasileiro. Parece pouco, mas faz toda a diferença.
Um plano. Sem letras miúdas.
Sem degraus. Sem surpresa. Sem aquele plano “Enterprise” cinza que esconde o preço.
Cancele a qualquer momento, sem multa, sem formulário psicológico de retenção. Trial de 14 dias sem cartão.
- Mensagens ilimitadas (limite real é o do WhatsApp).
- REST simples, JSON puro, Bearer token.
- Multi-instância e multi-tenant nativos.
- Suporte em PT-BR de gente que sabe Go.
Precisa de mais de 50 instâncias? fale direto.
Sessão criptografada em repouso
Tokens e cookies do Baileys ficam no Mongo com encryption-at-rest. Sem logs do conteúdo das mensagens.
Latência típica: ~180ms p50
Servidor no Brasil, mesma região do AWS São Paulo. Veja números reais e histórico em /status.
Suporte humano em PT-BR
Não somos "chat de IA fingindo". Resposta média < 30min em horário comercial.
As perguntas que você ia mandar mesmo.
Como funciona a integração?
Quanto tempo dura o trial?
O WhatsApp não vai bloquear minha conta?
Quantas mensagens por minuto eu mando?
Tem webhook de eventos recebidos?
Como o cliente final reconecta o WhatsApp dele?
Como evito disparar mensagem com o WhatsApp caído?
Posso rodar isso na minha infra?
O que vocês fazem com meu número?
Estou pagando caro em outro provedor. Vale a pena trocar?
Para de pagar caro pra conversar.
14 dias. Sem cartão. Sem letras miúdas. Se em 3 minutos você não tiver disparado a primeira mensagem, a culpa é nossa.