pospal 银豹收银系统-凯发网站
开放平台

pospal 银豹收银系统-凯发网站

  • 交互格式说明

  • 更新时间:2015-11-06

    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 请求体)进行限流,短时间内调用过多相同请求,将报 频繁调用 错误。
  •        限流策略1:4分钟相同请求超过40次,将报 频繁调用 错误。
  •        限流策略2:定时任务,轮循时间请大于4分钟,否则轮循超过40次后,也将报 频繁调用 错误。
  • 如果需要实时通知,可以开通 通知服务,具体请看 通知服务api页面。


    1.7 精度丢失


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

网站地图