Skip to content
WhatIsUp.dev

Indo para produção

O WhatIsUp.dev é totalmente gerenciado — não há nada pra fazer deploy, escalar ou cuidar. A gente roda a API, a fila de entrega, o banco e a camada realtime pra você. Ir pra produção é um checklist curto do seu lado: pegar uma chave de produção, conectar um canal, apontar um webhook e tratar os eventos de forma idempotente.

1 — Pegue uma chave de API de produção

No dashboard, abra API keys e crie uma chave pra produção. Guarde-a como segredo do lado do servidor — nunca a coloque em código de cliente. Você pode rotacionar a qualquer momento; chaves antigas seguem funcionando até você revogá-las. Veja API keys.

2 — Conecte e pareie seu canal

Crie um canal, abra o QR e escaneie pelo WhatsApp no número que vai enviar e receber. Faça polling no canal até o status ficar connected:

curl -H "Authorization: Bearer $WHATISUP_API_KEY" \
  https://api.whatisup.dev/v1/channels/$CHANNEL_ID

O pareamento é durável — um canal conectado continua conectado entre os nossos restarts, então você não vai precisar reescanear por nossa conta.

3 — Aponte um webhook pro seu endpoint

Registre seu endpoint HTTPS e verifique a assinatura em toda requisição. A gente assina cada entrega com HMAC-SHA256 sobre o corpo cru, no estilo Stripe:

import crypto from 'node:crypto';
 
function verify(rawBody: string, signature: string, secret: string) {
  const expected = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
  return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}

Confirme rápido — retorne 2xx em poucos segundos e processe async. Respostas não-2xx são re-tentadas com backoff exponencial, até 8 tentativas. Veja Webhooks → Verificação de assinatura.

4 — (Opcional) Assine os eventos em tempo real

Se você prefere não manter um webhook público — um dashboard ou ferramenta interna, por exemplo — transmita os eventos por Server-Sent Events:

GET https://api.whatisup.dev/v1/events

Mesmos formatos de evento, sem endpoint público pra manter. Veja Server-Sent Events.

5 — Trate os eventos de forma idempotente

Redes re-tentam, então trate os streams de webhook e SSE como at-least-once. Deduplique por event_id do seu lado e um evento re-entregue vira um no-op. Veja Idempotência.

6 — Conheça seus limites

  • Rate limits são por chave e por plano — veja Rate limits.
  • Erros e como tratá-los — veja Erros.
  • Saúde e uptime ao vivo — confira a página de status em whatisup.dev/status.

É essa a lista inteira. Sem servidores, sem migrations, sem fila pra operar — só a API REST e webhooks assinados.