德邦快遞接口開發(fā)-java(【新】下單服務(wù)接口)

查看文檔:德邦文檔鏈接

【新】下單服務(wù)接口融合了標(biāo)準(zhǔn)類的散客電子面單,快遞電子面單,零擔(dān)電子面單所有的下單接口;
該接口提供的服務(wù):
(1)快遞電子面單,零擔(dān)電子面單和散客電子面單下單,并支持預(yù)埋單號(hào)或者同步獲取運(yùn)單號(hào);
(2)軌跡訂閱

根據(jù)提交數(shù)據(jù)的格式,我們建立對(duì)應(yīng)的類文件,這樣方便轉(zhuǎn)化成對(duì)應(yīng)的json數(shù)據(jù)提交,響應(yīng)的數(shù)據(jù)也是一樣的道理。

這里給出2個(gè)類文件,剩下的根據(jù)json結(jié)構(gòu)對(duì)應(yīng)建立即可。

public class DopOrder {

    private String logisticCompanyID = "DEPPON";
    
    private String companyCode = "公司編碼"; //核算第三方接入商的公司編碼(雙方約定,建議公司簡(jiǎn)拼或者代碼,字母大寫)
    
    private String customerCode = "客戶編碼"; //與德邦crm中的客戶編碼保持一致
    
    private String orderSource = "客戶編碼";
    
    private String logisticID; //渠道單號(hào) + 單號(hào)id
    
    private int    needTraceInfo = 1; //是否需要訂閱軌跡 1:是(為是時(shí)要對(duì)接軌跡推送接口) 2:否 默認(rèn)否
    
    private int    orderType = 2; //下單模式 1、 散客模式(單量較小,平臺(tái)類,異地調(diào)貨,退換貨等發(fā)貨地址不固定-需要通知快遞員或者司機(jī)上門取件打單); 2、   大客戶模式(倉(cāng)庫(kù)發(fā)貨,固定點(diǎn)出貨,單量較大客戶自行打印標(biāo)簽,快遞員直接盲掃走貨)
    
    private DopPackageInfo packageInfo; //包裹信息
    
    private DopAddr receiver; //        收貨人信息
    
    private DopAddr sender; //  發(fā)貨人信息
    
    private DopAddService  addServices;  //增值服務(wù)
    
    private String transportType; //運(yùn)輸方式/產(chǎn)品類型  快遞運(yùn)輸方式:3.60特惠件 RCP;   精準(zhǔn)汽運(yùn)短途 (常用):JZQY_SHORT ; 精準(zhǔn)城運(yùn)(常用):JZQY_LONG ; 精準(zhǔn)空運(yùn) (一般):JZKY
    
    private String gmtCommit; //訂單提交時(shí)間 2012-11-27 18:44:19 系統(tǒng)當(dāng)前時(shí)間
    
    private int    payType; //支付方式  0:發(fā)貨人付款(現(xiàn)付) 1:收貨人付款(到付) 2:發(fā)貨人付款(月結(jié)) (電子運(yùn)單客戶不支持寄付)
    
    private String isOut = "N"; //是否外發(fā) Y:需要 N: 不需要(大客戶模式下運(yùn)輸方式為零擔(dān)時(shí)必填)
    
    private String   vistReceive = "Y";
    
    private String  remark;

    // getter and setter
}
public class DopPackageInfo {

    private String cargoName; //貨物名稱
    
    private String    deliveryType; //送貨方式 1、自提; 2、送貨進(jìn)倉(cāng); 3、送貨(不含上樓); 4、送貨上樓; 5、大件上樓
    
    private int    totalNumber; //總件數(shù)(包裹數(shù))
    
    private double totalWeight = 1; //總重量
    
    private String packageService; //包裝  包裝(直接用中文) : 紙、纖、木箱、木架、托膜、托木(大客戶模式下運(yùn)輸方式為零擔(dān)時(shí)必填)
}

通過表單,生成請(qǐng)求類數(shù)據(jù),很多web框架都支持將各種數(shù)據(jù)整合成類數(shù)據(jù):

JSONObject postJson = JSONObject.fromObject(dopOrder);
String _params = postJson.toString();

提交數(shù)據(jù)并接收響應(yīng)數(shù)據(jù),處理邏輯。

private DopOrderResponse syncOrder(long timestamp, String _params, String url) throws Exception {
    String digest = DopUtils.getDigest(_params + DopUtils.appkey + timestamp);
    Map map = new LinkedHashMap();
    map.put("params", _params);
    map.put("digest", digest);
    map.put("timestamp", String.valueOf(timestamp));
    map.put("companyCode", DopUtils.companyCode);
    
    String response = HttpClientUtils.post(url, map);
    
    System.out.println(response);
    
    JSONObject responseJson = JSONObject.fromObject(response);
    
    DopOrderResponse responseBean = (DopOrderResponse) JSONObject.toBean(responseJson, DopOrderResponse.class);
    return responseBean;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容