config->item('zto'); // ZopProperties类的构造方法接收两个参数,分别是companyid和key,都需要注册中通开放平台后到个人中心查看 $properties = new ZopProperties($conf['id'], $conf['key']); $client = new ZopClient($properties); $request = new ZopRequest(); $request->setUrl($conf['host'].$path); if(isset($params['company_id'])){ $params['company_id'] = $conf['id']; } foreach ($params as $key=>$val) { $request->addParam($key,$val); } $ret = $client->execute($request); return json_decode($ret,true); } //寄送样品并获取运单号 public function shipSample($address=[]) { $data = [ 'orderGroup'=>[ "partnerCode"=> $address['trade_id'],//合作商订单号,为调用方生成,可以传订单号、主键、UUID等 "type"=> 1,//订单类型 1 普通订单(线上),2线下联系订单 默认1 "tradeId"=> $address['trade_id'],//交易号,由合作商平台产生。 "mailNo"=> "",//运单号(有则提供,线下联系订单必须提供) "sender"=> [ "id"=> strval($address['user_id']), "name"=> $address['name'], "company"=> "", "mobile"=> $address['tel'], "phone"=> "", "prov"=> $address['province'], "city"=> $address['city'], "county"=> $address['district'], "address"=> $address['address'], "zipcode"=> "" ], "receiver"=> [ "id"=> "1", "name"=> "有哈科技收样组", "company"=> " ", "mobile"=> "17321358370", "phone"=> "", "prov"=> "上海市", "city"=> "上海市", "county"=> "嘉定区", "address"=> "兴贤路1180号5栋208室", "zipcode"=> "" ], "items"=> [ [ "id"=> "1", "name"=> "唾液样本", "category"=> "电子产品", "material"=> "玻璃", "size"=> "12,11,23", "weight"=> "1", "unitprice"=> "80", "quantity"=> "1", "remark"=> "" ] ], "starttime"=> date('Y-m-d'), "endtime"=> date('Y-m-d'), "weight"=> 1, "size"=> "12,23,11", "quantity"=> 1, "price"=> 80, "freight"=> 10, "premium"=> 0, "packCharges"=> 0, "otherCharges"=> 0, "orderSum"=> 0, "collectMoneytype"=> "CNY", "collectSum"=> 1, "remark"=> "玻璃制品,请轻拿轻放" ] ]; //echo json_encode($data);die; //散客预约订单 $ret = $this->request('OpenOrderCreate',$data); /* * 返回示例 * { "result": { "esGroup": null, "markGroup": null, "orderCode": "200308000008003103" }, "message": "操作成功", "status": true, "statusCode": "0" } */ //print_r($ret); if($ret['statusCode'] == '0' && isset($ret['result']['orderCode'])){ $row_base = [ 'user_id'=>$address['user_id'],// 中通订单号 'order_code'=>$ret['result']['orderCode'],// 中通订单号 'partner_code'=>$address['trade_id'],// 中通订单号 'trade_id'=>$address['trade_id'],// 中通订单号 "sender_id"=> $address['user_id'], "sender_name"=> $address['name'], //"sender_company"=> "", "sender_mobile"=> $address['tel'], //"sender_phone"=> "", "sender_prov"=> $address['province'], "sender_city"=> $address['city'], "sender_county"=> $address['district'], "sender_address"=> $address['address'], //"sender_zipcode"=> "" ]; $row_ext = []; /* //查询订单 $ret_search = $this->commonOrderSearchbycode($ret['orderCode'],$address['user_id']); //存订单 $order = $ret['result']; if($ret_search['result']){ $detail = $ret_search['data']['order_list']; if(!empty($detail[0])){ $detail = $detail[0]; $row_ext = [ 'type'=>$order['type'],// 订单类型 'tradeid'=>$order['tradeid'],// 交易号 'mailno'=>$order['mailno'],// 运单号 'detail'=>json_encode($detail),// 原始数据 ]; } } //todo:订阅快递信息 $this->add(array_merge($row_base,$row_ext)); */ $id = $this->add($row_base); return [true,'上门取货后获取']; }else{ log_message('error', $ret['message']); } return [false,$ret['message']]; } //预约寄件-订单明细查询 public function commonOrderSearchbycode($orderCode=[],$sendId,$partnerId='') { if(!is_array($orderCode)){ $orderCode = [$orderCode]; } $params = [ "company_id"=>'', "msg_type"=>'SEARCHBYCODE', "data"=>[ "orderCode"=>$orderCode,//预约寄件下单后,获取的orderCode "sendId"=>$sendId,//发件人在合作商平台中的ID号 #"partnerId"=>"",//合作商单号,非必填 ] ]; $ret = $this->request('commonOrderSearchbycode',$params); echo(json_encode($ret));die; $ret = '{ "result": true, "reason": "", "data": { "pageIndex": 1, "pageSize": 10, "count": 100, "order_list": [ { "orderCode": "130520142013234", "type": "", "tradeid": "2701843", "mailno": "1000000000016", "sender": { "id": "130520142010", "name": "李琳", "company": "新南电子商务有限公司", "mobile": "13912345678", "phone": "021-87654321", "area": "上海市", "city": "上海市", "county": "青浦区", "address": "华新镇华志路123号", "zipcode": "610012" }, "receiver": { "id": "130520142097", "name": "杨逸嘉", "company": "逸嘉实业有限公司", "mobile": "13687654321", "phone": "010-22226789", "area": "四川省", "city": "成都市", "county": "武侯区", "address": "育德路497号", "zipcode": "610012" }, "starttime": "2013-05-2012: 00: 00", "endtime": "2013-05-2015: 00: 00", "weight": 753, "size": "12, 23, 11", "quantity": 2, "price": 12650, "freight": 1000, "premium": 50, "pack_charges": 100, "other_charges": 0, "order_sum": 0, "collect_moneytype": "CNY", "collect_sum": 1200, "remark": "请勿摔货", "create_date": "2014-12-1212: 12: 12" }, { "orderCode": "130520142013234", "type": "", "tradeid": "2701843", "mailno": "1000000000016", "sender": { "id": "130520142010", "name": "李琳", "company": "新南电子商务有限公司", "mobile": "13912345678", "phone": "021-87654321", "area": "上海市", "city": "上海市", "county": "青浦区", "address": "华新镇华志路123号", "zipcode": "610012" }, "receiver": { "id": "130520142097", "name": "杨逸嘉", "company": "逸嘉实业有限公司", "mobile": "13687654321", "phone": "010-22226789", "area": "四川省", "city": "成都市", "county": "武侯区", "address": "育德路497号", "zipcode": "610012" }, "items": [ { "id": "1234567", "name": "迷你风扇", "category": "电子产品", "material": "金属", "size": "12, 11, 23", "weight": "0.752", "unitprice": "79", "quantity": "1", "remark": "黑色大号" }, { "name": "USB3.0集线器", "quantity": "1", "remark": "" } ], "starttime": "2013-05-2012: 00: 00", "endtime": "2013-05-2015: 00: 00", "weight": 753, "size": "12, 23,11", "quantity": 2, "price": 12650, "freight": 1000, "premium": 50, "pack_charges": 100, "other_charges": 0, "order_sum": 0, "collect_moneytype": "CNY", "collect_sum": 1200, "remark": "请勿摔货", "create_date": "2014-12-1212: 12: 12" } ] } } '; $ret = json_decode($ret,true); } //获取快件轨迹信息 public function traceInterfaceNewTraces($order_id) { $conf = $this->config->item('zto'); $data = [ "company_id"=> $conf['id'], "msg_type"=> 'NEW_TRACES', "data"=> [$order_id], ]; return $this->request('traceInterfaceNewTraces',$data); $tmp = '{ "data": [ { "traces": [ { "desc": "[上海市] [上海]的张伟丰已收件 电话:17740809169", "dispOrRecMan": "张伟丰", "dispOrRecManCode": "", "dispOrRecManPhone": "17740809169", "isCenter": "T", "preOrNextCity": "", "preOrNextProv": "", "preOrNextSite": "", "preOrNextSiteCode": "", "preOrNextSitePhone": "", "remark": "", "scanCity": "上海市", "scanDate": "2017-07-26 17:30:14", "scanProv": "上海", "scanSite": "上海", "scanSiteCode": "02100", "scanSitePhone": "95311", "scanType": "收件", "signMan": "" }, { "desc": "[金华市] 快件到达 [义乌]", "dispOrRecMan": "", "dispOrRecManCode": "", "dispOrRecManPhone": "", "isCenter": "F", "preOrNextCity": "", "preOrNextProv": "", "preOrNextSite": "", "preOrNextSiteCode": "", "preOrNextSitePhone": "", "remark": "", "scanCity": "金华市", "scanDate": "2017-05-18 16:55:01", "scanProv": "浙江", "scanSite": "义乌", "scanSiteCode": "57950", "scanSitePhone": "0579-89936000", "scanType": "到件", "signMan": "" }, { "desc": "[上海市] 快件已到达[上海],业务员张伟丰正在第1次派件 电话:17740809169 请保持电话畅通、耐心等待", "dispOrRecMan": "张伟丰", "dispOrRecManCode": "", "dispOrRecManPhone": "17740809169", "isCenter": "T", "preOrNextCity": "", "preOrNextProv": "", "preOrNextSite": "", "preOrNextSiteCode": "", "preOrNextSitePhone": "", "remark": "", "scanCity": "上海市", "scanDate": "2017-07-26 17:33:27", "scanProv": "上海", "scanSite": "上海", "scanSiteCode": "02100", "scanSitePhone": "95311", "scanType": "派件", "signMan": "" }, { "desc": "[上海市] [上海总部财务]的派件已退件签收 感谢使用中通快递,期待再次为您 服务!", "dispOrRecMan": "", "dispOrRecManCode": "", "dispOrRecManPhone": "", "isCenter": "F", "preOrNextCity": "", "preOrNextProv": "", "preOrNextSite": "", "preOrNextSiteCode": "", "preOrNextSitePhone": "", "remark": "", "scanCity": "上海市", "scanDate": "2017-03-03 13:11:23", "scanProv": "上海", "scanSite": "上海总部财务", "scanSiteCode": "00088", "scanSitePhone": "", "scanType": "退件签收", "signMan": "本人" } ], "billCode": "680000000000" } ], "msg": "", "status": true }'; return json_decode($tmp,true); } //总对总订单,用不上 public function plateOrder($sample=[],$address=[]) { $data = [ "systemParameter"=> [ "serviceCode"=> "StoreDeliverGoods" ], "orderInfo"=> [ "bagSize"=> "20,10,30", "partnerCode"=> "3608036589234", "companyCode"=> "GP1551922487", "customerId"=> "zto001", "hallCode"=> "S2044", "billCode"=> null, "pickUpCode"=> null, "startTime"=> null, "endTime"=> null, "siteCode"=> "", "weight"=> 1.23, "freight"=> 0, "orderSum"=> 230.12, "otherCharges"=> 0, "packCharges"=> 0, "premium"=> 0, "price"=> 0, "quantity"=> "1", "returnAddress"=> "江苏省苏州市姑苏区绿地大道320号金茂大厦负一楼203仓库", "remark"=> "", "receiver"=> [ "address"=> "外街道00号", "city"=> "苏州市", "company"=> "中通快递", "county"=> "朝阳区", "id"=> "", "mobile"=> "13262709999", "name"=> "黄某", "phone"=> "", "prov"=> "江苏省", "zipCode"=> "" ], "sender"=> [ "address"=> "华志路1685号", "city"=> "蚌埠市", "company"=> "中通快递股份有限公司", "county"=> "怀远县", "id"=> "15097756", "mobile"=> "15216800000", "name"=> "测试", "phone"=> "", "prov"=> "安徽省", "zipCode"=> "" ] ] ]; $ret = $this->request('plateOrder',$data); return $ret; } }