实物发货接口
订单发货通知
1.请求参数:
| 参数名 | 类型 | 说明 | 示例 | 
|---|---|---|---|
| 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
