Chamadas WhatsApp direto no seu produto
Discador embarcável via iframe, API REST /v1 e webhooks assinados HMAC SHA-256. Adicione chamadas de WhatsApp ao seu produto em minutos — sem manter servidores de voz.
Como funciona
Da chave de API ao discador no ar em minutos.
- 1Crie sua chave de API em Configurações → API no painel Hasos
- 2Use POST /v1/instances para provisionar um número e POST /v1/tokens para emitir um token de discador
- 3Cole o iframe no seu app com o token — seus usuários fazem e recebem chamadas sem sair do produto
- 4Configure um endpoint de webhook para receber eventos em tempo real com assinatura HMAC
Exemplos de integração
Tudo o que você precisa está na documentação completa.
Provisionar instância via API
curl -X POST https://api.hasos.com.br/v1/instances \
-H "x-api-key: hs_live_sua_chave" \
-H "Content-Type: application/json" \
-d '{"phone":"5511999999999"}'Embedar o discador via iframe
<iframe src="https://app.hasos.com.br/discador?token=SEU_TOKEN" allow="microphone" style="width:420px;height:640px;border:0;border-radius:8px" ></iframe>
Validar assinatura do webhook (Node.js)
// Valide a assinatura antes de processar
const sig = req.headers["x-webhook-signature"];
const expected = crypto
.createHmac("sha256", process.env.WEBHOOK_SECRET)
.update(JSON.stringify(req.body))
.digest("hex");
if (sig !== expected) return res.status(401).end();
const { event, callId, recordUrl } = req.body;
// event: "ringing" | "answered" | "ended" | "record"Discador embarcável via iframe
Um iframe autenticado por token por dispositivo. Seus usuários fazem e recebem chamadas de WhatsApp direto do seu app — com permissão de microfone, sem instalar nada.
- Token por dispositivo (não expõe chave de API)
- Permissão de microfone via allow="microphone"
- 420×640 px padrão — responsivo
API REST /v1
Endpoints autenticados por x-api-key para provisionar números, emitir tokens, iniciar chamadas e consultar histórico — tudo que o painel faz, disponível no seu backend.
- POST /v1/instances — provisionar número
- POST /v1/tokens — emitir token de discador
- POST /v1/calls — iniciar chamada
- GET /v1/recordings — listar gravações
Webhooks HMAC SHA-256
Eventos de chamada entregues ao seu servidor com assinaturax-webhook-signaturepara validação. Log de entregas disponível no painel.
- ringing — chamada tocando
- answered — chamada atendida
- ended — chamada encerrada
- record — gravação disponível (com link)
Perguntas frequentes
- Como autentico nas chamadas da API?
- Use o header x-api-key com sua chave gerada no painel Hasos. Para o iframe, emita um token por dispositivo via API — o token autentica o discador sem expor sua chave de API.
- O iframe precisa de permissão de microfone?
- Sim. O atributo allow="microphone" é obrigatório para que o iframe acesse o microfone do usuário. Navegadores modernos pedem confirmação ao usuário na primeira vez.
- Como valido a assinatura dos webhooks?
- Calcule HMAC SHA-256 do corpo do request com seu segredo de webhook e compare com o header x-webhook-signature. Rejeite requests com assinatura inválida.
- Posso iniciar chamadas diretamente pela API, sem o discador?
- Sim. Use o endpoint POST /v1/calls com o número de destino e o ID da instância. A chamada é iniciada pelo número conectado e os eventos chegam por webhook.
Pronto para integrar chamadas WhatsApp?
Crie sua chave de API, provisione um número e faça a primeira chamada via API hoje.
