开放平台

电话咨询 400-000-7749

QQ咨询
  • 交互格式说明

  • 更新时间:2022-05-12

    1.1 编码格式


  • 交互过程中统一使用 UTF-8编码


    1.2 请求体


  • 请求体格式为UTF-8编码的JSON格式的字符串,如:
  • {"number":"1","appId":"mylinl1"}


    1.3 请求头


  • User-Agent: openApi
  • Content-Type: application/json; charset=utf-8
  • accept-encoding: gzip,deflate
  • time-stamp: 1437528688233
  • data-signature: BF706E6AC693BA3B1BABD32E6713431D

  • time-stamp: 时间戳, 它是自 1970年1月1日(08:00:00 GMT)至当前时间的总毫秒数。它也被称为Unix时间戳(Unix Timestamp)
  • data-signature:请求体通过md5算法生成的签名


  • data-signature生成步骤,1:appKey,请求体 拼接 2:md5 加密(32位) 3:转为大写


  • Java生成方式

  • String data-signature = encryptToMd5String(JSONStr,appKey)

  • String encryptToMd5String(String content,String appKey)
  • {
  • return encryptToMd5String(
  • StringUtils.trim (appKey)+StringUtils.trim(content));
  • }

  • String encryptToMd5String(String content)
  • {
  • String md5String = null;
  • MessageDigest md = MessageDigest.getInstance("md5");
  • md.update(content.getBytes("UTF-8"));
  • md5String = parseByte2HexString(md.digest());
  • return md5String;
  • }

  • String parseByte2HexString(byte buf[])
  • {
  • StringBuffer stringBuffer = new StringBuffer();
  • for (int i = 0; i < buf.length; i++)
  • {
  • String hex = Integer.toHexString(buf[i] & 0xFF);
  • if (hex.length() == 1) {hex = '0' + hex;}
  • stringBuffer.append(hex.toUpperCase());
  • }
  • return stringBuffer.toString();
  • }

  • PHP生成方式

  • $signature = strtoupper(md5($appKey.$jsonData));


  • C#生成方式

  • FormsAuthentication.HashPasswordForStoringInConfigFile(appkey+jsonData, "MD5")


    1.4 响应体


  • 响应体格式为UTF-8编码的JSON格式的字符串,如:
  • {"number":"1","appId":"mylinl1"}


    1.5 响应头


  • Content-Encoding: gzip
  • 返回内容有可能是gzip压缩过的。客户端调用人员根据response header 中的Content-Encoding自行解压。(有返回gzip,就用gzip解压,没有的话,无需处理)


  • data-signature: BF706E6AC693BA3B1BABD32E6713431D
  • Content-Type: application/json;charset=UTF-8


  • data-signature的生成方式与请求头的data-signature生成方式一样,用以确保数据是从银豹系统中返回


    1.6 限流


  • 系统会对 相同请求(url+请求体)进行限流,短时间内调用过多相同请求,将报 频繁调用 错误。
  •        限流策略:4分钟相同请求超过40次,将报 频繁调用 错误。
  • 如果需要实时通知,可以开通 通知服务,具体请看 通知服务API页面。


    1.7 精度丢失


  • 接口中uid 如productUid,ticketUid等 是bigIntger类型。
  • php,js 等语言会出现精度丢失问题(eg:后2位都变成00),自行百度下解决方案


    1.8 postman及data-signature生成demo


  • 1.8.1 postman请求头demo




  • 1.8.2 postman请求体demo




  • 1.8.3 data-signature 生成demo,md5加密url
  • 以上面postman中的请求为例(上面有startTime,endTime等字段,所以下图中的例子也有。请以实际参数为准),把请求json 复制下来(不要手输,不要手输,不要手输),并在前面拼接appkey


    1.9 分页查询(分页查询全部商品信息,分页查询全部会员 等分页接口)