'2'.'nd','2'=>'3'.'rd','3'=>'4'.'th','4'=>'5'.'th','5'=>'6'.'th','7'=>'8'.'th','8'=>'9'.'th'); $printnumber = ($data['printnumber']==0)?'':'-'.$cs[$data['printnumber']]; if($data['country'] == 'United States') { $ToState = array('alabama'=>'AL','alaska'=>'AK','arizona'=>'AZ','arkansas'=>'AR','california'=>'CA','colorado'=>'CO','connecticut'=>'CT','delaware'=>'DE','florida'=>'FL','georgia'=>'GA','hawaii'=>'HI','idaho'=>'ID','illinois'=>'IL','indiana'=>'IN','iowa'=>'IA','kansas'=>'KS','kentucky'=>'KY','louisiana'=>'LA','maine'=>'ME','maryland'=>'MD','massachusetts'=>'MA','michigan'=>'MI','minnesota'=>'MN','mississippi'=>'MS','missouri'=>'MO','montana'=>'MT','nebraska'=>'NE','nevada'=>'NV','new hampshire'=>'NH','new jersey'=>'NJ','new mexico'=>'NM','new york'=>'NY','north carolina'=>'NC','north dakota'=>'ND','ohio'=>'OH','oklahoma'=>'OK','oregon'=>'OR','pennsylvania'=>'PA','rhode island'=>'RI','south carolina'=>'SC','south dakota'=>'SD','tennessee'=>'TN','texas'=>'TX','utah'=>'UT','vermont'=>'VT','virginia'=>'VA','washington'=>'WA','west virginia'=>'WV','wisconsin'=>'WI','wyoming'=>'WY','district of columbia'=>'DC','virgin islands'=>'VI','guam'=>'GU','puerto rico'=>'PR'); $data['province'] = preg_replace('/( | | |\s)/',' ',$data['province']); $data['province'] = trim($data['province'],' '); $dataprovince = strlen($data['province'])==2?$data['province']:$ToState[strtolower($data['province'])]; $data['province'] = strtoupper($dataprovince); } if($data['country'] == 'Canada') { $ToState = array('ontario'=>'ON','quebec'=>'QC','nova scotia'=>'NS','new brunswick'=>'NB','manitoba'=>'MB','british columbia'=>'BC','prince edward island'=>'PE','saskatchewan'=>'SK','alberta'=>'AB','newfoundland and labrador'=>'NL','northwest territories'=>'NT','yukon'=>'YT','nunavut'=>'NU'); $data['province'] = preg_replace('/( | | |\s)/',' ',$data['province']); $data['province'] = trim($data['province'],' '); $dataprovince = strlen($data['province'])==2?$data['province']:$ToState[strtolower($data['province'])]; $data['province'] = strtoupper($dataprovince); } $userToken = '40b1df5b5f4a4f84a4eb6186f40099d4'; $request['orderNo'] = $data['number'].$printnumber; $request['transportWayCode'] = 'UPS0'; $request['cargoCode'] = 'W'; $request['originCountryCode'] = $data['warehouse']['lb']; $request['destinationCountryCode'] = $data['lb']; $request['pieces'] = $data['zjs']; $request['shipperName'] = $data['warehouse']['company']; $request['shipperAddress'] = $data['warehouse']['address']; $request['shipperTelephone'] = $data['warehouse']['phone']; $request['consigneeName'] = $data['name']; $request['street'] = $data['address']; $request['city'] = $data['city']; $request['province'] = $data['province']; $request['consigneePostcode'] = $data['zipcode']; $request['consigneeTelephone'] = $data['phone']; $request['weight'] = '0.5'; $request['insured'] = 'N'; $request['goodsCategory'] = 'O'; for($j = 0;$j<$data['zjs'];$j++) { $goods[] = array( 'name' => $data['sbpm'],//英文申报品名 'cnName' => $data['zwpm'],//中文申报品名 'pieces' => $data['ts'],//条数 'netWeight' => sprintf("%.2f",'0.5'/$data['ts']),//单条重量 'unitPrice' => $data['dtsbjz'],//单条申报价值 'customsNo' => '6704200000'//海关编码 ); } $request['declareItems'] = $goods; $client = new SoapClient ("http://42.123.127.204:8086/xms/services/order?wsdl", array ('encoding' => 'UTF-8')); $order_register = $client->createAndAuditOrder($userToken,$request); if($order_register->success && $order_register->trackingNo) { $label = 'http://42.123.127.204:8086/xms/client/order_online!print.action?userToken='.$userToken.'&trackingNo='.$order_register->trackingNo.'&pageSizeCode=7&printSelect=1&showCnoBarcode=0';//pageSizeCode:“1”表示80.5mm × 90mm“2”表示105mm × 210mm“3”表示A4“7”表示100mm × 150mm“4”表示102mm × 76mm“5”表示110mm × 85mm“6”表示100mm × 100mm。printSelect:1 地址标签打印 11 报关单 2 地址标签+配货信息 3 地址标签+报关单 12 特殊100mm×100mm地址。showCnoBarcode:是否显示客户单号, 0代表不显示(默认),1代表显示。trackingNo:orderId/orderNo/trackingNo->订单编号/客户单号/跟踪单号 $g = array('x'=>'1','waybill'=>$order_register->trackingNo,'label'=>$label); } else { if(isset($order_register->error->errorInfo)) { $g = array('x'=>'0','Description'=>$order_register->error->errorInfo); } else { $g = array('x'=>'0','Description'=>'该订单未在UPS系统中彻底删除或未知错误'); } } return $g; } public function get_del($data) { $cs = array('1'=>'2'.'nd','2'=>'3'.'rd','3'=>'4'.'th','4'=>'5'.'th','5'=>'6'.'th','7'=>'8'.'th','8'=>'9'.'th'); $printnumber = ($data['printnumber']==0)?'':'-'.$cs[$data['printnumber']]; $userToken = '40b1df5b5f4a4f84a4eb6186f40099d4'; $request['orderId'] = $data['number'].$printnumber; $client = new SoapClient ("http://42.123.127.204:8086/xms/services/order?wsdl", array ('encoding' => 'UTF-8')); $order_register = $client->deleteOrder($userToken,$request); return $order_register; } public function get_oooooo($data) { $data['address'] = str_replace(array('#','&','&'),array('%23','%26'),$data['address']); $data['address2'] = str_replace(array('#','&','&'),array('%23','%26'),$data['address2']); $data['client'] = str_replace(array('#','&','&'),array('%23','%26'),$data['client']); $data['name'] = str_replace(array('#','&','&'),array('%23','%26'),$data['name']); $xml = ""; $xml .= ""; $xml .= "8a3ddab172a74ad887be919a2aa41641"; //会员唯一标识 $xml .= "";//创建订单请求 $xml .= ""; //客户单号 $xml .= ""; //服务商跟踪号码 $xml .= "W";//货物类型。取值范围[W:包裹/D:文件] $xml .= "SGPOSTG"; //运输方式代码 $xml .= "O";//物品类别。取值范围[G:礼物/D:文件/S:商业样本/R:回货品/O:其他] //$xml .= "bag";//物品类别 $xml .= "N";//购买保险(投保:Y,不投保:N)。 $xml .= "1"; //货物件数 $xml .= "0.386";//货物重量 $xml .= "CN"; //起运国家二字简码。 $xml .= "AU";//目的国家二字简码 $xml .= "XXX company";//收件人公司名称 $xml .= "Bruce Lee";//收件人姓名 //$xml .= "01088223345";//收件人固定电话 $xml .= "13688888888";//收件人手机 $xml .= "Lipovaja 2345 Orenburg";//收件人街道 200字符 $xml .= "Orenburg";//收件人城市 $xml .= "Russia";//收件人州/省 $xml .= "10001"; //收件人邮编 $xml .= "xxx street";//发件人地址 $xml .= "Hlt limit comany";//发件人公司名称 $xml .= "Zhangsan";//发件人姓名 $xml .= "518000";//发件人邮编 //$xml .= "07558888888"; //发件人固定电话 $xml .= "13132222222"; //发件人手机 $xml .= ""; $xml .= "Canvas bag";//英文申报品名 $xml .= "帆布袋"; //中文申报名 $xml .= "1";//件数 $xml .= "0.683";//净重 $xml .= "8.6";//单价 $xml .= "";//配货备注 $xml .= "6104220010";//海关编码 $xml .= ""; $xml .= ""; $xml .= ""; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://42.123.127.204:8086/xms/admin/page!login.action'); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); $result_xml = curl_exec($ch); //$result_xml = str_replace(array(':','-'), '', $result_xml); //@$values = json_decode(json_encode(simplexml_load_string($result_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $result_xml; //Description提示错误 LabelImage运单PDF BarcodeNumber运单号 } public function get_ex() { $userToken = '40b1df5b5f4a4f84a4eb6186f40099d4'; $request['userToken'] = '40b1df5b5f4a4f84a4eb6186f40099d4'; $client = new SoapClient ("http://42.123.127.204:8086/xms/services/order?wsdl", array ('encoding' => 'UTF-8')); $order_register = $client->getTransportWayList($userToken,$request); return $order_register; } public function get_address($data) { } public function get_manifest($fullorder) //生成发货清单 { } public function get_logistics_zt($v) //阿里云云市场 暂停 { $host = "https://ali-deliver.showapi.com"; $path = "/showapi_expInfo"; $method = "GET"; $appcode = "008b9815e9fa49c49ba3a95f83f662f6"; $headers = array(); array_push($headers, "Authorization:APPCODE " . $appcode); $querys = "com=upsen&nu=".$v['waybill']; $bodys = ""; $url = $host . $path . "?" . $querys; $v['exstate'] = (isset($v['exstate']))?$v['exstate']:'';//非订单查询无此属性 $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //curl_setopt($curl, CURLOPT_HEADER, true); if (1 == strpos("$".$host, "https://")) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); } $read = json_decode(curl_exec($curl),true); if(!isset($read['showapi_res_body']['status'])) { $content = (isset($read['showapi_res_body']['msg']))?date('Y-m-d H',time()).'-'.$read['showapi_res_body']['msg']:date('Y-m-d H',time()).'-'.'查询失败'; $list = array('content'=>$content,'f'=>0);//非正常只更改详情信息 } else if($read['showapi_res_body']['status'] > 1 && $read['showapi_res_body']['status'] != $v['exstate']) { $exstate = $read['showapi_res_body']['status']; $content = $read['showapi_res_body']['data'][0]['time'].' - '.$read['showapi_res_body']['data'][0]['context']; $xq = '';$pd = '';$i = 0; foreach($read['showapi_res_body']['data'] as $v) { if($i == '0') { $pd = $v['context']; } $xq .= $v['time'].' '.$v['context'].'
'; $i++; } if($exstate == 2) { $exstate = 3; } else if($exstate == 3) { $exstate = 5; } else if($exstate == 4 && stripos($pd,"可取件") === false) { $exstate = 6; } else if($exstate == 4 && stripos($pd,"可取件") !== false) { $exstate = 5; } else if($exstate == 9 || $exstate == 5) { $exstate = 1; } $list = array('exstate'=>$exstate,'content'=>$content,'f'=>1,'data'=>$xq);//正常可发送站内信 } else { $content = (isset($read['showapi_res_body']['msg']))?date('Y-m-d H',time()).'-'.$read['showapi_res_body']['msg']:date('Y-m-d H',time()).'-'.'查询失败'; $list = array('content'=>$content,'f'=>0);//非正常只更改详情信息 } return $list; //status : -1 待查询 0 查询异常 1 暂无记录 2 在途中 3 派送中 4 已签收 5 用户拒签 6 疑难件 7 无效单 8 超时单 9 签收失败 10 退回 } public function get_logistics($v) //17track.net { $url = 'https://api.17track.net/track/v1/register'; $data = '[{"number":"'.$v['waybill'].'","carrier":"100002"}]'; //运输商key查询https://res.17track.net/asset/carrier/info/carrier.all.json $header[] = "17token:0811AC1711EAABB7D764D04B824F8C2D"; $header[] = "Content-Type:application/json"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $res = curl_exec($ch); curl_close($ch); $res = json_decode($res,true); if(isset($res['data']['accepted']['0']['origin'])) { $list = array('exstate'=>0,'content'=>'','f'=>1,'data'=>'','webhookregister'=>1); } else { $list = array('content'=>$res['data']['rejected']['0']['error']['message'],'f'=>0); } } } //end class