订单发货接口

暂时只支持整单出库,即接口调用时入参只能传父订单号。
Tips:部分发货状态下的父订单,调此接口发货,会报错:该订单当前为“部分发货”状态,无法调用此接口, 本接口为批量接口,一次发货订单数控制在100个订单内。

1.请求参数:

请求URL:

POST https://kf.fw199.com/gateway/dd/order/logistics/add

公共参数

参数名称 参数类型 是否必须 示例值 参数描述
appid String 合作伙伴AppId
timestamp String 1657525936 当前Unix时间戳,秒
seller_nick String oms38173182 抖店的账号,对应蜂巢授权返回doudianseller字段
sign String

业务参数

参数名称 参数类型 是否必须 示例值 参数描述
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是一个集合,可以批量对多个订单进行发货, 见下面的示例代码.

2. 请求示例代码(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);

    }

3. 返回结果如下:

{
    "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物流单号返回。

4. 常用问题

4.1 调用发货接口,报错存在处理中流程,请勿同时重复请求,如何解决?

a. 该报错是由于在相同的父订单下的多个子订单同时调用拆单发货接口导致的。正确的操作应该是将所有的子订单放在一次调用中,以避免同时处理相同的流程,从而导致错误。
b. 该报错是由于有相同参数的请求一起请求间隔时间太近了,建议稍后5s重试即可

文档更新时间: 2023-09-01 16:04   作者:admin