Benutzerdefinierte Ereignisse

Mit benutzerdefinierten Ereignissen können Sie benutzerdefinierte Metadaten zu Konversationen hinzufügen, indem Sie Daten zusammen mit Ihren Text- oder Audioereignissen aufzeichnen. Sie können Ereignisse hinzufügen Verwendung der REST-API oder eines der Client-SDKs.

Erstellen eines benutzerdefinierten Ereignisses

Jedes benutzerdefinierte Ereignis besteht aus einer eindeutigen type und eine data. Die type unterliegt den folgenden Einschränkungen:

  • Darf 100 Zeichen nicht überschreiten
  • Darf nur alphanumerische Zeichen enthalten, - und _ Zeichen

Darüber hinaus ist die Veranstaltung data darf 4096 Bytes nicht überschreiten.

Nach der Installation des JavaScript Client SDK und haben eine conversation Objektkönnen Sie anrufen sendCustomEvent um der Konversation ein benutzerdefiniertes Ereignis hinzuzufügen.

conversation.sendCustomEvent({ type: 'my_custom_event', body: { your: 'data' }}).then((custom_event) => {
  console.log(custom_event);
});

Abhören von benutzerdefinierten Ereignissen

Sie können nicht nur benutzerdefinierte Ereignisse zur Konversation hinzufügen, sondern auch mit dem Client SDK auf benutzerdefinierte Ereignisse warten. Registrieren Sie einen Ereignishandler, der auf den Namen Ihres benutzerdefinierten Ereignisses wartet:

conversation.on('my_custom_event', (from, event) => {
  console.log(event.body);
});

Vollständiges Beispiel

Hier ist eine Beispielanwendung, die einen Listener registriert für my_custom_eventund sendet dann dieses Ereignis:

Stellen Sie sicher, dass Sie die YOUR_JWT und YOUR_CONVERSATION_ID mit den entsprechenden Werten.

<script src="./node_modules/nexmo-client/dist/nexmoClient.js"></script>
<script>
  (async function() {
    let nexmo = new NexmoClient();
    let app = await nexmo.createSession(YOUR_JWT);
    let c = await app.getConversation(YOUR_CONVERSATION_ID);

    c.on('my_custom_event', (from, event) => {
        console.log(event.body);
    });

    c.sendCustomEvent({ type: 'my_custom_event', body: { your: 'data' }}).then((custom_event) => {
        console.log(custom_event);
    });
  })();
</script>

Fehlersuche

Object is missing self (me)

If you receive an error that states Object is missing self (me), ensure that the user you're authenticating as is a member of the conversation