https://a.storyblok.com/f/270183/1368x665/2908eeff65/node-js_glitch_outbound-sms-voice.png

Como fazer chamadas de Voice e enviar SMS com o Vonage no Glitch

Publicado em October 29, 2024

Tempo de leitura: 2 minutos

Neste tutorial, vamos mostrar como integrar e realizar chamadas de voz e enviar SMS usando as APIs da Vonage com o Glitch e o Node.js. A adição de recursos de chamadas de voz e SMS permite que seu aplicativo lide com interações proativas, como o envio de notificações ou a realização de chamadas. Essa integração melhora o engajamento do usuário, possibilitando uma comunicação automatizada e em tempo real a partir do seu aplicativo.

Pronto para criar uma aplicação ainda mais interativa? Vamos lá!

Pré-requisitos

Crie e configure seu projeto

Supondo que você já tenha integrado um webhook para chamadas de voz recebidas e SMS recebidos em seu aplicativo da Vonage, passaremos à implementação dos recursos de chamadas efetuadas. Se precisar de ajuda para configurar seu webhook e seu aplicativo da Vonage, você pode seguir nosso tutorial sobre Como configurar webhooks para SMS e Voice recebidas no Glitch.

Para implementar o aplicativo, você pode aplicar o conhecimento adquirido no tutorial para configurar o seguinte:

  • private.key arquivo

  • Número de telefone da Vonage

  • Chave e segredo da API da Vonage

  • ID do aplicativo da Vonage

  • URL da resposta

Vamos orientá-lo nas seguintes etapas:

  1. Adicionar código do cliente para chamadas de Voice e SMS de saída

  2. Instalar dependências

  3. Definir variáveis de ambiente

  4. Teste seus novos recursos

Etapa 1: Adicionar código do cliente para chamadas de Voice e SMS de saída

Faça login na sua conta do Glitch.

No seu projeto do Glitch, clique no “+” ao lado de Arquivos.

Dê um nome ao arquivo private.key e clique Adicionar este arquivo.

screenshot of a window with "private.key" as the file name with options to add this file and upload a fileadd fileNo seu editor de texto favorito, abra o private.key arquivo que você baixou anteriormente. Copie o conteúdo do seu editor de texto e cole-o no arquivo recém-criado private.key no Glitch.

Da mesma forma, crie um novo arquivo chamado makecall.js.

Adicione o código a seguir ao arquivo recém-criado makecall.js :

require('dotenv').config({ path: __dirname + '/../.env' });

const { Vonage } = require('@vonage/server-sdk');
const { NCCOBuilder, Talk, OutboundCallWithNCCO } = require('@vonage/voice')

const TO_NUMBER = process.env.TO_NUMBER;
const VONAGE_NUMBER = process.env.VONAGE_NUMBER;

const VONAGE_API_KEY = process.env.VONAGE_API_KEY;
const VONAGE_API_SECRET = process.env.VONAGE_API_SECRET;
const VONAGE_APPLICATION_ID = process.env.VONAGE_APPLICATION_ID;
const VONAGE_APPLICATION_PRIVATE_KEY_PATH = __dirname + "/" + process.env.VONAGE_APPLICATION_PRIVATE_KEY_PATH;

const vonage = new Vonage({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET,
  applicationId: VONAGE_APPLICATION_ID,
  privateKey: VONAGE_APPLICATION_PRIVATE_KEY_PATH
});


async function makeCall() {
  const builder = new NCCOBuilder();
  builder.addAction(new Talk('This is a text to speech call from Vonage'));
  const resp = await vonage.voice.createOutboundCall(
    new OutboundCallWithNCCO(
      builder.build(),
      { type: 'phone', number: TO_NUMBER },
      { type: 'phone', number: VONAGE_NUMBER}
    )
  );
  console.log(resp);
}
makeCall();

Em seguida, crie um novo arquivo chamado sendsms.js.

Adicione o código a seguir ao arquivo recém-criado sendsms.js :

require('dotenv').config({ path: __dirname + '/../.env' });

const VONAGE_API_KEY = process.env.VONAGE_API_KEY;

