51tracking/51tracking-sdk-php

The PHP SDK of 51Tracking API

v1.0.3 2023-11-06 01:36 UTC

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

Document

Index

  1. Installation
  2. Testing
  3. SDK
    1. Couriers
    2. Trackings
    3. Air Waybill

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:手动安装
  1. 下载或克隆此软件源到所需位置
  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

  1. 执行文件:
  • 如果手动安装,请在浏览器上执行 "51tracking/51tracking-sdk-php/examples/testing.php"。
  • 如果通过 composer 安装,请在浏览器上执行 "vendor/51tracking/51tracking-sdk-php/examples/testing.php"。
  1. 插入 51Tracking API 密钥。如何生成 51Tracking API 密钥
  2. 点击全部请求按钮或代表请求的按钮。

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 的服务器可能发生了问题。