700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 快递鸟电子面单打印接口demo-可返回电子面单模板

快递鸟电子面单打印接口demo-可返回电子面单模板

时间:2020-09-14 07:55:24

相关推荐

快递鸟电子面单打印接口demo-可返回电子面单模板

接口支持的消息接收方式:HTTPPOST

请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"

请求、返回数据类型:只支持JSON格式

接口提供:快递鸟

电子面单可直接返回模板

(JAVA对接源码)

importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.io.UnsupportedEncodingException;.HttpURLConnection;.URL;.URLEncoder;importjava.util.HashMap;importjava.util.Map;.apache.xerces.internal.impl.dv.util.Base64;importjava.security.MessageDigest;/****快递鸟电子面单接口**/publicclassKdGoldAPIDemo{//电商IDprivateStringEBusinessID="请到快递鸟官网申请/ServiceApply.aspx";//电商加密私钥,快递鸟提供,注意保管,不要泄漏privateStringAppKey="请到快递鸟官网申请/ServiceApply.aspx";//请求url,正式环境地址:/api/EorderserviceprivateStringReqURL=":8081/api/Eorderservice";/***Json方式电子面单*@throwsException*/publicStringorderOnlineByJson()throwsException{StringrequestData="{'OrderCode':'012657700387',"+"'ShipperCode':'EMS',"+"'PayType':1,"+"'ExpType':1,"+"'Cost':1.0,"+"'OtherCost':1.0,"+"'Sender':"+"{"+"'Company':'LV','Name':'Taylor','Mobile':'15018442396','ProvinceName':'上海','CityName':'上海','ExpAreaName':'青浦区','Address':'明珠路73号'},"+"'Receiver':"+"{"+"'Company':'GCCUI','Name':'Yann','Mobile':'15018442396','ProvinceName':'北京','CityName':'北京','ExpAreaName':'朝阳区','Address':'三里屯街道雅秀大厦'},"+"'Commodity':"+"[{"+"'GoodsName':'鞋子','Goodsquantity':1,'GoodsWeight':1.0}],"+"'Weight':1.0,"+"'Quantity':1,"+"'Volume':0.0,"+"'Remark':'小心轻放',"+"'IsReturnPrintTemplate':1}";Map<String,String>params=newHashMap<String,String>();params.put("RequestData",urlEncoder(requestData,"UTF-8"));params.put("EBusinessID",EBusinessID);params.put("RequestType","1007");StringdataSign=encrypt(requestData,AppKey,"UTF-8");params.put("DataSign",urlEncoder(dataSign,"UTF-8"));params.put("DataType","2");Stringresult=sendPost(ReqURL,params);//根据公司业务处理返回的信息......returnresult;}/***MD5加密*@paramstr内容*@paramcharset编码方式*@throwsException*/@SuppressWarnings("unused")privateStringMD5(Stringstr,Stringcharset)throwsException{MessageDigestmd=MessageDigest.getInstance("MD5");md.update(str.getBytes(charset));byte[]result=md.digest();StringBuffersb=newStringBuffer(32);for(inti=0;i<result.length;i++){intval=result[i]&0xff;if(val<=0xf){sb.append("0");}sb.append(Integer.toHexString(val));}returnsb.toString().toLowerCase();}/***base64编码*@paramstr内容*@paramcharset编码方式*@throwsUnsupportedEncodingException*/privateStringbase64(Stringstr,Stringcharset)throwsUnsupportedEncodingException{Stringencoded=Base64.encode(str.getBytes(charset));returnencoded;}@SuppressWarnings("unused")privateStringurlEncoder(Stringstr,Stringcharset)throwsUnsupportedEncodingException{Stringresult=URLEncoder.encode(str,charset);returnresult;}/***电商Sign签名生成*@paramcontent内容*@paramkeyValueAppkey*@paramcharset编码方式*@throwsUnsupportedEncodingException,Exception*@returnDataSign签名*/@SuppressWarnings("unused")privateStringencrypt(Stringcontent,StringkeyValue,Stringcharset)throwsUnsupportedEncodingException,Exception{if(keyValue!=null){returnbase64(MD5(content+keyValue,charset),charset);}returnbase64(MD5(content,charset),charset);}/***向指定URL发送POST方法的请求*@paramurl发送请求的URL*@paramparams请求的参数集合*@return远程资源的响应结果*/@SuppressWarnings("unused")privateStringsendPost(Stringurl,Map<String,String>params){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newStringBuilder();try{URLrealUrl=newURL(url);HttpURLConnectionconn=(HttpURLConnection)realUrl.openConnection();//发送POST请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);//POST方法conn.setRequestMethod("POST");//设置通用的请求属性conn.setRequestProperty("accept","*/*");conn.setRequestProperty("connection","Keep-Alive");conn.setRequestProperty("user-agent","Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");conn.connect();//获取URLConnection对象对应的输出流out=newOutputStreamWriter(conn.getOutputStream(),"UTF-8");//发送请求参数if(params!=null){StringBuilderparam=newStringBuilder();for(Map.Entry<String,String>entry:params.entrySet()){if(param.length()>0){param.append("&");}param.append(entry.getKey());param.append("=");param.append(entry.getValue());System.out.println(entry.getKey()+":"+entry.getValue());}System.out.println("param:"+param.toString());out.write(param.toString());}//flush输出流的缓冲out.flush();//定义BufferedReader输入流来读取URL的响应in=newBufferedReader(newInputStreamReader(conn.getInputStream(),"UTF-8"));Stringline;while((line=in.readLine())!=null){result.append(line);}}catch(Exceptione){e.printStackTrace();}//使用finally块来关闭输出流、输入流finally{try{if(out!=null){out.close();}if(in!=null){in.close();}}catch(IOExceptionex){ex.printStackTrace();}}returnresult.toString();}}

(PHP对接源码)

<?php/****快递鸟电子面单接口*///电商IDdefined('EBusinessID')ordefine('EBusinessID','请到快递鸟官网申请/ServiceApply.aspx');//电商加密私钥,快递鸟提供,注意保管,不要泄漏defined('AppKey')ordefine('AppKey','请到快递鸟官网申请/ServiceApply.aspx');//请求url,接口正式地址:/api/Eorderservicedefined('ReqURL')ordefine('ReqURL',':8081/api/Eorderservice');//调用获取物流轨迹//-------------------------------------------------------------//构造电子面单提交信息$eorder=[];$eorder["ShipperCode"]="SF";$eorder["OrderCode"]="PM04062341";$eorder["PayType"]=1;$eorder["ExpType"]=1;$sender=[];$sender["Name"]="李先生";$sender["Mobile"]="18888888888";$sender["ProvinceName"]="李先生";$sender["CityName"]="深圳市";$sender["ExpAreaName"]="福田区";$sender["Address"]="赛格广场5401AB";$receiver=[];$receiver["Name"]="李先生";$receiver["Mobile"]="18888888888";$receiver["ProvinceName"]="李先生";$receiver["CityName"]="深圳市";$receiver["ExpAreaName"]="福田区";$receiver["Address"]="赛格广场5401AB";$commodityOne=[];$commodityOne["GoodsName"]="其他";$commodity=[];$commodity[]=$commodityOne;$eorder["Sender"]=$sender;$eorder["Receiver"]=$receiver;$eorder["Commodity"]=$commodity;//调用电子面单$jsonParam=json_encode($eorder,JSON_UNESCAPED_UNICODE);//$jsonParam=JSON($eorder);//兼容php5.2(含)以下echo"电子面单接口提交内容:<br/>".$jsonParam;$jsonResult=submitEOrder($jsonParam);echo"<br/><br/>电子面单提交结果:<br/>".$jsonResult;//解析电子面单返回结果$result=json_decode($jsonResult,true);echo"<br/><br/>返回码:".$result["ResultCode"];if($result["ResultCode"]=="100"){echo"<br/>是否成功:".$result["Success"];}else{echo"<br/>电子面单下单失败";}//-------------------------------------------------------------/***Json方式查询订单物流轨迹*/functionsubmitEOrder($requestData){$datas=array('EBusinessID'=>EBusinessID,'RequestType'=>'1007','RequestData'=>urlencode($requestData),'DataType'=>'2',);$datas['DataSign']=encrypt($requestData,AppKey);$result=sendPost(ReqURL,$datas);//根据公司业务处理返回的信息......return$result;}/***post提交数据*@paramstring$url请求Url*@paramarray$datas提交的数据*@returnurl响应返回的html*/functionsendPost($url,$datas){$temps=array();foreach($datasas$key=>$value){$temps[]=sprintf('%s=%s',$key,$value);}$post_data=implode('&',$temps);$url_info=parse_url($url);if($url_info['port']==''){$url_info['port']=80;}echo$url_info['port'];$httpheader="POST".$url_info['path']."HTTP/1.0\r\n";$httpheader.="Host:".$url_info['host']."\r\n";$httpheader.="Content-Type:application/x-www-form-urlencoded\r\n";$httpheader.="Content-Length:".strlen($post_data)."\r\n";$httpheader.="Connection:close\r\n\r\n";$httpheader.=$post_data;$fd=fsockopen($url_info['host'],$url_info['port']);fwrite($fd,$httpheader);$gets="";$headerFlag=true;while(!feof($fd)){if(($header=@fgets($fd))&&($header=="\r\n"||$header=="\n")){break;}}while(!feof($fd)){$gets.=fread($fd,128);}fclose($fd);return$gets;}/***电商Sign签名生成*@paramdata内容*@paramappkeyAppkey*@returnDataSign签名*/functionencrypt($data,$appkey){returnurlencode(base64_encode(md5($data.$appkey)));}/****************************************************************使用特定function对数组中所有元素做处理*@paramstring&$array要处理的字符串*@paramstring$function要执行的函数*@returnboolean$apply_to_keys_also是否也应用到key上*@accesspublic**************************************************************/functionarrayRecursive(&$array,$function,$apply_to_keys_also=false){static$recursive_counter=0;if(++$recursive_counter>1000){die('possibledeeprecursionattack');}foreach($arrayas$key=>$value){if(is_array($value)){arrayRecursive($array[$key],$function,$apply_to_keys_also);}else{$array[$key]=$function($value);}if($apply_to_keys_also&&is_string($key)){$new_key=$function($key);if($new_key!=$key){$array[$new_key]=$array[$key];unset($array[$key]);}}}$recursive_counter--;}/****************************************************************将数组转换为JSON字符串(兼容中文)*@paramarray$array要转换的数组*@returnstring转换得到的json字符串*@accesspublic**************************************************************/functionJSON($array){arrayRecursive($array,'urlencode',true);$json=json_encode($array);returnurldecode($json);}?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。