Storage Transfer Result Callback Notification
Purpose
After a live streaming temporary file under your account is successfully transferred to on-demand storage, a callback notification will be sent to the configured interface address (if "Callback Failure Record" is checked in the SaaS backend, a failed transfer will also trigger a callback).
Details
After setting the interface address, if your account performs a temporary video transfer (i.e., transferring recorded files generated from live streaming to on-demand storage) and the transferred video is processed to a completed state, the live streaming system will submit the following parameters via GET to your custom callback interface for notification: channelId (channel ID), vid (successfully transferred video ID), title (video title), duration (video duration), and fileSize (video file size). For example:
Callback Parameter Description
Note: When origin is remake, you need to manually concatenate "_" + the first character of vid. For example: if the callback vid is 1b448be323bbcdf259ec7a814dba03ac, the concatenated vid becomes 1b448be323bbcdf259ec7a814dba03ac_1.
| Parameter | Type | Description |
|---|---|---|
| channelId | String | Channel ID |
| vid | String | Successfully transferred video ID, corresponding to the on-demand system VID, used by the on-demand system |
| title | String | Video title |
| duration | String | Video duration, format: hh:mm:ss |
| fileSize | Long | Video file size, in bytes |
| timestamp | Long | 13-digit timestamp |
| sign | String | Encrypted string for verification, generated by rule md5(AppSecret+timestamp), AppSecret is the secret key of the live streaming system |
| sessionIds | String | Array string of recorded sessions and times, format: ["20190703145126,4,fdqbopvtnv","20190703145126,8,fdqbopvtnv"], where "20190703145126,4,fdqbopvtnv": first field is start time, second field is live duration, third is corresponding sessionId |
| fileId | String | ID of the transferred recording file |
| videoId | String | Unique ID of the transferred replay, corresponding to the live streaming system videoId, used by the live streaming system |
| cataId | Long | Directory for on-demand transfer, present when origin is remake (remade courseware) |
| origin | String | Recording source of the transfer manual: cloud recording auto: automatic recording merge: merge clip: clip remake: remade courseware smart-clip: smart clip |
| sessionId | String | Single session ID corresponding to the replay |
| userId | String | User ID |
| status | String | Returns success for successful transfer |
Transfer Failure Callback Parameters
| Parameter | Type | Description |
|---|---|---|
| status | String | Interface processing result: success for success, error for failure |
| code | String | Error code userExpired: user expired spaceOverSize: insufficient on-demand storage space unknown: unknown exception |
| userId | String | POLYV user ID, same as on the POLYV official website. Access path: Official website -> Login -> Live Streaming (Development Settings) |
| fileId | String | ID of the transferred file |
| videoId | String | Unique ID of the transferred replay, corresponding to the live streaming system videoId, used by the live streaming system |
| sessionIds | String | Array string of recorded sessions and times, format: ["20190703145126,4,fdqbopvtnv","20190703145126,8,fdqbopvtnv"], where "20190703145126,4,fdqbopvtnv": first field is start time, second field is live duration, third is corresponding sessionId |
| origin | String | Recording source of the transfer manual: cloud recording auto: automatic recording merge: merge clip: clip remake: remade courseware smart-clip: smart clip |
| sign | String | Encrypted string for verification, generated by rule md5(AppSecret+timestamp), AppSecret is the secret key of the live streaming system |
| timestamp | Long | Current 13-digit millisecond timestamp |
How to Configure
Configure via the backend:
Log in to your account - Go to [Cloud Live Streaming] - Click [Development Settings] - Click [Callback Settings] - Transfer Result Callback URL
Note: The "Callback Failure Record" checkbox: if checked, failed transfers will also trigger callback notifications.
Note: The submitted interface address must start with http:// or https://.
Backend Configuration Reference Images
New backend configuration:

Old backend configuration:

If you cannot find the corresponding setting, it may be due to insufficient account permissions. For assistance, please contact the online customer service in the bottom right corner.
