Crear una aplicación de mensajes de Vonage

En este tema aprenderás a crear una aplicación de la API de Vonage.

Utilice la CLI para crear una aplicación de Mensajes con el comando webhooks que se encargará de recibir un mensaje a tu número de Vonage (/webhooks/messages/inbound), y comprobar las actualizaciones de estado (/webhooks/mesages/status), respectivamente.

Estos webhooks deben ser accesibles por los servidores de Vonage, por lo que en esta guía utilizarás ngrok para exponer su entorno de desarrollo local a la Internet pública. Este artículo explica cómo instalar y ejecutar ngrok y configura Vonage para enviar solicitudes.

Si no tienes una aplicación, puedes crear una mediante la CLI

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

El comando devuelve un ID de aplicación (que debes anotar) y la información de tu clave privada (que puedes ignorar sin problema a efectos de esta guía).

Correr ngrok utilizando el siguiente comando:

ngrok http 3000

Anote el nombre de host temporal que ngrok y utilizarlo en lugar de example.com en el siguiente comando:

vonage apps capabilities update 00000000-0000-0000-0000-000000000000 messages `
  --messages-inbound-url='https://example.com/webhooks/messages/inbound' `
  --messages-status-url='https://example.com/webhooks/messages/status' `
  --messages-version='v1' \
  --messages-authenticate-media                                                                                                                                                                                 [boolean]
  
✅ Fetching Application
✅ Adding messages 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:
 MESSAGES:
    Authenticate Inbound Media: On
    Webhook Version: v1
    Status URL: [POST] https://manchuck.com/meetings/status
    Inbound URL: [POST] https://manchuck.com/meetings/inbound

vonage apps capabilities update 00000000-0000-0000-0000-000000000000 messages ^
  --messages-inbound-url='https://example.com/webhooks/messages/inbound' ^
  --messages-status-url='https://example.com/webhooks/messages/status' ^
  --messages-version='v1' \
  --messages-authenticate-media                                                                                                                                                                                 [boolean]
  
✅ Fetching Application
✅ Adding messages 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:
 MESSAGES:
    Authenticate Inbound Media: On
    Webhook Version: v1
    Status URL: [POST] https://manchuck.com/meetings/status
    Inbound URL: [POST] https://manchuck.com/meetings/inbound

vonage apps capabilities update 00000000-0000-0000-0000-000000000000 messages \ --messages-inbound-url='https://example.com/webhooks/messages/inbound' \ --messages-status-url='https://example.com/webhooks/messages/status' \ --messages-version='v1' \ --messages-authenticate-media [boolean] ✅ Fetching Application ✅ Adding messages 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: MESSAGES: Authenticate Inbound Media: On Webhook Version: v1 Status URL: [POST] https://manchuck.com/meetings/status Inbound URL: [POST] https://manchuck.com/meetings/inbound