trackingmore/trackingmore-sdk-php

TrackingMore API 的 PHP SDK

0.1.1 2023-11-03 07:24 UTC

This package is auto-updated.

Last update: 2024-09-04 08:40:04 UTC


README

TrackingMore API 的 PHP SDK

联系方式:manage@trackingmore.org

官方文档

文档

索引

  1. 安装
  2. 测试
  3. SDK
    1. 快递公司
    2. 追踪
    3. 航空运单

安装

选项 1(推荐):下载并安装 Composer。

运行以下命令以要求 TrackingMore PHP SDK

composer require trackingmore/trackingmore-sdk-php

使用自动加载器导入 SDK 文件

require('vendor/autoload.php');
 
use Trackingmore\TrackingMoreException;
use TrackingMore\AirWaybills;
use TrackingMore\Couriers;
use TrackingMore\Trackings;

$key = 'your 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 (TrackingMoreException $e) {
    echo $e->getMessage();
}

print_r($response);
选项 2:手动安装
  1. 将此存储库下载或克隆到指定的位置
  2. 在您的项目中引用此 SDK 的文件。请优先使用绝对路径。
<?php

require(__DIR__ . '/trackingmore/trackingmore-sdk-php/src/TrackingMoreException.php');
require(__DIR__ . '/trackingmore/trackingmore-sdk-php/src/ErrorMessages.php');
require(__DIR__ . '/trackingmore/trackingmore-sdk-php/src/Request.php');
require(__DIR__ . '/trackingmore/trackingmore-sdk-php/src/Interfaces/CouriersInterface.php');
require(__DIR__ . '/trackingmore/trackingmore-sdk-php/src/Couriers.php');
require(__DIR__ . '/trackingmore/trackingmore-sdk-php/src/Interfaces/TrackingsInterface.php');
require(__DIR__ . '/trackingmore/trackingmore-sdk-php/src/Trackings.php');
require(__DIR__ . '/trackingmore/trackingmore-sdk-php/src/Interfaces/AirWaybillsInterface.php');
require(__DIR__ . '/trackingmore/trackingmore-sdk-php/src/AirWaybills.php');

$key = 'your api key';

$couriers = new TrackingMore\Couriers($key);
$trackings = new TrackingMore\Trackings($key);
$airWaybill = new TrackingMore\AirWaybills($key);

$response = null;

try {
    //Get all couriers (couriers/all)
    $response = $couriers->getAllCouriers();
} catch (TrackingMore\TrackingMoreException $e) {
    echo $e->getMessage();
}

print_r($response);

测试

  1. 执行文件
  • 如果您是手动安装,请在浏览器中执行 'trackingmore/trackingmore-sdk-php/examples/testing.php'。
  • 如果您通过 composer 安装,请在浏览器中执行 'vendor/trackingmore/trackingmore-sdk-php/examples/testing.php'。
  1. 插入您的 TrackingMore API 密钥。 如何生成 TrackingMore API 密钥
  2. 点击请求全部按钮或表示请求的按钮。

错误处理

简单地添加 try-catch 块

try {
  $couriers = new TrackingMore\Couriers('your api key');
  $response = $couriers->getAllCouriers();
}catch(\TrackingMoreException $e) {
    echo $e->getMessage();
}

快递公司

返回所有支持快递公司的列表。

https://api.trackingmore.com/v4/couriers/all

$couriers = new TrackingMore\Couriers('your api key');
$response = $couriers->getAllCouriers();
根据提交的追踪号返回匹配的快递公司列表。

https://api.trackingmore.com/v4/couriers/detect

$couriers = new TrackingMore\Couriers('your api key');
$params = ['tracking_number'=>'92612903029511573030094531'];
$response = $couriers->detect($params);

追踪

创建追踪。

https://api.trackingmore.com/v4/trackings/create

$trackings = new TrackingMore\Trackings('your api key');
$params = ['tracking_number'=>'9400111899562537624646','courier_code'=>'usps'];
$response = $trackings->createTracking($params);
获取多个追踪的结果。

https://api.trackingmore.com/v4/trackings/get

$trackings = new TrackingMore\Trackings('your 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.trackingmore.com/v4/trackings/batch

$trackings = new TrackingMore\Trackings('your api key');
$params = [
    ['tracking_number'=>'92612903029511573030094531','courier_code'=>'usps'],
    ['tracking_number'=>'92612903029511573030094532','courier_code'=>'usps']
];
$response = $trackings->batchCreateTrackings($params);
通过 ID 更新追踪。

https://api.trackingmore.com/v4/trackings/update/{id}

$trackings = new TrackingMore\Trackings('your api key');
$params = ['customer_name'=>'New name','note'=>'New tests order note'];
$idString = '9a035f5cdd0437c55d48e223c705a66c';
$response = $trackings->updateTrackingByID($idString,$params);
通过 ID 删除追踪。

https://api.trackingmore.com/v4/trackings/delete/{id}

$trackings = new TrackingMore\Trackings('your api key');
$idString = '99f8a21408be0b436705aa84d6f91806';
$response = $trackings->deleteTrackingByID($idString);
通过 ID 重追踪过期的追踪。

https://api.trackingmore.com/v4/trackings/retrack/{id}

$trackings = new TrackingMore\Trackings('your api key');
$idString = '9a035f5cdd0437c55d48e223c705a66c';
$response = $trackings->retrackTrackingByID($idString);

航空运单

创建航空运单。

https://api.trackingmore.com/v4/awb

$airWaybill = new TrackingMore\AirWaybills('your api key');
$params = ['awb_number'=>'235-69030430'];
$response = $airWaybill->createAnAirWayBill($params);

响应代码

TrackingMore 使用常规 HTTP 响应代码来指示 API 请求的成功或失败。一般来说,2xx 范围的代码表示成功,4xx 范围的代码表示由于提供的信息而导致的错误(例如,缺少必要参数,付款失败等),而 5xx 范围的代码表示 TrackingMore 服务器的错误。