<?php //电商ID defined( 'EBusinessID' ) or define( 'EBusinessID' , '请到快递鸟官网申请http://kdniao.com/reg' ); //电商加密私钥,快递鸟提供,注意保管,不要泄漏 defined( 'AppKey' ) or define( 'AppKey' , '请到快递鸟官网申请http://kdniao.com/reg' ); //请求url //测试地址 defined( 'ReqURL' ) or define( 'ReqURL' , 'http://testapi.kdniao.cc:8081/Ebusiness/EbusinessOrderHandle.aspx' ); //正式地址 //defined('ReqURL') or define('ReqURL', 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx'); //调用获取物流轨迹 //------------------------------------------------------------- $logisticResult = getExpRecommendByJson(); echo $logisticResult ; //------------------------------------------------------------- /** * Json方式 智选物流 */ function getExpRecommendByJson(){ $requestData = "{'MemberID':'123456','WarehouseID':'1','Detail':[{'OrderCode':'12345','IsCOD':0,'Sender':{'ProvinceName':'广东省','CityName':'广州','ExpAreaName':'龙岗区','Subdistrict':'布吉街道','Address':'518000'},'Receiver':{'ProvinceName':'广东','CityName':'梅州','ExpAreaName':'丰顺','Subdistrict':'布吉街道','Address':'518000'},'Goods':[{'ProductName':'包','Volume':'','Weight':'1'}]},{'OrderCode':'12346','IsCOD':0,'Sender':{'ProvinceName':'广东省','CityName':'广州','ExpAreaName':'龙岗区','Subdistrict':'布吉街道','Address':'518000'},'Receiver':{'ProvinceName':'湖南','CityName':'长沙','ExpAreaName':'龙岗区','Subdistrict':'布吉街道','Address':'518000'},'Goods':[{'ProductName':'包','Volume':'','Weight':'1'}]}]}" ; $datas = array ( 'EBusinessID' => EBusinessID, 'RequestType' => '2006' , 'RequestData' => urlencode( $requestData ) , 'DataType' => '2' , ); $datas [ 'DataSign' ] = encrypt( $requestData , AppKey); $result =sendPost(ReqURL, $datas ); //根据公司业务处理返回的信息...... return $result ; } /** * Json方式 导入运费模板 */ function importCostTemplateByJson(){ $requestData = "{'MemberID':'123456','Detail':[{'ShipperCode':'YD','SendProvince':'广东','SendCity':'广州','SendExpArea':'天河','ReceiveProvince':'湖南','ReceiveCity':'长沙','ReceiveExpArea':'龙岗','FirstWeight':'1','FirstFee':'8','AdditionalWeight':'1','AdditionalFee':'10','WeightFormula':''},{'ShipperCode':'YD','SendProvince':'广东','SendCity':'广州','SendExpArea':'天河','ReceiveProvince':'湖南','ReceiveCity':'长沙','ReceiveExpArea':'雨花','FirstWeight':'1','FirstFee':'8','AdditionalWeight':'1','AdditionalFee':'10','WeightFormula':'{{w-0}-0.4}*{{{1000-w}-0.4}+1}*4.700+ {{w-1000}-0.6}*[(w-1000)/1000]*4.700)','ShippingType':'1','IntervalList':[{'StartWeight': 1.0,'EndWeight': 2.0, 'Fee': 3.0}]}]}" ; $datas = array ( 'EBusinessID' => EBusinessID, 'RequestType' => '2004' , 'RequestData' => urlencode( $requestData ) , 'DataType' => '2' , ); $datas [ 'DataSign' ] = encrypt( $requestData , AppKey); $result =sendPost(ReqURL, $datas ); //根据公司业务处理返回的信息...... return $result ; } /** * post提交数据 * @param string $url 请求Url * @param array $datas 提交的数据 * @return url响应返回的html */ function sendPost( $url , $datas ) { $temps = array (); foreach ( $datas as $key => $value ) { $temps [] = sprintf( '%s=%s' , $key , $value ); } $post_data = implode( '&' , $temps ); $url_info = parse_url ( $url ); if ( empty ( $url_info [ 'port' ])) { $url_info [ 'port' ]=80; } $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签名生成 * @param data 内容 * @param appkey Appkey * @return DataSign签名 */ function encrypt( $data , $appkey ) { return urlencode( base64_encode (md5( $data . $appkey ))); } ?> |