Callback After a Room Is Updated
Feature Description
The app backend can use this callback to view room information updates in real time, including real-time logs of changes (such as logging or syncing 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.
During this callback, the Live backend initiates an HTTP POST request to the App backend.
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 That May Trigger This Callback
App users update room information through the client.
App admins update room information through RESTful APIs.
Callback Trigger Time
After the room information is successfully updated.
API Description
Request URL Sample:
In the following sample, 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
Parameters | Description |
https | The request protocol is HTTPS, and the request method is POST |
www.example.com | Callback URL |
SdkAppid | SDKAppID assigned by the Instant Messaging console when an application is created |
CallbackCommand | Fixed as Live.CallbackAfterUpdateRoomInfo |
contenttype | Fixed value: JSON |
ClientIP | Client IP, such as 127.0.0.1 |
OptPlatform | Client platform, see the value in Webhook Overview: Callback Protocol for the meaning of the OptPlatform parameter |
Sample Request Packets
{"CallbackCommand":"Live.CallbackAfterUpdateRoomInfo","Operator_Account":"bob","RoomInfo" : {"RoomId":"live-room","RoomName" : "rname-123","MaxMemberCount" : 300,"IsMessageDisabled" : false,"CoverURL": "https://xxxx.png","Category": [1,2,3],"ActivityStatus":1,"IsPublicVisible": false,"TakeSeatMode": "ApplyToTake","CustomInfo": "custom123"}"EventTime":1670574414123// Millisecond level, event trigger timestamp}
Request Packet Fields
Field | Type | Description |
CallbackCommand | String | Callback command |
Operator_Account | String | Operator UserID initiating group creation request |
RoomId | String | Room ID |
RoomName | String | Room Name |
MaxMemberCount | Integer | Maximum number of room members |
IsMessageDisabled | Bool | Prohibit all members from sending text messages |
CustomInfo | String | Custom Definition Fields |
TakeSeatMode | String | Seat Mode: None (Off), FreeToTake (Free to Join the Podium), ApplyToTake (Apply to join the microphone) |
IsPublicVisible | Bool | Room is public or not |
CoverURL | String | Room cover URL |
Category | Array | Room type identifier, integer array |
ActivityStatus | Integer | Live room activity status: user-defined tag |
EventTime | Integer | Event trigger timestamp in milliseconds |
Response Packet Example
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 | Required | The result of the request process: OK indicates success; FAIL indicates failure |
ErrorCode | Integer | Required | Error Code, here 0 means to ignore the response result |
ErrorInfo | String | Required | Error message. |
Reference
REST API: Update Room