对接开始前先确认所有必备信息和工具,避免中途卡壳,整理清单如下:
https://www.postman.com/downloads/几乎所有电子档案系统都要求签名认证,90%的对接失败都出在签名环节,目前主流电子档案系统采用统一的签名生成逻辑,以下是可直接复用的完整代码:
移除参数中的空值和签名参数本身→将剩余参数按key的ASCII升序排序→拼接所有参数的键值对→末尾拼接appSecret→SHA256加密转小写,PHP完整代码如下:
```php / 电子档案对接签名生成方法,可直接复用 @param array $params 所有请求参数 @param string $appSecret 档案侧提供的应用密钥 @return string / function generateArchiveSign(array $params, string $appSecret): string { // 移除空参数和签名本身 unset($params['signature']); foreach ($params as $key => $val) { if ($val === '' || $val === null) { unset($params[$key]); } } // 按ASCII排序参数键 ksort($params); // 拼接参数 $signStr = ''; foreach ($params as $key => $val) { $signStr .= $key . $val; } $signStr .= $appSecret; // 返回SHA256加密小写结果 return strtolower(hash('sha256', $signStr)); } ```注意:如果对接的电子档案系统要求拼接参数时添加&符号,只需要修改拼接逻辑为$signStr .= $key . '=' . $val . '&';即可,签名生成后一定要打印拼接的原始字符串对比文档示例排查错误。
打开Postman按照以下步骤配置:
Content-Type: application/json;charset=utf-8,部分要求加timestamp: 你的当前10位时间戳、appKey: 你的应用ID,按照文档要求添加即可
请求后常见返回处理:
上传成功后,传入档案唯一ID生成签名请求,若能正常返回档案信息和文件流,说明接口核心连通完成。
业务系统新增档案办结后,必须添加重试告警机制,避免网络波动导致数据漏传,可直接复用以下逻辑:
``` // 自动同步重试逻辑模板 $retryCount = 0; $maxRetry = 3; $isSuccess = false; while ($retryCount < $maxRetry && !$isSuccess) { $isSuccess = uploadArchive($requestParams); if (!$isSuccess) { $retryCount++; sleep(30); } } // 重试失败发送告警 if (!$isSuccess) { sendAdminAlarm("电子档案上传失败,档案ID:xxx"); } ```批量迁移时并发请求不能超过10个,大部分电子档案系统接口限流为10QPS,并发过高会被临时封禁IP,每上传一条记录成功/失败日志,迁移完成后核对总数,重传失败数据即可。
全部开发完成后,按照以下检查项验证,全部通过即可完成验收:
按照以上步骤操作,无需额外经验即可半天内完成对接落地,符合绝大多数国内电子档案系统的对接要求。