修改频道卡片推送
接口描述
1、修改频道卡片推送,对应新版后台的 营销-卡片
2、接口支持https协议
接口URL
http://api.polyv.net/live/v4/channel/card-push/update
请求方式
POST
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
2、非必选的请求参数,如果不传则使用默认项,关联关系除外(如:conditionUnit字段在showCondition为WATCH时,需必填)
请求参数描述
请求体参数描述
imageType
false
String
卡片样式类型 giftbox:礼物领取样式 redpack:红包样式 custom:自定义
title
false
String
卡片标题,最多16个字符
link
false
String
卡片跳转链接地址,需要带http:等协议头
duration
false
Integer
卡片倒计时时长,取值:0,5,10,20,30,单位:秒,0为不显示倒计时时长
showCondition
false
String
弹出方式 PUSH:推送后立即弹出 WATCH:观看后弹出
conditionValue
false
Integer
观看后弹出的观看时长,showCondition为WATCH时生效
conditionUnit
false
String
观看后弹出的观看时长单位 SECONDS:秒 MINUTES:分钟 showCondition为WATCH时,该值生效且必填
countdownMsg
false
String
倒计时文案,showCondition为WATCH时生效,最多8个字符
enterEnabled
false
String
卡片入口开关 Y:开启 N:关闭
linkEnabled
false
String
卡片跳转开关 Y:开启 N:关闭
redirectType
false
String
跳转方式 iframe:页内显示 tab:新开页面
enterImage
false
String
卡片入口图片
cardImage
false
String
卡片图片
示例
http://api.polyv.net/live/v4/channel/card-push/update?cardPushId=1282&appId=frlr1zazn3&sign=72F9A8F43AA957F17A8A5CDDB7DC6BA3&channelId=2477096×tamp=1634268781984
请求体参数:
{
"duration": "10",
"conditionUnit": "SECONDS",
"showCondition": "WATCH",
"countdownMsg": "测试8个字符成功",
"link": "http://www.polyv.net",
"conditionValue": "30",
"enterEnabled": "Y",
"title": "测试卡片推送1015",
"imageType": "giftbox"
}
响应参数描述
code
Integer
响应状态码,200为成功返回,非200为失败
status
String
响应结果,由业务决定,成功返回success,失败返回error
success
Boolean
响应结果,由业务决定,成功返回true,失败返回false
data
Object
成功响应时返回null
requestId
String
请求ID,每次请求生成的唯一的 UUID,仅可用于排查、调试,不应该和业务挂上钩
Error参数描述
code
Integer
错误代码,用于确定具体的错误原因
desc
String
错误描述,与 error.code 对应
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。
强烈建议您使用直播Java SDK完成API的功能对接,直播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
/**
* 测试修改频道卡片推送
* @throws IOException
* @throws NoSuchAlgorithmException
*/
@Test
public void testUpdateChannelCardPush() throws IOException, NoSuchAlgorithmException {
String appId = super.appId;
String appSecret = super.appSecret;
String timestamp = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://api.polyv.net/live/v4/channel/card-push/update";
//http 调用逻辑
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("channelId", "2477096");
requestMap.put("cardPushId", "1282");
Map<String, Object> jsonMap = new HashMap<>();
jsonMap.put("imageType", "giftbox");
jsonMap.put("title", "测试卡片推送1015");
jsonMap.put("link", "http://www.polyv.net");
jsonMap.put("duration", "10");
jsonMap.put("showCondition", "WATCH");
jsonMap.put("conditionValue", "30");
jsonMap.put("conditionUnit", "SECONDS");
jsonMap.put("countdownMsg", "测试8个字符成功");
jsonMap.put("enterEnabled", "Y");
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
url = HttpUtil.appendUrl(url, requestMap);
String response = HttpUtil.postJsonBody(url, JSON.toJSONString(jsonMap), null);
log.info("测试修改频道卡片推送成功,返回值:{}", response);
}
响应示例
成功示例
{
"code": 200,
"status": "success",
"requestId": "847f0716fa76461baf8979aaa4415dc3.65.16342687861804037",
"data": null,
"success": true
}
异常示例
{
"code": 400,
"status": "error",
"requestId": "4081dbac03e6441e8bdd301d8feee5a2.117.16360830583026105",
"error": {
"code": 30004,
"desc": "找不到频道"
},
"success": false
}
Last updated
Was this helpful?