Como fazer chamadas de voz com Java e Twilio
Tempo de leitura: 3 minutos
Fazer chamadas outbound a partir do código é algo que a Twilio conhece bem. Você levará apenas alguns minutos para configurar um projeto Java e ver a magia acontecer. Para acompanhar esta publicação, será necessário:
- Uma instalação do Java 8 ou mais recente. Eu recomendo o SDKMAN! para instalar e gerenciar versões do Java.
- Um IDE Java. Eu gosto do IntelliJ IDEA , mas você pode usar um de sua preferência.
- Uma conta da Twilio. Caso você não tenha uma, cadastre-se aqui gratuitamente e receba US$ 10 de crédito ao fazer upgrade.
- Um número de telefone da Twilio que pode fazer e receber chamadas de voz. Você pode comprar um no console da Twilio.
A maneira mais fácil de chamar a API Twilio é com a Biblioteca auxiliar Java. Neste tutorial, mostrarei exemplos de como utilizar a ferramenta de criação Apache Maven, que baixará e gerenciará a dependência e empacotará o projeto. Você pode otimizar a velocidade com o Maven em 5 minutos. Outras ferramentas como Gradle também funcionam, se você preferir.
Se você quiser pular para o final, confira o projeto concluído no GitHub.
Como criar um novo projeto
O primeiro passo é criar um novo projeto. Crie um novo diretório e abra seu IDE.
Como criar um novo projeto Maven
Você pode criar um novo projeto Maven no IntelliJ IDEA usando estas configurações:
Também é possível criar a mesma configuração da linha de comando. Para isso, crie um diretório para seu código-fonte usando a estrutura de diretório padrão com mkdir -p src/main/java
e um arquivo chamado pom.xml
com este conteúdo:
Para concluir a configuração do projeto, precisamos informar ao Maven para fazer download da Biblioteca auxiliar da Twilio para Java e usar o Java 8 (qualquer versão mais recente também serve). Atualize o arquivo pom.xml
para garantir que as seguintes propriedades e dependências estejam presentes:
Mexendo no código
Em src/main/java
, crie uma classe chamada TwilioMakeVoiceCall
com um pacote de org.example
. A estrutura do diretório será:
Inicie a classe TwilioMakeVoiceCall
com um método main
:
No método principal, você precisará:
- Autenticar o Twilio Client com seu SID de conta e token de autenticação
- Chamar a API para fazer o telefone de alguém tocar
Vamos ver como esse código é.
Como autenticar o Twilio Client
Você precisará da sua ACCOUNT_SID
e do AUTH_TOKEN
do seu Console da Twilio. Você deve mantê-los em segredo, então recomendo sempre ler esses dados de variáveis de ambiente em vez de fazer um codificação rígida. Eu uso o plugin EnvFile para IntelliJ IDEA e existem alternativas para outros IDEs ou você pode defini-los em seu SO. Depois que eles forem definidos no ambiente, adicione esse código no corpo da função main()
:
Faça sua primeira chamada
Depois de autenticar seu Twilio Client, use o código a seguir em seu método main
para fazer uma chamada telefônica:
[este código com importações no GitHub]
Substitua as notas nas linhas 7 e 8 por números de telefone reais no formato E.164.
Este código tem três funções:
- Criar algumas instruções sobre o que a Twilio deve fazer durante a chamada.
- Criar a chamada usando essas instruções e os números de telefone "para" e "de".
- Imprimir o SID da chamada.
Vamos examinar essas instruções com mais detalhes.
Instruções para a chamada
A Twilio recebe instruções em uma linguagem que chamamos de TwiML, abreviação de Twilio Markup Language. O TwiML gerado pelo código acima é:
Este é o "Hello, World" (Olá, mundo) do TwiML, mas há muito mais possibilidades. Você pode usar a função Say para enviar mensagens, Play para escutar gravações, Record para gravar uma chamada e Gather para coletar falas ou tons DTMF. Além disso, é possível criar chamadas de conferência com o Conference, usar o Stream para transmitir áudio a outro serviço e muito mais.
Criar a chamada
O método Call.creator(...)
acima usa os números "para" e "de", bem como o código TwiML. Nesse caso, fornecemos o TwiML diretamente como uma String
. Outra opção é passar um URL em vez do TwiML. A Twilio fará uma solicitação para esse URL, passando metadados sobre a chamada, e a resposta deve conter o TwiML que será usado.
Há algumas opções para hospedar o TwiML na Twilio:
- TwiML Bins: TwiML fixo, útil para prototipagem rápida ou serviços simples.
- Twilio Functions: uma plataforma JavaScript sem servidor que pode ter lógica complexa ou chamar outros serviços on-line
Para obter a máxima flexibilidade, você pode hospedar seu próprio serviço da Web usando qualquer pilha que desejar. Desde que você retorne um TwiML válido com um tipo de conteúdo de application/xml
, está tudo bem.
O SID da chamada
Cada chamada que a Twilio faz ou recebe tem um identificador de string (SID). Você pode usar o SID para procurar os detalhes da chamada (status, duração, custo) na página de registros de chamadas no console da Twilio.
Resumo
Agora você sabe como fazer chamadas com o Java e a Twilio. Em seguida, você pode aprender como lidar com chamadas inbound. Ou talvez você queira aprender a enviar e receber mensagens SMS.
É hora de você dar asas à sua imaginação. O que você vai criar em seguida?
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.