Skip to main content
Do zero à primeira ligação na fila em poucos passos. Antes de tudo: contrate um número, deixe ele ativo no workspace (a ligação parte dessa linha) e tenha saldo ou créditos — voz é cobrada por minuto.

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 (from e to). Ao atender, use type + payload — igual SMS e WhatsApp.
  • Acompanhe e controle o status pela API ou por webhooks.
Contexto: Introdução. Escopos: Escopos da API Key. Número: Números de Telefone.

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

  1. Voz → Nova chamada
  2. De qual número você vai ligar e quem vai receber
  3. Ao atender: mensagem automática (texto ou áudio) ou chamada ao vivo (WebRTC)
  4. Opcional: traduzir, agendar, gravar ou webhook só desta chamada
  5. Dispare (ou agende)
URA pelo painel foi descontinuada — use 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:
Resposta 202:
Guarde os 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

Escopo: 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

Escopo: 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 eventos voice.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 v1 POST /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:
Modo manual — textos por idioma em i18n (chaves speakText e gatherPrompt):
Detalhes: Localização e i18n.

Vozes TTS


Próximos passos