最近在负责一个企业公共服务平台项目,该平台由政府部门建设、面向企业提供诸如政策申报、法人业务办理等各类涉企服务;因此需要搭建一套企业用户体系,用来解决企业认证、业务权限分配等问题。
前期设计时我遇到了不少纠结抓狂的问题,加之资料又少,因此在多次建立——推翻的过程中才逐步理清思路;考虑到无论什么业务系统,只要涉及企业用户体系就绕不过那几个场景,因此该方案具有一定的共通性,分享出来供大家交流参考。
由于内容较多,我会分两篇文章来写,第一篇抛出问题并给出我的思路,第二篇给出详细的功能设计方案;我相信很多小伙伴看完第一篇,PRD就已经胸有成竹了,哈哈~
二、我们要解决什么问题
仅当用户拥有了企业账号并登录成功,才能在我们的平台上办理业务,听起来似乎非常简单,毕竟用户体系是非常基础的模块了,那么我们遇到了哪些问题?
1. 如何进行企业认证?
既然是办理涉企业务,必然就要求办理人是该企业的授权代表,而不能是随便注册个账号就能去办理的,也就是说平台必须能通过某种方式去认定这个人能代表这个企业,即建立一套企业认证模式。
那么企业认证要认证哪些信息?
1)企业是有效的:这家企业真实存在且当前为存续状态,而不是随便杜撰的企业;通常使用营业执照作为判定企业是否有效的依据。营业执照会包含企业名称、统一社会信用代码、法人姓名、营业执照有效期等。
2)这个经办人得到了这家企业法人的授权,具体分两种情况:
2. 当企业发生人事变更时怎么处理账号?
企业内部人员变动,如岗位变动、人员离职是很常见的,本来张三是经办人,后来张三离职了,他如何把这块工作交接给李四?当然可以简单的把原账号密码给李四就可以了,但是原账号可能绑定了张三的手机号或者微信号,当需要使用手机号验证码或者微信扫码方式登录时,总不能再找张三吧;另外,张三已经离职了,出于数据安全的考虑,就应该禁止张三再以该企业的身份登录平台了。
所以,我们该怎么设计呢#
3. 企业与账号之间的关系如何设计?
如果一个人注册为多家企业的法人,那么他就存在为多家企业办理业务的需求;同理,一个企业也不仅仅只有一个经办人,可能有张三、李四等多个经办人。
是否每个经办人都要提交一堆资料去做企业认证呢?当发生企业更名、变更法人时,哪个经办人去更新企业认证信息呢?
4.如何从经办权限角度确保业务数据的安全性?
当平台业务较单一时,我们不需要考虑经办人的权限,但是随着业务发展,平台接入了各类涉企业务,如政策申报、融资信贷、税收财务、政策性住房申报等,不同的业务类型可能是不同经办人负责;此时就牵涉到业务权限问题,这个业务权限应该怎么申请,由谁维护?
三、几个关键的解题思路
1. 思路1:平台认证提供多种企业认证方式,兼容第三方认证
为解决第1个问题,我们采用如下三种企业认证方式:
1)法人身份证件认证。经办人需提交以下信息:
平台可调用企业四要素校验接口判断企业名称、统一社会信用代码、法人姓名、法人身份证件号是否一致,如果一致则可进一步结合法人身份证件扫描件的人工核验结果,核验通过即可认证通过。
此处可对接工商数据自动填充企业全称、统一社会信用代码,采用OCR识别等方式优化体验。
2)法人手机号认证。经办人需提交以下信息:
手机动态码正确的情况下,平台可调用企业四要素接口判断企业与法人信息是否一致,然后调用运营商三要素接口校验法人姓名、法人身份证件号、法人手机号是否一致,如果均一致即可认证通过;理论上全程无需人工参与审核,实际上由于存在接口不稳定、外籍法人无法通过接口校验等问题需要人工兜底。
3)法人人脸识别。经办人需要提交以下信息:
平台可调用企业四要素接口判断企业与法人信息是否一致,然后调用人脸识别接口判断经办人是否是法人本人,均判断通过,则认证通过;法人人脸识别其实是法人身份证件认证的升级版,只是借助人脸识别技术手段代替了人工审核法人证件的工作量。
以上3种方式都需要经办人通过本平台进行认证,大家可以对比下优缺点;但是,不管采用哪种方式总归是有一些工作量的,甚至需要等待若干工作日才能得到认证审核结果,所以就引出了下面的第三方认证方式。
现在政务项目都在推“一个账号 全省通用”,所以企业可能在第三方平台(比如另一个政务平台)已经拥有一个认证通过的法人证号,那么可以让用户使用第三方平台法人账号登录,再由本平台调用第三方平台接口校验账号有效性;如果有效则可认为该账号已经通过该企业认证,并将第三方法人账号与平台已注册但尚未进行企业认证的账号进行绑定;这块其实还涉及了第三方账号绑定、自动注册等更复杂的逻辑,就不展开讲了,后续抽空再聊。
此处可能有好奇宝宝会问为何还要大费周折自建企业用户体系,直接用第三方平台账号不就好了嘛?
这个答案要跟平台运营策略有关:比如你平台本来就累计了一些用户,不想放弃已有用户完全采用第三方平台用户体系(毕竟,并不是所有存量用户都有这个第三方平台账号);又或者你不愿意完全受制于第三方,因为第三方平台稳定性、体验优劣都不在你的可控范围内。
2. 思路2:采用主/子账号模式
为解决第2个问题、第3个问题、第4个问题,我们将企业与账号之间设置为多对多的关系,即一个人可以有多个认证企业,一个企业也可以关联多个账号,且必须设定其中一个账号为企业管理员,便于对本企业内其他账号(子账号)进行管理;包括邀请某个用户加入本企业、将某个子账号从本企业中剔除/禁用、对子账号的业务经办权限进行管理等。
此外,仅企业管理员才能对本企业的认证信息进行维护,如发生企业更名或法人变更是重新提交企业认证信息等;当然了,企业管理员也可以移交权限给某个子账号,如下图展示了游客、个人会员、企业管理员、企业成员这几种用户身份之间的转变: