- Documentation
- Server APIs v2
- Server callbacks
- Callback on stream closed
Callback on stream closed
1 Description
With the related callback setup in place, the ZEGOCLOUD server will send an event notification to the pre-configured server callback URL when your application client stops publishing a stream to the ZEGOCLOUD server. You can use this callback to maintain a list of live streams on your application server.
2 Callback request
Request method: POST/JSON or POST/FORM
- The default data format for requesting data is POST/JSON format. If you need to use the POST/FORM format, please contact ZEGOCLOUD technical support.
- The form values in POST/FORM format need to be decoded with urldecode.
Request endpoint: The corresponding callback endpoint in the ZEGOCLOUD Admin Console. (Click here to learn how to config the callback endpoint)
Transmission protocol: HTTPS/HTTP (HTTPS is recommended).
3 Request parameters
Parameter | Type | Description |
---|---|---|
stream_sid |
String |
The stream's server-side ID, the unique ID of the stream generated by the ZEGO server. |
type |
String |
Reason of stream close-down.
|
channel_id |
String |
Channel ID, with a maximum length of 127 bytes. Same as the RoomID on the client side. |
stream_alias |
String |
Stream name, with a maximum length of 255 bytes. Same as the StreamID on the client side. |
timestamp |
String |
The server's current time, a Unix timestamp. |
nonce |
String |
A random number. |
signature |
String |
The signature for request authentication. For more details about the request signature, see Authenticating server-to-server callbacks. |
appid |
String |
AppId。 |
event |
String |
Event name. For this callback, the event name is "stream_close". |
stream_id |
String |
Stream ID, same as the parameter stream_alias. |
stream_seq |
String |
The sequence number of server stream list updates, with an increment of 1 for each update. |
room_id |
String |
Room ID, with a maximum length of 127 bytes. Same as the parameter channel_id. |
user_id |
String |
User ID, with a maximum length of 255 bytes. Same as the parameter publish_id. |
user_name |
String |
User name, with a maximum length of 255 bytes. Same as the parameter publish_name. |
4 Sample request
Array
(
[stream_sid] => s-115205137699740000000000104
[channel_id] => 0xb-0x1
[type] => 0
[stream_alias] => aaaa
[timestamp] => 1481597358
[nonce] => 158273
[signature] => signature
[appid] => 1
[event] => stream_close
)
5 Sample response
1
A response "1" means that the request has completed successfully. Other responses indicate a failed request.
6 Retry mechanism
If the ZEGOCLOUD server does not receive a response, it will retry with intervals of 2s, 4s, 8s, 16s, and 32s respectively. If the retry still fails after an interval of 32s, it will no longer retry.