Evento
Las conversaciones y otros objetos de Vonage como Miembros y Applications generan Eventos. Cuando se producen actividades clave, se genera un evento que puede ser manejado por la aplicación. Por ejemplo, cuando un usuario se une a una conversación, se genera un evento member:joined se dispara.
Si una aplicación de Vonage tiene rtc como capacidad, recibirá el evento despachado en el evento rtc event_url webhook.
Product deprecation notice
Effective April 30th, 2026, the messaging functionality of the Vonage Conversation API will be discontinued. Access for new users will be closed, and messaging capabilities will no longer be available to existing users after this date.
The voice functionality of the Conversation API will remain available and is not impacted by this change. If you have any questions regarding this partial discontinuation, please contact your account manager or our support team.
| Tipo de acontecimiento | Descripción |
|---|---|
| General | |
leg:status:update | |
| Audio | |
audio:dtmf | El tono DTMF se recibe en el Tramo. |
audio:earmuff:off | Pierna desenterrada. |
audio:earmuff:on | La pierna tiene orejeras. |
audio:mute:off | La pierna no está silenciada. |
audio:mute:on | La pierna está silenciada. |
audio:play:stop | El audio transmitido a una Pierna se detiene. |
audio:play:done | El audio transmitido a una Pierna deja de reproducirse, es decir, los datos de audio terminan. |
audio:play | El audio se transmite a una pierna. |
audio:record:stop | |
audio:record:done | |
audio:record | La llamada está siendo grabada. |
audio:asr:done | |
audio:asr:record:done | |
audio:say:stop | |
audio:say:done | |
audio:say | |
audio:speaking:on | |
audio:speaking:off | |
| Mensaje | |
message | Mensaje (sustituye a los eventos Texto e Imagen), tienen subtipos de Texto, Imagen, Audio, Vídeo, Archivo, Plantilla, Personalizado, VCard, Ubicación, Aleatorio. Véase Especificación API para más detalles |
message:rejected | El mensaje ha sido rechazado. |
message:submitted | El mensaje ha sido enviado. |
message:undeliverable | No se puede entregar el mensaje. |
message:delivered | El mensaje ha sido entregado. |
message:seen | El mensaje ha sido visto. |
| Conversación | |
conversation:updated | Se actualiza el objeto de conversación. |
| Miembro | |
member:invited | El miembro es invitado a una conversación. |
member:joined | Un miembro se une a una conversación. |
member:left | Un miembro abandona una conversación. |
member:media | |
member:message:status | |
| RTC | |
rtc:status | |
rtc:transfer | |
rtc:hangup | |
rtc:terminate | |
rtc:answered | |
rtc:ringing | |
rtc:answer | |
| SIP | |
sip:status | |
sip:answered | Se contesta la llamada SIP. |
sip:machine | Cuando la entidad que contesta la llamada SIP es una máquina. |
sip:hangup | El usuario de una llamada SIP cuelga. |
sip:ringing | La llamada SIP comienza a sonar, como cuando Vonage realiza una llamada saliente. |
sip:amd_machine | |
| A medida | |
custom: | Tipos de eventos personalizados, pueden llamarse como se quiera ^custom:[\w\-:]+ por ejemplo custom:test |
ephemeral | Eventos efímeros que pueden enviarse pero no recuperarse una vez enviados. |
| Evento | |
event:delete | Se ha eliminado un evento |
Gestión de eventos
El siguiente fragmento de código muestra que se puede ejecutar código basado en el evento disparado:
...
events.forEach((value, key) => {
if (conversation.members[value.from]) {
const date = new Date(Date.parse(value.timestamp))
switch (value.type) {
case 'message:seen':
...
break;
case 'message:delivered':
...
break;
case 'message':
...
break;
case 'member:joined':
...
break;
case 'member:left':
...
break;
case 'member:invited':
...
break;
case 'member:media':
...
break;
default:
...
}
}
})
...