序号 | 版本 | 类型 | 内容 | 修改时间 |
1 | V1.0 | 新增 | ||
2 | V1.1 | 修改 | 1.售后订单增加按照“更新时间”条件查询; | 2023.12.06 |
书链通开放平台的 API 是基于 HTTP 协议来调用的。
一、调用流程
填充参数 > 生成签名 > 拼装 HTTP 请求 > 发起 HTTP 请求 > 获得 HTTP 响应 > 解析 JSON 结果
二、调用地址
书链通开放平台目前提测试环境及正式环境给开发者,API 调用地址为如下:
三、调用方式
HTTP 请求方式:POST
HTTP 请求头需指定:Content-Type: application/json
四、公共参数
目前需指定的公共参数如下:
参数名称 | 参数类型 | 示例值 | 参数描述 |
app_key | String | 34847930940934540 | |
api_method | String | common.test | 调用的 api_method |
api_version | String | 1.0 | 调用的 api_method 对应的版本 |
timestamp | String | 2021-01-18 18:18:18 | 时间戳,格式为yyyy-MM-dd HH:mm:ss,时区为 GMT+8,例如:2021-01-20 18:18:18, 服务端允许客户端最大时间误差为 10 分钟 |
v | String | 1 | 协议版本,当前版本为 1 |
sign | String | 根据下面的介绍进行签名计算 | 输入参数签名结果 |
sign_type | String | md5 | 目前暂时只支持md5加密 |
biz_param | JSON | {“cid”:”12″,”page”:1} | 标准 JSON 类型,里面是业务参数列表,按照参数名的字典序排序,参考每个接口的参数列表 |
五、签名算法
为了防止 API 在调用过程中被黑客恶意篡改,调用任何一个 API 都需要携带签名;服务端会根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝。
书链通目前支持的签名算法为 MD5 , 计算 sign 的过程如下:
- 将 biz_param 序列化为 JSON 字符串,注意序列化结果需要按照键的字典序进行排序,如果存在嵌套参数,则嵌套的对象的所有字段也需要按照 key 的字典序进行排序,建议使用 fastjson 进行序列化。
- 将所有请求参数和 app_secret 一起按照字典顺序排列。
- 将所有参数名和参数值进行拼装,参数名与参数值之间使用 = 分隔,参数对之间使用 & 分隔。
- 上述步骤获得的待加密字符串,使用 MD5 签名算法后,得到 sign 值。
- 注意:接口请求参数中不需要 app_secret,只用来计算 sign 值。
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class Test {
@Test
public void sign() {
JSONObject bizParams = new JSONObject();
bizParams.put("cid", "13");
bizParams.put("page", "1");
Map<String, Object> paramMap = new TreeMap<>();
paramMap.put("app_key", "88888888");
paramMap.put("api_method", "common.test");
paramMap.put("api_version", "1.0");
paramMap.put("biz_param", bizParams);
paramMap.put("timestamp", "2023-08-17 10:30:00");
paramMap.put("v", "1");
paramMap.put("sign_type", "md5");
paramMap.put("app_secret", "88888888");
String sourceToSign = paramMap.entrySet().stream().map(entry ->
entry.getKey() + "=" + (entry.getValue() instanceof JSONObject ?
JSON.toJSONString(entry.getValue(), SerializerFeature.MapSortField) : entry.getValue())
).collect(Collectors.joining("&"));
paramMap.put("sign", MD5Util.MD5(sourceToSign));
//拼接后字符串:api_method=common.test&api_version=1.0&app_key=88888888&app_secret=88888888&biz_param={"cid":"13","page":"1"}&sign_type=md5×tamp=2023-08-17 10:30:00&v=1
//sign值:1DAA8E792C443C7BBD68260D15082177
}
}
六、响应结果:
字段 | 类型 | 名称 | 说明 |
code | int | 状态码 | 0:请求成功 |
message | string | 说明 | |
request_id | string | 请求id | |
data | object 或 List<object> | 数据 |
七、注意事项
- 开放接口中所有的请求和响应数据编码均为 utf-8 编码。
- 开放接口中所有的 时间 相关字段都用 yyyy-MM-dd HH:mm:ss 格式进行转换。
- 开放接口中所有的 金额 相关字段都是以 分 为单位。
- 开放接口中所有的 重量 相关字段都是以 克 为单位。
- 开放接口中所有查询列表相关的接口,响应接口的data都是Page<T>对象。Page<T>结构如下
参数名称 | 参数类型 | 参数描述 |
total_pages | 总页数 | |
current_page | 当前页 | |
total_records | 总数 | |
page_data | List<T> |
- todo。。
八、开放接口
- tid:书链通单号(书链通推送给ERP的单号)
- oid:商品子单号(每一条商品记录会对应一条子单号)
- source_tid:电商平台订单号(仅密文平台存在,如:淘宝、京东、拼多多、抖店、快手)
物流
获取运费模板
用途:运费模板根据商品来设置,设置后可通过商品和收货地址自动算出应收运费,并展示在订单中,运费会计入账单结算;
公共参数:
api_method | api_version |
common.get.list.freight_template | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
name | string | 否 | 模版1 | 运费模板名称,支持模糊搜索 |
current_page | int | 是 | 分页,第几页,从1开始 | |
page_size | int | 是 | 每页条数,默认20,最大 100 |
响应参数:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 | |
data | Page<FreightTemplate> |
FreightTemplate结构:
参数名称 | 参数类型 | 示例值 | 参数描述 |
id | long | 模板id | |
name | string | 模板名称 | |
delivery_conf | string | 配送配置;[{“area”: “配送区域,需重新定义,如:0,0,1,0,1”, “firstItem”: “首件”, “fare”: “运费”, “continuation”: “续件”, “renew”: “续费”}] | |
gmt_modified | string | 更新时间 |
{
"code":0,
"data":{
"current_page":1,
"page_data":[
{
"delivery_conf":"[{\"areas\":\"默认运费(中国)\",\"continuation\":1000,\"defineAreaList\":[{\"code\":\"0\",\"name\":\"默认运费(中国)\"}],\"fare\":0,\"firstItem\":1000,\"renew\":0}]",
"gmt_modified":"2023-07-19 14:15:37",
"id":10243,
"name":"包邮"
}
],
"total_pages":1,
"total_records":2
},
"request_id":"05df07091fcc4401ae17692a161eb0c8"
}
获取快递公司列表
用途:快递公司获取后与第三方服务做映射,支持订单发货、同步物流信息等;
公共参数:
api_method | api_version |
common.get.list.delivery_company | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
current_page | int | 是 | 分页,第几页,从1开始 | |
page_size | int | 是 | 每页条数,默认20,最大 100 |
响应参数:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 | |
data | Page<DeliveryCompany> |
DeliveryCompany结构:
参数名称 | 参数类型 | 示例值 | 参数描述 |
id | long | 7 | 物流公司id |
name | string | 圆通快递 | 物流公司名字 |
code | string | yuantong | 物流公司code |
{
"code":0,
"data":{
"current_page":1,
"page_data":[
{
"code":"ST",
"id":51,
"name":"申通快递"
}
],
"total_pages":2,
"total_records":39
},
"request_id":"7f119fa2d4064b9996abb8362522c718"
}
订单发货
用途:订单返回后,ERP将物流信息同步给书链通;
公共参数:
api_method | api_version |
order.push.order | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
tid | string | 是 | SLT2002234234 | 订单号 |
oids | String | 否 | 4782813149182887526A,4782813149182887526B | 子单号 |
express_company_code | String | 是 | shunfeng、qita | 物流公司code,由接口/order/logisticsCompanyList返回的物流公司列表获得 |
logistics_code | String | 否 | sf1231231231234 | 快递单号 |
响应结果:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 |
分销
获取分销说明模板
用途: 商品售卖说明,每个商品在录入时都需要选择分销说明,该说明会展示给分销商;
公共参数:
api_method | api_version |
common.get.list.distributor_desc_template | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
current_page | int | 是 | 1 | 分页,第几页,从1开始 |
page_size | int | 是 | 20 | 每页条数,默认20,最大 100 |
响应参数:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 | |
data | Page<DistributorDescTemplate> |
DistributorDescTemplate结构
参数名称 | 参数类型 | 示例值 | 参数描述 |
id | long | id | |
name | string | 模板名称 | |
supplier_intro | string | 供货商简介 | |
contact | string | 联系方式 | |
after_sales_policy | string | 售后政策 | |
distributor_desc | string | 分销说明 |
{
"code":0,
"data":{
"current_page":1,
"page_data":[
{
"after_sales_policy":"默认模板",
"contact":"66666666666",
"distributor_desc":"<p>默认模板</p><div class=\"media-wrap image-wrap\"><img id=\"92e1411e-8a69-4ac5-bb96-8dfc6daa68ea\" title=\"image.png\" alt=\"image.png\" src=\"https://yuntisyscdn.bookln.cn/webserver/slt/commFileUpload/11832c80-3891-4bb3-8520-81b8dfe569a7.png\"/></div>",
"id":9083,
"name":"默认模板",
"supplier_intro":"默认模板"
}
],
"total_pages":1,
"total_records":1
},
"request_id":"0783fec1596045e4b8500f4e95b45ffe"
}
获取分销商列表
用途:供应商获取供应的分销商信息;
公共参数:
api_method | api_version |
common.get.list.mid_seller | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
name | String | 否 | 模版1 | 分销商名称,支持模糊搜索 |
current_page | String | 否 | 0 | 页数(默认为0,第一页从0开始) |
page_size | String | 否 | 10 | 每页模板数(默认为10) |
响应结果:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 | |
data | Page<MidSeller> |
MidSeller结构:
参数名称 | 参数类型 | 示例值 | 参数描述 |
user_id | long | 分销商id | |
user_name | string | 分销商名称 |
{
"code":0,
"data":{
"current_page":1,
"page_data":[
{
"user_id":1701855,
"user_name":"下级分销商"
}
],
"total_pages":1,
"total_records":1
},
"request_id":"6135837aa4684fb498923a417b765f85"
}
商品
获取类目列表
用途:书链通商品主要用于电商平台和选品市场上架营销,基于各大电商平台标准类目,创建商品时确认类目;
公共参数:
api_method | api_version |
common.get.list.cat | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
响应参数:
参数名称 | 参数类型 | 示例值 | 参数描述 | |
code | int | 错误码,0代表成功 | ||
request_id | string | 类目名称 | ||
data | List<Cat> |
Cat结构:
参数名称 | 参数类型 | 示例值 | 参数描述 | |
id | long | id | ||
name | string | 类目名称 | ||
pid | long | 父类目id | ||
level | int | 类目级别 | ||
subs | List<Cat> |
{
"code":0,
"data":[
{
"id":1,
"level":0,
"name":"教育",
"subs":[
{
"id":2,
"level":0,
"name":"工具书",
"pid":1
}
]
}
],
"request_id":"c5c5ac0ebd8443bdab2cb305ba7d3932"
}
新增商品/修改商品
用途:新增书链通商品,可以上架到选品市场和专属选品,承载订单内容;当传相同的goods_code和sku_code时认为是修改;
公共参数:
api_method | api_version |
goods.opt.goods | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
goods_id | long | 否 | 有则是更新 | |
goods_code | string | 是 | 商品编码 | |
name | string | 是 | 商品名称 | |
publisher | string | 否 | 出版社 | |
binding | int | 否 | 装帧:1=平装 2=精装 | |
suit | int | 否 | 套装 | |
link_url | string | 否 | 商品链接 | |
cat_id | long | 是 | 类型id | |
cat_name | string | 是 | 类型名称,同cat_id一起传 | |
freight_template_id | long | 是 | 相册资料-附图 | |
distributor_desc_template_id | long | 是 | 相册资料-透明图 | |
file_name | string | 否 | 相册资料-详情图 | |
file_url | string | 否 | 创建人id | |
pa_mainImg_video | string | 否 | 相册资料-主图视频 | |
pa_main_img | string | 否 | 相册资料-主图 | |
pa_detail_map | string | 否 | 相册资料-详情图 | |
pricing | long | 是 | 定价 | |
sku_list | List<Sku> | 是 | 商品规格,见下方Sku结构 | |
goods_classify | long | 否 | 商品分类 | |
goods_tags | string | 否 | 商品标签 |
Sku结构:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
sku_name | string | 是 | 规格名称 | |
sku_code | string | 是 | 商品编码 | |
inventory_num | int | 是 | 库存 | |
cost_price | string | 否 | 成本价 | |
retail_start_price | long | 是 | 销售指导价(最小) | |
retail_end_price | long | 是 | 销售指导价(最大) | |
supply_price | long | 是 | 基础分销价(供货价) | |
weight | long | 是 | 商品重量(10 ~ 999990) | |
sku_img | string | 否 | 规格图片 |
响应结果:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 |
查询商品列表
用途:获取书链通的商品信息;
公共参数:
api_method | api_version |
goods.get.list.goods | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
sku_id | string | 否 | 3558192687276550000 | 规格id |
sku_code | string | 否 | dy001 | 规格编码 |
current_page | int | 是 | 分页,第几页,从1开始 | |
page_size | int | 是 | 每页条数,默认20,最大 100 |
返回参数:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 | |
data | Page<GoodsSku> |
GoodsSku结构:
参数名称 | 参数类型 | 示例值 | 参数描述 |
sku_id | long | 规格ID | |
gmt_modified | string | 修改时间 | |
isbn | string | ISBN | |
name | string | 商品名称 | |
freight_template_id | long | 运费模版id | |
pa_main_img | string | 相册资料-主图 | |
pa_attached_drawing | string | 相册资料-附图 | |
pa_transparent_map | string | 相册资料-透明图 | |
pa_detail_map | string | 相册资料-详情图 | |
pa_main_img_video | string | 相册资料-主图视频 | |
distributor_desc_template_id | long | 分销说明模板id | |
pricing | long | 定价 | |
publisher | string | 出版社 | |
cat_id | long | 类型id | |
cat_name | string | 类目名称 | |
p_cat_id | long | 父类目id | |
file_url | string | 附件地址 | |
file_name | string | 附件名称 | |
link_url | string | 商品链接 | |
goods_code | string | 商品编码 | |
sku_code | string | 规格编码 | |
sku_name | string | 规格名称 | |
weight | long | 重量 | |
note | string | 备注 | |
sku_img | string | 规格图片 | |
goods_status | int | 商品状态 1=启用 2=停用 | |
cost_price | long | 成本价 | |
supply_price | long | 供货价(基础分销价) | |
flat_price | long | 统一售价 | |
price_type | int | 1=RETAIL_PRICE=建议零售价,2=FLAT_PRICE=统一售价 | |
online_type | int | 0=未上架,1-分销市场,2=专属市场,3=同时上架 |
{
"code":0,
"data":{
"current_page":1,
"page_data":[
{
"cat_id":2,
"cat_name":"工具书",
"cost_price":100,
"distributor_desc_template_id":9083,
"file_name":"",
"file_url":"",
"freight_template_id":10243,
"goods_code":"11111",
"goods_name":"图书",
"goods_status":1,
"isbn":"1111111111111",
"online_type":3,
"p_cat_id":1,
"pa_detail_map":"",
"pa_main_img":"https://yuntisyscdn.bookln.cn/webserver/slt/commFileUpload/3b954981-5e51-4f06-bd8d-ad17feff49af.png,https://yuntisyscdn.bookln.cn/webserver/slt/commFileUpload/889aa92c-5b67-4742-8fa9-45b48f2e4ec8.jpg,",
"pa_main_img_video":"[{\"cover\":\"https://yuntisyscdn.bookln.cn/server/slt/f5d98f2d-16fd-413f-a203-25cb080a8690_20230611200607_f3cc.mp4?x-oss-process=video/snapshot,t_1000,f_jpg,w_800,h_600\",\"video\":\"https://yuntisyscdn.bookln.cn/server/slt/f5d98f2d-16fd-413f-a203-25cb080a8690_20230611200607_f3cc.mp4\"}]",
"price_type":1,
"pricing":220,
"publisher":"缇米出版社",
"sku_code":"11111",
"sku_id":2798093,
"sku_img":"https://yuntisyscdn.bookln.cn/webserver/slt/commFileUpload/3b954981-5e51-4f06-bd8d-ad17feff49af.png",
"sku_name":"默认规格",
"supply_price":100,
"weight":1000
}
],
"total_pages":1,
"total_records":13
},
"request_id":"b77777d61d45495a92b712e261ed78f7"
}
订单
订单列表查询
用途:获取书链通的代发货的订单信息;
公共参数:
api_method | api_version |
order.get.list.order | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
tid | string | |||
page_size | int | 是 | 20 | 单页大小,限制100以内 |
current_page | int | 是 | 0 | 页码,0页开始 |
logistics_code | String | 否 | 435435 | 物流单号 |
gmt_create_start | string | 否 | 下单时间:开始 | |
gmt_create_end | string | 否 | 下单时间:截止 | |
gmt_modified_start | string | 否 | 更新时间:开始 | |
gmt_modified_end | string | 否 | 更新时间:截止 |
响应参数:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 | |
data | Page<Order> |
Order结构:
参数名称 | 参数类型 | 示例值 | 参数描述 |
tid | long | 书链通erp单号 | |
gmt_modified | string | 修改时间 | |
mid_user_id | long | 分销商ID | |
mid_user_name | string | 分销商名称 | |
buyer_words | string | 买家备注 | |
seller_words | string | 卖家备注 | |
shop_id | long | 店铺ID | |
post_time | string | 发货时间 | |
close_reason | int | 关闭原因 | |
trade_finish_time | string | 交易结束时间 | |
intercept_status | int | 拦截状态 | |
exception_set | string | 异常集合 | |
tag_set | string | 标签集合 | |
abnormal_status | int | 异常状态 | |
delivery_type | int | 发货类型:自发订单 | |
user_amount | long | 用户金额 | |
user_post_amount | long | 用户邮费 | |
buyer_nick | string | 买家昵称 | |
encryptedReceiver | string | {“sourceTid”: “原始线上单号”, “platformCode”: “TB”, “receiverName”: “abcxxx”, “receiverMobile”: “abcxxx”, “receiverAddr”: “abcxxx”} | 加密地址 |
items | List<Item> | 商品信息 |
Item结构:
参数名称 | 参数类型 | 示例值 | 参数描述 |
oid | varchar(50) | 商品订单号 | |
goods_num | int(10) | 商品数量 | |
goods_pic | text | 商品图片 | |
goods_id | bigint(20) | 商品ID | |
goods_code | varchar(50) | 商品编码 | |
goods_name | varchar(255) | 商品名称 | |
sku_id | bigint(20) | sku id | |
sku_code | varchar(50) | sku 编码 | |
sku_name | varchar(255) | sku 名称 | |
after_sale_status | tinyint(4) | 售后状态(0=无售后,1=售后中,2=售后完成) | |
delivery_status | tinyint(4) | 发货状态:0=待拣货1=待发货2=已发货3=关闭订单4=发货失败5=取消6=已完成 | |
post_time | datetime | 发货时间 | |
user_amount | bigint(20) | 客户下单金额 | |
user_post_amount | bigint(20) | 客户下单邮费 | |
weight | bigint(20) | 重量 | |
user_price | bigint(20) | 客户下单商品单价 | |
exception_set | varchar(255) | 异常 |
{
"code":0,
"data":{
"current_page":1,
"page_data":[
{
"abnormal_status":0,
"addr":"测试",
"buyer_nick":"测试是",
"city":"石家庄市",
"delivery_type":1,
"exception_set":"[]",
"gmt_modified":"2023-08-22 00:00:56",
"interceptStatus":0,
"items":[
{
"after_sale_status":1,
"delivery_status":2,
"exception_set":"[]",
"goods_code":"87778787812331312",
"goods_id":15226209,
"goods_name":"课程资源",
"goods_num":1,
"goods_pic":"https://yuntisyscdn.bookln.cn/webserver/slt/commFileUpload/3536ec1c-798a-409e-8b1f-326de681987e.png",
"oid":"230821229109024850",
"post_time":"2023-08-21 18:12:55",
"sku_code":"87778787812331312",
"sku_id":2826136,
"sku_name":"默认规格",
"user_amount":300,
"user_post_amount":0,
"user_price":300,
"weight":1000
}
],
"mid_user_id":1502924,
"mid_user_name":"中盘商",
"name":"测试是",
"post_time":"2023-08-21 18:12:55",
"province":"河北省",
"shop_id":18791,
"tag_set":"[\"7\",\"8\"]",
"tid":"SLT2308210167056762",
"user_amount":300,
"user_post_amount":0
}
],
"total_pages":1,
"total_records":1
},
"request_id":"fb533bec371c48c38b79a5fe7211698d"
}
更新订单运费
用途:通过接口写入订单运费,书链通内部将运费按商品重量分摊到订单商品中存储;
公共参数:
api_method | api_version |
order.modify.orderFreight | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
tid | 是 | 原平台订单号 | ||
post_amount | 是 | 物流成本 |
响应参数:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 |
ERP供应商修改备注
用途:
公共参数:
api_method | api_version |
order.modify.mainSellerRemark | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
tid | string | 是 | 订单号 | |
remark | string | 是 | 供应商备注 |
响应参数:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 |
售后
售后单列表查询
用途:获取书链通的售后单;
公共参数:
api_method | api_version |
after_sale.get_after_sale.order.list | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
tid | string | 否 | 4821845786203981633 | |
type | int | 否 | 1 | 售后类型:1=REFUND=退款2=RETURN_AND_REFUND=退货退款,3=EXCHANGE=换货4=RETURN=补发 |
gmt_modified_start | string | 否 | 2023-08-22 00:00:56 | 更新开始时间 |
gmt_modified_end | string | 否 | 2023-08-23 00:00:56 | 更新结束时间 |
current_page | int | 是 | 分页,第几页,从1开始 | |
page_size | int | 是 | 每页条数,默认20,最大 100 |
响应参数:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 | |
data | Page<AfterSaleOrder> |
AfterSaleOrder结构:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
tid | string | 书链通单号 | ||
oid | string | 商品订单号 | ||
status | int | 状态:1-待分销商审核2-待供销商审核 3-待供应商审核 4-退款成功 5-换货成功 6-补发成功 7-售后关闭 | ||
gmt_modified | string | 修改时间 | ||
after_sale_order_no | string | 售后单号 | ||
type | int | 售后类型:1-仅退款 2-退货退款 3-换货 4-补发 | ||
mid_user_id | long | 分销商id | ||
mid_user_name | long | 分销商名称 | ||
shop_id | long | 店铺id | ||
goods_id | lng | 商品id | ||
sku_id | long | 规格id | ||
goods_code | string | 商品编码 | ||
sku_code | string | 规格编码 | ||
goods_name | string | |||
sku_name | string | |||
goods_num | int | 退货数量 | ||
reason | int | 1=UNCONDITIONAL_REFUND=无条件退款2=QUALITY_ISSUES=质量问题3=LOGISTICS_CARGO_DAMAGE=物流货损 | ||
estimated_refund_amount | long | 预计退款金额 | ||
actual_goods_num | int | 实际收货数量 | ||
refund_amount | long | 实际退款金额=商品退款金额+赔付金额 | ||
goods_refund_amount | long | 商品退款金额 | ||
receive_amount | long | 售后应收金额=商品售后应收金额+赔付金额 | ||
goods_receive_amount | long | 商品售后应收金额 | ||
post_refund_amount | long | 运费退款金额(运费) | ||
main_post_pay_amount | long | 供应商运费赔付金额(赔付金额) | ||
refund_remark | string | 退款说明 | ||
certificate | string | 凭证 | ||
post_receiver | string | 收件人名称 | ||
post_tel | string | 收件人电话 | ||
post_addr | string | 收件人地址 | ||
complete_time | string | 售后完成时间 | ||
post_amount | long | 发货运费 | ||
post_logistics_code | string | 发货物流单号 | ||
post_logistics_id | long | 发货物流公司 | ||
user_logistics_id | long | 用户发货物流商ID | ||
user_logistics_name | string | 用户发货物流商 | ||
user_logistics_code | string | 用户发货物流单号 | ||
trade_finish_time | string | 订单完成时间 | ||
price | long | 采购单价(成本价) | ||
compensation_reason | string | 赔偿原因 | ||
as_cat_id | long | 售后问题类型ID | ||
as_cat_name | string | 售后问题类型ID | ||
exception | int | 异常 | ||
small_pay_amount | long | 小额现款赔付 |
{
"code":0,
"data":{
"current_page":1,
"page_data":[
{
"after_sale_order_no":13497740580968796,
"certificate":"",
"estimated_refund_amount":0,
"gmt_modified":"2023-08-21 19:57:51",
"goods_code":"87778787812331312",
"goods_id":15226209,
"goods_name":"课程资源",
"goods_num":1,
"goods_receive_amount":0,
"goods_refund_amount":300,
"main_post_pay_amount":0,
"mid_user_id":1502924,
"mid_user_name":"中盘商",
"oid":"230821229109024850",
"post_addr":"{\"address\":\"测试\",\"city\":\"石家庄市\",\"district\":\"长安区\",\"province\":\"河北省\"}",
"post_amount":0,
"post_receiver":"测试是",
"post_refund_amount":0,
"post_tel":"12332112332",
"price":0,
"reason":1,
"refund_amount":300,
"refund_remark":"",
"shop_id":18791,
"sku_code":"87778787812331312",
"sku_id":2826136,
"sku_name":"默认规格",
"small_pay_amount":100,
"status":3,
"supply_price":300,
"tid":"SLT2308210167056762",
"type":1
}
],
"total_pages":1,
"total_records":7
},
"request_id":"bc1e3eff62314f77b907b85bffd9832f"
}
售后单更新接口
用途:ERP将售后单的更新信息,推送给开放平台;
公共参数:
api_method | api_version |
after_sale.get_after_sale.order.list | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
tid | string | 是 | 书链通单号 | |
oid | string | 是 | 商品订单号 | |
status | int | 是 | 状态:1-待分销商审核2-待供销商审核 3-待供应商审核 4-退款成功 5-换货成功 6-补发成功 7-售后关闭 | |
gmt_modified | string | 是 | 修改时间 | |
after_sale_order_no | string | 是 | 售后单号 |
响应参数:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 |
库存
库存同步接口
用途:ERP库存更新后,推送给开放平台;
公共参数:
api_method | api_version |
inventory.batch.sync | 1.0 |
请求参数:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
sku_sync_list | List<SkuSync> | 是 | 见下方SkuSync结构 |
SkuSync:
参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
sku_code | string | 是 | dy001 | sku编码 |
inventory_num | int | 是 | 100 | 库存值;可以设置为0,不能小于0 |
响应结果:
参数名称 | 参数类型 | 示例值 | 参数描述 |
code | int | 错误码,0代表成功 | |
request_id | string | 类目名称 |
九、错误码
错误码 | 错误信息 | 解决办法.. |
400101 | 请求体为空 | |
400102 | 请求提非法或格式错误 | |
400103 | 缺少公共参数 | |
400201 | 不支持的签名类型 | |
400202 | 签名非法或错误 | |
400301 | API方法或版本非法 | |
400302 | 暂不支持的方法/版本 | |
400501 | 不支持的协议版本 | |
400601 | 客户端 timestamp 格式转换错误 | |
400602 | 客户端 timestamp 非法 | |
400701 | appkey 非法 | |
400702 | appkey 失效 | |
500001 | 业务异常 | 关注响应结果message内容 |
500101 | 业务参数为空 | |
500102 | 业务参数转换异常 | |
500103 | current_page 有误 | |
500104 | page_size 有误 | |
500201 | tid 为空 | |
500202 | oids 为空 | |
500203 | tid 有误 | |
500204 | oids 有误 | |
500301 | 同步数据有误 | |
500401 | 必填字段为空 | |
500901 | 物流公司 code 为空 | |
500902 | 快递单号为空 | |
500903 | 快递公司 code 有误 | |
-1 | 系统异常 | call me |
-10 | 未知错误码 |