51tracking/51tracking-sdk-php
Composer 安装命令:
composer require 51tracking/51tracking-sdk-php
包简介
The PHP SDK of 51Tracking API
README 文档
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 的服务器可能发生了问题。
| Http CODE | META CODE | TYPE | MESSAGE |
|---|---|---|---|
| 200 | 200 | 成功 |
请求响应成功。 |
| 400 | 400 | 错误请求 |
请求类型错误。请查看 API 文档以了解此 API 的请求类型。 |
| 400 | 4101 | 错误请求 |
物流单号已存在。 |
| 400 | 4102 | 错误请求 |
物流单号不存在。请先使用「Create接口」将单号添加至系统。 |
| 400 | 4103 | 错误请求 |
您已超出 API 调用的创建数量。每次创建的最大数量为 40 个快递单号。 |
| 400 | 4110 | 错误请求 |
物流单号(tracking_number) 不符合规则。 |
| 400 | 4111 | 错误请求 |
物流单号(tracking_number)为必填字段。 |
| 400 | 4112 | 错误请求 |
查询ID无效。 |
| 400 | 4113 | 错误请求 |
不允许重新查询。您只能重新查询过期的物流单号。 |
| 400 | 4120 | 错误请求 |
物流商简码(courier_code)的值无效。 |
| 400 | 4121 | 错误请求 |
无法识别物流商。 |
| 400 | 4122 | 错误请求 |
特殊物流商字段缺失或填写不符合规范。 |
| 400 | 4130 | 错误请求 |
请求参数的格式无效。 |
| 400 | 4160 | 错误请求 |
空运单号(awb_number)是必需的或有效的格式。 |
| 400 | 4161 | 错误请求 |
此空运航空不支持查询。 |
| 400 | 4165 | 错误请求 |
查询失败:未创建空运单号。 |
| 400 | 4166 | 错误请求 |
删除未创建的空运单号失败。 |
| 400 | 4167 | 错误请求 |
空运单号已存在,无需再次创建。 |
| 400 | 4190 | 错误请求 |
当前查询额度不足。 |
| 401 | 401 | 未经授权 |
身份验证失败或没有权限。请检查并确保您的 API 密钥正确无误。 |
| 403 | 403 | 禁止 |
禁止访问。请求被拒绝或不允许访问。 |
| 404 | 404 | 未找到 |
页面不存在。请检查并确保您的链接正确无误。 |
| 429 | 429 | 太多请求 |
超出 API 请求限制,请稍后重试。请查看 API 文档以了解此 API 的限制。 |
| 500 | 511 | 服务器错误 |
服务器错误。请联系我们: service@51Tracking.org。 |
| 500 | 512 | 服务器错误 |
服务器错误。请联系我们:service@51Tracking.org。 |
| 500 | 513 | 服务器错误 |
服务器错误。请联系我们: service@51Tracking.org。 |
51tracking/51tracking-sdk-php 适用场景与选型建议
51tracking/51tracking-sdk-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.25k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 10 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「FedEx」 「track」 「shipping」 「tracking」 「ups」 「usps」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 51tracking/51tracking-sdk-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 51tracking/51tracking-sdk-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 51tracking/51tracking-sdk-php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Web-IT GLS Tracking API
PHP SDK for the Parcel Monkey UK API
FedEx API wrapper
The PHP SDK of TrackingMore API
Assigns UID to user and allows to perform varios actions.
PHP wrapper for DPD Germany SOAP API
统计信息
- 总下载量: 2.25k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-10-13