目录
在【开发指南-基本概念介绍】中,介绍了企业微信中基础的ID概念,其中corpid、userid、external_userid最为基础,且出于对企业数据的保护,这三种ID类型对企业自建应用、代开发应用、第三方应用返回的ID值有所不同。具体如下:
应用类型 | corpid | userid | external_userid |
---|---|---|---|
自建应用 | 明文corpid | 明文userid | 企业主体下的external_userid |
未升级的代开发应用与第三方应用 | 明文corpid | 明文userid | 企业主体下的external_userid |
升级后的代开发应用与第三方应用 | 服务商主体下的密文corpid | 服务商主体下的密文userid,也即open_userid | 服务商主体下的external_userid |
企业管理员可在管理端“我的企业”-“企业信息”下直接查看的“企业ID”。
企业管理员可在管理端“通讯录”->点进某个成员的详情页中直接查看的“账号”。
external_userid是企业的外部联系人也即客户的ID,由企业微信系统生成,企业无法在管理端页面中查看,只能通过 API 获取到,而获取到的external_userid实际上是以该企业的主体生成的。所以,同一个客户在企业的不同自建应用,获取到的external_userid是相同的。为了阐述方便,部分接口文档中会将企业主体的external_userid称为明文external_userid。
当企业授权了服务商的第三方应用或代开发应用之后,服务商通过获取企业永久授权码或获取企业授权信息中所得到的corpid,该corpid与企业的明文corpid不同。同一个服务商下,不同的第三方应用或代开发应用,获取到的密文corpid相同,故称之为服务商主体下的密文corpid。
当企业授权了服务商的第三方应用或代开发应用之后,或者服务商将应用升级之后,服务商通过获取部门成员等接口所得到的userid,不是企业的明文userid,而是加密之后的userid,也即open_userid。同一个服务商下,不同的第三方应用或代开发应用,获取到的open_userid相同,故称之为服务商主体下的密文userid或者open_userid。
当企业授权了服务商的第三方应用或代开发应用之后,服务商通过客户联系相关接口中所获取到的external_userid,该external_userid与企业主体下的external_userid不同。同一个服务商下,不同的第三方应用或代开发应用,获取到的external_userid相同,故称之为服务商主体下的external_userid。
除了corpid、userid、external_userid这三个最为基础的ID之外,其他区分企业主体与服务商主体的还有以下ID:客户标签ID、微信客服ID。