Événement

Les conversations et d'autres objets Vonage tels que les membres et les Applications génèrent des événements. Lorsque des activités clés se produisent, un événement est généré, qui peut être traité par l'application. Par exemple, lorsqu'un utilisateur se joint à une conversation, un événement member:joined est déclenché. Si une Application Vonage a rtc en tant que capacité, il recevra l'événement envoyé sur la page 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.

Type d'événement Description
Général
leg:status:update
Audio
audio:dtmf La tonalité DTMF est reçue dans le Leg.
audio:earmuff:off La jambe est désarticulée.
audio:earmuff:on La jambe est munie d'un cache-nez.
audio:mute:off La jambe n'est pas coupée.
audio:mute:on La jambe est en sourdine.
audio:play:stop L'audio diffusé dans un Leg est arrêté.
audio:play:done L'audio diffusé dans un Leg s'arrête de jouer, c'est-à-dire que les données audio se terminent.
audio:play L'audio est diffusé en continu dans un Leg.
audio:record:stop
audio:record:done
audio:record L'appel est en cours d'enregistrement.
audio:asr:done
audio:asr:record:done
audio:say:stop
audio:say:done
audio:say
audio:speaking:on
audio:speaking:off
Message
message Message (remplace les événements Texte et Image), avec les sous-types Texte, Image, Audio, Vidéo, Fichier, Modèle, Personnalisé, VCard, Emplacement, Aléatoire. Voir Spécification API pour plus de détails
message:rejected Le message a été rejeté.
message:submitted Le message a été envoyé.
message:undeliverable Le message ne peut être transmis.
message:delivered Le message a été transmis.
message:seen Le message a été vu.
Conversation
conversation:updated L'objet de la conversation est mis à jour.
Membre
member:invited Le membre est invité à participer à une conversation.
member:joined Un membre se joint à une conversation.
member:left Le membre quitte une conversation.
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 L'appel SIP est pris.
sip:machine Lorsque l'entité qui répond à l'appel SIP est une machine.
sip:hangup L'utilisateur d'un appel SIP raccroche.
sip:ringing L'appel SIP commence à sonner, par exemple lorsque Vonage effectue un appel sortant.
sip:amd_machine
Sur mesure
custom: Types d'événements personnalisés, dont le nom peut correspondre à n'importe quel nom. ^custom:[\w\-:]+ par exemple custom:test
ephemeral Événements éphémères qui peuvent être envoyés mais ne peuvent pas être récupérés après avoir été envoyés.
Événement
event:delete Un événement a été supprimé

Gestion des événements

L'extrait de code suivant montre que le code peut être exécuté en fonction de l'événement déclenché :

...
    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:
                ...
            }
        }
    })
...