OpenAPI
什么是 OpenAPI?
OpenAPI 是问卷平台对外开放的数据访问接口,支持系统与平台之间的数据交互。通过 OpenAPI,您可以:
- 获取答卷明细数据
- 查询问卷结构与状态
- 导出答卷结果
- 实现问卷系统与第三方平台对接(如 CRM、HR 系统等)
接口类型说明
系统支持两类接口方案:
- Open API:对外提供的开放接口,供第三方系统接入。
- System API:供前端系统内部调用使用。
当前文档仅介绍 Open API 接口 的使用方式。
最新版系统(RedisToken 分支)已集成 Swagger 文档工具,可通过以下地址查看接口详情:https://localhost/swagger-ui/index.html#/
消息传输格式
为了保证接口数据交互的一致性,平台规定了统一的消息格式规范:
- 接口数据采用 JSON 格式;
- 所有接口使用 同步方式;
- 字符集编码为 UTF-8;
- 参数值中如有特殊字符,应进行转义;
- 所有字段名采用 小写字母命名。
请求签名机制
为保障接口调用的安全性,系统采用基于参数签名的方式对请求进行验证。签名用于确保参数未被篡改。
公共请求参数
每次请求必须包含以下三个公共参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
appId | String | 平台分配的开发者唯一标识 |
timestamp | String | 当前时间戳,半小时内有效 |
signature | String | 参数签名,详见下方生成规则 |
签名生成步骤
- 筛选并排序 获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除signature字段,剔除值为空的参数,并按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。
- 拼接 将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。
- 调用签名函数 使用各自语言对应的MD5签名函数利用私钥对待签名字符串进行签名,并进行Base64编码。
- 把生成的签名赋值给signature参数,拼接到请求参数中。
注:
- 参数排序时,不包括signature参数
- 参数值为空(如null,""),则不参与签名
- 遇到数值拼接时,需统一转换成字符串类型