const VONAGE_API_SECRET = process.env.VONAGE_API_SECRET;

const TO_NUMBER = process.env.TO_NUMBER;

const VONAGE_NUMBER = process.env.VONAGE_NUMBER;

const { Vonage } = require('@vonage/server-sdk');

const vonage = new Vonage({

  apiKey: VONAGE_API_KEY,

  apiSecret: VONAGE_API_SECRET

});

const from = VONAGE_NUMBER;

const to = TO_NUMBER;

const text = 'Test message using the Vonage SMS API';

vonage.sms.send({ to, from, text })

  .then(resp => { console.log('Message sent successfully'); console.log(resp); })

  .catch(err => { console.log('Error sending message'); console.error(err); });

Etapa 2: Instalar dependências

Abra um terminal no seu projeto do Glitch.

Execute o seguinte comando para atualizar os pacotes existentes:

npm update

Instale as dependências necessárias com o seguinte comando:

npm i express @fastify/express body-parser dotenv @vonage/server-sdk @vonage/voice

Execute o refresh comando para aplicar as alterações:

refresh

Etapa 3: Definir variáveis de ambiente

Agora, abra o .env arquivo localizado no painel esquerdo do Glitch.

Adicione os seguintes nomes de variáveis:

TO_NUMBER
VONAGE_NUMBER
VONAGE_API_KEY
VONAGE_APPLICATION_ID
VONAGE_API_SECRET
VONAGE_APPLICATION_PRIVATE_KEY_PATH

Em seguida, preencha os seguintes valores para essas variáveis:

  • TO_NUMBER: O número para receber chamadas e SMS (por exemplo, 14567891234).

  • VONAGE_NUMBER: O número atribuído ao seu aplicativo da Vonage (por exemplo, 14567891234).

  • VONAGE_API_KEY e VONAGE_API_SECRET: No Painel de Controle da Vonage.

  • VONAGE_APPLICATION_ID: Nas configurações do aplicativo Vonage.

  • VONAGE_APPLICATION_PRIVATE_KEY_PATH: Definir como private.key.

screenshot of environment variables window with variables and their values listedEnvironment variables

Etapa 4: Teste seus novos recursos

Teste de chamadas de voz de saída

Abra um terminal no seu projeto do Glitch.

Execute este comando:

node makecall.js

Verifique os registros do Painel da Vonage para confirmar se a chamada foi realizada com sucesso e também seus detalhes.

Call log showing call information including Call ID, direction (outbound) from phone number, to phone number, network, country, and the time and date the call started.Outbound Call LogTeste de SMS de saída

Agora que você adicionou o código do cliente para o envio de SMS, vamos testá-lo!

Execute este comando:

node makecall.js

Verifique os registros do Painel de Controle da Vonage para confirmar se a mensagem SMS foi enviada com sucesso e também seus detalhes.

SMS log showing message ID & API key, From phone number, To phone number, Status (delivered), Latency, Network and BodyText Log DeliveredVocê verá as mesmas informações no seu terminal.

Conclusão

E é isso! Você acabou de integrar chamadas de voz e SMS de saída usando as APIs da Vonage com o Glitch. Ao adicionar esses recursos de comunicação, você ampliou a capacidade do seu aplicativo de interagir com os usuários por meio de voz e mensagens. Se você seguiu este tutorial para seus próprios projetos, adoraríamos saber mais sobre isso! Participe da conversa na nossa Slack da Comunidade Vonage ou envie-nos uma mensagem no X.

Compartilhar:

https://a.storyblok.com/f/270183/413x531/a88af5f9b0/prashant-photo-highres.png
Prashant Agrawal Gerente Técnico de Contas

Prashant é membro da Equipe de Vendas para Parceiros API da Vonage. Ele trabalha em Cingapura. Ele é responsável por capacitar clientes e parceiros para que possam aproveitar os recursos do CPaaS da Vonage em seus negócios. Em seu tempo livre, Prashant gosta de pedalar pela ilha, que oferece paisagens deslumbrantes, ou de se exercitar em partidas de badminton.