Em poucas palavras
Tabela pública sempre atualizada: Consulta de preços (
GET /v1/pricing → bloco voice).
Preço dinâmico por país
Com precificação v2 ativa, cada destino tem linha própria emvoice.rates[]:
direction: "OUTBOUND"— você disca para o destino; o país vem doto.direction: "INBOUND"— alguém liga para seu número; o país vem dofromdo chamador.- País desconhecido ou sem linha → usa
voice.fallbackCountry(geralmenteBRouZZ).
Como estimar antes de ligar (painel)
No dashboard,GET /voice/price-estimate?to=5511999887766&legMode=pstn devolve o custo estimado por minuto para aquele E.164. Com legMode=webrtc, inclui o adicional de conversa ao vivo pelo navegador.
Na API v1 pública, use GET /v1/pricing e filtre voice.rates pelo código ISO do destino.
A cobrança real usa minutos arredondados para cima (mínimo 1 minuto por chamada atendida). O primeiro minuto é debitado na criação; minutos extras no encerramento.
Opções record e amdMode
Disponíveis em todos os caminhos de saída:
POST /v1/voice/calls(API v1)- Automações (
placeVoiceCall) - Painel → Nova chamada (mensagem automática e IVR)
record (gravação)
GET /v1/voice/calls/:id/recordings/latest/download ou aguarde o webhook voice.call.recording.ready.
amdMode (detecção de caixa postal)
Substitui o campo legado machineDetection.
machineDetection ainda é aceito na API v1 por compatibilidade (detect, premium, etc.), mas prefira amdMode.Sobretaxas de voz (voice.surcharges)
Além do minuto, o bloco voice.surcharges[] em GET /v1/pricing lista add-ons:
Se você não pedir gravação nem AMD, a Telnyx não ativa esses recursos na perna — e a Notifique não debita as sobretaxas correspondentes.
Tipos de chamada (type)
Exemplo completo — speak + gather + AMD
Exemplo — reproduzir áudio
Dashboard modes
The New call screen has two dial modes and three option chips:
IVR is no longer created from the dashboard — use
POST /v1/voice/flows + type: ivr (IVR and flows).
The dashboard shows estimated price per minute by destination and mode (PSTN vs WebRTC).
Scheduling, localization, and webhook (POST /v1/voice/calls)
Optional root fields (API v1 and dashboard, unless noted):
202 with scheduling:
data.status may be SCHEDULED and data.scheduledAt has the time. With AI localization: data.localization.
Chamada ao vivo (WebRTC) — rotas de app
Autenticação de sessão (não API Key). Usadas pelo softphone do painel:
Body de criação WebRTC:
Objeto de chamada (resumo do schema)
Campos retornados emGET /v1/voice/calls/:id:
QUEUED → INITIATED → RINGING → ANSWERED → COMPLETED (ou NO_ANSWER, BUSY, FAILED, CANCELLED).
Próximos passos
- IVR e fluxos: criar e publicar URA pela API
- Quick Start: primeira ligação
- Números de telefone: contratar linha com voz e SMS
- Consulta de preços:
GET /v1/pricing - Eventos dos webhooks:
voice.call.*

