乐趣区

关于前端:明道云对接小鹅通沉淀内容付费平台数据


现在,无论是 toB 还是 toC 公司都离不开在微信生态里做内容营销。传统的微信公众号、服务号都是最根底的微信营销平台,而更前沿的微信营销策略则要丰盛音频、视频、直播等内容,甚至做到内容间接变现。

明天展现的是明道云与小鹅通的对接——一套全功能的内容付费工具,为商家提供了残缺的付费内容营销解决方案。小鹅通提供了音频、视频、图文等多样化的内容付费反对,付费订阅、会员体系、渠道推广、用户运维、数据分析等功能模块。

利用小鹅通工具,企业能够疾速、低成本地搭建付费频道,疏导粉丝成为付费订阅用户。艰深地说,小鹅通是一款集品牌营销、常识产品交付、用户治理和商业变现为一体的平台。

接入步骤

1. 开明小鹅通利用和 API 权限,具体流程可参考下图。

2. 开明好权限后,登录(「小鹅通店铺治理台」-「营销中心」-「API 自主开发」-「云服务控制台」)获取利用信息,配置 IP 白名单。

3. 确认须要对接的 API,本文案例里用到的 API 如下:

  • baseUrl {baseUrl})
  • Token 获取接口 {baseUrl}/token
  • 批量获取用户信息 {baseUrl}/xe.user.batch.get/1.0.0
  • 获取用户详情 {baseUrl}/xe.user.info.get/1.0.0
  • 课程列表 {baseUrl}/xe.resource.list.get/1.0.0
  • 订单列表 {baseUrl}/xe.order.list.get/1.0.1
  • 订单详情 {baseUrl}/xe.order.detail/1.0.0
  • 商品详情 {baseUrl}/xe.goods.detail.get/3.0.0
  • 商品有效期 {baseUrl}/xe.resource.purchase.get/1.0.0
  • 采集信息 {baseUrl}/xe.information.user.result.get/1.0.0

正式配置

1. 配置明道云利用里的表单,成果如图。

2. 设置根底数据同步的工作流,根底数据能够是用户、商品、专栏。留神:根底数据同步后,当前就不必再次同步了;前期每次只需同步对应的课程即可。

以下以“用户获取”的数据同步为例,展现代码块。


var fetch = require('node-fetch'); 
var params = JSON.parse(input.realParams); 
var url=input.url; 
params.access_token=input.token; 
async function getAll(data){
 const res = await fetch(url,{
          method:"POST",
           headers:
 {"Content-Type": "application/json"}, 
        body:JSON.stringify(data)
 }).then(function(response){return  response.json();
 }).catch(function(err){return {"code":102,"error":"Fetch 谬误:"+err};
 });
 const result = await   res;
 return result;
} 
var result=await getAll(params);
var hasnew=false;
if(result.code=="0"){hasnew=result.data.list.length>0} 
output={result:result,url:url,hasnew:hasnew}

3. 下一步是同步订单数据。用户在小鹅通下单前是须要用户提交个人信息的,比方姓名、手机、职位、公司等。咱们应用子流程逐条解决:先检索用户记录是否已存在明道云数据表里,若存在则更新;不存在就新建用户记录。流程配置图如下图,更多数据更新的代码块见下方。

// 订单列表
var fetch = require('node-fetch');
var params = JSON.parse(input.realParams); 
var url=input.url; 
params.access_token=input.token; 
params.page_size=50 
params.order_by="updated_at:asc"; 
var btime=new Date(params.begin_time); 
var etime=new Date(params.end_time+':59'); 
var loctime=3600*8; 
params.begin_time=((btime.getTime()/1000)-loctime).toString() 
params.end_time=((etime.getTime()/1000)-loctime).toString() 
async function getAll(data){
 const res = await fetch(url,{
     method:"POST",
     headers: 
 {"Content-Type": "application/json"},
     body:JSON.stringify(data) 
 }).then(function(response){if(response.ok){return  response.json();
 }else{return {"code":-1,"result_msg":response}
 } 
 }).catch(function(err){return {"code":102,"error":"Fetch 谬误:"+err};
 });
 const result = await   res;
 return result;
}
var result=await getAll(params);
var hasnext=false; 
var hasnew=false; 
var lasttime=''if(result.code=="0"){
   hasnew=result.data.list.length>0
hasnext=(result.data.total>(parseInt(params.page_index)*parseInt(params.page_size))) 
 if(hasnew){lasttime=result.data.list[result.data.list.length-1]["pay_time"];   lasttime=(lasttime==null?'':lasttime.replace(/-/g,'').replace(/ /g,'').replace(/:/g,'')) 
 } 
} output={lasttime:lasttime,result:result,url:url,hasnew:hasnew,hasnext:hasnext,params:params,pstr:JSON.stringify(params)}

// 采集信息获取
var fetch = require('node-fetch');
var params = {}; 
var url=input.url; 
params.access_token=input.token; 
params.user_id=input.userid; 
params.resource_id=input.resource_id; 
params.page=1; 
params.page_size=50; 
async function getAll(data){ 
 const res = await fetch(url,{
    method:"POST",
    headers:
 {"Content-Type": "application/json"}, 
    body:JSON.stringify(data)
 }).then(function(response){return  response.json();
 }).catch(function(err){return {"code":102,"error":"Fetch 谬误:"+err};
 }); 
 const result = await   res;
 return result;
} 
var result=await getAll(params); 
var hasnew=false; 
var tempresult={} 
if(result.code=="0"){ 
  hasnew=result.data.collection_list.length>0 
 var resultemp=result.data.collection_list;
 if(hasnew){//var resultemp2= Object.keys(resultemp).sort(function(a,b){return resultemp[a]["id"]-resultemp[b]["id"];});   
   tempresult=resultemp[0]
 } 
} output={result:result,url:url,hasnew:hasnew,tempresult:tempresult}

所有数据都获取胜利后,咱们联合上篇《明道云对接企查查,一键改正客户信息》的信息校准办法,进一步保护这个客户数据库。祝贺你,你的明道云数据库又弱小了一点。

退出移动版