批次設定簽到功能
更新時間:2025-01-16 16:29:28
介面描述
1、批量设置签到功能
2、接口支持https协议
介面URL
http://api.polyv.net/live/v4/chat/batch-checkin
請求方式
POST
介面限制
1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看
2、單次最多設定1000個
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 帳號appId【詳見取得金鑰】 |
| timestamp | true | Long | 目前13位毫秒級時間戳,3分鐘內有效 |
| sign | true | String | 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則】 |
請求體參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | Integer | 直播頻道號 |
| limitTime | false | Integer | 簽到時長(秒,0-86400),如果不傳或傳0就是立即簽到 |
| delayTime | false | Long | 定時開始時間(13位時間戳),如果不傳就從介面設定成功後開始。 |
| message | false | String | 簽到提示語 |
| forceCheckInEnabled | false | String | 是否強制簽到,預設N(Y/N) |
範例
http://api.polyv.net/live/v4/chat/batch-checkin?appId=frlr1zazn3&sign=FD701BFA3DCE2C7DCC362A904DBF48B0×tamp=1636536555144
請求體json參數:
[
{
"channelId":4032639,
"limitTime":30,
"delayTime":1700734800000,
"message":"tips1"
},
{
"channelId":4032640,
"limitTime":30,
"delayTime":1700734800000,
"message":"tips2"
}
]
回應參數說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | |
| status | String | |
| requestId | String | |
| error | Error | |
| data | Boolean |
Java請求範例
快速接入基礎程式碼請下載相關依賴原始碼, 點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。
強烈建議您使用直播Java SDK完成API的功能對接,直播Java SDK 對API呼叫邏輯、異常處理、資料簽名、HTTP請求執行緒池進行了統一封裝和最佳化。
private static final Logger log = LoggerFactory.getLogger(getClass());
@Test
public void testBatchCheckin() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际
String appId = super.appId;
String appSecret = super.appSecret;
String userId = super.userId;
String timestamp = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://api.polyv.net/live/v4/chat/batch-checkin";
//http 调用逻辑
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
String body = "[{"channelId":4032639,"limitTime":30,"delayTime":1700734800000},{"channelId":4032640,"limitTime":30,"delayTime":1700734800000}]";
url = HttpUtil.appendUrl(url, requestMap);
String response = HttpUtil.postJsonBody(url,body,null);
log.info("测试批量设置签到功能,返回值:{}", response);
//do somethings
}
回應範例
系統全域錯誤說明詳見全域錯誤說明
成功範例
{
"code": 200,
"status": "success",
"requestId": "62af5d29-a836-4bfb-8c4d-cbd6a84ea7e9",
"data": true,
"success": true
}
異常範例
{
"code": 400,
"status": "error",
"requestId": "4081dbac03e6441e8bdd301d8feee5a2.124.16360831818611581",
"error": {
"code": 20001,
"desc": "application not found."
},
"success": false
}
{
"code": 400,
"status": "error",
"requestId": "4081dbac03e6441e8bdd301d8feee5a2.124.16360831818611581",
"error": {
"code": 1097,
"desc": "非法的频道ID"
},
"success": false
}
{
"code": 400,
"status": "error",
"requestId": "4081dbac03e6441e8bdd301d8feee5a2.124.16360831818611581",
"error": {
"code": 1099,
"desc": "签到失败: 序号为[0],时间区间存在重叠或时间区间间隔小于5秒,不允许添加"
},
"success": false
}
{
"code": 400,
"status": "error",
"requestId": "4081dbac03e6441e8bdd301d8feee5a2.124.16360831818611581",
"error": {
"code": 1099,
"desc": "签到失败: 序号为[0,2],签到失败"
},
"success": false
}
