正式环境对应锐鲨线上数据,正式环境测试则直接用正式环境的入口网关、AppKey、AppSecret及锐鲨账号。
1、http 网关
正式环境:https://openapi.realshark.com/invoke
锐鲨所有api都支持get和post两种方式,建议开发时参考锐鲨提供的Demo
调用API,必须传入公共参数和api参数(目前只支持UTF-8编码)。公共参数详细介绍如下;应用参数则根据不同API 具体入参,更多请参考API 文档。这里以调用xiaodian.shop.get 为例说明(通过API 文档可看到,调用该API应用参数)
1、公共参数
app_key | long | 是 | 接入时申请的app_key |
method | String | 是 | 接口名称 |
access_token | String | 是 | Oauth2.0授权获得的access_token |
sign | String | 是 | 对 API 调用参数(除sign外)进行 md5 加密获得。参数的顺序为字母表的顺序 |
format | String | 是 | 响应格式。默认为json格式,固定 |
timestamp | long | 是 | 时间戳,使用Unix时间戳格式 |
sign_method | String | 否(MD5加密时,此参数不参与) | 参数的加密方法选,当前只支持Md5 |
version | String | 否(MD5加密时,此参数不参与) | API协议版本,固定值为:1.0 |
2、系统错误码
返回码共7位,其中前2位代表系统码,后5位代表错误码; 开放平台系统码为:00。其中0000000为特殊返回码,代表成功; 注:0000000为所有业务方共享的成功返回码,后缀为500的返回码,代表代码内部处理错误。
系统码 | Api类别 |
---|---|
00 | 开放平台 |
10 | 交易 |
11 | 商品 |
12 | 店铺 |
13 | 物流 |
14 | 基础类目 |
开放平台系统码定义
返回码 | 错误描述 |
---|---|
0000000 | 成功 |
0000001 | timesteamp时间误差超过5分钟 |
0000003 | sign_method错误 |
0000004 | sign错误 |
0000005 | service is not existed! |
0000006 | param type is not correct! |
0000007 | param is a required type! |
0000008 | param is an unknown field! |
0000009 | lack of access authority |
0000010 | accessToken authority expired |
0000011 | accessToken not found |
0000012 | appKey not found |
0000013 | User request out of rate limit ! |
0000014 | Total amount of interface request out of rate limit ! |
0000015 | AppName and serviceName not null at same time! |
0000016 | 参数对象【paramsDesc】为null! |
0000017 | 参数【methodName】为null |
0000018 | 参数【serviceName】为null |
0000019 | 路由服务异常! |
0000020 | app status is not checked |
0000021 | app is not pass checked |
0000022 | app is not online |
0007001 | 更新token失效 |
0007002 | oauthCode错误 |
0000500 | 系统内部错误 |
物流返回码定义:
返回码 | 错误描述 |
---|---|
1020001 | 快递单号格式不正确 |
1020002 | 订单状态不一致 |
1020003 | 添加物流信息失败,请重试 |
1020004 | 当前用户没有操作权限 |
1020005 | 退货退款中订单不允许发货 |
1020006 | 发货操作太频繁 |
1020007 | 发货物流公司黑名单,禁止使用 |
商品、店铺返回码定义:
返回码 | 错误描述 |
---|---|
1100400 | 参数错误 |
1100401 | 请先进行实名认证 |
1101400 | 商品数据出错 |
1101403 | 无访问该商品权限 |
1101404 | 商品不存在或已被删除 |
1102400 | SKU数据出错 |
1102404 | SKU不存在或已被删除 |
1103404 | 类目不存在 |
1200404 | 请先开通店铺 |
订单管理返回码定义:
返回码 | 错误描述 |
---|---|
1010001 | 参数异常 |
1010002 | 订单数据查询失败 |
1010003 | 卖家无此订单查询权限 |
3、应用参数
详见API说明文档
4、签名sign
调用API 时需要对请求参数(公共参数和api参数)进行签名验证,开放平台服务器也会对该请求参数进行验证是否合法,方法如下:
根据参数名称(除签名和图片)将所有请求参数按照字母ASCII值先后顺序排序:key + value .... key + value
复杂对象(object、array等)请转换成json字符串
例如:将foo=1,bar=2,baz=3 排序为bar=2,baz=3,foo=1,参数名和参数值链接后,得到拼装字符串bar2baz3foo1
系统支持MD5加密方式:
md5:将secret 拼接到参数字符串头、尾进行md5加密后,格式是:md5(secretkey1value1key2value2...secret)
1、输入参数为
method=xiaodian.shop.get
timestamp=1367819523
format=json
app_key=test
v=1.0
sign_method=md5
session=test
2、按首字母升序排列
app_key=test
format=json
method=xiaodian.shop.get
session=test
sign_method=md5
timestamp=1367819523
v=1.0
3、连接字符串
连接参数名与参数值,并在首尾加上secret,如下:testapp_keytestformatjsonmethodxiaodian.shop.getsessiontestsign_methodmd5timestamp1367819523v1.0test
4、生成签名 sign
32位大写MD5值->D95ED0F5CEECC498C8AAFC1D94A28EB2
5、拼装API请求
将所有参数值转换为UTF-8编码,然后拼装,通过浏览器访问该地址,即成功调用一次接口,如下(http网关):
https://openapi.realshark.com/invoke?sign=D95ED0F5CEECC498C8AAFC1D94A28EB2&tamp=1367819523&v=1.0&app_key=test&method=xiaodian.shop.get&format=json&session=test