API Invoke Methods
Open Platform API is invoking by HTTP Method,API is using REST Style,developers should assemble the HTTP Request according a certain format to invoke API,you can refer to example code for details.
一,Invoke Parameters
When invoking API ,you must input the systematic and applied parameters.
1)Systematic Parameters detailed instruction:
Name | Type | Required | Description |
---|---|---|---|
method | string | Y | API Name |
timestamp | string | Y | timestamp,the format is 'yyyy-mm-dd HH:mm:ss', Example:2015-01-10 12:51:13.The time error between the Server and Client is in 10 minutes. |
format | string | N | selectable, assign the response format. Optional value: json |
app_key | string | Y | AppKey of the Appllication need applying us. |
v | string | Y | API Agreement Version,optional value:1.0 . |
sign | string | Y | getting by md5 encrypt to API calling paramters (apart this 'sign'). You can refer to 3)sign |
sign_method | string | N | selectable,the encryption method of the params,optional value:md5 |
access_token | string | Y | getting the Access Token value by authorization |
2)Applied Paramters,please refer to the API Params Instruction.
3)sign
When calling an API to server ,need SIGN Verify to the request params.Here is the example:
accorgin params name(apart sign and image),sort all the request params by alphabetic order:key + value....key+value
Example:sort foo=1,bar=2,baz=3 to bar=2,baz=3,foo=1, splice the params name and value then get the string bar2baz3foo1 splice secretKey to the start and end of params sting.
Example:secretKey value is secret123, you will get this string :secret123bar2baz3foo1secret123 , and then upper it after md5 encryption.
JAVA Instance Code:
//signContent is the string to be encrypted after the splice
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();
}
二,Splice the HTTP Request
all params is convert by UTF-8 .
Query API request by GET Method,Modification API request by the POST Method.
Order kind request invoke [http://wop.wangjubao.com/rest/trade](http://wop.wangjubao.com/rest/trade)
Member kind request invoke[http://wop.wangjubao.com/rest/buyer](http://wop.wangjubao.com/rest/buyer)
Grouping kind request invoke[http://wop.wangjubao.com/rest/buyergroup](http://wop.wangjubao.com/rest/buyergroup)
Tag kind request invoke[http://wop.wangjubao.com/rest/buyerlabel](http://wop.wangjubao.com/rest/buyerlabel)
Integration kind request invoke[http://wop.wangjubao.com/rest/jifen](http://wop.wangjubao.com/rest/jifen)
Marketing kind request invoke [http://wop.wangjubao.com/rest/ump](http://wop.wangjubao.com/rest/ump)
Shopcart kind request invoke[http://wop.wangjubao.com/rest/shopcart](http://wop.wangjubao.com/rest/shopcart)
Favourite kind request invoke[http://wop.wangjubao.com/rest/favor](http://wop.wangjubao.com/rest/favor)
三,Error Code
error code | error description | solution |
---|---|---|
80001 | not found AppKey | input AppKey when request |
80002 | useless AppKey | apply for useful ppKey |
80003 | useless time parames | use the current time to request again; if the error between system time and server,adjust your system time. |
80004 | not found sign | sign the request params according to agreement |
80005 | sign check failure | inspect AppKey and SecretKey ,check the sign creating method |
80006 | request not assign one API method | assign one Api method |
80007 | request unexpected method | check the request method is defined in API |
80008 | not found Access Token | input Access Token |
80009 | useless Access Token | input useful Access Token |
81001 | request error | server is busy and can't accept new request |
81002 | params error | check the API method invoking params |
81003 | method execute failure | retry request |