欢迎来到数据开放平台, 请登录
当前位置:帮助中心

准备工作


  • 获取appKey和appSecret

  • 第三方接入平台的开发者,在调用开放平台的应用接口之前,必须先获得appKey(应用标识)和appSecret(应用私钥),获得的方式可以通过在数据开放平台申请成为开发者,然后在我的应用模块中创建应用,系统自动就会为每个应用分配相应的appKey和appSecret。

  • 注:appSecret是用户私钥,是用户认证和传输数据防篡改的重要数据,用户需要妥善保管,避免泄漏。

  •        appSecret用户私钥可在我的应用模块中应用列表点击“查看”按钮便可查询得到。  

调用方式说明


  • 调用协议与接口地址

  • 开放平台以HTTP和HTTPS两种协议对外提供服务,客户端采用POST方式,将接口参数发送到接口地址,实现接口服务调用。

  • 开放平台接口地址为:

  • http://open.sipop.cn/dataplatpro/api/route

  • 接口参数说明

  • 调用任何一个应用接口都必须传递参数,以下是调用接口的必传参数的说明:

  • 参数名称类型是否必填备注
    appKeyString在数据开放平台创建应用时,为每个应用分配的appKey。
    methodString应用接口名称,具体接口名称详见“应用API接口说明”章节。
    paramString调用业务接口时的输入参数,格式为json串,不同接口的输入参数的json串格式要求,详见“应用API接口说明”章节。
    timestampString时间戳,格式为yyyy-mm-dd HH:mm:ss,例如:2018-01-09 13:52:03。
    signString验证签名串,用于身份验证及防篡改,采用MD5加密参数获得,详见“签名sign算法”章节。
    vString当前接口版本号,固定值 1.0。
  • 签名sign算法

  • 调用API 时需要对请求参数进行签名验证,服务器也会对该请求参数进行验证是否合法的。方法如下:

  • sign:签名串,将参数param、timestamp、 appSecret,拼接成一个字符串。再加上密钥,MD5生成16位小写签名串。将timestamp 参数拼接到param 头部、appSecret 拼接到param参数字符串尾部md5加密后,格式是示例:MD5(timestamp + param +appSecret)。

  • 返回公共参数说明

  • 无特殊说明的情况下,系统中的API调用均会返回一个的json对象,该对象都会包含以下几个公共参数,公共参数说明如下:

  • 参数名称类型是否必填备注
    resultBooleantrue表示接口调用成功,false 表示调用失败。
    codeString响应状态码,1000表示成功,非1000表示失败,详见“响应状态码说明”章节。
    msgString操作结果提示或错误信息。
    totalInt符合当前查询条件的总记录数。
    countInt当前查询出来结果的总记录数
    dataObjectAPI接口调用返回的对象。
  • 响应状态码说明

  • 无特殊说明的情况下,系统中的API调用均会返回一个的json对象,该对象都会包含以下几个公共参数,公共参数说明如下:

  • 编码说明
    1000成功
    1001appKey参数不能为空或者该应用ID不存在
    1002method参数不能为空或者服务不存在
    1003timestamp参数不能为空或者时间格式不正确
    1004sign参数不能为空或者签名串不正确
    1005v参数不能为空或无法识别的版本号
    1006服务未授权
    1007服务已过期
    1008达到流量限制
    1009接口调用参数不正确
    9998服务器正忙,请稍后再试
    9999未知其他错误,请联系服务提供方
  • 组装HTTP请求参数示例

  • 公共参数:

  • appKey = "12345678"

  • method = "patentIndex.queryKeywordPage"

  • timestamp = "2018-01-01 12:00:00"

  • v = "1.0"

  • 业务参数:

  • {

  •     "p_category":"01",

  •     "pageSize":10,

  •     "pageNum":1

  • }   

  • param= "{ \"p_category\":\"01\", \"pageSize\":10, \"pageNum\":1 }"

  • 签名参数:

  • 假设该appKey对应的appSecret为"8e731299c371ad9a5787dbf424ff41f0",根据timestamp + param

  • +appSecret 拼接出来的字符串为"2018-01-01 12:00:00{ \"p_category\":\"01\", \"pageSize\":10, \"pageNum\":1 }8e731299c371ad9a5787dbf424ff41f0"

  • 根据上述字符串进行md5加密,获取的sign值为:

  • sign=9e9d553e942067265069534d916ef632

  • 拼接的HTTP参数为:

  • appKey="12345678"&method="patentIndex.queryKeywordPage"&timestamp="2018-01-01

  • 12:00:00"&v="1.0"&param= "{ \"p_category\":\"01\", \"pageSize\":10, \"pageNum\":1 }"&sign=9e9d553e942067265069534d916ef632

  • 将以上参数以POST方式,发送到开放平台的HTTP接口地址。