Añadir evento personalizado
Los eventos personalizados se pueden utilizar para añadir metadatos a tu conversación. Existen algunas restricciones a la hora de utilizar eventos personalizados:
- El tipo de acontecimiento debe comenzar por
custom: - El tipo de evento no debe superar los 100 caracteres
- El tipo de evento debe contener SÓLO caracteres alfanuméricos,
-y_caracteres - El cuerpo del evento no debe superar los 4096 bytes
Ejemplo
Asegúrese de que las siguientes variables se ajustan a los valores requeridos utilizando cualquier método conveniente:
| Clave | Descripción |
|---|---|
CONVERSATION_ID | The ID of the Conversation. |
MEMBER_ID | The unique ID of the Member. |
Requisitos previos
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.
Escriba el código
Añada lo siguiente a 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"
}
}'Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
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-sdkCrea un archivo llamado create-custom-event.js y añade el siguiente código:
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_PRIVATE_KEY,
});Escriba el código
Añada lo siguiente a 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));Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
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.
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado CreateCustomEvent y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Escriba el código
Añada lo siguiente al método main del archivo 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);Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.conversation por el paquete que contiene CreateCustomEvent:
Requisitos previos
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 VonageCrea un archivo llamado CreateCustomEvent.cs y añade el siguiente código:
using System;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Vonage;
using Vonage.Conversations.CreateEvent;
using Vonage.Request;Añada lo siguiente a CreateCustomEvent.cs:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);Escriba el código
Añada lo siguiente a 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());Requisitos previos
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/clientCrea un archivo llamado create-custom-event.php y añade el siguiente código:
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);Escriba el código
Añada lo siguiente a create-custom-event.php:
$eventRequest = new \Vonage\Conversation\ConversationObjects\EventRequest(
CONVERSATION_ID,
'custom:' . YOUR_EVENT_NAME,
MEMBER_ID,
[
'your' => 'data'
]
);
$client->conversation()->createEvent($eventRequest);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Pruébalo
Cuando ejecute el código verá un evento personalizado en su lista de eventos