订单发货接口
暂时只支持整单出库,即接口调用时入参只能传父订单号。 Tips:部分发货状态下的父订单,调此接口发货,会报错:该订单当前为“部分发货”状态,无法调用此接口, 本接口为批量接口,一次发货订单数控制在100个订单内。
一、请求参数
请求URL:
公共参数
| 参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
|---|---|---|---|---|
| appid | String | 是 | 合作伙伴AppId | |
| timestamp | String | 是 | 1657525936 | 当前Unix时间戳,秒 |
| seller_nick | String | 是 | oms38173182 | 抖店的账号,对应蜂巢授权返回doudianseller字段 |
| sign | String | 是 | ||
| sysid | int | 应用ID | 业务参数 |
request_data 业务参数包含以下字段
| 参数名称 | 参数类型 | 是否必须 | 示例值 | 参数描述 |
|---|---|---|---|---|
| order_id | String | 是 | 4782813149182887526 | 订单ID |
| logistics_id | Int64 | 否 | 0 | 已废弃。物流公司ID。请使用company_code字段。 |
| company | String | 否 | 顺丰公司 | 物流公司名称 |
| company_code | String | 否 | shunfeng、qita | 物流公司code,字段必传。可从/order/logisticsCompanyList接口获取。 |
| logistics_code | String | 否 | sf1231231231234 | 快递单号 |
| is_refund_reject | Bool | 否 | false | 是否拒绝退款申请(true表示拒绝退款,并继续发货;不传或为false表示有退款需要处理,拒绝发货),is_refund_reject和is_reject_refund随机使用一个即可 |
| is_reject_refund | Bool | 否 | false | 是否拒绝退款申请(true表示拒绝退款,并继续发货;不传或为false表示有退款需要处理,拒绝发货),is_refund_reject和is_reject_refund随机使用一个即可 |
| serial_number_list | List | 否 | [“546443524543534”,”646443524543534”] | 商品序列号,15-17位数字 |
| address_id | Int64 | 否 | 6 | 发货地址ID,通过地址库接口查询 |
向蜂巢请求时, 需要将上述字段组成json格式对象放到request_data字段中, request_data是一个集合,可以批量对多个订单进行发货, 见下面的示例代码.
二、请求示例代码
Java
@Test public void OrderLogisticsAdd() throws Exception { String reqData = "[{" + "\"order_id\": \"4948795729456854758\"," + "\"company_code\": \"zhongtong\"," + "\"logistics_code\" : \"75531717195834\"" + "}]"; Map<String, Object> data = new HashMap<String, Object>(); data.put("appid", Config.AppId); Long timestamp = System.currentTimeMillis() / 1000; data.put("timestamp", timestamp.toString()); data.put("seller_nick", Config.DDSellerNick); data.put("request_data",reqData); data.put("sign", Sign(data,Config.AppSecret)); // 调用服务API String resp = doHttpRequest(Config.DDOrderLogisticsAddUrl, data); System.out.println(resp);
}三、返回结果
{ "code": 0, "message": "ok", "data": [ { "order_id": "4948795729456854758", "company_code": "zhongtong", "logistics_code": "75531717195834", "code": 0, "msg": "" } ], "trace_id": ""}返回参数说明
说明: code为0表示系统层面成功,非0为失败,message会包含失败原因。 每个订单是否发货成功,则内层的code为准,0为成功,非0为失败。不管发货成功与否,都会将请求传入的order_id订单号、company_code快递公司代码、logistics_code物流单号返回。
四、常用问题
四(一)、调用发货接口,报错存在处理中流程,请勿同时重复请求,如何解决?
a. 该报错是由于在相同的父订单下的多个子订单同时调用拆单发货接口导致的。正确的操作应该是将所有的子订单放在一次调用中,以避免同时处理相同的流程,从而导致错误。 b. 该报错是由于有相同参数的请求一起请求间隔时间太近了,建议稍后5s重试即可