顺丰快递下单接入

1,丰桥注册成为开发者https://qiao.sf-express.com/index.html网址进入注册

2,点击丰桥服务登录可看到API接入点击,登录后完成开发者信息注册

3,完成后您会看到,一个大大的账号,这个账号是测试卡号(就是用于测试的月结卡号注意重要,发送的XML文件需要),其他就是你填入的信息,个人学习的话也可以注册的

4,进入界面的我的Aip接口添加你需要的接口(这里介绍下单)

注意:你注册的邮箱中会收到一封邮件(打开如下)

顺丰快递下单接入_第1张图片

这些都是在开发中不可缺少的信息(稍后介绍用途)

5 ,界面中还可以看到

顺丰快递下单接入_第2张图片里面可以设置请求方式默认的为HTTP和POST,可点击查看报文里面有一个Demo

顺丰快递下单接入_第3张图片

6,有我的API测试点击直接测试

顺丰快递下单接入_第4张图片

将邮箱的替换过来,在请求参数中找到custid(月结卡号)是否是自己的,然后提交可以测试,下面可以查看请求结果

顺丰快递下单接入_第5张图片

7,调用成功可以在我的沙箱中查看

8,直接上代码吧。我用的文件读取替换的方式,将默认格式替换为自己请求的参数

顾客编码 
 
                   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' >
                   

                                                                                                                                                   name='Cg1'
            count='Cg2'/>                      
         
 

将红色替换为你的参数

 public List 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 list = new ArrayList() ;
        List codelist = new ArrayList() ;

       @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                 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  文档查看更多

 

注意,上线需要把这些所有的沙箱环境换为自己的线上参数 ,有什么需要或者错误指出一起学习,谢谢

你可能感兴趣的:(快递接入)