API 调用方式

开放平台API 调用为HTTP 方式,API采用REST风格,开发者需要按一定格式自行拼装HTTP请求进行API 调用,具体可参考实例代码。

一,调用参数

调用API ,必须传入系统参数和应用参数。

1)系统参数详细介绍:

名称 类型 是否必填 描述
method string Y API接口名称
timestamp string Y 时间戳,格式为yyyy-mm-dd HH:mm:ss,例如:2015-01-10 12:51:13。服务端允许客户端请求时间误差为10分钟。
format string N 可选,指定响应格式。可选值:json
app_key string Y 应用的AppKey ,appKey和secretKey需要向网聚宝申请
v string Y API协议版本,可选值:1.0。
sign string Y 对 API 调用参数(除sign外)进行 md5 加密获得。获取方法参考3)签名sign
sign_method string N 可选,参数的加密方法选择,可选值:md5
access_token string Y 通过授权得到的Access Token值。

2)应用参数,参见API内的参数说明

3)签名sign

调用API 时服务器需要对请求参数进行签名验证。方法如下:

根据参数名称(除签名和图片)将所有请求参数按照字母先后顺序排序:key + value .... key + value

例如:将foo=1,bar=2,baz=3 排序为bar=2,baz=3,foo=1,参数名和参数值链接后,得到拼装字符串bar2baz3foo1 将secretKey 拼接到参数字符串头、尾。

例如:secretKey为secret123,则得到的字符串为secret123bar2baz3foo1secret123将得到的字符串进行md5加密后,再转化成大写.

JAVA实例代码:

//signContent为拼装后的待加密字符串
     String sign= "";
     try {
          MessageDigest md = MessageDigest.getInstance("MD5");
          md.update(signContent.getBytes("UTF-8"));
          byte[] byteData = md.digest();
          StringBuilder sb = new StringBuilder();
          for(int b : byteData){
              b = b&0xFF;
              if(b<16)
                  sb.append('0');
             sb.append(Integer.toHexString(b));
          }
          sign= sb.toString().toUpperCase();
      } catch (Exception e) {
        e.printStackTrace();
      }

二,拼装HTTP请求

所有的参数值转换为UTF-8编码。

 查询类API使用GET请求,修改类API使用POST请求

 订单请求发送到[http://wop.wangjubao.com/rest/trade](http://wop.wangjubao.com/rest/trade)
 会员类请求发送到[http://wop.wangjubao.com/rest/buyer](http://wop.wangjubao.com/rest/buyer)
 分组请求发送到[http://wop.wangjubao.com/rest/buyergroup](http://wop.wangjubao.com/rest/buyergroup)
 标签请求发送到[http://wop.wangjubao.com/rest/buyerlabel](http://wop.wangjubao.com/rest/buyerlabel)
 积分请求发送到[http://wop.wangjubao.com/rest/jifen](http://wop.wangjubao.com/rest/jifen)
 营销请求发送到[http://wop.wangjubao.com/rest/ump](http://wop.wangjubao.com/rest/ump)
 购物车请求发送到[http://wop.wangjubao.com/rest/shopcart](http://wop.wangjubao.com/rest/shopcart)
 收藏夹请求发送到[http://wop.wangjubao.com/rest/favor](http://wop.wangjubao.com/rest/favor)
 评价请求发送到http://wop.wangjubao.com/rest/rate

三,错误码

错误码 错误描述 解决方案
80001 未指定 AppKey 请求时传入 AppKey
80002 无效的AppKey 申请有效的 AppKey
80003 无效的时间参数 以当前时间重新发起请求;如果系统时间和服务器时间误差超过10分钟,请调整系统时间
80004 请求没有签名 请按照协议规范对请求中的参数进行签名
80005 签名校验失败 检查 AppKey 和 SecretKey 是否正确,检查sign生成是否符合要求
80006 未指定请求的 API 方法 指定 Api 方法
80007 请求非法的方法 检查请求方法是否在API中定义
80008 未指定 Access Token 请求时传入 Access Token
80009 无效的 Access Token 传入有效的 Access Token
81001 请求提交失败 服务器繁忙,无法接收新的调用请求
81002 请求方法的参数错误 检查方法调用参数
81003 方法执行失败 重新调用