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

O 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é-r…

O 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 nodejsphone-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.


Print Share Comment Cite Upload Translate
APA
Luís Leão | Sciencx (2024-03-29T10:44:28+00:00) » Como fazer uma chamada telefônica com Node.js e o Programmable Voice da Twilio. Retrieved from https://www.scien.cx/2021/07/08/como-fazer-uma-chamada-telefonica-com-node-js-e-o-programmable-voice-da-twilio/.
MLA
" » Como fazer uma chamada telefônica com Node.js e o Programmable Voice da Twilio." Luís Leão | Sciencx - Thursday July 8, 2021, https://www.scien.cx/2021/07/08/como-fazer-uma-chamada-telefonica-com-node-js-e-o-programmable-voice-da-twilio/
HARVARD
Luís Leão | Sciencx Thursday July 8, 2021 » Como fazer uma chamada telefônica com Node.js e o Programmable Voice da Twilio., viewed 2024-03-29T10:44:28+00:00,<https://www.scien.cx/2021/07/08/como-fazer-uma-chamada-telefonica-com-node-js-e-o-programmable-voice-da-twilio/>
VANCOUVER
Luís Leão | Sciencx - » Como fazer uma chamada telefônica com Node.js e o Programmable Voice da Twilio. [Internet]. [Accessed 2024-03-29T10:44:28+00:00]. Available from: https://www.scien.cx/2021/07/08/como-fazer-uma-chamada-telefonica-com-node-js-e-o-programmable-voice-da-twilio/
CHICAGO
" » Como fazer uma chamada telefônica com Node.js e o Programmable Voice da Twilio." Luís Leão | Sciencx - Accessed 2024-03-29T10:44:28+00:00. https://www.scien.cx/2021/07/08/como-fazer-uma-chamada-telefonica-com-node-js-e-o-programmable-voice-da-twilio/
IEEE
" » Como fazer uma chamada telefônica com Node.js e o Programmable Voice da Twilio." Luís Leão | Sciencx [Online]. Available: https://www.scien.cx/2021/07/08/como-fazer-uma-chamada-telefonica-com-node-js-e-o-programmable-voice-da-twilio/. [Accessed: 2024-03-29T10:44:28+00:00]
rf:citation
» Como fazer uma chamada telefônica com Node.js e o Programmable Voice da Twilio | Luís Leão | Sciencx | https://www.scien.cx/2021/07/08/como-fazer-uma-chamada-telefonica-com-node-js-e-o-programmable-voice-da-twilio/ | 2024-03-29T10:44:28+00:00
https://github.com/addpipe/simple-recorderjs-demo