Skip to main content
Os webhooks de URA acompanham o ciclo de vida de cada ligação, do início ao encerramento. Todos usam o envelope do webhook de conta: o conteúdo fica em data, com channel: "voice" e timestamp no nível raiz. Os campos não aplicáveis a um evento vêm como null.

Eventos do ciclo de vida

Campos de data

string
required
Identificador da ligação (o bulkId retornado no disparo). Permite correlacionar todos os eventos da mesma ligação/lote.
string | null
required
Identificador da chamada individual dentro do lote, ou null.
string | null
required
Número de destino em formato E.164, ou null.
boolean | null
required
true quando a ligação foi atendida. Em call.answered é sempre true. Em call.ended pode ser true, false ou null. Nos demais eventos, null.
number | null
required
Tempo de conversação em segundos. Presente em call.ended (pode ser null); null nos demais eventos.
string | null
required
Tecla pressionada em call.dtmf — um único caractere: "0""9", "*" ou "#". null nos demais eventos.
number | null
required
Código numérico de encerramento (Q.850 + códigos próprios). Presente em call.ended (pode ser null); null nos demais eventos. Veja a tabela de cause.
string | null
required
Descrição em pt-BR correspondente ao cause, ou null. Para um código sem descrição mapeada, retorna Causa <n>.
string
required
Momento do evento em ISO 8601 (UTC).

Exemplos por evento

Os demais campos vêm como null.
answered é sempre true.
digits traz uma tecla. Cada tecla pressionada gera um webhook separado.
Traz talkSeconds, cause e causeDescription.

Tabela de cause

O campo cause segue os códigos Q.850 acrescidos de dois códigos próprios (150 e 151). O causeDescription traz a descrição correspondente em pt-BR.
Para um cause sem descrição mapeada na tabela, o causeDescription retorna o texto genérico Causa <n>.