增加页面菜单
更新时间:2025-09-25 23:58:46
接口描述
1、添加一个频道菜单
2、接口支持https协议
接口URL
http://api.polyv.net/live/v3/channel/menu/add
请求方式
POST
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
请求参数描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | true | String | 账号appId【详见获取密钥】 |
| timestamp | true | Long | 当前13位毫秒级时间戳,3分钟内有效 |
| sign | true | String | 签名,为32位大写的MD5值,生成签名的appSecret密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据【详见签名生成规则】 |
| channelId | true | String | 频道号 |
| name | true | String | 菜单名称 |
| type | true | String | 菜单类型 desc:直播介绍 chat:互动聊天 quiz:咨询提问 text:图文菜单 iframe:推广外链 qa:问答 buy:商品列表 invite:邀请榜 |
| content | false | String | 菜单内容 当菜单类型为直播介绍、图文菜单时,该值为菜单的内容。 当菜单类型为外链推广时,如果链接类型是通用链接, 该值为外链链接地址, 如果链接类型是多平台链接, 该值是json对象字符串, json对象的属性如下表说明。 当菜单类型为互动聊天、咨询提问时,该值不需要传值,默认为null |
| lang | false | String | 菜单语言类型,不传该参数默认为中文 zh_CN:中文 EN:英文 |
| iframeOpenType | false | String | 打开方式(currentPage 当前页 menuDisplay 菜单显示 newPage 新页面)(次参数针对菜单类型为外链推广时有效) |
| linkType | false | Integer | 外链推广菜单链接类型(10:通用链接,11:多平台链接,默认10)(次参数针对菜单类型为外链推广时有效) |
外链推广多平台链接对象参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| jumpWay | String | 跳转方式:NEW_WINDOW(新窗口)/CURRENT_WINDOW(当前窗口)/POP_UP(弹出框) |
| link | String | 通用链接 |
| pcLink | String | PC端链接 |
| mobileLink | String | 移动端链接 |
| wxMiniprogramOriginalId | String | 小程序原始ID |
| wxMiniprogramAppId | String | 小程序APPID |
| wxMiniprogramLink | String | 小程序页面路径 |
| mobileAppLink | String | 手机app链接 |
| iosLink | String | iOS链接 |
| androidLink | String | Android链接 |
| otherLink | String | 其他链接 |
示例
http://api.polyv.net/live/v3/channel/menu/add
表单参数:
appId=frlr1zazn3&name=%E6%B5%8B%E8%AF%95%E8%8F%9C%E5%8D%95aa&sign=6032B243196C57BCEFE7C063DCEFEC9F&type=text&channelId=2306525&content=%E8%8F%9C%E5%8D%95%E5%86%85%E5%AE%B9aaaa×tamp=1621842602123
响应参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,200为成功返回,非200为失败【详见全局错误说明】 |
| status | String | 响应状态文本信息 |
| message | String | 响应描述信息,当code为400或者500的时候,辅助描述错误原因 |
| data | Object | 成功时为菜单详细数据 【详见data字段说明】 |
data字段说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| menuId | String | 菜单ID |
| menuType | String | 菜单类型 desc:直播介绍 chat:互动聊天 quiz:咨询提问 text:图文菜单 iframe:推广外链 qa:问答 buy:商品列表 invite:邀请榜 |
| name | String | 菜单名称 |
| ordered | Integer | 菜单顺序,值越小,越靠前。新添加的菜单默认位于最后。 |
| content | String | 菜单内容 |
| lang | String | 菜单语言类型 zh_CN:中文 EN:英文 |
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。
强烈建议您使用直播Java SDK完成API的功能对接,直播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
private static final Logger log = LoggerFactory.getLogger(MenuTest.class);
/**
* 增加页面菜单接口
* @throws IOException
*/
@Test
public void testAddMenu() 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/v3/channel/menu/add";
String channelId = "2149813";
String name = "测试菜单aa";
String type = "text";
String content = "菜单内容aaaa";
//http 调用逻辑
Map<String,String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp",timestamp);
requestMap.put("channelId",channelId);
requestMap.put("name",name);
requestMap.put("type",type);
requestMap.put("content",content);
requestMap.put("sign",LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.postFormBody(url, requestMap);
log.info("测试增加页面菜单接口返回值:{}",response);
//do somethings
}
响应示例
系统全局错误说明详见全局错误说明
成功示例
{
"code": 200,
"status": "success",
"message": "",
"data": {
"menuId": "7694a2acd4",
"menuType": "text",
"name": "测试菜单aa",
"ordered": 5,
"content": "菜单内容aaaa",
"lang": "zh_CN"
}
}
异常示例
{
"code": 400,
"status": "error",
"message": "invalid signature.",
"data": ""
}
