Ajouter un événement personnalisé
Les événements personnalisés peuvent être utilisés pour ajouter des métadonnées à votre conversation. L'utilisation d'événements personnalisés est soumise à certaines restrictions :
- Le type d'événement doit commencer par
custom: - Le type d'événement ne doit pas dépasser 100 caractères
- Le type d'événement doit contenir UNIQUEMENT des caractères alphanumériques,
-et_personnages - Le corps de l'événement ne doit pas dépasser 4096 octets
Exemple
Veillez à ce que les variables suivantes soient réglées sur les valeurs souhaitées en utilisant toute méthode appropriée :
| Clé | Description |
|---|---|
CONVERSATION_ID | The ID of the Conversation. |
MEMBER_ID | The unique ID of the Member. |
Conditions préalables
You will need to use an existing Application that contains a Conversation in order to be able to add a custom event. See the Create Conversation code snippet for information on how to create an Application and some sample Conversations.
Rédiger le code
Ajouter ce qui suit à create-custom-event.sh:
# `from` is only required if you're using a JWT with a `sub` claim
curl -X "POST" "https://api.nexmo.com/v1/conversations/$CONV_ID/events" \
-H 'Authorization: Bearer '$JWT\
-H 'Content-Type: application/json' \
-d $'{
"type": "custom:YOUR_EVENT_NAME",
"from": "'$CONV_EVENT_FROM'",
"body": {
"your": "data"
}
}'Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
You will need to use an existing Application that contains a Conversation in order to be able to add a custom event. See the Create Conversation code snippet for information on how to create an Application and some sample Conversations.
npm install @vonage/server-sdkCréez un fichier nommé create-custom-event.js et ajoutez le code suivant :
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_PRIVATE_KEY,
});Rédiger le code
Ajouter ce qui suit à create-custom-event.js:
vonage.conversations.createEvent(
CONV_ID,
{
'type': 'custom:YOUR_EVENT_NAME',
'from': CONV_EVENT_FROM,
'body': {
'your': 'data',
},
},
)
.then((event) => console.log(event))
.catch((error) => console.error(error));Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
You will need to use an existing Application that contains a Conversation in order to be able to add a custom event. See the Create Conversation code snippet for information on how to create an Application and some sample Conversations.
Ajouter ce qui suit à build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Créez un fichier nommé CreateCustomEvent et ajoutez le code suivant à la méthode main:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Rédiger le code
Ajouter ce qui suit à la méthode main du fichier CreateCustomEvent:
var event = client.getConversationsClient().createEvent(
CONV_ID, CustomEvent.builder("my_custom_event_name")
.from(CONV_MEMBER_ID)
.body(Map.of("your", "data"))
.build()
);
System.out.println(event);Exécutez votre code
Nous pouvons utiliser le plugin Applications pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.conversation par le paquet contenant CreateCustomEvent:
Conditions préalables
You will need to use an existing Application that contains a Conversation in order to be able to add a custom event. See the Create Conversation code snippet for information on how to create an Application and some sample Conversations.
Install-Package VonageCréez un fichier nommé CreateCustomEvent.cs et ajoutez le code suivant :
using System;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Vonage;
using Vonage.Conversations.CreateEvent;
using Vonage.Request;Ajouter ce qui suit à CreateCustomEvent.cs:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);Rédiger le code
Ajouter ce qui suit à CreateCustomEvent.cs:
var response = await client.ConversationsClient.CreateEventAsync(CreateEventRequest.Build()
.WithConversationId(CONV_ID)
.WithType($"custom:{YOUR_EVENT_NAME}")
.WithBody(new
{
your = "data",
})
.WithFrom(CONV_EVENT_FROM)
.Create());Conditions préalables
You will need to use an existing Application that contains a Conversation in order to be able to add a custom event. See the Create Conversation code snippet for information on how to create an Application and some sample Conversations.
composer require vonage/clientCréez un fichier nommé create-custom-event.php et ajoutez le code suivant :
use Vonage\Conversation\ConversationObjects\CreateConversationRequest;
use Vonage\Conversation\ConversationObjects\UpdateConversationRequest;
require_once __DIR__ . '../../config.php';
require_once __DIR__ . '../../vendor/autoload.php';
$keypair = new \Vonage\Client\Credentials\Keypair(
file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH),
VONAGE_APPLICATION_ID
);
$client = new \Vonage\Client($keypair);Rédiger le code
Ajouter ce qui suit à create-custom-event.php:
$eventRequest = new \Vonage\Conversation\ConversationObjects\EventRequest(
CONVERSATION_ID,
'custom:' . YOUR_EVENT_NAME,
MEMBER_ID,
[
'your' => 'data'
]
);
$client->conversation()->createEvent($eventRequest);Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Essayez-le
Lorsque vous exécutez le code, vous verrez apparaître un événement personnalisé dans votre fichier liste des événements