Antes de empezar

¿Qué son los fragmentos de código?

Los fragmentos de código son pequeños fragmentos de código que puede reutilizar en sus propias aplicaciones. Los fragmentos de código utilizan código de repositorios de ejemplo.

Lee atentamente esta información para que puedas sacar el máximo partido a los fragmentos de código.

Requisitos previos

Antes de continuar, debes Crear un Account de Vonage para gestionar aplicaciones y cifras.

Crear una aplicación

Ve a la Aplicacionesen el cuadro de mandos, y defina una página Name para su solicitud.

An example of brand new application

Asegúrate de hacer clic en el Generar clave pública y privada y guarde el archivo private.key alrededor.

A continuación, active el Voz capacidad. De momento, déjalo todo por defecto.

An example of enabling Voice capabilities

Por último, haga clic en Generar nueva aplicación en la parte inferior de la página.

Echa un vistazo Primeros pasos con la CLI de Vonage para obtener más información sobre cómo instalar y configurar la CLI.

Utiliza el siguiente comando para crear una aplicación de 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

Una vez que tenga la aplicación, tendrá que añadir el archivo voice funcionalidades; asegúrate de sustituir las URL de los webhooks por las tuyas propias:

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

A continuación, la aplicación se crea y dispone de las capacidades necesarias. La creación de una aplicación y la adición de capacidades de aplicación se tratan en detalle en la sección Documentación de las aplicaciones.

Alquilar un número

En el cuadro de mandos, vaya a Comprar Numbers página. Asegúrese de marcar Voz en el filtro de búsqueda y selecciona el país en el que quieres comprar un número. En algunos países, es posible que tengas que solicitar un número, ya que pueden exigirse documentos adicionales.

An example of number research

A continuación, puede hacer clic en el botón Comprar junto al número que desee y valide su compra.

¡Enhorabuena! Tu número virtual ya aparece en Tus Numbers.

Puedes alquilar un número mediante la CLI de Vonage. El siguiente comando busca un número disponible en 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.

Utilice este comando para comprar un 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

Especificar un código de país alternativo de dos caracteres comprar un número en otro país.

Vincular un número

Ahora que ya tienes tanto una aplicación como un número, tienes que vincularlos entre sí.

Ve a la Aplicaciones página y haz clic en la aplicación que has creado anteriormente.

An example of an application

En el Voz sección, haz clic en el Enlace junto al número que desea enlazar.

Ahora que ya tienes tanto una aplicación como un número, tienes que vincularlos entre sí.

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

Otros recursos:

Variables sustituibles

Genérico reemplazable

La siguiente información sustituible depende de la biblioteca y de la llamada concreta:

ClaveDescripción
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 los números de teléfono están en formato E.164.

ClaveDescripción
VONAGE_VIRTUAL_NUMBER

Your Vonage Number. E.g. 447700900000

VOICE_TO_NUMBER

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

UUIDs

Los UUID suelen utilizarse en los fragmentos de código para identificar una llamada concreta.

ClaveDescripción
VOICE_CALL_ID

The UUID of the call leg.

Variables y elementos sustituibles específicos

Algunos fragmentos de código contienen variables más específicas que deberán sustituirse por valores reales. Estas pueden especificarse para cada fragmento de código.

Autenticación

Voice API requiere autenticación mediante JWTs. Puede generar un JWT utilizando la función CLI de Vonage o el herramienta en línea.

Webhooks

Los principales que encontrarás aquí son:

  • /webhooks/answer - Vonage realiza una solicitud GET aquí cuando recibes una llamada entrante. Tú respondes con una NCCO.
  • /webhooks/event - Vonage envía aquí solicitudes POST cuando se produce un evento. Recibes un evento en formato JSON.
  • /webhooks/recordings - Vonage envía aquí una solicitud POST cuando la grabación está disponible. Recibes un objeto JSON con los detalles de la grabación.
  • /webhooks/dtmf - Vonage envía aquí la entrada DTMF del usuario en un objeto JSON.

Si utilizas Ngrok, deberás configurar las URL de los webhooks en el objeto de aplicación de Vonage de la siguiente manera algo como

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

Cambiar demo en lo anterior con lo que se aplique en su caso.