After the Room Information Is Updated
Feature Overview
The App backend can view changes in room information in real time through this callback, including real-time recording of changed room information (for example, recording logs or synchronization to other systems).
Notes
To enable the callback, a callback URL must be configured and the switch corresponding to this callback protocol activated. For configuration methods, see Third-party Callback Configuration document.
The direction of the callback is from the Room backend to the App backend via an HTTP POST request.
After receiving the callback request, the App backend must check whether the SDKAppID contained in the request URL is consistent with its own SDKAppID.
Scenarios
App users update the room information through the client.
App administrators update the room information through the RESTful API.
Callback Trigger Time
After the room information is successfully updated.
API Description
Sample Request URL
In the following example, the callback URL configured in the app is
https://www.example.com
.
Example:https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json&ClientIP=$ClientIP&OptPlatform=$OptPlatform
Request Parameters
Parameter | Description |
https | The request protocol is HTTPS, and the request method is POST |
www.example.com | Callback URL |
SdkAppid | The SDKAppID assigned by the Chat console when an application is created |
CallbackCommand | Fixed as Room.CallbackAfterUpdateRoomInfo |
contenttype | Fixed value: JSON |
ClientIP | Client IP, format such as 127.0.0.1 |
OptPlatform | Client platform. For the value, refer to the meaning of the OptPlatform parameter of Webhook Overview: Callback Protocol. |
Sample Request Packets
{"CallbackCommand":"Room.CallbackAfterUpdateRoomInfo","Operator_Account":"bob","RoomInfo" : {"RoomId":"rid-123","RoomName" : "rname-123","Owner_Account" : "jack","TakeSeatMode" : "FreeToTake","MaxMemberCount" : 300, // Maximum room capacity"IsVideoDisabled" : false, // Whether to enable video for all, default false"IsAudioDisabled" : false, // Whether to enable mute for all, default false"IsMessageDisabled" : false, // Whether to disable sending text messages, default false"IsScreenSharingDisabled" : false, // Whether to disable screen sharing, default false"IsCloudRecordingDisabled" : "false", // Cloud recording is not disabled, default is false"CustomInfo" : "123", // Room custom information}"EventTime":1670574414123// Millisecond level, event trigger timestamp}
Request Packet Field Description
Field | Type | Description |
CallbackCommand | String | Callback command |
Operator_Account | String | Operator UserID initiating the request to create a group |
RoomId | String | Room ID |
RoomName | String | Room name |
Owner_Account | String | Host ID |
MaxMemberCount | Integer | Maximum number of room members |
IsVideoDisabled | Bool | Mute all video |
IsAudioDisabled | Bool | Mute all audio |
IsMessageDisabled | Bool | Disable all members from sending text messages |
IsScreenSharingDisabled | Bool | Disable screen sharing |
IsCloudRecordingDisabled | Bool | Disable cloud recording |
CustomInfo | String | Custom definition fields |
EventTime | Integer | Event trigger timestamp in milliseconds |
Sample Response Packets
A callback response packet is sent after the app backend synchronizes the data.
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0 // Ignore callback result}
Response Packet Field Description
Field | Type | Attribute | Description |
ActionStatus | String | Mandatory | The result of the request process. OK for success, FAIL for failure. |
ErrorCode | Integer | Mandatory | Error code, 0 means to ignore the response result |
ErrorInfo | String | Mandatory | Error message |
Reference
RESTful API:Update the Room Information