Skip to main content

Hook 自定义页面

This topic provides an up-to-date list of all the events that can be used with webhooks. Please note that we're constantly adding new events.

All events follow a pattern, resource.event. Our goal is to design a consistent system that makes things easier to anticipate and code against.

NOTE

Events are subscription-only, which means you must opt-in to receive them. You will not receive updates for event types for which you have not opted in.

List of Events​

Following are the events:

meeting.started​

This event is received when a meeting starts. i.e: When the first participant joins a meeting.

The payload for this event is like the following:

{
"event": "meeting.started",
"meeting": {
"id": "50c8940e-1b97-402a-97d6-2708b7feca41",
"sessionId": "05e57591-d89e-45c9-ae44-08dc1eaad0e0",
"title": "Meeting title",
"roomName": "lcfvaa-absxch",
"status": "LIVE",
"createdAt": "2022-12-13T06:57:09.736Z",
"startedAt": "2022-12-13T06:57:09.736Z",
"organizedBy": {
"id": "70c5d391-5bca-4cf3-9907-bec205798adb",
"name": "Dyte"
}
}
}
NOTE

roomName is sent only if you've created your meeting using v1 APIs.

meeting.ended​

This event is received when a meeting ends. i.e: When the last participant leaves a meeting or the host ends the meeting manually.

The payload for this event is like the following:

{
"event": "meeting.ended",
"meeting": {
"id": "50c8940e-1b97-402a-97d6-2708b7feca41",
"sessionId": "05e57591-d89e-45c9-ae44-58dc1eaad0e0",
"title": "Meeting title",
"status": "LIVE",
"createdAt": "2022-12-13T06:57:09.736Z",
"startedAt": "2022-12-13T06:57:09.736Z",
"endedAt": "2022-12-13T07:04:37.052Z",
"organizedBy": {
"id": "70c5d391-5bca-4cf3-9907-bec205798adb",
"name": "Dyte"
}
},
"reason": "HOST_ENDED_MEETING"
}
info

Note that the reason can be one of HOST_ENDED_MEETING or ALL_PARTICIPANTS_LEFT.

meeting.participantJoined​

This event is received when a participant joins the meeting.

The payload for this event is like the following:

{
"event": "meeting.participantJoined",
"meeting": {
"id": "50c8940e-1b97-402a-97d6-240227feca41",
"sessionId": "05e57591-d89e-45c9-ae44-78d53eaad0e0",
"title": "Meeting title",
"status": "LIVE",
"createdAt": "2022-12-13T06:57:09.736Z",
"startedAt": "2022-12-13T06:57:09.736Z",
"organizedBy": {
"id": "70c5d391-4bac-4cf3-9907-bec242342adb",
"name": "Dyte"
}
},
"participant": {
"peerId": "e32fb785-ddd0-4b96-b577-879327c0082f",
"userDisplayName": "John Doe",
"clientSpecificId": "l08is183rld", // deprecated, use `customParticipantId` instead
"customParticipantId": "l08is183rld",
"joinedAt": "2022-12-13T06:57:51.631Z"
}
}
attention!

The clientSpecificId field is deprecated. Please use customParticipantId instead.

meeting.participantLeft​

This event is received when a participant leaves the meeting

The payload for this event is like the following:

{
"event": "meeting.participantLeft",
"meeting": {
"id": "d9fc4d6a-a5a0-4430-9a73-d4ba14e597f9",
"sessionId": "79365b9b-e5ef-452f-934e-e171d75d254b",
"title": "Meeting title",
"status": "LIVE",
"createdAt": "2022-12-13T07:00:23.404Z",
"startedAt": "2022-12-13T07:00:23.404Z",
"organizedBy": {
"id": "70c5d391-4bac-4cf3-9907-bec205798adb",
"name": "Dyte"
}
},
"participant": {
"peerId": "023d3ea6-0af0-40ad-8aa3-6645c4ff1db8",
"userDisplayName": "Mary Sue",
"clientSpecificId": "dj287lon9c", // deprecated, use `customParticipantId` instead
"customParticipantId": "dj287lon9c",
"joinedAt": "2022-12-13T07:01:41.535Z",
"leftAt": "2022-12-13T07:03:42.420Z"
}
}
attention!

The clientSpecificId field is deprecated. Please use customParticipantId instead.

meeting.chatSynced​

This event is received when the chat messages dump of a meeting becomes available after the meeting ends.

Note

By default, this event is not enabled for your organization. Contact us to enable the meeting.chatSynced event for your organization.

The payload for this event is like the following:

{
"event": "meeting.chatSynced",
"sessionId": "79365b9b-e5ef-452f-934e-e171d75d254b",
"meetingId": "d9fc4d6a-a5a0-4430-9a73-d4ba14e597f9",
"chatDownloadUrl": "https://sample.com",
"chatDownloadUrlExpiry": "2022-12-13 07:08:39.051621Z",
"organizedBy": {
"id": "70c5d391-4bac-4cf3-9907-bec205798adb",
"name": "Dyte"
}
}

recording.statusUpdate​

This event is received when the status of a recording changes. The possible values for a recording's status are INVOKED, RECORDING, UPLOADING, UPLOADED, and ERRORED

{
"event": "recording.statusUpdate",
"recording": {
"id": "97cb480d-5840-4528-ace3-919b5e386c68",
"recordingId": "97cb480d-5840-4528-ace3-919b5e386c68",
"meetingId": "26c31468-55d4-4099-b49d-109778b182df",
"organizationId": "c94c437b-592a-4a39-b9e2-47ef1451e43b",
"status": "RECORDING",
"startedTime": "2023-01-25 04:51:35.903816Z",
"roomUUID": "56b81d16-5d4e-45ed-85b4-056587b00aa0",
"outputFileName": "26c31468-55d4-4099-b49d-109778b182df_1674622294193.mp4"
},
"meeting": {
"id": "26c31468-55d4-4099-b49d-109778b182df",
"sessionId": "56b81d16-5d4e-45ed-85b4-056587b00aa0",
"title": "Meeting title",
"status": "LIVE",
"createdAt": "2023-01-25T04:51:22.116Z",
"startedAt": "2023-01-26T03:36:23.224Z",
"endedAt": null,
"organizedBy": {
"id": "c94c437b-592a-4a39-b9e2-47ef1451e43b",
"name": "Dyte"
}
}
}

livestreaming.statusUpdate​

This event is triggered when a livestream's status changes. Possible values for status are LIVE and OFFLINE.

{
"event": "livestreaming.statusUpdate",
"streamId": "d231d346-c422-43a6-a324-c0d65b79c8a7",
"status": "LIVE"
}