在接口调用之前,请首先进行商务接洽,在确认获得授权后进行,以免浪费您宝贵的时间和精力。
1,传参类请求
基础路径: http://supply.2844go.com:2844/scm/api
请求地址:
基础路径 + 接口名称 + ?请求参数
例:根据上级分类编号获得下一级分类列表接口
http://supply.2844go.com:2844/scm/api/CategoryByPid?pid=0
以上链接地址经过拆解可以得到
基础路径 : http://supply.2844go.com:2844/scm/api
接口名称 : CategoryByPid
请求参数 : pid=0
2,传JSON BODY类请求
基础路径: http://supply.2844go.com:2844/scm/api
请求地址:
基础路径 + 接口名称 + .json2
例:根据body正文获商品是否可售
http://supply.2844go.com:2844/scm/api/OrdersCheckPoint.json2
以上链接地址经过拆解可以得到
基础路径 : http://supply.2844go.com:2844/scm/api
接口名称 : OrdersCheckPoint
请求参数 : 无
body :
{
"skuList":[
{"sku_id":56447,"num":1},
{"sku_id":69677,"num":1}
],
"consignee":{
"province":105,
"city":60945,
"area":62179,
"street":110519
}
}
其它接口地址类推,基础路径都一样,接口名称和参数参考具体接口说明。签名参考签名规则
http请求时header发送如下参数
api-app-key: 000000
api-nonce: 4b808c4ac3a011ec90e6b8cb29ae7dc5
api-sign: 595eed69c3a011ec90e6b8cb29ae7dc5
api-time-stamp: 1650785614246
说明
api-app-key:应用唯一key
api-nonce:每次请求的唯一编号
api-time-stamp:发送请求时的毫秒时间戳
api-sign:计算出来的签名,每次计算出来的签名有效期为1分钟
例如:获得下级分类接口:
http://supply.2844go.com:2844/scm/api/CategoryByPid?pid=0
要求请求头信息如下:
{
api-app-key : A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6
api-nonce : 6P5O4N3M2L1K0J9I8H7G6F5E4D3C2B1A
api-time-stamp : 1650876983623
api-sign : 481D784578BD7B186DD2F63F00D9DA16
}
上述参数,接口APP口令(api-app-key)和接口随机码(api-nonce) 由授权后获得;接口调用时间戳(api-time-stamp)请记录系统当前时间,1分钟内有效,以毫秒为单位。
以下主要介绍接口验证签名字符串(api-sign)的计算和获得方法,分为以下八步:
第一步:将所有请求参数的值,保存到一个数组。其它接口可能有多个,也可能没有参数,没有就是空数组。请根据实际传递的参数,而不是api文档中要求的参数。
得到数组 :[ "0" ]
第二步:将 api-app-key 、 api-nonce 、api-time-stamp 的值 也保存到该数组。
得到数组 :[ "0", "A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6", "6P5O4N3M2L1K0J9I8H7G6F5E4D3C2B1A" , "1650876983623" ]
第三步:对数组进行排序得到 :[ "0", "1650876983623", "6P5O4N3M2L1K0J9I8H7G6F5E4D3C2B1A" , "A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6" ]
第四步:将数组按照顺序拼接成一个字符串,使用“&&”连接,得到字符串:0&&1650876983623&&6P5O4N3M2L1K0J9I8H7G6F5E4D3C2B1A&&A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6
第五步:字符串倒置:6P5O4N3M2L1K0J9I8H7G6F5E4D3C2B1A&&A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6&&3263896780561&&0
第六步:字符串MD5得到:43bae99ef736a5f356a94dc92cb86c6a
第七步:再次重复第六步得到:481d784578bd7b186dd2f63f00d9da16
第八步:最后将字符串变大写:481D784578BD7B186DD2F63F00D9DA16
在提交请求之前,将得到的api-sign写入请求头。
其它接口以此类推,如有异常情况,请参考响应头提示。
| code值 | 异常类型 | 说明 |
|---|---|---|
| 1:表示成功;其它均为失败 | ||
| 表示没有数据了,一般在列表接口中出现 | ||
| 系统内部异常,异常原因需参考msg描述 | ||
| 网络请求超时 | ||
| 异常的数据反馈 | ||
| 异常的网络请求(GET、POST) | ||
| 资源没有被找到 | ||
| 验证签名未通过 | ||
| 未获得有效身份信息 | ||
| 未知经销商渠道(partner) | ||
| 重复提交 | ||
| 不支持的业务类型 | ||
| 请求参数异常(包含 JSON Body) | ||
| 系统返回了预期外的业务数据 | ||
| 未知货源渠道(platfromsource) | ||
| 选品池满 | ||
| 平台余额不足 | ||
| 行政区划错误 | ||
| 未知的消息ID | ||
| 未知的消息类型 |