Skip to content

身份核验

入校审批

描述

通过学工号查询某个用户的入校审批状态

支持的模式

  • authorization_code
  • client_credentials
  • password

请求方法

GET

请求地址

https://api.ecnu.edu.cn/api/v1/epidemic/access

请求参数

参数名是否必填备注
userId学工号
device设备ID或设备名称,如用于门禁场景,则建议要包含 进/出 区分标记,例如 东川路大门手持机1-进

返回参数

data
参数名类型备注
userIdstring学工号
idCardNostring身份证号,固定空值
namestring姓名
accessbool是否允许入校
typestring人员类型,备案人员/非备案人员/隔离人员/退休人员/领导
endTimelong入校截止时间,时间戳(毫秒),无截至时间则为0
descstring具体的说明文字
actionstring响应动作级别,permit/warning/deny,其中 permit 和 warning 都可入校,其 access=true, deny 不可入校,其 access=false。请根据对应级别给予提示文字对应的颜色,例如 permit 对应绿色,warning 对应黄色,deny 对应红色。如涉及硬件终端,则建议应该给对应区分的语音播报
actionStatusint响应动作的分类代码,对应不同的 desc 说明和 action 行为。说明文字和 action 行为都可能会变化,务必动态处理逻辑,不要根据分类代码做固化逻辑。

请求示例

curl -v -H "Authorization: Bearer 2c29fb27cfbb3bb88563200ac9c6fa2c" "https://api.ecnu.edu.cn/api/v1/epidemic/access?userId=20***73&device=xxxxxxxxxxxxxx"

返回示例

可以入校 ,开闸
json
{
    "errCode": 0,
    "errMsg": "success",
    "requestId": "3808c622-2f69-4001-bd03-cc5b36c0e51b",
    "data": {
        "userId": "20****73",
		"idCardNo":"",
        "name": "冯*",
        "type": "备案人员",
        "endTime": 0,
        "desc": "入校",
        "access": true,
        "action":"permit",
        "actionStatus":0
    }
}

访客入校审批

描述

通过身份证号码查询某个访客用户的入校审批状态

支持的模式

  • client_credentials

请求方法

GET

请求地址

https://api.ecnu.edu.cn/api/v1/epidemic/guestaccess

请求参数

参数名是否必填备注
userId身份证号
device设备ID或设备名称,如用于刷卡验证场景,则建议要包含 进/出 区分标记,例如 东川路大门手持机1-进

返回参数

data
参数名类型备注
userIdstring工号,固定空值
idCardNostring身份证号
namestring姓名
accessbool是否允许入校
typestring人员类型,备案人员/非备案人员/隔离人员/退休人员/领导
endTimelong入校截止时间,时间戳(毫秒),无截至时间则为0
descstring具体的说明文字
actionstring响应动作级别,permit/warning/deny,其中 permit 和 warning 都可入校,其 access=true, deny 不可入校,其 access=false。请根据对应级别给予提示文字对应的颜色,例如 permit 对应绿色,warning 对应黄色,deny 对应红色。如涉及硬件终端,则建议应该给对应区分的语音播报
actionStatusint响应动作的分类代码,对应不同的 desc 说明和 action 行为。说明文字和 action 行为都可能会变化,务必动态处理逻辑,不要根据分类代码做固化逻辑。

请求示例

curl -v -H "Authorization: Bearer 2c29fb27cfbb3bb88563200ac9c6fa2c" https://api.ecnu.edu.cn/api/v1/epidemic/guestaccess?userId=310104****1122

返回示例

可以入校 ,开闸
json
{
    "errCode": 0,
    "errMsg": "success",
    "requestId": "3808c622-2f69-4001-bd03-cc5b36c0e51b",
    "data": {
        "userId": "",
		"idCardNo":"310******2222",
        "name": "冯*",
        "type": "备案人员",
        "endTime": 0,
        "desc": "入校",
        "access": true,
        "action":"permit",
        "actionStatus":0
    }
}

姓名身份证号校验

描述

根据提供的身份证号和姓名,校验身份证号与姓名是否匹配

支持的模式

  • client_credentials

请求方法

POST

请求地址

https://api.ecnu.edu.cn/api/v1/heds/checkid

请求参数

参数名是否必填备注
idCard身份证号码
name姓名

返回参数

data
参数名类型备注
idCardstring身份证号码
namestring姓名
checkResultstring公民身份号码匹配度代码,对应值见附表
idCardStatusstring身份状态码,对应值见附表
idNameResultstring姓名匹配度代码,对应值见附表
idVerifyResultstring核查结果代码,对应值见附表
checkResult码值表
代码描述
1一致
2完全匹配
3相似匹配
4未匹配
idCardStatus码值表
代码描述
0有效人口
1死亡人口
idNameResult码值表
代码描述
1一致
2完全匹配
3相似匹配
4未匹配
idVerifyResult码值表
代码描述
1通过
0未通过

说明:公民身份号码匹配度代码(checkResult)为1或2(一致、完全匹配),姓名匹配度代码(idNameResult)为1或2(一致、完全匹配),身份状态码(idCardStatus)为0,上述3个条件都满足,核查结果(idVerifyResult)为1-通过,其他都为0-未通过

请求示例

curl -v -X POST  -H "content-type:application/json" -H "Authorization: Bearer 2c29fb27cfbb3bb88563200ac9c6fa2c" -d "{\"idCard\":\"3401****0011\", \"name\":\"王**\"}" "https://api.ecnu.edu.cn/api/v1/heds/checkid"

返回示例

姓名身份证号匹配
json
{
  "errCode": 0,
  "requestId": "baae6d62-63f2-4614-9dcf-9874810c1a46",
  "errMsg": "请求成功!",
  "data": [
    {
      "idCard": "340************312",
      "name": "王**",
      "checkResult": "1",
      "idCardStatus": "0",
      "idNameResult": "1",
      "idVerifyResult": "1"
    }
  ]
}

验证码校验

描述

与前端验证码方案结合,校验验证码是否正确,可实现用户无感的验证码校验。

验证码机制详见:行为式验证码

申请此接口后请单独联系我们获取前端 captcha 和 jssdk。

支持的模式

  • client_credentials

请求方法

POST

请求地址

https://api.ecnu.edu.cn/api/v1/security/captcha

请求参数

参数名是否必填备注
NECaptchaValidate前端生成的验证码字符串

返回参数

请求示例

bash
curl -v -X POST  -H "content-type:application/json" -H "Authorization: Bearer 2c29fb27cfbb3bb88563200ac9c6fa2c" -d "{\"NECaptchaValidate\":\"xxxxx\"}" "https://api.ecnu.edu.cn/api/v1/security/captcha"

返回示例

json
{
    "errCode": 0,
    "errMsg": "success",
    "requestId": "3808c622-2f69-4001-bd03-cc5b36c0e51b",
    "data": null
}