管理企业成员信息、状态,以及处理个人实名认证流程
这些API用于管理企业内部的人员信息,以及处理个人用户的实名认证流程。您可以添加新成员、查询信息、发起或更新认证状态、获取认证链接以及进行访问授权和删除操作。
重要提示: 调用本分类下所有接口时,请务必在 HTTP 请求 Header 中携带有效的 appId, accessToken, userId (操作人ID), 和 source (来源标识) 作为通用认证参数。关于 source 参数的详细说明和取值,请参考快速开始章节。文档中的请求示例将仅展示放入 Body 中的业务参数。
在指定企业下添加一个新的成员信息。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 |
| userId | integer (int64) | 是 | 执行此操作的用户ID (操作人) |
| source | string | 是 | 来源标识 (pc, app, h5, wx, alipay) |
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| userName | string | 是 | 用户名称(昵称) |
| mobile | string | 是 | 手机号 |
| jobNum | string | 是 | 工号 |
curl -X POST 'https://your-api-host.com/member/create' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: YOUR_ACCESS_TOKEN' \
-H 'userId: OPERATOR_USER_ID' \
-H 'source: pc' \
-d '{
"userName": "王五",
"mobile": "13700137000",
"jobNum": "EMP003"
}'
{
"code": "200",
"msg": "成功",
"data": { // 用户状态实体类 (具体字段见下表)
"userId": 20003,
"userName": "王五",
"mobile": "13700137000",
"realName": null,
"realNameStatus": 0,
"userStatus": 0
// 注意:JSON 定义中没有 roles 相关字段,但旧HTML有,此处以JSON为准
}
}
{
"code": "MEMBER_MOBILE_EXIST", // 示例错误码,具体以实际为准
"msg": "手机号已被注册",
"data": null
}
| 参数名 | 类型 | 描述 |
|---|---|---|
| userId | integer (int64) | 用户id |
| userName | string | 用户名称(昵称) |
| mobile | string | 手机号 |
| realName | string | 真实姓名 (认证后才有值) |
| realNameStatus | integer (int32) | 实名状态 (0: 未实名, 1: 已实名) |
| userStatus | integer (int32) | 用户状态 (0: 有效, 1: 无效) |
根据用户ID、姓名或手机号查询指定企业下的成员信息列表。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 |
| userId | integer (int64) | 是 | 执行此操作的用户ID (操作人) |
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| userId | integer (int64) | 否 | 用户ID (用于筛选) |
| userName | string | 否 | 用户名称(昵称) (用于筛选) |
| mobile | string | 否 | 手机号 (用于筛选) |
| realNameStatus | string | 否 | 实名状态 (0: 未实名, 1: 已实名) (用于筛选) |
注意: 至少提供一个查询参数进行筛选。
curl -X POST 'https://your-api-host.com/member/infoByCorpId' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: YOUR_ACCESS_TOKEN' \
-H 'userId: OPERATOR_USER_ID' \
-d '{
"mobile": "13800138000"
}'
{
"code": "200",
"msg": "成功",
"data": [ // 用户状态实体类列表
{
"userId": 20001,
"userName": "张三",
"mobile": "13800138000",
"userStatus": 0,
"realName": "张三",
"realNameStatus": 1
}
// ... 其他匹配的用户
]
}
{
"code": "MEMBER_NOT_FOUND", // 示例
"msg": "未查询到匹配的用户",
"data": null
}
| 参数名 | 类型 | 描述 |
|---|---|---|
| userId | integer (int64) | 用户id |
| userName | string | 用户名称(昵称) |
| mobile | string | 手机号 |
| userStatus | integer (int32) | 用户状态 (0: 有效, 1: 无效) |
| realName | string | 真实姓名 |
| realNameStatus | integer (int32) | 实名状态 |
根据用户ID查询详细的个人信息,包括实名状态、联系方式、证件信息(脱敏)等。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 |
| userId | integer (int64) | 是 | 执行此操作的用户ID (操作人) |
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| userId | integer (int64) | 是 | 需要查询的用户ID |
curl -X POST 'https://your-api-host.com/member/infoByUserId' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: YOUR_ACCESS_TOKEN' \
-H 'userId: OPERATOR_USER_ID' \
-d '{
"userId": 20002
}'
{
"code": "200", // 注意: JSON 定义返回码是字符串"200", 但旧HTML是数字0, 这里遵循JSON
"msg": "成功",
"data": { // 用户信息实体类 (具体字段见下表)
"userId": 20002,
"userCode": "M0002", // JSON中有, 旧HTML无
"userName": "李四",
"mobile": "13800138001",
"jobNum": "EMP002", // JSON中有, 旧HTML无
"userStatus": 0,
"realName": "李四",
"realNameStatus": 1,
"identMethod": "face",
"identSuccessTime": "2023-11-01T10:00:00.000+0800",
"signPwdSet": 1,
"createTime": "2023-10-31T15:00:00.000+0800"
// 省略了旧HTML中有但JSON定义没有的字段,如email, headerImg, identType, identNum, signPwdData, updateTime, wxOpenId, extendInfo, deleted, version, createBy, updateBy
}
}
{
"code": "MEMBER_NOT_FOUND", // 示例
"msg": "用户不存在",
"data": null
}
| 参数名 | 类型 | 描述 |
|---|---|---|
| userId | integer (int64) | 主键ID |
| userCode | string | 用户编码 |
| userName | string | 用户名称(昵称) |
| mobile | string | 手机 |
| jobNum | string | 工号 |
| userStatus | integer (int32) | 用户状态 (0: 有效, 1: 无效) |
| realName | string | 真实姓名 |
| realNameStatus | integer (int32) | 实名状态 |
| identMethod | string | 用户实名认证时方式 (mobile, face, bank, offline) |
| identSuccessTime | string (date-time) | 身份验证通过时间 |
| signPwdSet | integer (int32) | 签署密码是否已设置 (0: 未设置, 1: 已设置) |
| createTime | string (date-time) | 创建时间 |
根据手机号或姓名(昵称)模糊查询企业下的成员信息列表。常用于发起合同时选择签署方。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 |
| userId | integer (int64) | 是 | 执行此操作的用户ID (操作人) |
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| paramString | string | 是 | 查询参数,支持手机号、姓名模糊查询 |
curl -X POST 'https://your-api-host.com/member/infoByMobileOrName' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: YOUR_ACCESS_TOKEN' \
-H 'userId: OPERATOR_USER_ID' \
-d '{
"paramString": "李"
}'
{
"code": "200", // JSON 定义为字符串
"msg": "成功",
"data": [ // 用户状态实体类列表 (具体字段见下表)
{
"userId": 20002,
"userName": "李四",
"mobile": "13800138001",
"realNameStatus": 1
}
// ... 可能有更多匹配的用户
]
}
{
"code": "PARAM_EMPTY", // 示例
"msg": "查询参数不能为空",
"data": null
}
| 参数名 | 类型 | 描述 |
|---|---|---|
| userId | integer (int64) | 用户id |
| userName | string | 用户名称(昵称) |
| mobile | string | 手机号 |
| realNameStatus | integer (int32) | 实名状态 (0: 未实名, 1: 已实名) |
为当前操作用户(由 Header 中的 `userId` 决定)更新实名认证信息,并设置签署密码。通常用于对接第三方认证结果或后台补录场景。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 |
| userId | integer (int64) | 是 | 要更新认证信息的用户ID |
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| realName | string | 是 | 真实姓名 |
| identNum | string | 是 | 证件号码 |
| signPwd | string | 是 | 签署密码(6位数字) |
curl -X POST 'https://your-api-host.com/member/memberAuth' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: USER_TO_AUTH_ACCESS_TOKEN' \
-H 'userId: 20002' \
-d '{
"realName": "李四",
"identNum": "110101199001011234",
"signPwd": "666888"
}'
{
"code": "200", // JSON 定义为字符串
"msg": "成功",
"data": {} // 成功更新通常不返回具体业务数据
}
{
"code": "AUTH_INFO_INVALID", // 示例
"msg": "实名信息校验失败",
"data": null
}
为当前操作用户(由 Header 中的 `userId` 决定)生成一个用于进行个人实名认证的页面链接。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 |
| userId | integer (int64) | 是 | 需要获取实名链接的用户ID |
此接口请求 Body 为空。
curl -X POST 'https://your-api-host.com/member/getPersonalAuthUrl' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: USER_NEEDS_AUTH_URL_TOKEN' \
-H 'userId: 20003' \
-d '{}'
{
"code": "200", // JSON 定义为字符串
"msg": "成功",
"data": "https://your-system-url.com/auth/personal?token=generated_auth_session_token" // 返回实名认证页面链接
}
{
"code": "USER_ALREADY_AUTHENTICATED", // 示例
"msg": "用户已实名,无需重复认证",
"data": null
}
为当前操作用户(由 Header 中的 `userId` 决定)获取一个用于进行人脸识别认证的地址(通常用于实名认证环节)。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 |
| userId | integer (int64) | 是 | 需要获取人脸认证地址的用户ID |
此接口请求 Body 为空。
curl -X POST 'https://your-api-host.com/member/fetchAuth' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: USER_NEEDS_FACE_AUTH_TOKEN' \
-H 'userId: 20003' \
-d '{}'
{
"code": "200", // JSON 定义为字符串
"msg": "成功",
"data": "https://face-recognition-provider.com/verify?session_id=unique_face_session" // 返回人脸识别服务地址/链接
}
{
"code": "FACE_SERVICE_UNAVAILABLE", // 示例
"msg": "人脸识别服务暂不可用",
"data": null
}
根据不同的业务场景(如个人认证、法人认证、合同签署等),获取指定渠道的人脸识别认证H5页面地址。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 |
| userId | integer (int64) | 是 | 执行此操作的用户ID (操作人) |
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| id | string | 是 | 关联的业务ID。根据authType不同而不同:- person: 用户ID- legal: 企业ID- signContract: 流程ID (flowId)- approvalSign: 审批ID (approvalId)- receiveCorp: 企业ID(批量业务单ID以逗号分隔) |
| authType | string | 是 | 人脸认证类型。可选值: person, legal, signContract, approvalSign, receiveCorp |
| channel | string | 是 | 渠道标识。可选值: tencent (腾讯云), cdp (数据宝) |
| callbackUrl | string | 是 | 认证完成后前端跳转的回调地址 (URL需要进行Encode)。 |
curl -X POST 'https://your-api-host.com/fetchAuth/faceAuth' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: YOUR_ACCESS_TOKEN' \
-H 'userId: REQUESTING_USER_ID' \
-d '{
"id": "USER_ID_TO_AUTH",
"authType": "person",
"channel": "tencent",
"callbackUrl": "https%3A%2F%2Fyourapp.com%2Fauth%2Fcallback"
}'
| 参数名 | 类型 | 描述 |
|---|---|---|
| code | string | 响应码,"200" 表示成功,其他表示错误。 |
| msg | string | 响应消息。 |
| data | object | 响应数据,结构见下方的 人脸认证地址返回。 |
{
"code": "200",
"msg": "success",
"data": {
"url": "https://faceid.qq.com/h5/...",
"corpName": null,
"isLegal": false,
"realNameStatus": null
}
}
| 参数名 | 类型 | 描述 |
|---|---|---|
| url | string | 人脸认证H5地址 |
| corpName | string | 企业名称 (法人认证时返回) |
| isLegal | boolean | 是否法人 (法人认证时返回) |
| realNameStatus | integer (int32) | 实名状态 (找回企业时返回) |
| HTTP状态码/业务码 | 描述 |
|---|---|
| 200 | 成功 |
| 400 | 请求参数错误 (如authType无效, 渠道不支持) |
| 401 | 未授权 |
| 403 | 禁止访问 |
| 404 | 关联的业务ID(用户/企业/流程等)不存在 |
| 500 | 服务器内部错误 (如生成URL失败) |
为指定的人员(通过 Body 中的 `userId` 指定)生成一个临时的访问令牌或带令牌的 URL,允许其访问某些受限资源或执行操作。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 (操作人凭证) |
| userId | integer (int64) | 是 | 执行此操作的用户ID (操作人) |
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| userId | integer (int64) | 是 | 需要授权访问的用户ID |
curl -X POST 'https://your-api-host.com/member/accessAuth' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: ADMIN_ACCESS_TOKEN' \
-H 'userId: 20001' \
-d '{
"userId": 20002 // 需要授权的李四ID
}'
{
"code": "200", // JSON 定义为字符串
"msg": "成功",
"data": "https://your-system-url.com/resource/access?temp_token=generated_access_token_for_member_20002" // 返回带令牌的访问链接或仅令牌
}
{
"code": "AUTH_GENERATE_FAILED", // 示例
"msg": "生成授权凭证失败",
"data": null
}
从指定企业中逻辑删除一个成员(通常是将其状态置为无效)。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| appId | string | 是 | 您的应用ID |
| accessToken | string | 是 | 获取到的有效访问令牌 (操作人凭证) |
| userId | integer (int64) | 是 | 执行此操作的用户ID (操作人) |
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| userId | integer (int64) | 是 | 需要删除的用户ID |
curl -X POST 'https://your-api-host.com/member/delete' \
-H 'Content-Type: application/json' \
-H 'appId: YOUR_APP_ID' \
-H 'accessToken: ADMIN_ACCESS_TOKEN' \
-H 'userId: 20001' \
-d '{
"userId": 20003 // 需要删除的王五ID
}'
{
"code": "200", // JSON 定义为字符串
"msg": "成功",
"data": {} // 成功删除通常不返回具体数据
}
{
"code": "MEMBER_DELETE_FAILED", // 示例
"msg": "删除用户失败,可能有关联数据",
"data": null
}