关注公众号:青山有路

中通开放平台 预约下单接口php

php admin 7年前 (2018-04-08) 2583次浏览 已收录 0个评论 扫描二维码

中通开放平台 预约下单接口php

一开始以为腾讯的接口写的挺操蛋的,结果最近对接中通的开放平台接口,发现更操蛋的事情,可能是我太矫情了,上代码吧

以下是下单场景

$orderdata = ‘{

“partnerCode”: “‘.$ordersn.'”,

“type”: 1,

“sender”: {

“id”: “‘.$openid.'”,

“name”: “‘.$arr[‘name1’].'”,

“mobile”: “‘.$arr[‘tel1’].'”,

“prov”: “‘.$pcc1[0].'”,

“city”: “‘.$pcc1[1].'”,

“county”: “‘.$pcc1[2].'”,

“address”: “‘.$arr[‘des1’].'”

},

“receiver”: {

“name”: “‘.$arr[‘name2’].'”,

“mobile”: “‘.$arr[‘tel2’].'”,

“prov”: “‘.$pcc2[0].'”,

“city”: “‘.$pcc2[1].'”,

“county”: “‘.$pcc2[2].'”,

“address”: “‘.$arr[‘des2’].'”

},

“items”: [

{

“name”: “‘.$arr[‘objtype’].'”,

“weight”: “‘.$arr[‘weight’].'”

}

],

“weight”: ‘.$arr[‘weight’].’,

“remark”: “‘.$remark.'”

}’;

$data = array(‘orderGroup’ => $orderdata);

$result = $this->actionZtoOrder(“OpenOrderCreate”,$data);

//中通接口

public function actionZtoOrder($apiname,$data){

global $_GPC,$_W;

// $url = “http://58.40.16.125:9001/”.$apiname;//测试环境

$url = “http://japi.zto.cn/”.$apiname;//生产环境

$config = pdo_fetch(“SELECT * FROM ” . tablename(‘exphelp_config’).” limit 1″);

$company_id = $config[‘company_id’];

$key = $config[‘company_key’];

$str_to_digest = “”;

foreach ($data as $k=>$v) {

$str_to_digest .= $k.”=”.$v.”&”;

}

$str_to_digest = substr($str_to_digest, 0, -1).$key;

$data_digest = base64_encode(md5($str_to_digest,TRUE));

$options = array(

‘http’ => array(

‘header’  => “Content-type: application/x-www-form-urlencoded; charset=utf-8\r\n”.

“x-companyid: “.$company_id.”\r\n”.

“x-datadigest: “.$data_digest.”\r\n”,

‘method’  => ‘POST’,

‘content’ => http_build_query($data)

)

);

$context  = stream_context_create($options);

$result = file_get_contents($url, false, $context);

$result = json_decode($result,true);

return $result;

}

取消订单:

$ordercode = “180408000332490109”;

$data = ‘[{

“orderCode”: “‘.$ordercode.'”,

“fieldName”: “status”,

“fieldValue”: “cancel”,

“reason”: “客户取消订单”

}]’;

$result = $this->actionZtoOrder(“commonOrderUpdate”,$data,”UPDATE”);

查询订单:

$orderdata = ‘{

“sendId”: “130520142010”,

“starttime”: “‘.date(‘Y-m-d H:i:s’,strtotime(‘-1 month’)).'”,

“endtime”: “‘.date(“Y-m-d H:i:s”,time()).'”,

“status”: “0,1,2,3,4,-1,-2,-3,-4,-5,99”,

“pageIndex”: “1”,

“pageSize”: “10”

}’;

$data = array(

‘data’ => $orderdata,

“company_id” => $company_id,

“msg_type”=>”SEARCH”);

$result = $this->actionZtoOrder(“commonOrderSearch”,$data);

查询订单明细:

$data = ‘ {

“orderCode”: [

“180408000332490109”

],

“sendId”: “130520142010”

} ‘;

$result = $this->actionZtoOrder(“commonOrderSearchbycode”,$data,”SEARCHBYCODE”);

 

 

 


版权所有丨如未注明 , 均为原创 , 转载请注明中通开放平台 预约下单接口php
喜欢 (3)

Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /www/wwwroot/gaowenjie.cc/wp-content/themes/Git-alpha/comments.php on line 17
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到