php中通快递下单 代码,中通开放平台 预约下单接口php

中通开放平台 预约下单接口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”);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值