51tracking / 51tracking-sdk-php
The PHP SDK of 51Tracking API
v1.0.3
2023-11-06 01:36 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ~6.2
This package is auto-updated.
Last update: 2024-10-06 03:48:11 UTC
README
The PHP SDK of 51Tracking API
Contact: service@51tracking.org
Official document
Index
Installation
选项 1(推荐): 下载并安装 Composer。
运行以下命令以安装 51Tracking PHP SDK
composer require 51tracking/51tracking-sdk-php
使用自动加载器导入 SDK 文件
require('vendor/autoload.php'); use Tracking51\Tracking51Exception; use Tracking51\AirWaybills; use Tracking51\Couriers; use Tracking51\Trackings; $key = 'you api key'; $response = null; $couriers = new Couriers($key); $trackings = new Trackings($key); $airWaybill = new AirWaybills($key); try { //Get all couriers (couriers/all) $response = $couriers->getAllCouriers(); } catch (Tracking51Exception $e) { echo $e->getMessage(); } print_r($response);
选项 2:手动安装
- 下载或克隆此软件源到所需位置
- 在您的项目中引用此 SDK 的文件。最好使用绝对路径。
<?php require(__DIR__ . '/51tracking/51tracking-sdk-php/src/Tracking51Exception.php'); require(__DIR__ . '/51tracking/51tracking-sdk-php/src/ErrorMessages.php'); require(__DIR__ . '/51tracking/51tracking-sdk-php/src/Request.php'); require(__DIR__ . '/51tracking/51tracking-sdk-php/src/Interfaces/CouriersInterface.php'); require(__DIR__ . '/51tracking/51tracking-sdk-php/src/Couriers.php'); require(__DIR__ . '/51tracking/51tracking-sdk-php/src/Interfaces/TrackingsInterface.php'); require(__DIR__ . '/51tracking/51tracking-sdk-php/src/Trackings.php'); require(__DIR__ . '/51tracking/51tracking-sdk-php/src/Interfaces/AirWaybillsInterface.php'); require(__DIR__ . '/51tracking/51tracking-sdk-php/src/AirWaybills.php'); $key = 'you api key'; $couriers = new Tracking51\Couriers($key); $trackings = new Tracking51\Trackings($key); $airWaybill = new Tracking51\AirWaybills($key); $response = null; try { //Get all couriers (couriers/all) $response = $couriers->getAllCouriers(); } catch (Tracking51\Tracking51Exception $e) { echo $e->getMessage(); } print_r($response);
Testing
- 执行文件:
- 如果手动安装,请在浏览器上执行 "51tracking/51tracking-sdk-php/examples/testing.php"。
- 如果通过 composer 安装,请在浏览器上执行 "vendor/51tracking/51tracking-sdk-php/examples/testing.php"。
- 插入 51Tracking API 密钥。如何生成 51Tracking API 密钥
- 点击全部请求按钮或代表请求的按钮。
Error handling
只需添加一个 try-catch 块即可
try { $couriers = new Tracking51\Couriers('you api key'); $response = $couriers->getAllCouriers(); }catch(\Tracking51Exception $e) { echo $e->getMessage(); }
Couriers
返回所有支持的快递公司列表
https://api.51Tracking.com/v4/couriers/all
$couriers = new Tracking51\Couriers('you api key'); $response = $couriers->getAllCouriers();
Trackings
单个物流单号实时添加且查询
https://api.51Tracking.com/v4/trackings/create
$trackings = new Tracking51\Trackings('you api key'); $params = ['tracking_number'=>'9400111899562537624646','courier_code'=>'usps']; $response = $trackings->createTracking($params);
获取多个物流单号的查询结果
https://api.51Tracking.com/v4/trackings/get
$trackings = new Tracking51\Trackings('you api key'); $params = ['tracking_numbers'=>'92612903029511573030094532,9400111899562539126562','courier_code'=>'usps','created_date_min'=>'2023-08-23T06:00:00+00:00','created_date_max'=>'2023-09-05T07:20:42+00:00']; $response = $trackings->getTrackingResults($params);
添加多个物流单号(一次调用最多创建 40 个物流单号)
https://api.51Tracking.com/v4/trackings/batch
$trackings = new Tracking51\Trackings('you api key'); $params = [ ['tracking_number'=>'92612903029511573030094531','courier_code'=>'usps'], ['tracking_number'=>'92612903029511573030094532','courier_code'=>'usps'] ]; $response = $trackings->batchCreateTrackings($params);
根据ID更新物流信息
https://api.51Tracking.com/v4/trackings/update/{id}
$trackings = new Tracking51\Trackings('you api key'); $params = ['customer_name'=>'New name','note'=>'New tests order note']; $idString = '9a035f5cdd0437c55d48e223c705a66c'; $response = $trackings->updateTrackingByID($idString,$params);
通过ID删除单号
https://api.51Tracking.com/v4/trackings/delete/{id}
$trackings = new Tracking51\Trackings('you api key'); $idString = '99f8a21408be0b436705aa84d6f91806'; $response = $trackings->deleteTrackingByID($idString);
通过ID重新查询过期的单号
https://api.51Tracking.com/v4/trackings/retrack/{id}
$trackings = new Tracking51\Trackings('you api key'); $idString = '9a035f5cdd0437c55d48e223c705a66c'; $response = $trackings->retrackTrackingByID($idString);
Air Waybill
查询航空运单的结果
https://api.51Tracking.com/v4/awb
$airWaybill = new Tracking51\AirWaybills('you api key'); $params = ['awb_number'=>'235-69030430']; $response = $airWaybill->createAnAirWayBill($params);
响应状态码
51Tracking 使用传统的HTTP状态码来表明 API 请求的状态。通常,2xx形式的状态码表示请求成功,4XX形式的状态码表请求发生错误(比如:必要参数缺失),5xx格式的状态码表示 51tracking 的服务器可能发生了问题。