Node.js

Configure seus pré-requisitos

Existem alguns pré-requisitos que você precisa cumprir antes de poder seguir com este tutorial. Se você já tiver cumprido algum deles, fique à vontade para pular essa etapa.

Você pode criar um account na Vonage pelo Painel de controle.

No Painel de Controle, você pode criar Applications e adquirir Numbers da Vonage. Você também pode realizar essas tarefas usando o CLI da Vonage.

Siga as etapas descritas no Introdução ao Vonage CLI página para instalar e configurar a linha de comando.

Existem dois métodos para criar um aplicativo Voice:

  1. Como usar a CLI da Vonage
  2. Como usar o painel

Cada um desses métodos é descrito nas seções a seguir.

Como criar um aplicativo de voz usando a CLI da Vonage

Para criar seu aplicativo usando a CLI da Vonage, digite o seguinte comando no shell, substituindo NGROK_HOST_NAME com o host do ngrok que você obteve ao configurar o ngrok:

Para criar seu aplicativo usando o CLI da Vonage, digite o seguinte comando:

vonage apps create 'Your application'

✅ Creating Application
Saving private key ... Done!
Application created

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  None Enabled
vonage apps create 'Your application'

✅ Creating Application
Saving private key ... Done!
Application created

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  None Enabled
vonage apps create 'Your application' ✅ Creating Application Saving private key ... Done! Application created Name: Your application Application ID: 00000000-0000-0000-0000-000000000000 Improve AI: Off Private/Public Key: Set Capabilities: None Enabled

Em seguida, adicione recursos de voz ao seu aplicativo (use o nome do host de ngrok em vez de example.com)

vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice `
  --voice-answer-url='https://example.com/webhooks/voice/answer' `
  --voice-event-url='https://example.com/webhooks/voice/event' `
  --voice-fallback-url='https://example.com/webhooks/voice/fallback'
  
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
 VOICE:
    Uses Signed callbacks: On
    Conversation TTL: 41 hours
    Leg Persistence Time: 6 days
    Event URL: [POST] https://example.com/webhooks/voice/event
    Answer URL: [POST] https://example.com/webhooks/voice/answer
    Fallback URL: [POST] https://example.com/webhooks/voice/fallback
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice ^
  --voice-answer-url='https://example.com/webhooks/voice/answer' ^
  --voice-event-url='https://example.com/webhooks/voice/event' ^
  --voice-fallback-url='https://example.com/webhooks/voice/fallback'
  
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
 VOICE:
    Uses Signed callbacks: On
    Conversation TTL: 41 hours
    Leg Persistence Time: 6 days
    Event URL: [POST] https://example.com/webhooks/voice/event
    Answer URL: [POST] https://example.com/webhooks/voice/answer
    Fallback URL: [POST] https://example.com/webhooks/voice/fallback
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice \ --voice-answer-url='https://example.com/webhooks/voice/answer' \ --voice-event-url='https://example.com/webhooks/voice/event' \ --voice-fallback-url='https://example.com/webhooks/voice/fallback' ✅ Fetching Application ✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000 Name: Your application Application ID: 00000000-0000-0000-0000-000000000000 Improve AI: Off Private/Public Key: Set Capabilities: VOICE: Uses Signed callbacks: On Conversation TTL: 41 hours Leg Persistence Time: 6 days Event URL: [POST] https://example.com/webhooks/voice/event Answer URL: [POST] https://example.com/webhooks/voice/answer Fallback URL: [POST] https://example.com/webhooks/voice/fallback

Este comando cria uma aplicação da Vonage com recursos de voz capacidade. Isso
configura as Applications com suas URLs de resposta e de webhook de eventos e gera um arquivo de chave privada private.key, que você deve salvar no diretório do seu projeto.

O comando retorna um ID de aplicativo exclusivo. Use esse ID de aplicativo para vincular seu número virtual da Vonage ao seu aplicativo, executando o seguinte:

vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311

✅ Fetching Application
Fetching Owned numbers [===============================================] 1/1 100%

Number linked

Number: 16127779311
Country: 🇺🇸 United States
Type: Toll-free
Features: MMS, SMS, VOICE
Monthly Cost: Not Set
Setup Cost: Not Set
Linked Application ID: 00000000-0000-0000-0000-000000000000
Voice Callback: app
Voice Callback Value: 00000000-0000-0000-0000-000000000000
Voice Status Callback: Not Set
vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311

✅ Fetching Application
Fetching Owned numbers [===============================================] 1/1 100%

Number linked

Number: 16127779311
Country: 🇺🇸 United States
Type: Toll-free
Features: MMS, SMS, VOICE
Monthly Cost: Not Set
Setup Cost: Not Set
Linked Application ID: 00000000-0000-0000-0000-000000000000
Voice Callback: app
Voice Callback Value: 00000000-0000-0000-0000-000000000000
Voice Status Callback: Not Set
vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311 ✅ Fetching Application Fetching Owned numbers [===============================================] 1/1 100% Number linked Number: 16127779311 Country: 🇺🇸 United States Type: Toll-free Features: MMS, SMS, VOICE Monthly Cost: Not Set Setup Cost: Not Set Linked Application ID: 00000000-0000-0000-0000-000000000000 Voice Callback: app Voice Callback Value: 00000000-0000-0000-0000-000000000000 Voice Status Callback: Not Set

Isso vinculará esse Número Virtual da Vonage ao seu aplicativo, fazendo com que todos os eventos de voz relacionados a esse número sejam encaminhados para os URLs que você indicar.

Como criar um aplicativo de voz usando o Painel de Controle

Você pode criar Applications de voz no Painel de controle.

Para criar seu aplicativo usando o Painel:

  1. Sob Applications No Painel, clique no Criar um novo aplicativo botão.

  2. Sob Nome, digite o nome da Application. Escolha um nome que facilite a identificação futura.

  3. Clique no botão Gerar chave pública e chave privada. Isso criará um par de chaves pública/privada, e a chave privada será baixada pelo seu navegador. Salve a chave privada que foi gerada.

  4. Sob Recursos selecione o Voz botão.

  5. No URL da resposta na caixa, digite a URL do seu webhook de chamadas recebidas, por exemplo, http://example.com/webhooks/answer.

  6. No URL do evento na caixa, digite a URL do seu webhook de status de chamada, por exemplo, http://example.com/webhooks/events.

  7. Clique no Criar um novo pedido botão.

  8. Agora você será direcionado para a próxima etapa do procedimento de criação do aplicativo, na qual deverá vincular seu número da Vonage ao aplicativo.

Você já criou seu aplicativo.

NOTA: Antes de testar seu aplicativo, certifique-se de que seus webhooks estejam configurados e que seu servidor de webhooks esteja em funcionamento.

Como usar o painel

Primeiro, você pode navegar seus números atuais.

Se você não tiver números disponíveis, pode compre um.

Como usar a CLI da Vonage

Depois de encontrar um número que lhe agrade, você pode comprá-lo usando o vonage numbers buy comando:

vonage numbers buy US 16127779311 
✅ Searching for numbers
Are you sure you want to purchase the number 16127779311 for0.90? [y/n] y

✅ Purchasing number
Number 16127779311 purchased

Number: 16127779311 
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: Not Set
Voice Callback Value: Not Set
Voice Status Callback: Not Set
vonage numbers buy US 16127779311 
✅ Searching for numbers
Are you sure you want to purchase the number 16127779311 for0.90? [y/n] y

✅ Purchasing number
Number 16127779311 purchased

Number: 16127779311 
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: Not Set
Voice Callback Value: Not Set
Voice Status Callback: Not Set
vonage numbers buy US 16127779311 ✅ Searching for numbers Are you sure you want to purchase the number 16127779311 for €0.90? [y/n] y ✅ Purchasing number Number 16127779311 purchased Number: 16127779311 Country: 🇺🇸 United States Type: Mobile Features: MMS, SMS, VOICE Monthly Cost: €0.90 Setup Cost: €0.00 Linked Application ID: Not linked to any application Voice Callback: Not Set Voice Callback Value: Not Set Voice Status Callback: Not Set

Como usar o painel

  1. Encontre sua inscrição na Painel de controle.
  2. Clique no aplicativo na lista “Seus Applications”. Em seguida, clique na aba “Numbers”.
  3. Clique no botão “Link” para vincular um número da Vonage a esse aplicativo.

Como usar a CLI da Vonage

Depois de obter um número adequado, você pode vinculá-lo ao seu aplicativo da Vonage executando este comando:

vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311

✅ Fetching Application
Fetching Owned numbers [===============================================] 1/1 100%

Number linked

Number: 16127779311
Country: 🇺🇸 United States
Type: Toll-free
Features: MMS, SMS, VOICE
Monthly Cost: Not Set
Setup Cost: Not Set
Linked Application ID: 00000000-0000-0000-0000-000000000000
Voice Callback: app
Voice Callback Value: 00000000-0000-0000-0000-000000000000
Voice Status Callback: Not Set
vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311

✅ Fetching Application
Fetching Owned numbers [===============================================] 1/1 100%

Number linked

Number: 16127779311
Country: 🇺🇸 United States
Type: Toll-free
Features: MMS, SMS, VOICE
Monthly Cost: Not Set
Setup Cost: Not Set
Linked Application ID: 00000000-0000-0000-0000-000000000000
Voice Callback: app
Voice Callback Value: 00000000-0000-0000-0000-000000000000
Voice Status Callback: Not Set
vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311 ✅ Fetching Application Fetching Owned numbers [===============================================] 1/1 100% Number linked Number: 16127779311 Country: 🇺🇸 United States Type: Toll-free Features: MMS, SMS, VOICE Monthly Cost: Not Set Setup Cost: Not Set Linked Application ID: 00000000-0000-0000-0000-000000000000 Voice Callback: app Voice Callback Value: 00000000-0000-0000-0000-000000000000 Voice Status Callback: Not Set

Você deve tornar seu webhook acessível às APIs da Vonage pela Internet pública. Uma maneira simples de fazer isso durante o desenvolvimento, sem precisar configurar seu próprio servidor, é usar Ngrok. Para saber mais, leia nossa documentação sobre o Ngrok.

Baixe e instale o ngrok e, em seguida, execute o comando a seguir para expor seu aplicativo na porta 3000 para a Internet pública:

./ngrok http 3000

Se você for um assinante pago, pode digitar:

./ngrok http 3000 -subdomain=your_domain

NOTA: Neste exemplo, o Ngrok redirecionará os webhooks do Vonage que você especificou ao criar seu aplicativo do Vonage para localhost:3000. Embora a porta 3000 seja mostrada aqui, você pode usar qualquer porta livre que seja conveniente.