顺丰快递下单接入
1,豐橋注冊成為開發者https://qiao.sf-express.com/index.html網址進入注冊
2,點擊豐橋服務登錄可看到API接入點擊,登錄后完成開發者信息注冊
3,完成后您會看到,一個大大的賬號,這個賬號是測試卡號(就是用于測試的月結卡號注意重要,發送的XML文件需要),其他就是你填入的信息,個人學習的話也可以注冊的
4,進入界面的我的Aip接口添加你需要的接口(這里介紹下單)
注意:你注冊的郵箱中會收到一封郵件(打開如下)
這些都是在開發中不可缺少的信息(稍后介紹用途)
5 ,界面中還可以看到
里面可以設置請求方式默認的為HTTP和POST,可點擊查看報文里面有一個Demo
6,有我的API測試點擊直接測試
將郵箱的替換過來,在請求參數中找到custid(月結卡號)是否是自己的,然后提交可以測試,下面可以查看請求結果
7,調用成功可以在我的沙箱中查看
8,直接上代碼吧。我用的文件讀取替換的方式,將默認格式替換為自己請求的參數
<Request service='OrderService' lang='zh-CN'><Head>顧客編碼</Head>?
<Body>?
?? ?<Order?
?? ? ? ? ? ? ?orderid='mv0'?
? ? ?? ? ? ? ? ? ?express_type='1'?
?? ??? ? ?j_province='mv1'
?? ??? ? ?j_city='mv2'
?? ??? ? ?j_county='mv3'
?? ??? ? ?j_company='mv4'
?? ??? ? ?j_contact='mv5'
?? ??? ? ?j_tel='mv6'
?? ??? ? ?j_address='mv7'
? ? ? ? ? d_province='mv8'?
?? ??? ? ?d_city='mv9'?
? ? ? ? ? d_county='sv1'
?? ??? ? ?d_company='sv2'
?? ??? ? ?d_contact='sv3'?
?? ??? ? ?d_tel='sv4'
?? ??? ? ?d_address='sv5' ??
? ? ? ? ? parcel_quantity='1'?
?? ??? ? ?cargo_total_weight='sv6'
? ? ? ? ? pay_method='sv7'
? ? ? ? ? custid ='custid' ?
? ? ? ? ? customs_batchs=''
? ? ? ? ? url_flag='1'
? ? ? ? ? routelabelService='1'
?? ??? ? ?need_return_tracking_no='1'
?? ? ? ? ?declared_value_currency='CNY'
? ? ? ? ??remark='Cg3' >
?? ??? ? ? ? ? ? ??
?? ??? ? <AddedService name='INSURE' value='CNY' /> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<Cargo
?? ??? ??? ?name='Cg1'
?? ??? ??? ?count='Cg2'/> ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ?</Order>
</Body>?
</Request>
將紅色替換為你的參數
?public List<String> sf(SFInfo ExportList) {
?? ??? ?String reqXml="";
?? ??? ?try{
? ? ? ? ? ? //文件讀取,注意放的位置
?? ??? ??? ?FileInputStream is=new FileInputStream(new File("D:\\JavaWebSites\\logisticsCms\\1.order.txt"));
?? ??? ??? ? ? ?byte[] bs = new byte[is.available()];
?? ??? ? ??? ??? ?is.read(bs);
?? ??? ? ??? ??? ?reqXml = new String(bs);?? ?
?? ??? ? ??? ??? ?is.close();
?? ??? ??? ?}catch(Exception e){
?? ??? ??? ??? ?
?? ??? ??? ?}
? ? ? ?reqXml=reqXml.replace("你需要替換的","替換的屬性");//將上面XML內容進行匹配替換
?? ??? ?reqXml=reqXml.replace("mv0","請求單號");
?? ??? ?reqXml=reqXml.replace("mv1","寄件方省份");
?? ??? ?reqXml=reqXml.replace("mv2","寄件方城市");
?? ??? ?reqXml=reqXml.replace("mv3","寄件方區域);
?? ??? ?reqXml=reqXml.replace("mv4","寄件方詳細地址");
?? ??? ?reqXml=reqXml.replace("mv5","寄件方姓名");
?? ??? ?reqXml=reqXml.replace("mv7","寄件方公司");
?? ??? ?reqXml=reqXml.replace("mv6","寄件方電話號碼");
?? ??? ?//到件人
?? ??? ?reqXml=reqXml.replace("sv3",ExportList.getD_contact() );//這里的ExportList是我的實體類里面放的是到貨方和參數
?? ??? ?//省
?? ??? ?reqXml=reqXml.replace("mv8", ExportList.getD_province());
?? ??? ?//市
?? ??? ?reqXml=reqXml.replace("mv9",ExportList.getD_city());
?? ??? ?//區
?? ? ?? reqXml=reqXml.replace("sv1", ExportList.getD_county());
?? ??? ?reqXml=reqXml.replace("sv1",ExportList.getD_city());
?? ??? ?//公司名
?? ??? ?reqXml=reqXml.replace("sv2", ExportList.getD_company());
?? ??? ?//收件人
?? ??? ?reqXml=reqXml.replace("sv3",ExportList.getD_contact());
?? ??? ?//電話
?? ??? ?if(ExportList.getD_tel()!=null&&" ".equals(ExportList.getD_tel())){
?? ??? ??? ?reqXml=reqXml.replace("sv4",ExportList.getD_mobile());
?? ??? ?}else{
?? ??? ??? ?reqXml=reqXml.replace("sv4",ExportList.getD_tel());
?? ??? ?}
? ? ? ?//adress
?? ??? ?reqXml=reqXml.replace("sv5",ExportList.getD_address());
? ? ? ?//付款方式
? ? ? ? reqXml=reqXml.replace("sv7","付款方式");//1:寄方付2:收方付3:第三方付?
? ? ? ? reqXml=reqXml.replace("sv6","箱數"?);
?? ??? ?reqXml=reqXml.replace("Cg2","數量");
? ? ? ? String reqURL="http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService";
?? ? ? ?String clientCode="";//此處替換為您在豐橋平臺獲取的顧客編碼
?? ? ? ?String checkword="";//此處替換為您在豐橋平臺獲取的校驗碼
? ? ? ? CallExpressServiceTools client=CallExpressServiceTools.getInstance(); ? ??
? ? ? ? List<String> list = new ArrayList<String>() ;
? ? ? ? List<String> codelist = new ArrayList<String>() ;
? ? ? ?@SuppressWarnings("static-access")
?? ??? ?String respXml= client.callSfExpressServiceByCSIM(reqURL, reqXml, clientCode, checkword);//respXml是返回參數
? ? ? ?//到這里就結束了下面是我沒有把xml轉為json的方法直接把他化為我要用的,ERR的直接輸出中文錯誤對象,OK成功List處理(使用正則表達式)
?? ??? ? if (respXml != null) {
? ? ? ? ? ? ?String[] temp;
? ? ? ? ? ? ?temp = respXml.split("\"");
? ? ? ? ? ? for(int f = 0;f<temp.length;f++){
? ? ? ? ? ? ?? ?list.add(temp[f].replaceAll("[^\\u4e00-\\u9fa5\\w\\(\\)()]+",""));
? ? ? ? ? ? }
? ? ? ? ? ? ?? ? if(respXml.indexOf("OK") != -1 ){
? ? ? ? ? ? ?? ??? ? return list;
? ? ? ? ? ? ?? ? }else if(respXml.indexOf("ERR") != -1){
? ? ? ? ? ? ?? ??? ? for (String err : list) {
? ? ? ? ? ? ?? ??? ??? ? if (err.replaceAll("^[a-z0-9A-Z]+$", "") != null && !err.replaceAll("^[a-z0-9A-Z]+$", "").equals("")) {
? ? ? ? ? ? ?? ??? ??? ??? ? codelist.add(err.replaceAll("[a-zA-Z]+", ""));
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?}
? ? ? ? ? ? ?? ??? ? return codelist;
? ? ? ? ? ? ?? ? }
? ? ? ? ? ? ?? ?
? ? ? ? ?}
?? ??? ?return null;?? ?
?? ?}
?
?https://qiao.sf-express.com/pages/developDoc/index.html?level2=763554? 文檔查看更多
?
注意,上線需要把這些所有的沙箱環境換為自己的線上參數?,有什么需要或者錯誤指出一起學習,謝謝
總結
- 上一篇: windows 2003 下如何装 Av
- 下一篇: C语言中性别比例怎么表示,Problem