这份文档还在翻译中,预期年底前完成。欢迎您提供宝贵的意见及建议。
Add custom event
Custom events can be used to add metadata to your conversation. There are some restrictions when using custom events:
- Event type must begin with
custom:
- Event type must not exceed 100 characters
- Event type must contain ONLY alphanumeric,
-
and_
characters - Event body must not exceed 4096 bytes
Example
Ensure the following variables are set to your required values using any convenient method:
Key | Description |
---|---|
CONVERSATION_ID |
The ID of the Conversation. |
MEMBER_ID |
The unique ID of the Member. |
Prerequisites
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.
Write the code
Add the following to 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/beta/conversations/$CONVERSATION_ID/events" \
-H 'Authorization: Bearer '$JWT\
-H 'Content-Type: application/json' \
-d $'{
"type": "custom:YOUR_EVENT_NAME",
"from": "$MEMBER_ID",
"body": {
"your": "data"
}
}'
Run your code
Save this file to your machine and run it:
sh create-custom-event.sh
Prerequisites
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/sdk@beta
Create a file named create-custom-event.js
and add the following code:
const Vonage = require('@vonage/server-sdk')
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_APPLICATION_PRIVATE_KEY_PATH
})
Write the code
Add the following to create-custom-event.js
:
vonage.conversations.events.create(CONVERSATION_ID, {
"type": `custom:${YOUR_EVENT_NAME}`,
"from": MEMBER_ID,
"body": {
"your": "data"
}
},
(error, result) => {
if (error) {
console.error(error);
} else {
console.log(result);
}
});
Run your code
Save this file to your machine and run it:
node create-custom-event.js
Try it out
When you run the code you'll see a custom event in your event list