文档中心 > 解决方案

权益营销解决方案

更新时间:2023/01/18 访问次数:2175

方案概述

商家应用提供了一站式的权益营销解决方案,实现从商家配置奖池到消费者侧获取权益的全流程。支持的权益类型包括 【店铺券-全网自动推广】 【商品券-全网自动推广】【店铺券-商家抽奖平台】 【店铺券-购物小程序专享券】 【商品券-购物小程序专享券】。开始接入

可实现能力介绍

商家配置奖池

消费者抽奖

商家主动发权益

前置知识

小程序应用结构

小程序云服务

小程序API调用

小程序插件使用

开发流程图

 
 

集成指南

1)配置权益插件中可显示的权益类型(注意:此项配置会影响步骤4中的可选的权益类型

配置入口:https://smf.taobao.com/investment/verify.htm

对发权益的场景:输入申请的商家端应用的appID

对消费者抽奖的场景:输入申请的消费者端应用的appID

image.png

image.png

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

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

2)在千牛端模板中集成权益插件,用于配置奖池

第一步:在app.json文件中引入插件

"plugins": {
"myPlugin": {
"version": "0.0.12",
"provider": "3000000002026202"
}

}

第二步:在需要集成插件配置页面的.axml文件中配置跳转入口

<view class="nav" onTap="navigateToPlugin">
点击跳转到权益配置页面
</view>

第三步:在需要集成插件配置页面的.js文件中实现插件跳转以及获取配置的奖池核心参数

//引入权益插件,myPlugin名称与app.json文件中的保持一致 
var plugin = requirePlugin("myPlugin"); //用于和插件进行数据通信,获取配置的奖池的ename和poolId参数信息,用于发奖接口调用
const bridge = {
//此处输入想配置的业务身份,对发奖场景,传商家端APPID,抽奖场景,传消费者端APPID
bizCode: "appid",
//用于获取插件中用户选择的奖池ID
getCheckBenefitID({ ename, poolID }) {
console.log(poolID, ename); TODO //ISV自行处理,存储获取的ename,需要做持久化。 }
}
Page({
data: {},
onLoad() {
//必要信息,请勿遗漏
plugin.setBridge(bridge);
},
onReady() { },
//这个方法用于跳转到插件页面,方法名与.axml一致
navigateToPlugin() {
//该方法直接复制即可
my.navigateTo({
url: 'plugin://myPlugin/orightindex-page',
});

}
});

第四步:验证奖池配置流程,确认能否正确获取到ename参数。在千牛PC上调试,请参考文档千牛PC调试手册。奖池配置验证流程

1、创建权益(可选权益类型受第一步的权益配置影响

image.png

2、创建奖池

image.png

3、勾选奖池,获取ename,请注意必须要勾选奖池。对发奖场景,选发奖奖池。抽奖场景选抽奖奖池

image.png

4、勾选奖池保存后,会自动触发第三步的页面中的getCheckBenefitID方法。可以通过alert或者打log的方式验证是否正常获取到ename参数。

 

5、奖池配置失败的常见问题及排查思路

 

3)(发奖场景)在千牛端应用中集成权益发放接口

核心需要集成两个接口,奖池信息查询alibaba.benefit.query ,发奖alibaba.benefit.send

第一步:完成用户授权(授权时机ISV自行确定)

my.authorize({
scopes: '*',
success: (res) => {
my.alert({ content: JSON.stringify(res), });
},
});

第二步:查询奖池信息alibaba.benefit.query。可查询奖池起止时间,数量,可用数量等信息。 具体请参考接口文档

exports.query = async (context) => {
try {
const result = await context.cloud.topApi.invoke({
api : 'alibaba.benefit.query',
data : {
//权益插件获取的奖池ename,通过第二步
'right_ename':"db9a4a98898c4ad3bafe9e564c6df344",
// 调用方AppName:规定为promotioncenter-${appId},请严格按照要求格式填写
'app_name':'promotioncenter-3000000002037004',
//奖池类型
'award_type':'1'
},
autoSession: true,
});

return { success: true, data: result };

} catch (e) {
return { success: false, data: e } }
};

第三步:调用发奖接口alibaba.benefit.send,完成权益发放。(需要在server端完成,不能在client端之间发起)

// 云开发云函数示例  
exports.send = async (context) => {
try {
const result = await context.cloud.topApi.invoke({
api : 'alibaba.benefit.send',
data : {
//权益插件获取的奖池ename,通过第二步
'right_ename':"db9a4a98898c4ad3bafe9e564c6df344",
// 接收奖品的用户openId,此信息是有权益资格的消费者信息
'receiver_id':openId,

// 规定值 taobao

'user_type':'taobao',

//幂等校验id,要求必需为唯一字段,否则接口会调用失败

'unique_id':'unique_id',

// 调用方AppName:规定为promotioncenter-${appId},请严格按照要求格式填写

'app_name':'promotioncenter-3000000002037004'

},

autoSession: true,

});

return { success: true, data: result };

} catch (e) {
return { success: false, data: e } }
};

 

4)(抽奖场景)在消费者端应用中集成抽奖

需要在消费者端模板的client端集成抽奖能力

第一步:在需要抽奖的页面.axml文件中配置抽奖入口

<view>
<button size="default" type="primary" onTap="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:{
//此逻辑ISV自行实现,根据店铺信息,获取第二步中持久化的ename
'ename':'传入插件中获取的奖池ename',
'app_name':'promotioncenter-消费者端appid'
}

});

my.alert({
content: 'success ' + JSON.stringify(result) });
} catch (e) {
my.alert({ content: 'error ' + e.message }) }
}
});

5)接口调用常见错误码

①COUPON_INVALID_OR_DELETED----优惠券无效或者被删除

②APPLY_OWNSELF_COUPON---商家不能把自己的权益发给自己的帐号

③APPLY_SINGLE_COUPON_COUNT_EXCEED_LIMIT--用户该类型权益已达上限

④权益已下线

⑤311权益已经被锁定---权益邦定了店铺宝活动后,只能通过店铺店活动发放权益,其它方式无法发放,店铺宝权益和其它活动权益分开即可。

⑥APPLY_ONE_SELLER_COUNT_EXCEED_LIMIT---用户优惠券超出10张限制

⑦NO_RIGHT_QUANTITY----权益库存不足

⑧ERROR A_3_567、A_3_00_005、A_3_00_002---用户的账号存在风险,被安全拦截了

FAQ

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