Antes de começar

O que são trechos de código?

Trechos de código são pequenos fragmentos de código que você pode reutilizar em suas próprias Applications. Os trechos de código utilizam código de repositórios de exemplo.

Leia estas informações com atenção para que você possa aproveitar ao máximo os trechos de código.

Pré-requisitos

Antes de prosseguir, você deve criar um Account na Vonage para gerenciar aplicações e números.

Criar um aplicativo

Acesse o Applicationsna página do Painel e definir um Name para a sua inscrição.

An example of brand new application

Não se esqueça de clicar no Gerar chave pública e chave privada botão e mantenha o arquivo private.key por aí.

Em seguida, habilite o Voz recurso. Por enquanto, deixe tudo com as configurações padrão.

An example of enabling Voice capabilities

Por fim, clique em Criar um novo pedido na parte inferior da página.

Confira Introdução ao Vonage CLI para obter mais informações sobre como instalar e configurar a CLI.

Use o seguinte comando para criar um aplicativo da Vonage:

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

Depois de baixar o aplicativo, você precisa adicionar o voice recursos; certifique-se de substituir as URLs dos webhooks pelas suas próprias:

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

O aplicativo é então criado e conta com os recursos necessários. A criação de um aplicativo e a adição de recursos ao mesmo são abordadas em detalhes no Documentação da inscrição.

Alugue um número

No Painel, acesse o Números para compra página. Certifique-se de marcar a caixa Voz no filtro de busca e selecione o país onde deseja comprar um número. Em alguns países, talvez seja necessário solicitar um número, pois podem ser exigidos documentos adicionais.

An example of number research

Em seguida, você pode clicar no Comprar Clique no botão ao lado do número desejado e confirme sua compra.

Parabéns! Seu número virtual já está listado em Seus Numbers.

Você pode alugar um número usando a CLI do Vonage. O comando a seguir procura um número disponível nos Estados Unidos:

vonage numbers search US

✅ Searching for numbers

There is 1 number available for purchase in United States

Number       Type    Features         Monthly Cost  Setup Cost
-----------  ------  ---------------  ------------  ----------
16127779311  Mobile  MMS, SMS, VOICE  €0.900.00

Use vonage numbers buy to purchase.
vonage numbers search US

✅ Searching for numbers

There is 1 number available for purchase in United States

Number       Type    Features         Monthly Cost  Setup Cost
-----------  ------  ---------------  ------------  ----------
16127779311  Mobile  MMS, SMS, VOICE0.900.00

Use vonage numbers buy to purchase.
vonage numbers search US ✅ Searching for numbers There is 1 number available for purchase in United States Number Type Features Monthly Cost Setup Cost ----------- ------ --------------- ------------ ---------- 16127779311 Mobile MMS, SMS, VOICE €0.90 €0.00 Use vonage numbers buy to purchase.

Use este comando para comprar um número:

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

Especifique um código de país alternativo de dois caracteres para adquirir um número em outro país.

Vincular um número

Agora que você já tem um aplicativo e um número, precisa vinculá-los.

Acesse o Applications página e clique no aplicativo que você criou anteriormente.

An example of an application

No Voz seção, clique no Link botão ao lado do número que você deseja vincular.

Agora que você já tem um aplicativo e um número, precisa vinculá-los.

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

Outros recursos:

Variáveis substituíveis

Genérico, substituível

As seguintes informações substituíveis dependem da biblioteca e da chamada específica:

ChaveDescrição
VONAGE_API_KEY

Your Vonage API key (see it on your dashboard).

VONAGE_API_SECRET

Your Vonage API secret (also available on your dashboard).

VONAGE_APPLICATION_PRIVATE_KEY_PATH

Private key path.

VONAGE_APPLICATION_PRIVATE_KEY

Private key.

VONAGE_APPLICATION_ID

The Vonage Application ID.

JWT

Used to authenticate your request. See Authentication for more information, including how to generate a JWT.

Numbers

Todos os números de telefone estão no formato E.164.

ChaveDescrição
VONAGE_VIRTUAL_NUMBER

Your Vonage Number. E.g. 447700900000

VOICE_TO_NUMBER

The recipient number to call, e.g. 447700900002.

UUIDs

Os UUIDs são normalmente usados nos trechos de código para identificar uma chamada específica.

ChaveDescrição
VOICE_CALL_ID

The UUID of the call leg.

Variáveis específicas/substituíveis

Alguns trechos de código contêm variáveis mais específicas que precisarão ser substituídas por valores reais. Essas substituições podem ser especificadas individualmente para cada trecho de código.

Autenticação

A Voice API exige autenticação por meio de JWT. Você pode gerar um JWT usando o CLI da Vonage ou o ferramenta online.

Webhooks

Os principais que você encontrará aqui são:

  • /webhooks/answer - A Vonage envia uma solicitação GET aqui quando você recebe uma chamada. Você responde com um NCCO.
  • /webhooks/event - A Vonage envia solicitações POST para cá quando ocorre um evento. Você recebe um evento em formato JSON.
  • /webhooks/recordings - A Vonage envia uma solicitação POST para este endereço quando a gravação estiver disponível. Você recebe um objeto JSON com os detalhes da gravação.
  • /webhooks/dtmf - A Vonage envia aqui a entrada DTMF do usuário em um objeto JSON.

Se você estiver usando o Ngrok, defina as URLs dos seus webhooks no objeto “Vonage Application” como algo semelhante a:

  • https://demo.ngrok.io/webhooks/answer
  • https://demo.ngrok.io/webhooks/event
  • https://demo.ngrok.io/webhooks/recordings
  • https://demo.ngrok.io/webhooks/dtmf

Alterar demo no texto acima, substituindo pelo que for aplicável ao seu caso.