Model_17track.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. class Model_17track extends Lin_Model {
  3. function __construct(){
  4. parent::__construct();
  5. }
  6. public function get_logistics($v) //17track.net
  7. {
  8. if(!isset($v['servicename']))
  9. {
  10. $v['servicename'] = 1;
  11. }
  12. if($v['servicename'] == 'DHL')
  13. {
  14. $data = '[{"number":"'.$v['waybill'].'","carrier":"100001"}]';
  15. }
  16. else if($v['servicename'] == 'UPS')
  17. {
  18. $data = '[{"number":"'.$v['waybill'].'","carrier":"100002"}]';
  19. }
  20. else
  21. {
  22. $data = '[{"number":"'.$v['waybill'].'","auto_detection":"true"}]'; //运输商key查询https://res.17track.net/asset/carrier/info/carrier.all.json
  23. }
  24. $url = 'https://api.17track.net/track/v1/register';
  25. $header[] = "17token:0811AC1711EAABB7D764D04B824F8C2D";
  26. $header[] = "Content-Type:application/json";
  27. $ch = curl_init();
  28. curl_setopt($ch, CURLOPT_URL, $url);
  29. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  30. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  31. curl_setopt($ch, CURLOPT_POST, 1);
  32. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  33. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  34. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  35. $res = curl_exec($ch);
  36. curl_close($ch);
  37. $res = json_decode($res,true);
  38. if(isset($res['data']['accepted']['0']['origin']))
  39. {
  40. $list = array('exstate'=>0,'content'=>'','f'=>1,'data'=>'','webhookregister'=>1);
  41. }
  42. else
  43. {
  44. $list = array('content'=>$res['data']['rejected']['0']['error']['message'],'f'=>0);
  45. }
  46. }
  47. } //end class