检测报告回调

接口描述

用于舌诊平台回传用户检测报告的通知

  1. 参数名称和字段类型固定;
  2. 接收到通知后,先解密数据,再对原文进行验签;
  3. 舌诊平台最多尝试3次回调通知,均无响应则不再通知。

接口说明

  • 请求地址 系统集成方提供的支付成功后通知地址

  • 请求方法 POST

请求参数

  • 使用form-data方式传参。
名称 格式 是否必须 含义
encryptedJson String 应用 AES 秘钥(aesKey)
原文进行加密后的字符串
signEncryptedJson String 使用平台私钥(rsaPrivateKey)对原文中的thirdIdtime进行RSA签名后的字符串。字符串拼接方式: thirdId_time
建议开发者接收到请求后对signEncryptedJson
验证签名以保证系统安全性。

原文实例

{
  "returnType": 1,
  "name": "张三",
  "phone": "13344445555",
  "email": null,
  "sex": 1,
  "age": 42,
  "time": "2023-03-08 08:23:13",
  "pdf": "https://labelsys-images.oss-cn-hangzhou.aliyuncs.com/tongueFile/check/2023/03/87d76220-085e-4d2e-9fd7-9f5a01da1940.pdf",
  "healthIndex": 100.0,
  "constitutionNames": "气虚",
  "symptomName": "胃气虚证",
  "thirdId": "13344445555"
}

原文参数

参数 类型 描述
returnType number 响应类型
errorMsg string 错误信息。returnType=1时有值
name string 检测人名称
phone string 检测人手机号
email string 检测人邮箱
sex number 检测人性别(1男,2女)
age number 检测人年龄
time string 检测时间
pdf string 检测 PDF 报告 URL
healthIndex number 健康指数,其值越大表示健康状态越好
constitutionNames string 体质
symptomName string 证型,进一步判断体质(constitutionNames)的结果,更为准确体现用户的真实体质
thirdId string 第三方用户唯一标识
  • 原文参数中returnType字段各个值的含义如下表:
  类型  
含义
returnType=1 检测成功。可能包含PDF文件
returnType=2 检测失败
returnType=3 PDF已生成。数据格式同returnType=1,肯定包含PDF文件

结果处理示例

  • 接收到通知后,客户系统处理流程参考如下代码:
    @PostMapping("reportReturn")
    public String reportReturn(String encryptedJson, String signEncryptedJson) throws Exception {
        // 应用AES秘钥
        String aesKey = "";
        // 平台RSA公钥
        String rsaPublicKey = "";

        // 1. 先解密
        String source = AesSimpleUtil.decrypt(encryptedJson, aesKey);
        JSONObject jsonObject = JSONObject.parseObject(source);

        // 2. 再验证签名
        String signSource = String.format("%s_%s",
                jsonObject.getString("thirdId"),
                jsonObject.getString("time"));
        boolean verify = RsaSimpleUtil.verify(signSource, signEncryptedJson, rsaPublicKey);
        if (!verify) {
            return "error";
        }
        // 3. 验证成功,则仅仅业务保存并返回success字符串
        return "success";
    }
©2024 合肥云诊信息科技有限公司 all right reserved,powered by Gitbook修订时间: 2025-03

results matching ""

    No results matching ""