https://a.storyblok.com/f/270183/124961/4c407b5eb3/voice-proxy-private-calls-node.png

Como fazer uma ligação privada com o Node.js

Publicado em November 6, 2020

Tempo de leitura: 3 minutos

Este é o quarto tutorial da série “Introdução às Voice APIs da Vonage e ao Node.js”, que dá continuidade à nossa série “Introdução às SMS APIs”. Confira os links para os tutoriais anteriores dessas séries no final desta publicação.

As partes anteriores desta série mostraram como fazer uma chamada de texto para voz, atender chamadas recebidase gravar as chamadas. Este artigo explica novamente como usar o Nexmo Call Control Object para fazer chamadas anônimas.

Visualizar o código-fonte proxy-call.js GitHub

Cenários de chamadas por proxy

Existem situações da vida real em que duas pessoas querem se comunicar sem revelar um ao outro seus números de telefone reais. Veja, por exemplo, a comunicação entre um motorista de um serviço de carona compartilhada e o passageiro, ou entre dois usuários que se conectaram em um aplicativo de namoro. Este tutorial apresenta um cenário relacionado, mas muito mais simples: o encaminhamento de um número de telefone temporário para um telefone real, usando um número de telefone virtual da Vonage como intermediário.

Digamos que você esteja desenvolvendo um aplicativo de classificados, que conecta um vendedor a um comprador em potencial. O comprador liga para um número de telefone proxy a partir do aplicativo para se conectar ao seu número de telefone real, de modo que possa conversar com o vendedor sem que nenhum dos dois saiba o número do outro.

Vonage Proxy CallVonage Proxy Call

Configurando uma aplicação e pontos de extremidade de webhook

Para que seus webhooks funcionem, vamos configurar e executar o **ngrok** (como nos tutoriais anteriores desta série):

Você vai usar a URL de redirecionamento, que tem o seguinte formato https://18627fc4.ngrok.io, como seus endpoints temporários de webhook durante o desenvolvimento.

Vamos criar uma nova Application Vonage com as URLs do ngrok.

Em seguida, associe seu número de telefone virtual da Vonage (que é usado como número proxy) ao aplicativo:

Quando a vinculação é bem-sucedida, a CLI exibe a mensagem “Número atualizado”.

Agora, vamos executar um servidor Express e criar uma estrutura básica para os webhooks, como nos tutoriais anteriores. Use o mesmo nome de rota que você especificou ao criar o aplicativo:

Como usar os Objetos de Controle de Chamadas da Vonage para encaminhar uma chamada

Os tutoriais anteriores utilizaram o [Nexmo Call Control Object] (https://docs.nexmo.com/voice/voice-api/ncco-reference) (NCCO) para diversos fins, como atender uma chamada e gravar uma chamada. Desta vez, estamos usando o recurso `connect` para conectar dois números de telefone.

Utilize o NCCO no /proxy-call webhook:

No desenvolvimento real de aplicativos, você provavelmente vai querer consultar os números de telefone reais dos seus clientes em um banco de dados. Para fins de demonstração, vamos supor que o SELLER_NUMBER vem do banco de dados do seu aplicativo e vamos simplesmente codificar manualmente o número de telefone de teste para que ele funcione neste tutorial.

Agora, execute o script do Node.js.

Se você tiver outro número de telefone (que seja não seja o que você usou no NCCO como SELLER_NUMBER), assuma o papel do comprador e ligue para o seu número de telefone virtual da Vonage.

Se tudo estiver funcionando conforme o esperado, a chamada do “comprador” é encaminhada para o número do “vendedor” sem revelar o número de telefone de nenhuma das partes!

Para aplicações reais

Cada Guia de Introdução mostra como usar uma API da Vonage para atender apenas a um determinado cenário. O guia não fornece todas as soluções para suas aplicações de produção. Na prática, você utilizará várias APIs para desenvolver uma solução completa.

Por exemplo, se você estiver desenvolvendo um aplicativo de carona compartilhada na vida real, no qual um motorista e um passageiro possam se comunicar anonimamente, você também deve analisar as chamadas recebidas do motorista, bem como determinar o número virtual do passageiro para estabelecer a conexão. Além disso, seria uma boa ideia enviar mensagens SMS para os números particulares.

Referências e ferramentas da API

Guia de Introdução ao Vonage para Node.js

Compartilhar:

https://a.storyblok.com/f/270183/150x150/a3d03a85fd/placeholder.svg
Tomomi ImuraEx-funcionários da Vonage

Tomomi é uma ex-integrante da equipe da Vonage