保利威文档中心

幫助中心

批次設定簽到功能

更新時間:2025-01-16 16:29:28

介面描述

1、批量设置签到功能
2、接口支持https协议

介面URL

http://api.polyv.net/live/v4/chat/batch-checkin

線上API呼叫

請求方式

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&timestamp=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
}
联系客服,在线咨询