微信CRM用于会员身份识别的OpenId和UnionID

2018-07-07 22:53:17
Reading:309

什么是微信UnionID?

官网给出的定义如下: 如果开发者拥有多个移动应用、网站应用和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的unionid是唯一的。

换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。

UnionID在微信开发早期是不存在的,但微信产品为了解决同一公司下多个公众号之间帐号互通需求,微信开放平台UnionID机制应运而生。

什么是微信OpenID?

用户在公众号内的身份标识,不同公众号拥有不同的openid。商户后台系统通过登录授权、支付通知、查询订单等API可获取到用户的openid,实现判断用户是否是同一人,对用户发送客服消息、模版消息等。

通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息, 而如果开发者拥有多个公众号,可使用以下办法通过UnionID机制来在多公众号之间进行用户帐号互通。

PS:企业号需要userid转openid接口将企业成员的userid转换成openid。

UnionID和OpenID的关系图

1.将多个公众号绑定到同一个微信开放平台(open.weixin.qq.com)帐号下,即同一个Union下

2.通过获取用户基本信息接口中的UnionID来区分用户的唯一性,不过需要注意的是:公众号只有在被绑定到微信开放平台帐号下后,才会获取UnionID。

只要是同一个微信开放平台帐号下的公众号,用户的UnionID是唯一的。换句话说,同一用户,对同一个微信开放平台帐号下的不同应用,UnionID是相同的。

如何获取到用户的OpenID?

一、注册微信开放平台

地址:https://open.weixin.qq.com/

二、绑定微信公众号

“管理中心-公众号-绑定公众号”

三、获取用户基本信息

假如客户A同时关注了某集团下餐饮和儿童两个业态的公众号。

在餐饮公众号下获得客户A的用户信息如下:

{“subscribe”:1,

“openid”:”oLVPpjqs9BhvzwPj5A-vTYAX3GLc”,

“nickname”:”客户A”,

“sex”:1,

“language”:”zh_CN”,

“city”:”广东”,

“province”:”深圳”,

“country”:”中国”,

“headimgurl”:”http://wx.qlogo.cn/mmopen/*******”,

“subscribe_time”:1375706***,

“unionid”:”oTBn-jt2RQSHdBoJQYFSdnZo8BBQ”}

在儿童公众号下面获得的方倍的用户信息如下:

{“subscribe”:1,

“openid”:”ouBMEj6WFnUFBIUKe83VD7s7dft9″,

“nickname”:”客户A”,”sex”:1,

“language”:”zh_CN”,

“city”:”广东”,

“province”:”深圳”,

“country”:”中国”,

“headimgurl”:”http://wx.qlogo.cn/mmopen/utpKYf69VAbCRDR********”,

“subscribe_time”:1375726***,

“unionid”:”oTBn-jt2RQSHdBoJQYFSdnZo8BBQ”}

在不同的公众账号下OpenID是不一样的,而他们的UnionID却是一样的。通过对比客户的UnionID是否唯一,如果达成唯一性标准,则判断两个公众账号其实是同一个人。

About

When I was young
I'd listen to the radio
Waiting for my favorite songs
When they played I'd sing along
It made me smile
Those were such happy times
And not so long ago
How I wondered where they'd gone
But they're back again
Just like a long lost friend
All the songs I loved so well