实物发货接口

订单发货通知

1.请求参数:

POST https://kf.fw199.com/gateway/pdd/logistices/onlinesend

参数名 类型 说明 示例
appid String 必填,合作伙伴AppId uwkahf@jfs92
timestamp String 必填,当前时间戳
seller_nick String 必填,拼多多卖家账号,非店铺名称 kingdo
sign String 必填,接口签名 如何计算生成见示例代码
order_sn String 必填 ,订单号 3231214234141421
logistics_id String 必填,快递公司编号,必填, 可通过查询快递公司列表获取,注意是Id不是code
tracking_number String 必填,快递单号 ,具体一个物流公司的真实运单号码。
feature String 非必填,发货个性内容, 支持imei(手机串号),deviceSn(设备序列号)内容。
refund_address_id String 非必填 , 退货地址的id,不填则取商家默认地址
redelivery_type int 非必填 , 修改发货模式:不传则默认为首次发货 1=首次发货:用于订单首次发货,仅待发货订单可传入; 2=修改发货:用于订单修改发货,调用成功后将会覆盖原发货信息,仅已发货订单可传入

2. 请求示例代码(Java)

 @Test
    public void logisticesCompanyOnineSend() throws Exception {

        String result ="";
        String sellerNick = Config.PddSellerNick ; // 拼多多卖家
        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost( Config.PddLogisticesOnlineSendUrl );
        //业务参数
        Map<String, String> data = new HashMap<String, String>();
        data.put("appid",  Config.AppId);
        data.put("seller_nick", sellerNick);
        Long timestamp = System.currentTimeMillis() / 1000;
        data.put("timestamp", timestamp.toString());


        // 订单号 ,必填
        data.put("order_sn", "200807-059090043922507");
       //  快递公司编号,必填,  可通过查询快递公司列表获取,注意是Id不是code
        data.put("logistics_id","121"); //121 yunda
        // 快递单号,必填
        data.put("tracking_number","4307495240153");

        // 发货个性内容,非必填。 支持imei(手机串号),deviceSn(设备序列号)内容。
        // 形如:imei=11,22,3333; 以 “imei=” 开头,以英文分号“;”结尾,中间为手机IMEI串号信息,多个串号以英文逗号 “,”拼接释义:该订单包含三个手机IMEI串号,分别为11、22和3333;其他内容的格式同理。
        data.put("feature","");

        // 退货地址的id,不填则取商家默认地址, 非必填
        data.put("refund_address_id","");
        data.put("redelivery_type","1");
        // 参数签名
        data.put("sign", Utils.Sign(data,Config.AppSecret));

        List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
        for (Map.Entry<String, String> entry : data.entrySet()) {
            params.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
        }
        //发起POST请求
        try {
            httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
            HttpResponse httpResponse = httpclient.execute(httpPost);
            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                result =  EntityUtils.toString(httpResponse.getEntity());
            } else {
                result =  ("doPost Error Response: " + httpResponse.getStatusLine().toString());
            }
        } catch (Exception e) {
            e.printStackTrace();

        }

        System.out.println(result);

    }

3. 返回结果如下:

{"code":0,"message":"ok","data":true} 

说明: code为0表示成功,非0为失败,message会包含失败原因。失败时一定要注意,可能商户授权过期,或是参数有误。

4. 常见问题

4.1 订单发货通知接口,调用报错“接口超时,XX秒后重试”,怎么办?

当使用淘宝或其他平台的快递单号在拼多多里发货时会出现这情况, 这是拼多多对外部单号进行发货的随机拦截。建议如果拼多多的订单使用拼多多的面单进行取号发货。 见详细说明:https://open.pinduoduo.com/application/faq?id=FEE4B0E5E90F1AC2

文档更新时间: 2023-03-14 17:00   作者:admin