荟聚营销云可以集成全渠道的客户线索,本文介绍如果对接荟聚API获取到线索数据。
依旧是在白码低代码开发平台。
官方API文档:http://apidocsv2.huiju.cool/restapi/overview
1、获取token
荟聚 REST API使用OAuth v2.0协议做认证授权协议。访问荟聚 REST API时需要携带访问令牌(access_token)作为认证凭证。
官方说明:http://apidocsv2.huiju.cool/restapi/accessintro
实现代码:
//获取token
let result = await $modules.curl("https://api.huiju.cool/v2/oauth2/token", {
method: "get",
dataType: "json",
data: {
app_id,//应用的App ID
secret,//应用的App Secret
grant_type: grant_type//授权类型,这里必须是client_credentials
}
});
$output.result = result.data;
返回结果:
"output": {
"result": {
"access_token": "8a75dba1c4f542f1eac8ce04e6ae4f00",
"expires_in": 7200
}
}
2、查询线索
官方说明:http://apidocsv2.huiju.cool/restapi/query-customer
实现代码:
//查询字段,
let select = [
"id",//线索id
"displayName",// 昵称
"mobile",// 手机
"ownerEmployeeId",// 所属员工
"dateJoin",// 创建时间
];
//查询线索
let result = await $modules.curl("https://api.huiju.cool/v2/customers?access_token=" + token, {
method: "get",
dataType: "json",
data: {
"limit": 2,//分页
"select": select.toString(),//查询字段
"id[gt]": 0,//过滤
"sort": "id",//排序
}
});
let list = result.data.data;//线索
$output.list = list;
$output.nextPage = list.length == limit;//根据返回数据和分页是否一致判断是否还有下一页
返回结果:
"output": {
"list": [
{
"id": 812252963824298000,
"displayName": "洪",
"mobile": null,
"ownerEmployeeId": 0,
"dateJoin": "2020-03-18T11:39:28Z",
"idStr": "812252963824297984"
},
{
"id": 812252963824298000,
"displayName": "沄湘",
"mobile": null,
"ownerEmployeeId": 0,
"dateJoin": "2020-02-21T13:03:05Z",
"idStr": "812252963824297985"
}
],
"nextPage": true
}
- 返回的id字段会重复
官方给出的解释是使用前端语言发起的请求,id会因为科学计算法截取掉尾数,因此以idStr为准。
- 分页limit
分页取值范围官方没有给出,可能是不限制,但是如果太大会请求超时,个人测试了一下,大概到50000就会请求超时。
API里不会返回是否还有下一页的参数,因此只能自己根据返回数据量和分页数是否一致判断是否还有下一页。
- 过滤
过滤规则使用LHS Brackets格式,以过滤id为例
"id": 0,//等于
"id[in]": [0, 1, 2],//在...内
"id[gt]": 0,//大于
"id[ge]": 0,//大于等于
"id[lt]": 0,//小于
"id[le]": 0,//小于等于
- 排序
以按id排序为例
sort:"id",//正序
sort:"-id",//逆序