Em poucas palavras
- Contrate um número e ative ele — é a linha de onde a ligação sai (campo
from). - Escolha quem liga e quem recebe (
frometo). Ao atender, usetype+payload— igual SMS e WhatsApp. - Acompanhe e controle o status pela API ou por webhooks.
Antes de começar
Autenticação:
Authorization: Bearer sk_live_... ou x-api-key. Base URL: https://api.notifique.dev.
Números de destino em formato internacional, só dígitos, sem + (ex.: 5511999887766). A API normaliza internamente.
Estrutura do body (POST /v1/voice/calls)
O contrato canônico segue o mesmo padrão dos outros canais: to, type, payload. Campos extras ficam na raiz do JSON ou em options — não dentro de payload.
A API ainda aceita aliases legados na raiz (
speakText, playAudioUrl, gather solto), mas prefira type + payload — é o padrão documentado e igual aos outros canais.1. Fazer uma ligação
1A — Pelo painel
- Voz → Nova chamada
- De qual número você vai ligar e quem vai receber
- Ao atender: mensagem automática (texto ou áudio) ou chamada ao vivo (WebRTC)
- Opcional: traduzir, agendar, gravar ou webhook só desta chamada
- Dispare (ou agende)
type: ivr na API (IVR e fluxos).
1B — Pela API v1
Escopo:voice:call.
Exemplo completo — falar texto, gravar, correlacionar com CRM, webhook só desta chamada e metadados:
messageIds para consultar e controlar cada destino.
Outros type e payload (mesma estrutura — só muda type e o conteúdo de payload):
from aceita id do número no workspace ou E.164 — precisa estar ativo.
2. Listar e consultar
voice:read. Com includeEvents=true, a resposta traz a linha do tempo (discou, atendeu, encerrou…).
3. Controlar ligação em andamento
POST /v1/voice/calls/:id/actions/{action} — escopo voice:control. A ligação precisa estar atendida.
4. Baixar gravação
voice:read. Webhook: voice.call.recording.ready.
5. Chamadas recebidas (inbound)
Quando alguém liga para o seu número, configure a linha em Números de Telefone: encaminhar, falar mensagem e encerrar, ou controle via webhook.6. Webhooks globais vs webhook desta chamada
Globais — cadastre no workspace os eventosvoice.call.* (Eventos dos webhooks).
Só desta chamada — use options.webhook no body (HTTPS pública + secret opcional). Os eventos desta ligação vão para essa URL em vez dos webhooks globais do workspace para essa chamada.
7. Agendar discagem
Painel — chip Agendar na Nova chamada (plano pago, dentro do limite de dias do workspace). A rota API v1POST /v1/voice/calls ainda não aceita schedule — agendamento por API de voz está no roadmap alinhado aos outros canais. No painel, o body usa campos legados (speakText na raiz); na API v1, use sempre type: "speak" e payload.text.
8. Traduzir o texto falado
Na raiz do body, igual SMS e e-mail:i18n (chaves speakText e gatherPrompt):

