Agk Health

安高科健康码接口文档

1 简介

1.1 概述

本⽂档主要描述接⼝规范。

闸机通⾏需要⽤到的接⼝:健康码解码接⼝,调⽤后可以查询当前群众的健康码状态。

1.2 术语表

术语 说明
API_ROOT http://52.130.80.202:12700/center/api

2 API概览

2.1 相关接口

接口名称 路径
获取健康码 /health/code
健康码解码接口 /health/decode

3 开发指引

3.1 配置信息

请联系对接人员获取

  • appId
  • secretKey

3.2 接入流程

sign需要加密,加密java参考:

    @Test
    public void centerFaceIdApiCompare() throws InterruptedException {
        for (int i=0;i<2;i++){
            String url = "http://localhost:8080/center/api/live/compare";
            TreeMap<String, Object> params = new TreeMap<>();
            params.put("appId", "appId");
            params.put("secretKey", "secretkey");
            params.put("timestamp", String.valueOf(System.currentTimeMillis()));
            if(i==0){
                params.put("code",centerFaceIdApiCode());
                params.put("type",0);
            }else{
                params.put("code",centerFaceIdApiActionSequence());
                params.put("type",1);
            }
            params.put("sign", sign(params));
            //加图片
            params.put("image",FileUtil.file("E:\\zyh.jpg"));
            //加视频
            params.put("video",FileUtil.file("E:\\zyh.mp4"));
            String s = HttpUtil.post(url, params);
            System.out.println(s);
            Thread.sleep(60000);
        }
    }

	private static String sign(Map<String, Object> params) {
        StringBuilder sb = new StringBuilder();
        for (Map.Entry<String, Object> entry : params.entrySet()) {
            sb.append(entry.getKey());
            sb.append("=");
            sb.append(entry.getValue());
            sb.append("&");
        }
        return DigestUtils.sha256Hex(sb.toString()
        .substring(0, sb.toString().length() - 1)).toUpperCase();
    }

3.3 省市区编码

采⽤2020省市区国标编码

3.4 证件类型编码

| 证件类型编码 | 证件类型名称 | | —- | —- | | 10 | 居民身份证 | | 14 | 港澳居民来往内地通行证 | | 15 | 台湾居民来往大陆通行证 | | 16 | 一次性台湾居民来往大陆通行证 | | 20 | 护照 | | 34 | 外国人永久居留证 | | 99 | 其他 |

4 接口列表

4.1 获取健康码

接口地址

<API_ROOT>/health/code

请求方式

post

请求参数

字段 必填 类型 描述
appId String appId
secretKey String secretKey
sign String sign
timestamp String 时间戳
certificate_id String 证件号
certificate_type String 参见3.4证件类型编码
name String 姓名

返回结果

参数名 必 选 类型 范 围 说明 字典
report_date String   申报时间,为空则没有申报过  
report_valid_date String   申报信息有效期时间 YYYY-MM-DD HH:mm:ss  
report_expired Bool   申报是否过期  
risk_assessment_grade String   健康码⻛险等级 00 绿码 01 ⻩码 10 红 码
reason String   ⻛险等级原因(⻩、红码)  
guide String   ⻛险等级引导建议  
code_content String   健康码字符串(⽤于显⽰⼆维码)  
code_expire_time String   码失效时间 YYYY-MM-DD HH:mm:ss  

4.2 健康码解码接⼝

接口地址

<API_ROOT>/health/decode

请求方式

post

请求参数

字段 必填 类型 描述
appId String appId
secretKey String secretKey
sign String sign
timestamp String 时间戳
code_content String 健康码码串

返回结果

参数名 必 选 类型 范 围 说明 字典
name String   脱敏的字符串  
phone String   脱敏的字符串  
certificate_id Bool   脱敏的字符串  
certificate_type String     参见3.4证件类型编码
risk_assessment_grade String   ⻛险等级 00绿码 01 ⻩码 10 红 码
reason String   ⻛险等级原因(⻩、红码)  
guide String   ⻛险等级引导建议  
report_date String   申报时间,为空则没有申报过  
report_valid_date String   申报信息有效期时间 YYYY-MM-DD HH:mm:ss  
report_expired Boolean   申报或打卡是否过期  
certificate_token String   加密后的报⽂  

健康码过期返回结果

{
 "errcode": 0,
 "errmsg": "SUCCESS",
 "data": {
   "qrcode_expired": true, // 健康码是否过期
     "report_expired": false // 申报状态是否过期
 }
}
punkmonday /
Published under (CC) BY-NC-SA in categories tagged with