订阅API
一、在开发之前
1.1 配置域名
接入前请将此域名 https://zw.baidusmartapps.com 添加到request的合法域名中
1.2 获取订阅项的必要信息
每个可被订阅的服务项都有着唯一标识,通过服务项的唯一标识,开发者可以获取或者修改特定用户对于该服务项订阅状态。服务项的标识如下所示:
标识名称 | 标识字段 | 备注 |
---|
订阅标识 | cardFlag | 查询订阅状态接口必选 |
订阅ID | subscribeID | 订阅服务/取消服务接口必选 |
二、接入
2.1 安装依赖
npm i @gov-api-package/subscribe-manager --save
2.2 API 使用
主动推订阅服务目前提供了获取订阅状态等API,具体如下表所示:
API | 说明 |
---|
querySub | 获取订阅状态 |
addSub | 订阅 |
cancelSub | 取消订阅 |
toManage | 跳转订阅助手小程序 |
modifyIntervene | 修改干预信息 |
import subscribeManager from'@gov-api-package/subscribe-manage';
2.2.1 获取订阅状态 querySub
API请求参数:
参数 | 类型 | 说明 | 是否必选 |
---|
sourceFlag | string | 订阅标识 | 是 |
openId | string | 小程序openId | 是 |
API返回参数:
{
"id":1,
"status":1,
"main_title":"场景卡",
"sub_title":"官方小程序",
"button_color":"#D23B3A"
}
API使用示例:
getSubInfo(cardFlag, openId) {
subscribeManager.querySub(cardFlag, openId).then(
res => {
console.log(res);
}).catch(err => {
console.log(err);
});
}
2.2.2 订阅 addSub
API请求参数:
参数 | 类型 | 说明 | 是否必选 | 备注 |
---|
subscribeID | string | 订阅id | 是 | |
openId | string | 小程序openId | 是 | |
sourceFlag | string | 来源标识 | 否 | |
interveneProps | Object | 特征类型和列表 | 否 | 仅在有特征数据时需要传入该数据 |
>>interveneProps.interveneType | number | 特征类型 | 否 | 1(城市),2(省份),3(快递公司),4(运动员)... (仅在特征类型为1【城市】或者2【省份】且需要【代获取当前位置的特征列表】时,需要传入) |
>>interveneProps.intervene | Array | 修改特征列表 | 否 | 当特征类型为非1【城市】且非2【省份】时,特征列表必须传入 |
API返回参数:
API成功返回:
{
"code":0,
"msg":"success",
"data": {}
}
返回失败code错误码列表:
错误码 | 错误详情 |
---|
200000000 | 未获取到用户信息 |
200000006 | 已订阅 |
200000003 | 查询订阅号失败 |
200000004 | 订阅失败 |
API使用示例:
onSubscribe() {
subscribeManager.addSub(subscribeID, cardFlag).then(res => {
console.log(res);
if(!res.code) {
this.setData({
subStatus:1
});
swan.showToast({
title:'订阅成功',
icon:'none'
});
}else{
swan.showToast({
title:'订阅失败',
icon:'none'
});
}
}).catch(err => {
swan.showToast({
title:'订阅失败',
icon:'none'
});
});
}
2.2.3 取消订阅 cancelSub
API请求参数:
参数 | 类型 | 说明 | 是否必选 | 备注 |
---|
subscribeID | string | 订阅id | 是 | |
openId | string | 小程序openId | 是 | |
cardFlag | string | 来源标识 | 否 | |
API返回参数:
API返回成功:
{
"code":0,
"msg":"success",
"data": {}
}
API返回失败code错误码列表:
错误码 | 错误详情 |
---|
200000000 | 未获取到用户信息 |
200000006 | 已订阅 |
200000003 | 查询订阅号失败 |
200000004 | 取消订阅失败 |
API使用示例:
onSubscribe() {
subscribeManager.cancelSub(subscribeID, cardFlag).then(res => {
if (!res.code) {
swan.showToast({
title: '取消成功',
icon: 'none'
});
} else {
swan.showToast({
title: '取消失败',
icon: 'none'
});
}
}).catch(err => {
swan.showToast({
title: '取消失败',
icon: 'none'
});
});
}
2.2.4 跳转订阅助手 toManage
API使用示例:
onSubscribeManage() {
subscribeManager.toManage();
}
2.2.5 修改标签(城市等)信息 modifyIntervene
API请求参数:
参数 | 类型 | 说明 | 是否必填 |
---|
subscribeID | string | 订阅id | 是 |
openId | string | 小程序openId | 是 |
opType | number | 1、新增标签(城市等) 2、取消标签(城市等) 3、修改标签(城市等) | 是 |
sourceFlag | string | 订阅标识 | 是 |
intervene | Array | 修改城市列表 | 是 |
API使用示例:
subscribeManager.modifyIntervene(res.id, 1, cardFlag, [
{
"type": 1,
"value": "130000,130001,130002"
},
{
"type": 2,
"value": "130000,130003"
}
]).then(res => {
console.log(res)
});
API返回参数:
{
"code": 0,
"msg": "success",
"data": {}
}