需求背景
这两年私域运营的竞争愈演愈烈,而企业微信不仅是公司内部沟通管理工具,更是企业用来沉淀私域流量精准触达用户的利器。那么,如何将企业微信的客户跟小程序、公众号的用户关联起来必然是一个硬核需求,试想一下,如果将微信这三驾马车中的用户体系完全打通,互相导流,精准刻画用户画像,这样就能实现企业在整个微信生态中的精细化运营,构建企业在微信体系的护城河。
下面就详细介绍一下如何将这3者打通。
基本概念扫盲
用户的含义:在企业微信中,其实有两种用户,一种是企业成员:企业的内部人员即企业员工;另一种是客户:通过企业成员加进来的外部人员。而客户又分为两种类型:1、微信客户;2、企业微信客户。
需要明确的是:我们这里要打通企业微信跟公众号小程序的用户,指的是将企业微信中的微信客户跟公众号小程序关联起来。
UnionID:了解微信体系的同学应该都知道,只要把你的公众号、小程序都绑定在同一个微信开放平台,那么对于同一个微信用户的UnionID就是唯一的。因此我们可以通过UnionID来关联多个公众号小程序的用户,这也是跟企业微信打通的关键。
解决思路
上文我们已经提到,其实要将公众号、小程序、企业微信3者打通的关键就是通过unionid关联起来,我们只要将公众号和小程序绑定到同一个微信开放平台两者的unionid就能拿到了,现在的问题是微信开放平台不支持绑定企业微信。
幸运的是企业微信可以绑定一个公众号或者小程序,绑定之后通过企业微信提供的api就可以获取到微信客户的unionid(跟此客户在所绑定的公众号或小程序的unionid一样),如此一来,就可以通过uninonid将企业微信、公众号、小程序3者的用户关联起来了。
操作步骤
一、后台配置
1、给企业成员开通添加客户的功能
企微后台操作路径:客户联系>权限配置>使用范围
只有在这里给企业成员开通客户联系的功能后,企业成员才能去添加客户。
2、企业微信绑定公众号或小程序
企微后台操作路径:客户联系>客户>点开「api」小按钮>点击「微信开发者ID」旁的绑定按钮去到微信公众平台进行授权。
注意:绑定的公众号或小程序主体需与企业微信主体一致,且仅能绑定一个,授权的公众号或小程序要绑定到微信开放平台。
二、调用接口获取数据
完成后台配置,我们就可以通过调用企业微信提供的api去获取带有unionid的客户数据了。
1、获取access_token
点击查看官方文档
企业微信的接口调用都需要提供access_token参数,access_token需要通过企业ID和secret获取。
企业ID的获取路径是「我的企业>企业ID」。
secret比较特殊的地方是:企业微信不同的业务功能有不同的secret。而我们这里使用的客户联系功能的secret就是后台配置中第二步所看到的secret。
Python伪代码:
async def get_access_token():
params = {'corpid': 'xxx', 'corpsecret': 'xxx'}
res = await get('https://qyapi.weixin.qq.com/cgi-bin/gettoken', params)
access_token = res['access_token']
return access_token
2、获取配置了客户联系功能的成员列表
点击查看官方文档
Python代码实现:
async def get_staff_list(self):
"""获取配置了客户联系功能的成员列表"""
access_token = await self.get_token()
url = f'https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_follow_user_list?access_token={access_token}'
res = await get(url, {})
staff_list = res['follow_user']
return staff_list
返回的是企业成员ID,示例:["zhangsan","lisi"]
3、批量获取客户详情
点击查看官方文档
Python代码实现:
async def batch_get_customer_detail(self, userid, cursor):
"""批量获取客户详情"""
access_token = await self.get_token()
url = f'https://qyapi.weixin.qq.com/cgi-bin/externalcontact/batch/get_by_user?access_token={access_token}'
body = {
'userid': userid,
'cursor': cursor,
'limit': 100,
}
d = await post_json(url, {}, body)
return d
将上一步得到的企业成员ID传入此方法中即可得到通过该企业成员添加的客户,返回信息中如果客户类型是微信客户会包含unionid字段。
至此,我们就通过unionid成功将企业微信、小程序、公众号的用户关联起来,实现了用户数据打通。
如果需要完整的代码,可以关注公众号「Frank的梦呓」回复「企业微信」自动获取,也可以回复「加群」进群交流。
进阶玩法
如果你有企业微信的定制化开发需求,对这部分内容可能会比较感兴趣。
上文我们实现的是用户数据层面的打通,但你可能并不满足于此,比如你希望在自己的小程序中直接获取企业微信的客户信息,甚至跟客户聊天,那么企业微信也提供了专门的小程序SDK,下面简单介绍一下小程序如何能具备这样的能力。
1、小程序关联到企业微信
点击查看官方文档
企微后台操作路径:应用管理>应用>创建应用(关联小程序)
2、给小程序配置使用客户功能的权限
企微后台操作路径:客户联系>客户>点开「api」小按钮>可调用应用>选择上一步关联的小程序
3、调用小程序组件接口实现定制化功能
经过上面两个步骤,你的小程序就有权限调用企业微信提供的小程序sdk客户相关的组件了,比如弹出客户选择列表发起会话(点击查看接口文档)。
当然了,调用小程序组件还需要实现企业微信登录等流程,感兴趣的可以查看官方文档。
推荐阅读: