先说背景:早在一年多前,我们公司已经开发了购物小程序,整个产品展示—》详情信息—》购物车—》下单支付—》支付通知—》我的订单等功能完成。但是我们遵循的是快速迭代,先完成把业务跑起来,因此功能并没有完善,这样要说的就是完善会员资料(只获取到了UnionId和头象)。
使用场景:
我们在做一些会员运营维系的工作,希望把所有客人从个人微信纳入到企业微信统一维系。因此,我们做了一些活动,场景如下:
1.当客人加我们企业微信时,我们企业微信会自动回复小程序图片链接,以下几个图,是参考的例子,如下:
2.当客人点击之后,进行以下几个步骤的操作:
上面的4个图,对应了4个界面
1)在未激活时,显示立即激活会员卡
2)然后提示授权
3)接着获取卡包上的会员信息(姓名及手机)
4)更新到后端数据,并显示出来
要实现上面4个步骤,首先第一步,是需要创建会员卡。
由于之前我没有认真从头开始看微信卡包的文档,对于具体调用哪个AppId(公众号还是小程序),对于是使用全局AccessToken还是获取OpenId时的Token,没搞清楚,所以浪费了不少时间。
所以重要的事情再说一遍:
1)使用公众号的APPID(因为卡包是公众号提供的东西)
2)使用全局AccesToken(因为调用的是卡包的高级接口)
现在我们来完成第一步,创建会员卡得到CardId。
我们来先申请个沙箱测试帐号:
使用测试接口工具,我们可以快速地走完我们想要实现的功能,而不用纠结于页面的显示和在后端的实现,那么我们来可先用测试接口工具
https://mp.weixin.qq.com/debug/
选择相应的接口,输入access_token及Body,于是出现如下错误:
{
“errcode”: 48001,
“errmsg”: “api unauthorized hint: [crnQva0229r283]”
}
这个错误提示,对于解决问题没什么帮助,后来想了想,我用的是小程序的access_token不对于是改为用公众号,出现如下错:
{
“errcode”: 41011,
“errmsg”: “missing required fields! please check document and request json! hint: [gWYieA0304r283] base.logo_url”}
看到这个错,说的是body中的json中logo_url必填,但没有填,奇怪直接复制的***提供的例子,于是改了一下,再提交,终于得到想要的结果了:
如此我们就得到了CardId,创建了会员卡,接下来进行下一步的工作,实现上面的整个流程。