每个接口都有请求参数、响应参数。其中请求参数分为公共参数和业务参数、响应参数分为两类:正常的响应参数、统一的错误参数
一、请求参数
1、公共参数:每个接口都有的参数,主要包含appkey、时间戳、版本、响应格式、session
参考淘宝开放平台如下:
公共请求参数:a) session:有些接口需要登陆后才能调用,所以需要传递session参数b) timestamp:用于验证相同一组参数值不能重复使用,如其它参数都一样,timestamp也一样可考虑是否参数被他人截获并反复调用,服务端遇到这种情况可拒绝服务c) sign:是所有参数+app_secret加密后的字符串,则无法伪造sign串
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
method | String | 是 | API接口名称。 |
app_key | String | 是 | TOP分配给应用的AppKey。 |
session | String | 否 | 用户登录授权成功后,TOP颁发给应用的授权信息,详细介绍请点击这里。当此API的标签上注明:“需要授权”,则此参数必传;“不需要授权”,则此参数不需要传;“可选授权”,则此参数为可选。 |
timestamp | String | 是 | 时间戳,格式为yyyy-MM-dd HH:mm:ss,时区为GMT+8,例如:2015-01-01 12:00:00。淘宝API服务端允许客户端请求最大时间误差为10分钟。 |
format | String | 否 | 响应格式。默认为xml格式,可选值:xml,json。 |
v | String | 是 | API协议版本,可选值:2.0。 |
partner_id | String | 否 | 合作伙伴身份标识。 |
target_app_key | String | 否 | 被调用的目标AppKey,仅当被调用的API为第三方ISV提供时有效。 |
simplify | Boolean | 否 | 是否采用精简JSON返回格式,仅当format=json时有效,默认值为:false。 |
sign_method | String | 是 | 签名的摘要算法,可选值为:hmac,md5。 |
sign | String | 是 | API输入参数签名结果,签名算法介绍请点击这里。 |
2、业务参数
每个接口特定的参数
1、如根据商品编号获取商品信息接口,则参数为product_id
2、如登录接口,则参数为login_name,login_pwd等
二、响应参数
响应参数分为两大类,如果接口调用成功则返回业务参数,如果调用失败则统一返回错误信息
1、正常返回
a) 获取用户信息返回参数
1
2
3
4
5
6
7
|
<
user_buyer_get_response
>
<
user
>
<
nick
>hz0799</
nick
>
<
sex
>m</
sex
>
</
user
>
</
user_buyer_get_response
>
|
2、错误返回
错误参数包括错误主信息,错误子信息,如请求参数验证失败,则主信息提示参数错误,子信息包含具体哪个参数错误
a) solution:可选,给出解决错误的建议
b) code: 主错误信息,定义全局的错误编码
c) msg:错误原因
1
2
3
4
5
6
7
8
9
10
|
<
error_response
>
<
code
>50</
code
>
<
msg
>参数错误</
msg
>
<
solution
></
solution
>
<
sub_errors
>
<
sub_code
>isv.invalid-parameter</
sub_code
>
<
sub_msg
>用户名不能为空</
sub_msg
>
<
sub_solution
>请填写用户名</
sub_solution
>
</
sub_errors
>
</
error_response
>
|