影片創作回呼通知
作用
使用者發起任務後,伺服器端會對客戶所設定的介面地址,以 POST 方式提交任務處理情況到使用者自訂的回呼介面。
回呼失敗重試
- 若接口未回傳 HTTP status 200 狀態碼,系統將判定使用者處理本次回呼失敗。針對失敗情況,系統會重試回呼 3 次。
回呼參數說明
提交製課任務回調
- 請求方式:POST
URL 參數
| 參數名稱 | 類型及範圍 | 說明 |
|---|---|---|
| timestamp | long | 13 位時間戳 |
| sign | string | 簽名,簽名生成的規則是 MD5(appSecret + timestamp),為防止回調請求偽造,請務必驗證 sign 值的正確性 |
BODY 參數:
| 參數名 | 類型及範圍 | 說明 |
|---|---|---|
| id | long | 製課任務ID |
| fileId | string | 製課所使用的PPT檔案ID |
| fileName | string | 製課所使用的PPT檔案名稱 |
| videoName | string | 影片名稱 |
| existDigitalHuman | boolean | 是否包含數位人 |
| status | string | 狀態, WAITING, 代表提交任務成功, 進入等待製作狀態 |
| childUserInfo | Object | 子帳號資訊, 如果是主帳號建立的製課任務, 此欄位回傳null 【詳見childUserInfo欄位說明】 |
| subtitleInfo | Object | 字幕資訊 【詳見字幕資訊欄位說明】 |
回調數據範例
請求地址範例: https://www.example.com/xxx/callback?sign=d5079f2e8ba19e49bfd3d9575866d80f×tamp=1701964858687
請求體(body 參數:application/json)範例
{
"existDigitalHuman": true,
"fileName": "智能制课测试PPT.pptx",
"videoName": "智能制课测试PPT",
"id": 1000,
"status": "WAITING",
"childUserInfo": {
"userId": "abc483974343",
"email": "xxx-child-user@qq.com",
"name": "张三",
"organizationId": 1001
},
"subtitleInfo": {
"enableSubtitle": "true"
}
}
製課成功回調
- 請求方式:POST
URL 參數
| 參數名稱 | 類型及範圍 | 說明 |
|---|---|---|
| timestamp | long | 13 位時間戳 |
| sign | string | 簽名,簽名生成規則為 MD5(appSecret + timestamp),為防止回調請求偽造,請務必驗證 sign 值的正確性 |
BODY 參數:
| 參數名 | 類型及範圍 | 說明 |
|---|---|---|
| id | long | 製課任務ID |
| fileId | string | 製課所使用的PPT檔案ID |
| fileName | string | 製課所使用的PPT檔案名稱 |
| videoName | string | 影片名稱 |
| videoPath | string | 影片位址 |
| audioPath | string | 音訊位址 |
| videoFileSize | Long | 影片檔案大小,單位為byte |
| videoImage | string | 影片封面圖位址 |
| videoDuration | Integer | 影片長度,單位為秒 |
| dealTime | string | 製作完成時間(格式:yyyy-MM-dd HH:mm:ss) |
| existDigitalHuman | boolean | 是否包含數位人 |
| status | string | 狀態,SUCCESS代表製課成功 |
| childUserInfo | Object | 子帳號資訊,若為主帳號建立的製課任務,此欄位回傳null 【詳見childUserInfo欄位說明】 |
| subtitleInfo | Object | 字幕資訊 【詳見字幕資訊欄位說明】 |
回調數據範例
請求地址範例: https://www.example.com/xxx/callback?sign=d5079f2e8ba19e49bfd3d9575866d80f×tamp=1701964858687
請求體(body 參數:application/json)範例
{
"existDigitalHuman": true,
"videoPath": "https://oss-live-1.videocc.net/pptvideo/20231207/video/1000_5a8eaaceb8c58ef8c872c7dah8db71eb5453dbe25b5pptVideocommon.mp4",
"audioPath": "https://oss-live-1.videocc.net/pptvideo/20231207/video/1000_5a8eaaceb8c58ef8c872c7dah8db71eb5453dbe25b5pptVideocommon.mp3",
"fileName": "智能制课测试PPT.pptx",
"videoFileSize": 1025386,
"dealTime": "2023-12-05 14:30:30",
"videoName": "智能制课测试PPT",
"videoImage": "https://oss-live-1.videocc.net/pptvideo/20231207/image/1000_5a8eaaceb8c58ef8c872c7dah8db71eb5453dbe25b5pptVideocommon.jpeg",
"videoDuration": 62,
"id": 1000,
"status": "SUCCESS",
"childUserInfo": {
"userId": "abc483974343",
"email": "xxx-child-user@qq.com",
"name": "张三",
"organizationId": 1001
},
"subtitleInfo": {
"enableSubtitle": "true",
"subtitlePath": "http://example.com/xxx/xxx/abc.srt"
}
}
製課失敗回調
當影片創作任務最終進入失敗狀態時觸發。對於同一個任務,僅在首次從非失敗狀態進入失敗狀態時發送回呼,重複更新失敗狀態不會重複發送。
- 請求方式: POST
URL 參數
| 參數名稱 | 類型及範圍 | 說明 |
|---|---|---|
| timestamp | long | 13 位時間戳 |
| sign | string | 簽名,簽名生成的規則是 MD5(appSecret + timestamp),為防止回調請求偽造,請務必驗證 sign 值的正確性 |
BODY 參數:
| 參數名 | 類型及範圍 | 說明 |
|---|---|---|
| id | long | 製課任務ID |
| fileId | string | 製課所使用的PPT檔案ID,無值時回傳空字串 |
| fileName | string | 製課所使用的PPT檔案名稱,無值時回傳空字串 |
| videoName | string | 影片名稱 |
| videoPath | string | 影片位址,失敗時可能回傳null |
| audioPath | string | 音訊位址,失敗時可能回傳null |
| videoFileSize | Long | 影片檔案大小,單位為位元組,失敗時可能回傳null |
| videoDuration | Integer | 影片長度,單位為秒,失敗時可能回傳null |
| videoImage | string | 影片封面圖位址,失敗時可能回傳null |
| dealTime | string | 製作完成時間(格式:yyyy-MM-dd HH:mm:ss),失敗時可能回傳null |
| existDigitalHuman | string | 是否包含數位人,取值為true或false |
| status | string | 狀態,FAIL代表製課失敗 |
| errorMessage | string | 面向客戶的失敗原因;無法提供明確原因時回傳「影片製作失敗,請聯繫技術支援」 |
| source | string | 影片創作來源,PPT_VIDEO代表PPT影片,VIDEO_PRODUCE代表影片製作 |
| accountUserInfo | Object | 主帳號資訊 【詳見accountUserInfo欄位說明】 |
| childUserInfo | Object | 子帳號資訊,若為主帳號建立的製課任務,此欄位回傳null 【詳見childUserInfo欄位說明】 |
| subtitleInfo | Object | 字幕資訊 【詳見字幕資訊欄位說明】 |
回調數據範例
請求地址範例: https://www.example.com/xxx/callback?sign=d5079f2e8ba19e49bfd3d9575866d80f×tamp=1701964858687
請求體(body 參數:application/json)範例
{
"id": 1000,
"videoName": "智能制课测试PPT",
"videoPath": null,
"audioPath": null,
"videoFileSize": null,
"videoDuration": null,
"videoImage": null,
"fileId": "abc123456",
"fileName": "智能制课测试PPT.pptx",
"dealTime": null,
"existDigitalHuman": "true",
"status": "FAIL",
"source": "VIDEO_PRODUCE",
"errorMessage": "素材文件为空",
"accountUserInfo": {
"userId": "abc483974343",
"email": "xxx@qq.com"
},
"childUserInfo": null,
"subtitleInfo": {
"enableSubtitle": true,
"subtitlePath": null
}
}
刪除製課任務回調
- 請求方式:POST
URL 參數
| 參數名稱 | 類型及範圍 | 說明 |
|---|---|---|
| timestamp | long | 13 位時間戳 |
| sign | string | 簽名,簽名生成的規則是 MD5(appSecret + timestamp),為防止回調請求偽造,請務必驗證 sign 值的正確性 |
BODY 參數:
| 參數名 | 類型及範圍 | 說明 |
|---|---|---|
| id | long | 製課任務ID |
| fileId | string | 製課所使用的PPT檔案ID |
| fileName | string | 製課所使用的PPT檔案名稱 |
| videoName | string | 影片名稱 |
| videoPath | string | 影片位址 (若刪除的是製課失敗的任務,此欄位回傳為null) |
| videoImage | string | 影片封面圖位址 (若刪除的是製課失敗的任務,此欄位回傳為null) |
| videoDuration | Integer | 影片長度,單位為秒 (若刪除的是製課失敗的任務,此欄位回傳為null) |
| dealTime | string | 製作完成時間(格式:yyyy-MM-dd HH:mm:ss)(若刪除的是製課失敗的任務,此欄位回傳為null) |
| existDigitalHuman | boolean | 是否包含數位人 |
| status | string | 狀態,DELETE代表刪除製課任務 |
| childUserInfo | Object | 子帳號資訊,若為主帳號建立的製課任務,此欄位回傳null 【詳見childUserInfo欄位說明】 |
回調數據範例
請求地址範例: https://www.example.com/xxx/callback?sign=d5079f2e8ba19e49bfd3d9575866d80f×tamp=1701964858687
請求體(body 參數:application/json)範例
{
"existDigitalHuman": true,
"videoPath": "https://oss-live-1.videocc.net/pptvideo/20231207/video/1000_5a8eaaceb8c58ef8c872c7dah8db71eb5453dbe25b5pptVideocommon.mp4",
"fileName": "智能制课测试PPT.pptx",
"dealTime": "2023-12-05 14:30:30",
"videoName": "智能制课测试PPT",
"videoImage": "https://oss-live-1.videocc.net/pptvideo/20231207/image/1000_5a8eaaceb8c58ef8c872c7dah8db71eb5453dbe25b5pptVideocommon.jpeg",
"id": 1000,
"status": "DELETE",
"childUserInfo": null
}
accountUserInfo 欄位說明
| 參數名 | 類型及範圍 | 說明 |
|---|---|---|
| userId | string | 主帳號 ID |
| string | 主帳號信箱 |
childUserInfo 欄位說明
| 參數名 | 類型及範圍 | 說明 |
|---|---|---|
| userId | string | 子帳號 ID |
| string | 子帳號信箱 | |
| name | string | 子帳號名稱 |
| organizationId | Integer | 子帳號組織 ID |
字幕資訊欄位說明
| 參數名稱 | 類型及範圍 | 說明 |
|---|---|---|
| enableSubtitle | Boolean | 是否開啟字幕 |
| subtitlePath | string | 字幕連結 |
成功保存製課任務草稿回調
- 請求方式: POST
URL 參數
| 參數名稱 | 類型及範圍 | 說明 |
|---|---|---|
| timestamp | long | 13 位時間戳 |
| sign | string | 簽名,簽名生成的規則是 MD5(appSecret + timestamp),為防止回調請求偽造,請務必驗證 sign 值的正確性 |
BODY 參數:
| 參數名 | 類型及範圍 | 說明 |
|---|---|---|
| id | long | 製課任務ID |
| fileId | string | 草稿所使用的PPT檔案ID,未選擇或未傳入PPT時回傳空字串 |
| fileName | string | 草稿所使用的PPT檔案名稱,未選擇或未傳入PPT時回傳空字串 |
| videoName | string | 影片名稱 |
| existDigitalHuman | boolean | 是否包含數位人 |
| clientIp | String | 修改者的IP |
| status | string | 狀態,DRAFT 代表成功儲存草稿 |
回調數據範例
請求地址範例: https://www.example.com/xxx/callback?sign=d5079f2e8ba19e49bfd3d9575866d80f×tamp=1701964858687
請求體(body 參數:application/json)範例
{
"existDigitalHuman": true,
"fileId": "2c38b75fc16a1dee3822950fa817d477915c3aad3apptVideocommon",
"fileName": "智能制课测试PPT.pptx",
"videoName": "智能制课测试PPT",
"id": 1000,
"clientIp": "183.22.1.33",
"status": "DRAFT"
}
未選擇或未傳入PPT時,fileId和fileName欄位仍會回傳,欄位值為空字串:
{
"existDigitalHuman": true,
"fileId": "",
"fileName": "",
"videoName": "智能制课测试PPT",
"id": 1000,
"clientIp": "183.22.1.33",
"status": "DRAFT"
}
如何設定
透過後台設定:
登入帳戶 - 進入【雲直播】 - 點選【開發設定】- 點選【回呼設定】- 影片創作資訊回呼
注意:提交的介面位址必須以 http:// 或 https:// 開頭
