用户身份认证

一、应用场景

用户身份认证是提供给C端用户认证自己房产的功能。用户在登录至App后,可以提交自己的身份证件信息。物业人员可以查看并审核用户提交的身份证件信息。在审核通过后,用户即可查看和管理自己房产的设备和场景信息。

  • 用户通过App提交个人身份证件信息。

  • 物业人员审核业主提交的个人身份证件信息。

二、功能说明

物联云平台提供三种业主认证方式,通过身份证件认证为其中一种。企业需要将住户信息添加至平台中。可通过【项目管理->住户管理】中进行手动添加,也可通过主数据同步的方式进行添加。添加完成住户信息后,由用户通过App提交身份证件信息。物业人员可前往【项目管理->身份认证】中进行审核。确认审核通过后,平台会依据手机号,将用户信息和住户信息进行绑定。用户即可在App中使用住户已关联房产的功能。

三、前提条件

1.用户提交身份认证前,需要先在管理台添加对应的住户。

四、关键流程

4.1 C端用户身份证件申请管理

流程说明:

  • 首先,C端APP用户登录到物联网中台,获取到物联网中台的调用凭证以及刷新凭证。
  • 其次,C端APP用户向物联网中台发起 上传用户身份证件 请求,物联网中台接收到请求后存储证件数据,返回用户身份证件标识。
  • 再次,C端APP用户填写用户身份认证申请信息**(包括用户身份证件标识)**后,向物联网中台发起 提交用户身份认证申请 请求,物联网中台接收到请求经过一系列业务逻辑校验后进行持久化,返回认证申请标识。
  • 最后,C端APP用户可以通过向物联网中台发起 获取用户身份认证申请列表 或者 获取用户身份认证申请 请求获得认证申请详情,提取认证申请中的用户身份认证证件标识,向物联网中台发起 获取用户身份证件 请求得到证件base64数据从而渲染用户身份证件。

C端用户身份证件申请管理

4.2 B端用户身份证件申请管理

流程说明:

  • 首先,B端成员登录到物联网中台,获取到物联网中台的调用凭证以及刷新凭证。
  • 其次,B端成员向物联网中台发起 获取用户身份认证申请列表 请求 ,物联网中台接收到请求经过系列查询,返回企业下的用户身份认证申请列表。
  • 再次,B端成员点击某个用户身份认证申请向物联网中台发起 获取用户身份证件 请求得到证件base64数据从而渲染用户身份证件,进而展示出某个用户身份认证的全部信息。
  • 最后,B端成员校对用户身份认证申请后向物联网中台发起 审核用户身份认证申请 请求,物联网中台接收到请求后将申请状态进行变更,从而完成用户身份认证的申请。

B端用户身份证件申请管理

五、API列表

5.1 用户身份认证

5.1.1 上传用户身份证件

接口描述

C端用户上传身份证件得到身份证件的唯一标识,用于关联相关认证(如住户房产);上传的证件会使用用户隐私码配合AES加密算法进行加密得到字节流,将字节流上传到云存储厂商;该接口非Restful接口,请求报文为二进制文件字节流,文件大小需控制在5M内

请求方式

POST

请求地址

/v2/users/certificate-file?extend=xxxx

路径参数

名称 必填 类型 备注
extend true String 1.格式为Base64(JSON字符串)
2.JSON字符串只允许一个层级,会当做拓展信息,JSON字符串必须包含
3.data_type 数据格式(data_type),目前只支持图片格式,默认为jpeg,枚举如下: png/jpg/jpeg/bmp/gif/svg
{ “data_type”:”png” }

请求头

名称 必填 类型 备注
Access-Token true String 调用凭证
企业用户
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
extend query true String 拓展属性
1.格式为Base64(JSON字符串)
2.JSON字符串只允许一个层级,会当做拓展信息,JSON字符串必须包含
3.data_type 数据格式(data_type),目前只支持图片格式,默认为jpeg,枚举如下: png/jpg/jpeg/bmp/gif/svg
{ “data_type”:”png” }
body —- byte[] 二进制字节流

请求示例:

二进制字节流

返回参数说明

名称 必填 类型 备注
id true String 用户身份证件标识

返回示例:

