Skip to main content
Chamada WhatsApp na Notifique é o aviso que toca o telefone: você liga, fala o que precisa (código, lembrete, confirmação) e desliga — sem montar URA nem call center.

Em poucas palavras

  • Hoje: conexão não oficial (número pareado por QR). Liga → fala/toca áudio → desliga.
  • Em breve: a mesma API na conexão oficial (Meta), mantendo o mesmo formato simples.
  • Use a mesma instância que você já usa para mensagens.
  • Chave com escopo whatsapp:call (e whatsapp:call:read para só consultar).
Nesta primeira versão o fluxo é envio + desligar: não há URA, transferência nem conversa ao vivo. É para dizer algo específico e encerrar.

Quando usar

Comparação de modos: Modos de conexão.

O que você pode fazer

Fazer a chamada

POST /v1/whatsapp/calls com speak, play ou template.

Listar chamadas

GET /v1/whatsapp/calls com paginação e filtro por instância.

Consultar uma chamada

GET /v1/whatsapp/calls/{id} com status, duração e eventos.

Template com voz

type: "template" usa o texto/voz do template do canal.

Webhooks da chamada

whatsapp.call.initiated, answered, completed, failed… sem polling.
Rotas e campos: referência da API do WhatsApp (seção Chamadas). Eventos: Webhooks WhatsApp.

Antes de começar

Ainda não pareou? Quick Start WhatsApp (aba não oficial). Escopos: Escopos da API Key. Substitua sk_live_xxxxx pela sua chave e {instanceId} pelo id da instância. Base URL: https://api.notifique.dev.
A API Key pertence a um workspace. Na v1 não envie x-workspace-id.

1. Fazer uma chamada (falar texto)

Liga, sintetiza a fala e desliga automaticamente.
Resposta 202

2. Tocar um áudio (play)

A URL precisa ser pública e apontar para um arquivo de áudio.

3. Template com voz

Se você já cadastrou um template do canal de chamada (whatsapp_call), use type: "template":
A API resolve o texto (e a voz, se houver) e segue como speak.

4. Listar chamadas

Parâmetros opcionais: page, limit, instanceId.

5. Consultar uma chamada

Com includeEvents=true você vê a linha do tempo (QUEUED, INITIATED, COMPLETED, NO_ANSWER, FAILED, …).

Status e encerramento

Depois do enfileiramento, a chamada passa por status como QUEUEDINITIATEDCOMPLETED (ou NO_ANSWER / FAILED / REJECTED). O campo hangupReason explica o fim (completed, hangup, no_answer, provider_error, …).

Próximos passos