Como fazer uma chamada telefônica com Node.js e o Programmable Voice da Twilio

March 24, 2021
Escrito por
Diane Phan
Twilion
Revisado por

Como fazer uma chamada telefônica com Node.js e o Programmable Voice da Twilio

Programmable Voice da Twilio permite fazer e receber chamadas de voz no seu aplicativo de software. Neste tutorial, você verá uma demonstração de como usar o Programmable Voice para fazer uma chamada de voz diretamente de um app Node.js.

Pré-requisitos

  • Uma conta gratuita da Twilio (registre-se aqui e receba US$ 10 em crédito da Twilio!)
  • Node.js instalado na sua máquina
  • Um telefone que pode fazer chamadas telefônicas para testar o projeto

Configurar seu ambiente

Nesta seção, você vai configurar um projeto totalmente novo em Node.js. Para manter a organização, abra um terminal ou prompt de comando, encontre um local adequado e crie um novo diretório onde o projeto que você está prestes a criar será armazenado:

mkdir nodejs-phone-call
cd nodejs-phone-call

Instale a biblioteca auxiliar para Node da Twilio usando a linha de comando com o seguinte código:

npm install twilio 

Configurar as credenciais da Twilio

Para acessar o serviço Twilio, seu app Node.js precisará das credenciais da conta na Twilio para fazer login e autenticar. A maneira mais segura de definir essas credenciais é adicioná-las como variáveis de ambiente.

As informações de que você precisa são o "Account SID" (SID da conta) e o "Auth Token" (token de autenticação). Você pode encontrá-los no dashboard do console da Twilio:

Account SID (SID da conta) e auth token (token de autenticação) da Twilio

No diretório do projeto, crie um arquivo .env. Abra o novo arquivo .env em seu editor de texto favorito e copie o Account SID (SID da conta) para adicioná-lo como o valor da variável de ambiente TWILIO_ACCOUNT_SID. Da mesma forma, copie o Auth Token (token de autenticação) e adicione-o como o valor da variável de ambiente TWILIO_AUTH_TOKEN:

TWILIO_ACCOUNT_SID=xxxxxxxxx
TWILIO_AUTH_TOKEN=xxxxxxxxx

Comprar um número de telefone Twilio

Para fazer uma chamada telefônica, você precisa ter um número de telefone associado à sua conta da Twilio. Faça login no console da Twilio, selecione Phone Numbers (Números de telefone) e clique no sinal de adição vermelho para comprar um número da Twilio. Se você tiver uma conta gratuita, use seu crédito de avaliação nesta compra.

Na página Buy a Number (Comprar um número), selecione seu país e marque Voice (Voz) no campo de recursos. Caso queira solicitar um número para sua região, informe seu código de área no campo Number (Número).

captura de tela da página buy a number (comprar um número)

Clique no botão Search (Pesquisar) para ver quais números estão disponíveis e, em seguida, clique em Buy (Comprar) para adquirir o número de sua preferência exibido nos resultados. Depois de confirmar a compra, clique no botão Close (Fechar).

Criar uma TwiML bin

TwiML é a linguagem de marcação do Twilio, uma extensão para XML usada para fornecer instruções ao Twilio sobre como determinados eventos precisam ser tratados. Quando você faz uma chamada usando o número de telefone da Twilio que comprou, a Twilio procura o URL associado ao seu número e envia uma solicitação para esse URL. Se o URL responder com TwiML, o Twilio seguirá estas instruções para lidar com a chamada telefônica.

Você pode hospedar o TwiML diretamente pelo Twilio em um bin TwiML. Navegue até a seção TwiML Bins do Console.

Clique no botão Create new TwiML Bin (Criar nova TwiML bin) para criar um novo bin. Isso direcionará você para uma nova página onde é possível configurar seu bin.

Captura de tela da página de configuração da TwiML bin

Dê ao seu bin um nome de sua escolha, como "Nodejs-Call" (Chamada-Nodejs). Em seguida, copie e cole o seguinte TwiML no campo TwiML, substituindo tudo o que já estiver lá:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say>Hello, from Node.js!</Say>
</Response>

Role para baixo e clique no botão Create (Criar). A página será atualizada e, na parte superior da nova página, você verá os valores SID e URL atribuídos ao seu novo bin TwiML. Copie o URL para a área de transferência.

Fazer uma chamada telefônica com o Node.js

Inicie seu editor de texto ou IDE e crie um novo arquivo JavaScript no diretório nodejs-phone-call que você criou no início do tutorial.

Insira o seguinte código neste arquivo:

require('dotenv').config();

const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);

client.calls
  .create({
    from:'<YOUR_TWILIO_PHONE_NUMBER>',
    to:'<YOUR_PHONE_NUMBER>',     
    url: '<YOUR_TWIML_BIN_URL>'
  })
  .then(call => console.log(call.sid));

Atualize as seguintes partes do snippet de código acima:

  • Substitua o valor do argumento from pelo seu número de telefone Twilio
  • Substitua o valor do argumento to pelo seu número de telefone pessoal
  • Substitua o valor do argumento url pelo URL que você acabou de copiar do bin TwiML

Use o formato E.164 para os números de telefone.

Volte ao seu terminal, certifique-se de ter definido as variáveis de ambiente com suas credenciais da Twilio conforme indicado acima e execute o script da seguinte forma:

node make-call.js

Seu telefone pessoal tocará em alguns instantes. Ao atender a chamada, você ouvirá "Hello, from Node.js!" (Olá, aqui é o Node.js).

Você pode voltar ao seu bin TwiML no Console e editar a mensagem que gostaria que o autor da chamada ouvisse!

O que fazer após as chamadas telefônicas com o Node.js?

Neste tutorial, você aprendeu como fazer uma chamada telefônica usando um aplicativo Node.js. Mas este é apenas o começo. Confira a Referência do TwiML para saber como você pode fazer muitas outras coisas interessantes com suas chamadas telefônicas!

Este artigo foi traduzido do original "How to Make a Phone Call Using Node.js and Twilio Programmable Voice". Enquanto melhoramos nossos processos de tradução, adoraríamos receber seus comentários em help@twilio.com - contribuições valiosas podem render brindes da Twilio.