O fluxo principal (visão geral)
- Criar instância → a resposta já traz o QR (
connection.base64). - Escanear o QR no WhatsApp do celular até o status ficar ACTIVE (ou ouvir webhooks
instance.*/ atualizar comGET .../qr). - Enviar mensagem com
POST /v1/whatsapp/messagesusando oinstanceIdativo.
Pré-requisitos
- API Key com escopos:
whatsapp:instances:create,whatsapp:instances:list,whatsapp:send(e opcionalmentewhatsapp:read,whatsapp:instances:disconnect). - Envie a API Key em toda requisição:
- Header:
Authorization: Bearer sk_live_xxxxx - ou Header:
x-api-key: sk_live_xxxxx
- Header:
1. Criar instância
Crie uma instância WhatsApp no workspace. A resposta traz a instância e o QR code para pareamento (quando o status for PENDING). Request- instance: dados da instância criada (
id,name,statusPENDING até conectar,phoneNumberpreenchido após pareamento). - connection: dados para exibir o QR e parear:
- base64: imagem do QR em Data URL; use para exibir (ex.:
<img src="connection.base64" />). - code: código interno de conexão.
- pairingCode: código de pareamento quando disponível (pode ser
null). - count: contador da geração do QR.
- base64: imagem do QR em Data URL; use para exibir (ex.:
connection.base64.
2. Obter / atualizar QR code
O QR expira após alguns segundos. Para obter o QR mais atual sem depender só do webhook: Requestinstance.qrcode (o payload traz data.base64 completo).
3. Receber eventos (webhook)
Configure um webhook (API de Webhooks) com eventos:instance.qrcode— novo QR gerado (payload incluidata.base64completo).instance.connected— WhatsApp conectado (data.phone_number).instance.disconnected— instância desconectada.
- Conteúdo:
timestamp + "." + body(body bruto UTF-8). - Algoritmo: HMAC-SHA256(secret, conteúdo).
- Header:
X-Notifique-Signature: t=<timestamp>,v1=<hex>;X-Notifique-Timestamp= mesmo timestamp. Rejeite requisições com timestamp fora de uma janela (ex.: 5 minutos).
4. Enviar mensagem
Com a instância ACTIVE, envie uma mensagem de texto: RequestReferências
- GET da instância não retorna QR; use GET
/v1/whatsapp/instances/:id/qrquando status for PENDING ou DISCONNECTED.
