Detalles técnicos
NOTA: Esta sección de la documentación describe Applications V2 funcionalidad.
Una aplicación API de Vonage contiene la información de seguridad y configuración que necesitas para conectarte a los puntos finales de Vonage y usar las API de Vonage.
Cada aplicación de Vonage creada puede admitir múltiples capacidades; por ejemplo, puedes crear una aplicación que admita el uso de Voice, Messages y RTC API.

Para ilustrar el uso de las aplicaciones de Vonage, aquí se presenta un breve resumen para crear y utilizar una aplicación de voz de Vonage:
- Crea una aplicación de Vonage usando la CLI, el panel o la API de aplicaciones.
- Asegúrate de configurar tus URL de webhook. Vonage devolverá la llamada en estas URL con información importante.
- Asocia un número de Vonage con tu aplicación de Vonage.
- Escribe tu aplicación web. Implementa los puntos finales de webhook que configuraste en el paso 2, usando las API de Vonage según sea necesario.
Por ejemplo, si desea crear una aplicación que desvía las llamadas entrantes a un teléfono de destino, deberá realizar los siguientes pasos:
- Crea una aplicación de Vonage que tenga funciones de voz.
- Se configuran las URL de los webhooks de respuesta y evento.
- Asocia un número de Vonage con tu aplicación de Vonage.
- Implemente una aplicación web que responda a las devoluciones de llamada de las URL de los webhooks.
- Cuando se realiza una llamada entrante al número de Vonage asociado con la aplicación de Vonage, un OCN se devuelve en el
answer_url.
Otros tipos de aplicaciones, como las que disponen de funciones de Mensajes y Despacho, tienen un proceso ligeramente diferente que se describe en las secciones correspondientes de este documento. documentación.
Las siguientes secciones explican las aplicaciones de Vonage con más detalle.
Estructura
Cada aplicación tiene lo siguiente:
| Nombre | Descripción |
|---|---|
id | Sirve para identificar cada aplicación y se utiliza junto con private_key para generar JWTs. |
name | El nombre de la aplicación. |
capabilities | Describe los tipos de funcionalidad que soportará esta aplicación. Las capacidades voice, messages, rtc, vbc. Una aplicación puede admitir cualquier número de estas funciones. También puede establecer webhooks para cada capacidad especificada. Vonage envía y recupera información a través de los puntos finales de webhook. |
keys | Contiene private_key y public_key. Utilizas la clave privada para generar los JWT utilizados para autenticar tus llamadas a las API de Vonage. Vonage utiliza la clave pública para autenticar el JWT en tus solicitudes a la API de Vonage. |
Capacidades
Una aplicación de Vonage puede usar varias API, como Voice, Messages and Dispatch, Conversation y Client SDK.
Al crear una aplicación puedes especificar las capacidades que quieres que soporte tu aplicación. Para cada capacidad puede establecer webhooks en función de las capacidades que desee, por ejemplo, para una aplicación con una función rtc puedes especificar una URL de evento para recibir eventos RTC. Si su aplicación también necesita utilizar voice también podría establecer una URL de respuesta para recibir un webhook de respuesta de llamada, una URL de reserva en caso de que su URL de respuesta falle, y otra URL de evento para recibir eventos relacionados con llamadas de voz.
En la tabla siguiente se ofrece un resumen de las capacidades:
| Capacidad | Descripción |
|---|---|
voice | Se utiliza para las funciones de voz. |
messages | Se utiliza para dar soporte a las funciones de Messages y Dispatch API. |
rtc | Se utiliza para admitir funciones WebRTC. Normalmente se utiliza con Client SDK. |
vbc | Se utiliza para determinar los precios, pero actualmente no tiene otras funciones. |
Webhooks
Las URL de webhooks que se proporcionan al crear una aplicación dependen de las capacidades de la aplicación requeridas. La siguiente tabla resume los webhooks:
| Capacidad | API utilizada | Webhooks disponibles |
|---|---|---|
voice | Voz | answer_url, fallback_answer_url, event_url |
messages | Mensajes y envío | inbound_url, status_url |
rtc | Client SDK | event_url |
vbc | VBC | Ninguno |
Tipos de webhook
La siguiente tabla describe los webhooks disponibles por capacidad:
| Capacidad | Gancho web | API | Ejemplo | Descripción |
|---|---|---|---|---|
voice | answer_url | Voz | https://example.com/webhooks/answer | La URL a la que Vonage realiza una solicitud cuando se realiza/recibe una llamada. Debe devolver una NCCO. |
voice | fallback_answer_url | Voz | https://example.com/webhooks/fallback | Si el fallback_answer_url se establece, Vonage realiza una solicitud a él si el answer_url está fuera de línea o devuelve un código de error HTTP o el archivo event_url está fuera de línea o devuelve un código de error y se espera que un evento devuelva una NCCO. La dirección fallback_answer_url debe devolver una OCN. Si su fallback_answer_url falla tras dos intentos de NCCO inicial, la llamada finaliza. Si su fallback_answer_url falla después de dos intentos para una llamada en curso, el flujo de llamada continúa. |
voice | event_url | Voz | https://example.com/webhooks/event | Vonage enviará eventos de llamadas (por ejemplo, timbre, respuesta) a esta URL. |
messages | inbound_url | Mensajes, Despacho | https://example.com/webhooks/inbound | Vonage reenviará los mensajes entrantes a esta URL. |
messages | status_url | Mensajes, Despacho | https://example.com/webhooks/status | Vonage enviará actualizaciones del estado de los mensajes (por ejemplo, delivered, seen) a esta URL. |
rtc | event_url | Client SDK, Conversación | https://example.com/webhooks/rtcevent | Vonage enviará eventos RTC a esta URL. |
vbc | Ninguno | Terminal de voz | Ninguno | No se utiliza |
Tiempos de espera de los webhooks
Para el voice se pueden establecer tiempos de espera en los webhooks. Se pueden especificar dos tiempos de espera: connection_timeout y socket_timeout. Estos parámetros se aplican al answer, eventy fallback y se especifican en milisegundos. La siguiente tabla proporciona más información:
| Parámetro | Ejemplo | Descripción |
|---|---|---|
connection_timeout | 1000 | Si Vonage no puede conectarse a la URL del webhook durante esta cantidad de tiempo especificada, entonces Vonage realiza un intento adicional para conectarse al punto final del webhook. Este es un valor entero especificado en milisegundos. |
socket_timeout | 3000 | Si no se puede leer una respuesta de la URL del webhook durante esta cantidad de tiempo especificada, Vonage realizará un intento adicional para leer el punto final del webhook. Este es un valor entero especificado en milisegundos. |
Al crear o actualizar una aplicación, estos parámetros pueden definirse directamente o actualizarse en función de las necesidades, por ejemplo:
...
"capabilities": {
"voice": {
"webhooks": {
"answer_url": {
"address": "https://example.com/webhooks/answer",
"http_method": "POST",
"connection_timeout": 500,
"socket_timeout": 3000
},
"fallback_answer_url": {
"address": "https://fallback.example.com/webhooks/answer",
"http_method": "POST",
"connection_timeout": 500,
"socket_timeout": 3000
},
"event_url": {
"address": "https://example.com/webhooks/event",
"http_method": "POST",
"connection_timeout": 500,
"socket_timeout": 3000
}
}
}
...
Si no se especifican estos valores al crear o actualizar la aplicación, se aplicarán los valores por defecto. Los valores por defecto para estos tiempos de espera dependen del webhook en cuestión, como se muestra en la siguiente tabla:
| Gancho web | Por defecto connection_timeout | Por defecto socket_timeout |
|---|---|---|
answer | 1000 | 5000 |
event | 1000 | 10000 |
fallback | 1000 | 5000 |
NOTA: Los tiempos de espera se especifican en milisegundos.
Hay más explicaciones sobre los tiempos de espera de los webhooks en la sección documentación sobre webhooks.
Creación de aplicaciones
Hay cuatro formas principales de crear una aplicación:
- En el Vonage Cuadro de mandos. A continuación, las Applications aparecen en la lista sus aplicaciones del Cuadro de mandos.
- Utilización de la CLI de Vonage.
- Utilización de la API de aplicaciones.
- Utilizando uno de los SDK de servidor.
Gestión de aplicaciones mediante la CLI
Fragmentos de código
- Application / Actualizar solicitud
- Application / Borrar una aplicación
- Application / Crear una aplicación
- Application / Lista de Applications
- Application / Obtener una solicitud
- User / Actualizar un usuario
- User / Crear un usuario
- User / Eliminar un usuario
- User / Lista de usuarios
- User / Obtener un usuario