|
@@ -14,6 +14,9 @@ class Model_Fedexv1 extends Lin_Model {
|
|
'secret' =>'475eb390bf334bda8b5f44f1c07b7c10',
|
|
'secret' =>'475eb390bf334bda8b5f44f1c07b7c10',
|
|
"client_id"=>"l7c6ae3d27cce34bdca31cf6e0ff4af125",
|
|
"client_id"=>"l7c6ae3d27cce34bdca31cf6e0ff4af125",
|
|
"client_secret"=>"475eb390bf334bda8b5f44f1c07b7c10",
|
|
"client_secret"=>"475eb390bf334bda8b5f44f1c07b7c10",
|
|
|
|
+ //追物流轨迹的
|
|
|
|
+ 'track_key'=>"l71bded23966b144df9fc01956f6dd655d",
|
|
|
|
+ 'track_secret'=>"61730ddbae764dcba70f4737cdaaa6e7"
|
|
];
|
|
];
|
|
|
|
|
|
public function getAccessToken(){
|
|
public function getAccessToken(){
|
|
@@ -31,7 +34,6 @@ class Model_Fedexv1 extends Lin_Model {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
public function makeAccessToken(){
|
|
public function makeAccessToken(){
|
|
$url = "/oauth/token";
|
|
$url = "/oauth/token";
|
|
$headers = [
|
|
$headers = [
|
|
@@ -53,6 +55,45 @@ class Model_Fedexv1 extends Lin_Model {
|
|
}
|
|
}
|
|
return $res['access_token'];
|
|
return $res['access_token'];
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public function getTrackToken(){
|
|
|
|
+ $res = $this->setting->find("skey='fedex_v1_track_access_token'");
|
|
|
|
+
|
|
|
|
+ if($res){
|
|
|
|
+ if(time() > $res['expiretime']){
|
|
|
|
+ $this->setting->query("DELETE FROM `crowd_setting` WHERE `skey`='fedex_v1_track_access_token'");
|
|
|
|
+ return $this->makeTrackToken();
|
|
|
|
+ }
|
|
|
|
+ return $res['svalue'];
|
|
|
|
+ }else{
|
|
|
|
+ return $this->makeTrackToken();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function makeTrackToken(){
|
|
|
|
+ $url = "/oauth/token";
|
|
|
|
+ $headers = [
|
|
|
|
+ "Content-Type:application/x-www-form-urlencoded",
|
|
|
|
+ ];
|
|
|
|
+ $params = [
|
|
|
|
+ "grant_type"=>"client_credentials",
|
|
|
|
+ "client_id"=> $this->f_config['track_key'],
|
|
|
|
+ "client_secret"=> $this->f_config['track_secret'],
|
|
|
|
+ ];
|
|
|
|
+ $params=http_build_query($params);
|
|
|
|
+ $res = $this->sendPost($url,$params,$headers);
|
|
|
|
+ if(isset($res['access_token'])){
|
|
|
|
+ $this->setting->insert([
|
|
|
|
+ 'skey'=>"fedex_v1_track_access_token",
|
|
|
|
+ 'svalue' => $res['access_token'],
|
|
|
|
+ 'expiretime' => time() + 3600 -10
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+ return $res['access_token'];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
private function setData($order_info){
|
|
private function setData($order_info){
|
|
$customer_streets = [];
|
|
$customer_streets = [];
|
|
@@ -256,7 +297,31 @@ class Model_Fedexv1 extends Lin_Model {
|
|
|
|
|
|
//根据单号获取 快递信息
|
|
//根据单号获取 快递信息
|
|
public function get_logistics($number){
|
|
public function get_logistics($number){
|
|
-
|
|
|
|
|
|
+ $url = "/track/v1/trackingnumbers";
|
|
|
|
+ $params = [
|
|
|
|
+ "includeDetailedScans"=>false,
|
|
|
|
+ "trackingInfo"=>[
|
|
|
|
+ [
|
|
|
|
+ "trackingNumberInfo"=>[
|
|
|
|
+ "trackingNumber"=> $number['waybill']
|
|
|
|
+ ]
|
|
|
|
+ ]
|
|
|
|
+ ]
|
|
|
|
+ ];
|
|
|
|
+ $headers = [
|
|
|
|
+ "Content-Type:application/json",
|
|
|
|
+ "Authorization: Bearer ".$this->getTrackToken(),
|
|
|
|
+ "x-locale" => "en_US",//这个是语种加国家
|
|
|
|
+ "Accept: application/json",
|
|
|
|
+ ];
|
|
|
|
+ $params=json_encode($params);
|
|
|
|
+ var_dump(json_encode($headers));
|
|
|
|
+ var_dump($params);
|
|
|
|
+ var_dump($this->getTrackToken());
|
|
|
|
+ $res = $this->sendPost($url,$params,$headers);
|
|
|
|
+ var_dump(json_encode($res));
|
|
|
|
+ echo "<pre>";
|
|
|
|
+ var_dump($res);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -267,7 +332,7 @@ class Model_Fedexv1 extends Lin_Model {
|
|
// 设置请求的URL
|
|
// 设置请求的URL
|
|
$all_url = $this->base_url.$url;
|
|
$all_url = $this->base_url.$url;
|
|
|
|
|
|
- var_dump($all_url);
|
|
|
|
|
|
+ //var_dump($all_url);
|
|
// 初始化cURL会话
|
|
// 初始化cURL会话
|
|
$ch = curl_init($all_url);
|
|
$ch = curl_init($all_url);
|
|
// 设置cURL选项
|
|
// 设置cURL选项
|