批量设置签到功能

接口描述

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-9999),如果不传或者传0就是立即签到

delayTime

false

Long

定时开始时间(13位时间戳),如果不传就从接口设置成功后开始。

message

false

String

签到提示语

示例

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
}

Last updated