文档中心 > 商家应用介绍

一、申请权益插件


到插件市场申请权益中心插件,申请的应用选择消费者端应用。



二、申请权限包


申请 商家应用-权益中心插件权限包(提交工单申请,需要提供消费者端appid)。


三、前置页面配置


校验入口:https://smf.taobao.com/investment/verify.htm

输入申请的消费者端应用的appID。



配置页面配置好需要展示的权益类型,券类型以及奖池类型后,点击完成配置。


请注意:

针对优惠券的权益配置部分,目前支持【店铺券-全网自动推广】 【商品券-全网自动推广】【店铺券-商家抽奖平台】 【店铺券-购物小程序专享券】 【商品券-购物小程序专享券】等渠道,其中全网自动推广渠道券为默认会在相应渠道透出的,所有消费者可见。其他渠道券为不会自动透出,发送给特定消费者才可见,其中推荐使用购物小程序专属渠道。



四、代码开发


在商家端应用里提供权益插件的访问入口。


1.app.json文件配置


1
2
3
4
5
6
"plugins": {
  "myPlugin": {
      "version": "0.0.12"
      "provider": "3000000002026202" 
    
},


2.引用插件页面的相关代码


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*axml代码,跳转插件方式*/ 跳转到插件页面:
跳转方式1:
<view class="nav" onTap="navigateToPlugin">To Plugin Page (using my.navigate)</view> 
跳转方式2:
<navigator url="plugin://myPlugin/orightindex-page" class="nav">To Plugin Page (using navigator)</navigator>  
/*js代码*/
//引入插件
var plugin = requirePlugin("myPlugin");
//这个bridge用于和插件进行数据通信
const bridge = {
  bizCode: "业务身份",
//此处输入想配置的业务身份(消费者端appid) 
//这个方法用于获取插件中用户选择的奖池ID 
  getCheckBenefitID({ ename, poolID }) {
     console.log(poolID, ename); //此处可以使用云数据库接口或者云函数接口获取ename,用于后续接口调用 
  }
}
Page({
  data: {},
  onLoad() {  plugin.setBridge(bridge);  },
  onReady() {  },  //这个方法用于跳转到插件页面  
  navigateToPlugin() {
     my.navigateTo({  url: 'plugin://myPlugin/orightindex-page',  }); 
  }
});


五、使用插件,创建权益及奖池


IDE中生成对应的商家端预览码,商家账号登录PC千牛客户端中使用小程序,使用插件创建权益及奖池。

PC千牛预览: 点击查看


1.创建权益


2.创建奖池


3.勾选奖池,或取ename


勾选这个单选按钮后,会自动触发页面中的getCheckBenefitID方法,在这个方法中做逻辑处理,获取ename。


六、抽奖接口调用,消费者进行抽奖


alibaba.benefit.draw

抽奖奖池,进入链接查看详细接口文档:点击查看

Tips:

①(ename)奖池ename在勾选奖池时可以获得。

② 该接口需获取到C端用户的授权才能使用,需要在配套的C端手淘商家应用内调用my.authorize获取scope.benefitSend,由用户授权,之后调用alibaba.benefit.draw才能抽奖成功。


消费者端应用代码:

1.初始化云sdk, 请参考文档: 点击查看

2.用户授权,接口调用。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*axml代码*/
<view>  <button size="default" type="primary" onTap="draw">draw</button> </view> 
/*js代码*/
const { cloud } = getApp();
Page({
  data: {},
  onLoad(query) {
  // 页面加载  // 先进行用户授权,scopes为 scope.benefitSend 
     my.authorize({
        scopes:'scope.benefitSend',
        success:res=>{
           my.alert({  title:'success',  content:JSON.stringify(res) }) 
        
     }) 
  }, 
  async draw(){
     try {
        const result = await cloud.topApi.invoke({
          api: 'alibaba.benefit.draw',
          data:{'ename':'传入插件中获取的奖池ename','app_name':'promotioncenter-消费者端appid'
        }); 
        my.alert({  content: 'success ' + JSON.stringify(result)  }); 
     } catch (e) {  my.alert({ content: 'error ' + e.message })  } 
  }
});


FAQ

关于此文档暂时还没有FAQ
返回
顶部