Twilio Voice
Iniciar e administrar chamadas telefônicas por meio da Twilio.
O que faz
Integra o Twilio Voice ao fluxo. Faz ligações e obtém as gravações das chamadas.
Quando usar: Use quando o seu fluxo precisar iniciar e administrar chamadas telefônicas por meio da Twilio.
Exemplo de situação: Enviar uma confirmação ao cliente ou à equipe no canal correto.
Antes de começar
Conexão necessária: Credencial protegida.
Escolha uma conexão ou credencial já cadastrada no workspace. Nunca cole senhas ou chaves em campos de texto comuns.
Passo a passo
- Adicione Twilio Voice ao desenho a partir da aba Blocos e ligue a entrada dele à etapa anterior.
- Escolha uma conexão ou credencial já cadastrada no workspace. Nunca cole senhas ou chaves em campos de texto comuns.
- Escolha a operação. O painel mostra só os campos que essa operação usa.
- Preencha os campos obrigatórios. Para usar um dado de uma etapa anterior, digite < e escolha o bloco e o campo.
- Clique em Executar com dados de teste e confira, no terminal, o que entrou e o que saiu do bloco.
- Só publique depois de conferir o resultado da execução de teste.
Para configurar o gatilho
- Informe uma resposta TwiML acima: ela diz ao Twilio o que fazer quando chega uma ligação (ex.: tocar uma mensagem, gravar, coletar o que a pessoa digita). Observação: nas tags TwiML, use colchetes [Tag] no lugar dos sinais de menor e maior.
- Exemplo de TwiML para gravar com transcrição: [Response][Say]Por favor, deixe a sua mensagem.[/Say][Record transcribe="true" maxLength="120"/][/Response]
- Acesse a página "Phone Numbers" do Twilio Console.
- Selecione o número de telefone que vai receber as ligações.
- Role a tela até a seção "Voice Configuration".
- No campo "A CALL COMES IN", selecione "Webhook" e cole a URL do webhook (mostrada acima).
- Confira se o método HTTP está como POST.
- Como funciona: quando chega uma ligação, o Twilio recebe na hora a sua resposta TwiML e executa essas instruções. O fluxo roda em segundo plano, com acesso aos dados de quem ligou, ao status da chamada e a qualquer gravação ou transcrição.
Operações
| Operação | O que faz |
|---|---|
| Fazer ligação | Faze ligação com o bloco Twilio Voice. |
| Listar ligações | Lista ligações com o bloco Twilio Voice. |
| Obter gravação | Obtém gravação com o bloco Twilio Voice. |
Campos
Operação
Escolhe qual ação este bloco executará.
- Opções:
- Fazer ligação · Listar ligações · Obter gravação
- Padrão:
- Fazer ligação
Account SID do Twilio
ObrigatórioSeleciona a conta ou conexão autorizada que será usada nesta ação.
- Exemplo:
- id-do-recurso
Token de autenticação
ObrigatórioDado protegidoInforme o token de autenticação (Auth Token) do Twilio.
- Padrão:
- Segredo protegido
Número de destino
Obrigatório conforme a operaçãoInforma o destinatário ou endereço de e-mail usado pela operação.
- Aparece em:
- Fazer ligação
- Exemplo:
- cliente@exemplo.com
Número do Twilio de origem
Obrigatório conforme a operaçãoNúmero do Twilio que vai fazer a ligação, no formato internacional com + (ex.: +5511912345678); precisa ser um número da sua conta Twilio ou verificado nela.
- Aparece em:
- Fazer ligação
- Exemplo:
- cliente@exemplo.com
URL do TwiML
Informa o endereço HTTPS do serviço ou recurso que será acessado.
- Aparece em:
- Fazer ligação
- Exemplo:
- https://api.exemplo.com/v1/recurso
Instruções TwiML
Use colchetes no lugar dos sinais de menor e maior (ex.: [Response] em vez de <Response>).
- Aparece em:
- Fazer ligação
- Exemplo:
- [Response][Say]Olá! Esta é uma ligação do Twilio.[/Say][/Response]
Gravar ligação
Ativa ou desativa este comportamento.
- Aparece em:
- Fazer ligação
- Exemplo:
- false
Tempo limite (segundos)
Define o tempo máximo de espera pela operação, normalmente em milissegundos.
- Aparece em:
- Fazer ligação
- Exemplo:
- 30000
URL de retorno de status
Endereço que recebe avisos do Twilio sobre o andamento da ligação, como quando ela termina, para o seu sistema acompanhar o resultado (ex.: https://minhaempresa.com.br/twilio/status).
- Aparece em:
- Fazer ligação
- Exemplo:
- https://example.com/status
Detecção de secretária eletrônica
Escolhe uma das opções aceitas por este campo.
- Aparece em:
- Fazer ligação
- Opções:
- Desativado · Ativar · Detectar o fim da mensagem
- Exemplo:
- Desativado
Número de destino
Informa o destinatário ou endereço de e-mail usado pela operação.
- Aparece em:
- Listar ligações
- Exemplo:
- cliente@exemplo.com
Número de origem
Filtra a lista para mostrar só as ligações feitas a partir deste número, no formato internacional (ex.: +5511912345678).
- Aparece em:
- Listar ligações
- Exemplo:
- cliente@exemplo.com
Status
Escolhe uma das opções aceitas por este campo.
- Aparece em:
- Listar ligações
- Opções:
- Todos · Na fila · Chamando · Em andamento · Concluída · Falhou · Ocupado · Não atendida · Cancelada
- Exemplo:
- Todos
Itens por página
Define um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Listar ligações
- Exemplo:
- 10
Depois de (AAAA-MM-DD)
Define a data, o horário ou a programação usada pela operação.
- Aparece em:
- Listar ligações
- Exemplo:
- 09:00
Antes de (AAAA-MM-DD)
Define a data, o horário ou a programação usada pela operação.
- Aparece em:
- Listar ligações
- Exemplo:
- 09:00
SID da gravação
Obrigatório conforme a operaçãoInforma o identificador exato do recurso na plataforma conectada.
- Aparece em:
- Obter gravação
- Exemplo:
- id-do-recurso
Saídas
Para usar um resultado deste bloco em uma etapa seguinte, digite < no campo e escolha o bloco e o campo. A referência tem o formato <twiliovoice.success>: antes do ponto vai o nome do bloco no seu fluxo, em minúsculas, sem espaços e sem acentos.
| Referência | Tipo | O que contém |
|---|---|---|
<twiliovoice.success> | boolean | Indica se a operação foi concluída com sucesso. |
<twiliovoice.callSid> | string | Identificador único da ligação. |
<twiliovoice.status> | string | Status da ligação ou da gravação. |
<twiliovoice.direction> | string | Direção da ligação. |
<twiliovoice.duration> | number | Duração da ligação ou da gravação, em segundos. |
<twiliovoice.price> | string | Custo da operação. |
<twiliovoice.priceUnit> | string | Moeda do preço. |
<twiliovoice.recordingSid> | string | Identificador único da gravação. |
<twiliovoice.channels> | number | Número de canais da gravação. |
<twiliovoice.source> | string | Origem da gravação. |
<twiliovoice.mediaUrl> | string | URL para baixar a gravação. |
<twiliovoice.uri> | string | URI do recurso. |
<twiliovoice.transcriptionText> | string | Texto transcrito (só se o TwiML tiver <Record transcribe="true">). |
<twiliovoice.transcriptionStatus> | string | Status da transcrição (completed, in-progress, failed). |
<twiliovoice.calls> | array | Lista de ligações (na operação list_calls). |
<twiliovoice.total> | number | Total de ligações retornadas. |
<twiliovoice.page> | number | Número da página atual. |
<twiliovoice.pageSize> | number | Número de ligações por página. |
<twiliovoice.error> | string | Mensagem de erro, se a operação falhar. |
<twiliovoice.accountSid> | string | Account SID do Twilio recebido no webhook. |
<twiliovoice.from> | string | Telefone de quem ligou (formato E.164). |
<twiliovoice.to> | string | Telefone que recebeu a ligação (o seu número do Twilio). |
<twiliovoice.callStatus> | string | Status da ligação recebida (queued, ringing, in-progress, completed etc.). |
<twiliovoice.apiVersion> | string | Versão da API do Twilio. |
<twiliovoice.callerName> | string | Nome de quem ligou, se disponível. |
<twiliovoice.forwardedFrom> | string | Telefone que encaminhou esta ligação. |
<twiliovoice.digits> | string | Dígitos DTMF que a pessoa digitou (via <Gather>). |
<twiliovoice.speechResult> | string | Resultado do reconhecimento de fala (ao usar <Gather>). |
<twiliovoice.recordingUrl> | string | URL da gravação da ligação, se disponível. |
<twiliovoice.raw> | string | Dados completos do evento recebidos no webhook, como texto JSON. |
Exemplo de uso
Objetivo: Enviar uma confirmação ao cliente ou à equipe no canal correto.
- Operação
- Fazer ligação
- Número de destino
- cliente@exemplo.com
- Número do Twilio de origem
- cliente@exemplo.com
- URL do TwiML
- https://api.exemplo.com/v1/recurso
- Instruções TwiML
- [Response][Say]Olá! Esta é uma ligação do Twilio.[/Say][/Response]
- Gravar ligação
- false
Os valores são ilustrativos. Teste primeiro com dados fictícios ou de homologação.
Erros comuns e como resolver
- O bloco não executa
- Confira se existe um caminho de setas que parte do gatilho (ou do Início) até este bloco. Blocos soltos no desenho são ignorados.
- Aparece “Validação do fluxo” no terminal
- Há campo obrigatório vazio. Clique no aviso, abra o bloco indicado e preencha o campo marcado.
- Um campo chega vazio na etapa seguinte
- Confira se a referência aponta para um bloco que já executou e para um campo que existe, como <twiliovoice.success>. O nome antes do ponto é o nome do bloco no seu fluxo, em minúsculas, sem espaços e sem acentos.
- O campo que eu procuro não aparece
- Os campos mudam conforme a operação escolhida. Escolha a operação primeiro; campos menos usados ficam em “Mostrar campos adicionais”.
- Credencial ausente ou recusada
- Escolha uma conexão válida do workspace. Se a senha ou a chave mudou no serviço, atualize a conexão cadastrada em vez de colar o segredo no bloco.
- O serviço recusou a chamada ou devolveu erro
- Leia a mensagem no terminal: ela traz o motivo informado pelo serviço. Confira IDs, limites de uso e permissões, e teste antes com um recurso de homologação.
Blocos relacionados
- ArquivoEnviar um documento pelo WhatsApp (Z-API) dentro de um fluxo de conversa.
- ÁudioEnviar um áudio pelo WhatsApp (Z-API) dentro de um fluxo de conversa.
- Botões de açãoEnviar pelo WhatsApp (Z-API) uma mensagem com botões de abrir link, ligar ou copiar código.
- Catálogo e opçõesConsultar a instância Z-API ou enviar catálogo, botões de resposta e lista de opções.
- ContatoEnviar um cartão de contato pelo WhatsApp (Z-API) dentro de um fluxo de conversa.
- Copiar mensagem · TelegramCopiar mensagem usando a conexão Telegram deste workspace.