PHP调用快递查询API代码示例.docx
《PHP调用快递查询API代码示例.docx》由会员分享,可在线阅读,更多相关《PHP调用快递查询API代码示例.docx(9页珍藏版)》请在冰点文库上搜索。
PHP调用快递查询API代码示例
PHP调用快递查询API代码示例
这是一个互联网时代,传统的物流已经难以满足大家的需求,而快递鸟这一智能物流服务平台的出现成了物流服务的新宠,不仅查询方便,隐私方面也做得很不错,那么PHP调用快递查询API代码是怎样的呢?
下面我们一起来看一下。
PHPClassExample
安装:
1.复制TrackingmoreAPI类的代码到你需要的位置,具体API类的代码放在本文档的后半部分,
2.在这一行填写你自己在后台生成的apikey,protected$apiKey='YOURAPIKEY';
3.在程序中包含这个类.
列出所有运输商
$track=newTrackingmore;
$track=$track->getCarrierList();
通过单号自动识别运输商
$track=newTrackingmore;
$trackingNumber='RM121546236CN';
$track=detectCarrier($trackingNumber);
列出所有的跟踪
$track=newTrackingmore;
$page=1;
$limit=50;
$createdAtMin=time()-7*24*60*60;$createdAtMax=time();
$track=$track->getTrackingsList($page,$limit,$createdAtMin,$createdAtMax);
创建一个跟踪项目
$track=newTrackingmore;
$extraInfo['title']='iphone6';$extraInfo['customer_name']='charsechen';$extraInfo['customer_email']='chasechen@';$extraInfo['order_id']='8988787987';$track=$track->createTracking('china-post','RM121516216CN',$extraInfo);
创建多个跟踪
$track=newTrackingmore;
$items=array(
array(
'tracking_number'=>'RM131516216CN',
'carrier_code'=>'china-post',
'title'=>'iphone6',
'customer_name'=>'charsechen',
'customer_email'=>'chasechen@',
'order_id'=>'8988787987'
),
array(
'tracking_number'=>'RM111516216CN',
'carrier_code'=>'china-post',
'title'=>'iphone6s',
'customer_name'=>'clooneychen',
'customer_email'=>'clooneychen@',
'order_id'=>'898874587'
),
);
$track=$track->createMultipleTracking($items);
获取跟踪单个跟踪结果
$track=newTrackingmore;
$track=$track->getSingleTrackingResult('china-post','RM131516216CN');
更新跟踪项目
$track=newTrackingmore;
$extraInfo['title']='iphone6';
$extraInfo['customer_name']='charsechen';
$extraInfo['customer_email']='chasechen@';$extraInfo['order_id']='8988787987';
$track=$track->updateTrackingItem('china-post','RM131516216CN',$extraInfo);
删除跟踪项目
$track=newTrackingmore;
$track=$track->deleteTrackingItem('china-post','RM131516216CN');
获取单次跟踪的实时跟踪结果
$track=newTrackingmore;
$track=$track->getRealtimeTrackingResults('china-post','RM131516216CN');
PHPClassExampleAPI类的代码如下,你可以将下列代码复制到代码编辑器中,这样会看起来整齐一些,:
classTrackingmore{constAPI_BASE_URL='';
constROUTE_CARRIERS='carriers/';constROUTE_CARRIERS_DETECT='carriers/detect';constROUTE_TRACKINGS='trackings';
constROUTE_LIST_ALL_TRACKINGS='trackings/get';constROUTE_CREATE_TRACKING='trackings/post';constROUTE_TRACKINGS_BATCH='trackings/batch';
constROUTE_TRACKINGS_REALTIME='trackings/realtime';protected$apiKey='yourapikey';
protectedfunction_getApiData($route,$method='GET',$sendData=array()){$method=strtoupper($method);
$requestUrl=self:
:
API_BASE_URL.$route;$curlObj=curl_init();curl_setopt($curlObj,CURLOPT_URL,$requestUrl);
if($method=='GET'){curl_setopt($curlObj,CURLOPT_HTTPGET,true);}elseif($method=='POST'){
curl_setopt($curlObj,CURLOPT_POST,true);}elseif($method=='PUT'){curl_setopt($curlObj,CURLOPT_PUT,true);
}else{curl_setopt($curlObj,CURLOPT_CUSTOMREQUEST,$method);}
curl_setopt($curlObj,CURLOPT_CONNECTTIMEOUT,10);curl_setopt($curlObj,CURLOPT_TIMEOUT,90);
curl_setopt($curlObj,CURLOPT_RETURNTRANSFER,true);curl_setopt($curlObj,CURLOPT_HEADER,0);
$headers=array('Trackingmore-Api-Key:
'.$this->apiKey,'Content-Type:
application/json',
);if($sendData){$dataString=$sendData);
curl_setopt($curlObj,CURLOPT_POSTFIELDS,$dataString);$headers[]='Content-Length:
'.strlen($dataString);}
curl_setopt($curlObj,CURLOPT_HTTPHEADER,$headers);$response=curl_exec($curlObj);curl_close($curlObj);
unset($curlObj);return$response;}
//ListallcarrierspublicfunctiongetCarrierList(){$returnData=array();
$requestUrl=self:
:
ROUTE_CARRIERS;$result=$this->_getApiData($requestUrl,'GET');if($result){
$returnData=$result,true);}return$returnData;
}/*Detectacarrierbytrackingcode
*@paramstring$trackingNumberTrackingnumber*@returnarray*/
publicfunctiondetectCarrier($trackingNumber){$returnData=array();
$requestUrl=self:
:
ROUTE_CARRIERS_DETECT;$sendData['tracking_number']=$trackingNumber;$result=$this->_getApiData($requestUrl,'POST',$sendData);
if($result){$returnData=$result,true);}
return$returnData;}
/***Listalltrackings*@accesspublic
*@paramint$pagePagetodisplay(optional)*@paramint$limitItemsperpage(optional)*@paramint$createdAtMinStartdateandtimeoftrackingscreated(optional)
*@paramint$createdAtMax*@returnarray*/
publicfunctiongetTrackingsList($page=1,$limit=100,$createdAtMin=0,$createdAtMax=0){$returnData=array();$sendData=array();
$requestUrl=self:
:
ROUTE_LIST_ALL_TRACKINGS;$createdAtMax=!
empty($createdAtMax)?
$createdAtMax:
time();$sendData['page']=$page;
$sendData['limit']=$limit;$sendData['created_at_min']=$createdAtMin;$sendData['created_at_max']=$createdAtMax;
$result=$this->_getApiData($requestUrl,'GET',$sendData);if($result){$returnData=$result;
}
return$returnData;}
/***Createatrackingitem
*@accesspublic*@paramstring$trackingNumberTrackingnumber*@paramstring$carrierCodeCarriercode
*@paramarray$extraInfoTitle,Customername,email,orderID(optional)*@returnarray*/
publicfunctioncreateTracking($carrierCode,$trackingNumber,$extraInfo=array()){$returnData=array();$sendData=array();
$requestUrl=self:
:
ROUTE_CREATE_TRACKING;$sendData['tracking_number']=$trackingNumber;
$sendData['carrier_code']=$carrierCode;$sendData['title']=!
empty($extraInfo['title'])?
$extraInfo['title']:
null;$sendData['customer_name']=!
empty($extraInfo['customer_name'])?
$extraInfo['customer_name']:
null;
$sendData['customer_email']=!
empty($extraInfo['customer_email'])?
$extraInfo['customer_email']:
null;$sendData['order_id']=!
empty($extraInfo['order_id'])?
$extraInfo['order_id']:
null;
$result=$this->_getApiData($requestUrl,'POST',$sendData);if($result){$returnData=$result,true);
}return$returnData;}
/***Createmultipletrackings.
*@accesspublic*@paramarray$multipleDataMultipletrackingnumber,carriercode,title,customername,customeremail,orderid*@returnarray
*/publicfunctioncreateMultipleTracking($multipleData){$returnData=array();
$sendData=array();$requestUrl=self:
:
ROUTE_TRACKINGS_BATCH;if(!
empty($multipleData)){
foreach($multipleDataas$val){$items=array();$items['tracking_number']=!
empty($val['tracking_number'])?
$val['tracking_number']:
null;
$items['carrier_code']=!
empty($val['carrier_code'])?
$val['carrier_code']:
null;$items['title']=!
empty($val['title'])?
$val['title']:
null;$items['customer_name']=!
empty($val['customer_name'])?
$val['customer_name']:
null;
$items['customer_email']=!
empty($val['customer_email'])?
$val['customer_email']:
null;$items['order_id']=!
empty($val['order_id'])?
$val['order_id']:
null;$sendData[]=$items;
}}
$result=$this->_getApiData($requestUrl,'POST',$sendData);if($result){$returnData=$result,true);
}return$returnData;}
/**
*Gettrackingresultsofasingletracking*@accesspublic*@paramstring$trackingNumberTrackingnumber
*@paramstring$carrierCodeCarriercode*@returnarray*/
publicfunctiongetSingleTrackingResult($carrierCode,$trackingNumber){
$returnData=array();$requestUrl=self:
:
ROUTE_TRACKINGS.'/'.$carrierCode.'/'.$trackingNumber;
$result=$this->_getApiData($requestUrl,'GET');if($result){$returnData=$result,true);
}return$returnData;}
/***UpdateTrackingitem
*@accesspublic*@paramstring$trackingNumberTrackingnumber*@paramstring$carrierCodeCarriercode
*@paramarray$extraInfoTitle,Customername,email,orderID(optional)*@returnarray*/
publicfunctionupdateTrackingItem($carrierCode,$trackingNumber,$extraInfo){$returnData=array();$requestUrl=self:
:
ROUTE_TRACKINGS.'/'.$carrierCode.'/'.$trackingNumber;
$sendData['title']=!
empty($extraInfo['title'])?
$extraInfo['title']:
null;$sendData['customer_name']=!
empty($extraInfo['customer_name'])?
$extraInfo['customer_name']:
null;$sendData['customer_email']=!
empty($extraInfo['customer_email'])?
$extraInfo['customer_email']:
null;
$sendData['order_id']=!
empty($extraInfo['order_id'])?
$extraInfo['order_id']:
null;$result=$this->_getApiData($requestUrl,'PUT',$sendData);if($result){
$returnData=$result,true);}return$returnData;
}/**
*Deleteatrackingitem*@accesspublic*@paramstring$trackingNumberTrackingnumber
*@paramstring$carrierCodeCarriercode*@returnarray*/
publicfunctiondeleteTrackingItem($carrierCode,$trackingNumber){$returnData=array();$requestUrl=self:
:
ROUTE_TRACKINGS.'/'.$carrierCode.'/'.$trackingNumber;
$result=$this->_getApiData($requestUrl,'DELETE');if($result){$returnData=$result,true);
}return$returnData;}
/***Getrealtimetrackingresultsofasingletracking
*@accesspublic*@paramstring$trackingNumberTrackingnumber*@paramstring$carrierCodeCarriercode
*@returnarray*/publicfunctiongetRealtimeTrackingResults($carrierCode,$trackingNumber){
$returnData=array();$requestUrl=self:
:
ROUTE_TRACKINGS_REALTIME;$sendData['tracking_number']=$trackingNumber;
$sendData['carrier_code']=$carrierCode;$result=$this->_getApiData($requestUrl,'POST',$sendData);if($result){
$returnData=$result,true);}return$returnData;
}
以上,即为Trackingmore快递查询API的PHP调用示例。
如果您还想了解更多相关信息可以,登录快递鸟官网、拨打官方电话,或者留下您的联系方式都是可以的。
快递鸟隶属于深圳市快金数据技术服务有限公司。
快金数据专注于快递,大数据事业,旗下品牌包括快递鸟,快递发发,收派宝,EDI。
快递鸟成立于2015年,通过自建EDI数据枢纽中心(已集成418家物流公司系统),为电商平台、电商ERP、仓储系统、清关公司、跨境电商、快递柜等公司提供系统级发货解决方案,包括发货管理、在线下单、电子面单、轨迹数据、货物在途监控等全流程物流服务。