购买咨询
微信咨询
电话咨询
预约演示
跳转到内容

OpenAPI

什么是 OpenAPI?

OpenAPI 是问卷平台对外开放的数据访问接口,支持系统与平台之间的数据交互。通过 OpenAPI,您可以:

  • 获取答卷明细数据
  • 查询问卷结构与状态
  • 导出答卷结果
  • 实现问卷系统与第三方平台对接(如 CRM、HR 系统等)

接口类型说明

系统支持两类接口方案:

  • Open API:对外提供的开放接口,供第三方系统接入。
  • System API:供前端系统内部调用使用。

当前文档仅介绍 Open API 接口 的使用方式。
最新版系统(RedisToken 分支)已集成 Swagger 文档工具,可通过以下地址查看接口详情:
https://localhost/swagger-ui/index.html#/

消息传输格式

为了保证接口数据交互的一致性,平台规定了统一的消息格式规范:

  • 接口数据采用 JSON 格式;
  • 所有接口使用 同步方式;
  • 字符集编码为 UTF-8;
  • 参数值中如有特殊字符,应进行转义;
  • 所有字段名采用 小写字母命名。

请求签名机制

为保障接口调用的安全性,系统采用基于参数签名的方式对请求进行验证。签名用于确保参数未被篡改。

公共请求参数

每次请求必须包含以下三个公共参数:

参数名类型描述
appIdString平台分配的开发者唯一标识
timestampString当前时间戳,半小时内有效
signatureString参数签名,详见下方生成规则

签名生成步骤

  1. 筛选并排序 获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除signature字段,剔除值为空的参数,并按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。
  2. 拼接 将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。
  3. 调用签名函数 使用各自语言对应的MD5签名函数利用私钥对待签名字符串进行签名,并进行Base64编码。
  4. 把生成的签名赋值给signature参数,拼接到请求参数中。

注:

  1. 参数排序时,不包括signature参数
  2. 参数值为空(如null,""),则不参与签名
  3. 遇到数值拼接时,需统一转换成字符串类型

调问-专业的开源问卷表单系统