POST /v1/calls
Cria e enfileira uma chamada de saída no WhatsApp a partir de uma instância. Suporta quatro tipos de chamada: FIXED_TTS, FIXED_AUDIO, DYNAMIC_STREAM e DYNAMIC_AGENT.
Se a instância já possuir uma chamada ativa (QUEUED, RINGING ou IN_PROGRESS), a chamada existente é retornada (200) em vez de criar uma duplicata.
Requisição
Cabeçalhos
| Cabeçalho | Valor |
|---|---|
Authorization | Bearer <token> |
Content-Type | application/json |
Corpo
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
instanceId | string | Sim | A instância a partir da qual a chamada será realizada |
type | string | Sim | Tipo de chamada: FIXED_TTS, FIXED_AUDIO, DYNAMIC_STREAM ou DYNAMIC_AGENT |
target.phoneNumber | string | Sim | Número de destino no formato E.164 (ex.: +14155550123) |
tts.text | string | Apenas FIXED_TTS | A mensagem a ser falada |
tts.voiceId | string | Apenas FIXED_TTS | Identificador da voz (ex.: pt-BR-001) |
audio.audioBase64 | string | Apenas FIXED_AUDIO | Arquivo de áudio codificado em Base64 |
agent.instructions | string[] | Apenas DYNAMIC_AGENT | Instruções em linguagem natural para o agente de IA |
Exemplos
- FIXED_TTS
- FIXED_AUDIO
- DYNAMIC_STREAM
- DYNAMIC_AGENT
Resposta
201 — Chamada criada
| Campo | Tipo | Descrição |
|---|---|---|
id | string | ID único da chamada (prefixo call_) |
instance_id | string | Instância que realizou a chamada |
type | string | Tipo de chamada |
status | string | Sempre QUEUED na criação |
target_phone | string | Número de destino |
created_at | string | Timestamp ISO 8601 |
200 — Chamada ativa existente retornada
Quando a instância já possui uma chamada ativa, o objeto da chamada existente é retornado com status 200.
Erros
| Código | Descrição |
|---|---|
400 | instanceId, type ou target.phoneNumber está ausente; valor de type inválido |
401 | Token ausente ou inválido |
403 | Token demo utilizado com instância incorreta |
404 | Instância não encontrada ou não pertence ao usuário |