微信生态账号体系关系图OpenID、UnionID、external_userid

发布时间 2023-04-03 18:43:35作者: ministep88

什么是OpenID,UnionID,access_token?

OpenID是用户在小程序中的唯一标识。

UnionID是用户在微信开放平台上的唯一标识,包括小程序、公众号等,同一个用户的UnionID都是一样的。

access_token是后端调用微信接口用的。

  • unionid + openid = 代开发应用external_userid

 

企微客户关联微信小程序用户

在企微SCRM中,客户类型分为两种:企业微信(以下简称企微)、个人微信(以下简称个微),这些客户都是通过企微建立的关系,在企微下集中实现客户管理、客户营销等功能;并且实际业务场景中,更多的客户来源于个微,毕竟个微客户群体如此庞大,加之大多服务商提供的方案是小程序引流 + 企微管理。
为了更完善客户画像,进而提供精准有效的客户服务、促进成交,建立企微对应个微关系是相对必要的。

PS: 本文方案的前提:提供服务的企业为第三方服务商,且服务商主体与微信小程序主体一致

以前怎么做

在2022年3月1日企微进行企业微信帐号ID安全性全面升级之前,我们可以在绑定微信开发者ID后,通过内部开发的形式去获取客户详情接口返回参数中包含unionid字段,以此进行微信unionid匹配,达到客户关联的目的;该方式有明显的弊端:只支持绑定一个小程序,对于很多厂商来说这是不够的;

现在怎么做

必要认知

  • 服务商external_userid

在安全性升级后,企微同时梳理了用户在企微服务商下的external_userid的关系:从之前的用户 -> 服务商决定唯一的external_userid,到现在的用户 -> 企业 -> 服务商决定唯一的external_userid
也就是说,之前是一个服务商下,用户不管添加多少个企业的员工,服务商拿到的external_userid都是一样的;但在升级后,一个服务商下,用户添加多少个企业的员工,服务商拿到的external_userid是对应企业唯一的;

  • 代开发应用external_userid

在实际接口请求中代开发应用权限取决于企业对应用的授权;目前,在授权的前提下,代开发应用接口能力于内部开发接口能力基本一致,所以,代开发应用获取到的external_userid与内部开发获取到的external_userid一致;

构建关联

  • 代开发应用external_userid转服务商external_userid

如果你在做客户同步时,已经将客户的服务商external_userid,则此步骤可以忽略;
否则,你采用的是代开发应用,则需要转换external_userid,并与客户关联,便于后期关联·unionid;企微提供了接口进行转换(仅限于代开发应用token调用):代开发应用external_userid转换

  • unionid + openid转服务商external_userid

在小程序端下,客户登录等操作时,取到unionid + openid,然后调度企微服务进行异步处理将unionid + openid转换为external_userid,并与上一步骤中的数据对应,此时关系即可建立;

  • unionid + openid = 代开发应用external_userid

此时通过 unionid + openid 即可确定一个企微客户;

 

参考:

[[微信小程序]OpenID,UnionID,access_token之间的关系以及获取方式 - 董俊辉的前端博客](https://www.dongjunhui.com/archives/104/)

[企微客户关联微信小程序用户 - Memoyu - 博客园](https://www.cnblogs.com/memoyu/p/16284379.html)