{
	"id":"56156sdf156ef5dff"
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041011 用户不存在

5.1.2 获取用户身份证件

接口描述

C端用户上传身份证件得到身份证件的唯一标识后,根据标识查询用户身份证件,用户页面展示;返回数据为文件内容的base64格式值;从云厂商获取得到数据,使用AES解密算法以用户隐私码解密,再以base64加密返回

请求方式

GET

请求地址

/v2/users/certificate-file/{id}

请求头

名称 必填 类型 备注
Access-Token true String 调用凭证
企业用户
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
id path true String 身份证件标识

请求示例:

{
}

返回参数说明

名称 必填 类型 备注
data true String 证件的base64编码数据
extend true Object 证件拓展属性
extend.data_type true String 数据格式,目前只支持图片格式,默认为jpeg,枚举如下: png/jpg/jpeg/bmp/gif/svg

返回示例:

{
	"data": "dsfaf54dsf51f5sdfds",
	"extend": {
		"data_type": "jpeg"
	}
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041098 用户身份证件不存在

5.1.3 提交用户身份认证申请

接口描述

C端用户为了通过身份认证,需要向平台提交证明自身身份的证件申请,并由相关人员进行审核;用户同一时间同一个类型证件只能提交一次申请

请求方式

POST

请求地址

/v2/users/certificate

请求头

名称 必填 类型 备注
Access-Token true String 调用凭证
企业用户
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
certificate_type body true Int 证件类型,枚举类型,目前只支持身份证
1: 身份证
2: 护照
3: 军官证
4: 港澳通行证
certificate_id body true String 证件号码,根据类型不同有不同限制
user_name body true String 证件用户名称
phone body true String 证件用户手机号码
config body true Object 申请配置, 依据certificate_type不同而不同
config.id_card_front_id body false String 身份证正面图片标识,当certificate_type为1时必填
config.id_card_back_id body false String 身份证反面图片标识,当certificate_type为1时必填
config.certificate_file_ids body false Array 证件文件标识列表(文件ID),主要用于type为2/3/4

请求示例:

{
	"certificate_type": 1,
	"certificate_id": "4418258963466456624",
	"user_name": "李清华",
	"phone": "13838383388",
	"config": {
		"id_card_front_id": "44182589634661151sdfsdf6624",
		"id_card_back_id": "44182589634sdfsfsfdsfsd24",
		"certificate_file_ids": ["44182589634661151sdfsdf6624"]
	}
}

返回参数说明

名称 必填 类型 备注
id true String 申请记录标识
user_id true Int 申请用户标识
status true Int 认证审核状态,枚举
1: 待审核
2: 通过
3: 拒绝
approval_remarks false String 审批意见
create_time true String 申请认证记录提交时间
processed_time false String 申请认证记录处理时间
certificate_type true Int 证件类型,枚举类型,目前只支持身份证
1: 身份证
2: 护照
3: 军官证
4: 港澳通行证
certificate_id true String 证件号码,根据类型不同有不同限制
user_name true String 申请认证记录证件用户名称
phone true String 申请认证记录用户手机
config true Object 申请认证记录配置, 依据certificate_type不同而不同
config.id_card_front_id false String 身份证正面图片标识,当certificate_type为1时必填
config.id_card_back_id false String 身份证反面图片标识,当certificate_type为1时必填
config.certificate_file_ids false Array 证件文件标识列表(文件ID),主要用于type为2/3/4

返回示例:

{
	"id": "1s32ffffwe23rf5521dsf",
	"user_id": 45623226,
	"certificate_type": 1,
	"certificate_id": "4456541563164654651",
	"user_name": "李清华",
	"status": 2,
	"approval_remarks": "同意",
	"create_time": "2019-12-16T16:00:00.000Z",
	"processed_time": "2019-12-16T16:00:00.000Z",
	"phone": "13838383388",
	"config": {
		"id_card_front_id": "44182589634661151sdfsdf6624",
		"id_card_back_id": "44182589634sdfsfsfdsfsd24",
		"certificate_file_ids": ["44182589634661151sdfsdf6624"]
	}
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041098 用户身份证件不存在
4001370 用户证件类型未知
4001380 用户认证已存在

5.1.4 审核用户身份认证申请

接口描述

企业成员针对用户提交的用户身份认证申请进行审核,审核结果将通过消息队列通知给产品使用者.认证申请必须处于待审核状态;审核选择只能是通过或者拒绝

请求方式

PUT

请求地址

/v2/users/certificates/{id}/audit

请求头

名称 必填 类型 备注
Access-Token true String 调用凭证
企业用户
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
id path true String 身份认证申请标识
status body true String 认证审核状态,枚举类型
2: 通过
3: 拒绝
approval_remarks body false String 审批意见

请求示例:

{
	"status":2,
	"approval_remarks": "同意申请"
}

返回参数说明

名称 必填 类型 备注

返回示例:

{
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041098 用户身份证件不存在
4001372 认证申请不处于待审核状态
4001373 用户审核状态不支持
4001380 用户认证已存在

5.1.5 获取用户身份认证申请

接口描述

C端用户或者企业成员根据标识查询查询用户身份认证申请记录,用户前端查看展示

请求方式

GET

请求地址

/v2/users/certificates/{id}

请求头

名称 必填 类型 备注
Access-Token true String 调用凭证
企业用户
企业成员
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
id path true String 身份认证申请标识

请求示例:

{
}

返回参数说明

名称 必填 类型 备注
id true String 申请记录标识
user_id true Int 申请用户标识
status true Int 认证审核状态,枚举
1: 待审核
2: 通过
3: 拒绝
approval_remarks false String 审批意见
create_time true String 申请认证记录提交时间
processed_time false String 申请认证记录处理时间
certificate_type true Int 证件类型,枚举类型,目前只支持身份证
1: 身份证
2: 护照
3: 军官证
4: 港澳通行证
certificate_id true String 证件号码,根据类型不同有不同限制
user_name true String 申请认证记录证件用户名称
phone true String 申请认证记录用户手机
config true Object 申请认证记录配置, 依据certificate_type不同而不同
config.id_card_front_id false String 身份证正面图片标识,当certificate_type为1时必填
config.id_card_back_id false String 身份证反面图片标识,当certificate_type为1时必填
config.certificate_file_ids false Array 证件文件标识列表(文件ID),主要用于type为2/3/4

返回示例:

{
	"id": "1s32ffffwe23rf5521dsf",
	"user_id": 45623226,
	"certificate_type": 1,
	"certificate_id": "4456541563164654651",
	"user_name": "李清华",
	"status": 2,
	"approval_remarks": "同意",
	"create_time": "2019-12-16T16:00:00.000Z",
	"processed_time": "2019-12-16T16:00:00.000Z",
	"phone": "13838383388",
	"config": {
		"id_card_front_id": "44182589634661151sdfsdf6624",
		"id_card_back_id": "44182589634sdfsfsfdsfsd24",
		"certificate_file_ids": ["44182589634661151sdfsdf6624"]
	}
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041098 用户身份证件不存在
4001370 用户证件类型未知
4001380 用户认证已存在

5.1.6 获取用户身份认证申请列表

接口描述

C端用户或者企业成员查询用户身份认证申请记录列表,用户APP或者企业管理台用于查看展示

请求方式

POST

请求地址

/v2/users/certificates

请求头

名称 必填 类型 备注
Access-Token true String 调用凭证
企业用户
企业成员
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
offset body false Int 偏移量
limit body false Int 查询量
sort body false Object 排序字段
query body false Object 查询条件,支持操作符有
$eq:等于
$gt:大于
$lt:小于
$gte:大等于
$lte:小等于
$ne:不等于
$nin:不包含,用于数组
$in:包含,用于数组
$like:模糊匹配,用于字符串
$all:全都在,用于数组

请求示例:

{
    "offset": 0,
    "limit": 10,
    "sort": {
        "name": "desc"
    },
    "query": {
        "id": {
            "$eq": "123sdffwd1s21fs2d3g"
        }
    }
}

返回参数说明

名称 必填 类型 备注
count true String 审申请记录总数
list true String 申请记录列表
list.id true String 申请记录标识
list.user_id true Int 申请用户标识
list.status true Int 认证审核状态,枚举
1: 待审核
2: 通过
3: 拒绝
list.approval_remarks false String 审批意见
list.create_time true String 申请认证记录提交时间
list.processed_time false String 申请认证记录处理时间
list.certificate_type true Int 证件类型,枚举类型,目前只支持身份证
1: 身份证
2: 护照
3: 军官证
4: 港澳通行证
list.certificate_id true String 证件号码,根据类型不同有不同限制
list.user_name true String 申请认证记录证件用户名称
list.phone true String 申请认证记录用户手机
list.config true Object 申请认证记录配置, 依据certificate_type不同而不同
list.config.id_card_front_id false String 身份证正面图片标识,当certificate_type为1时必填
list.config.id_card_back_id false String 身份证反面图片标识,当certificate_type为1时必填
list.config.certificate_file_ids false Array 证件文件标识列表(文件ID),主要用于type为2/3/4

返回示例:

{
	"count": 1,
	"list": [{
		"id": "1s32ffffwe23rf5521dsf",
		"user_id": 45623226,
		"certificate_type": 1,
		"certificate_id": "4456541563164654651",
		"user_name": "李清华",
		"status": 2,
		"approval_remarks": "同意",
		"create_time": "2019-12-16T16:00:00.000Z",
		"processed_time": "2019-12-16T16:00:00.000Z",
		"phone": "13838383388",
		"config": {
			"id_card_front_id": "44182589634661151sdfsdf6624",
			"id_card_back_id": "44182589634sdfsfsfdsfsd24",
			"certificate_file_ids": ["44182589634661151sdfsdf6624"]
		}
	}]
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041098 用户身份证件不存在
4001370 用户证件类型未知
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题