Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

14 Commits

Repository files navigation

TrackingMore API PHP SDK

The PHP SDK of TrackingMore API

Contact: manage@trackingmore.org

Official document

Document

Index

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

Installation

Option 1 (recommended): Download and Install Composer.

Run the following command to require TrackingMore PHP SDK

composer require trackingmore/trackingmore-sdk-php

Use autoloader to import SDK files

require('vendor/autoload.php');
useTrackingmore\TrackingMoreException;
useTrackingMore\AirWaybills;
useTrackingMore\Couriers;
useTrackingMore\Trackings;
$key = 'your api key';
$response = null;
$couriers = newCouriers($key);
$trackings = newTrackings($key);
$airWaybill = newAirWaybills($key);
try {
//Get all couriers (couriers/all)$response = $couriers->getAllCouriers();
} catch (TrackingMoreException$e) {
echo$e->getMessage();
}
print_r($response);
Option 2: Manual installation
  1. Download or clone this repository to desired location
  2. Reference files of this SDK in your project. Absolute path should be prefered.
<?phprequire(__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 = newTrackingMore\Couriers($key);
$trackings = newTrackingMore\Trackings($key);
$airWaybill = newTrackingMore\AirWaybills($key);
$response = null;
try {
//Get all couriers (couriers/all)$response = $couriers->getAllCouriers();
} catch (TrackingMore\TrackingMoreException$e) {
echo$e->getMessage();
}
print_r($response);

Testing

  1. Execute the file:
  • If you are install manually, please execute 'trackingmore/trackingmore-sdk-php/examples/testing.php' on your browser.
  • If you are install by composer, please execute 'vendor/trackingmore/trackingmore-sdk-php/examples/testing.php' on your browser.
  1. Insert your TrackingMore API Key. How to generate TrackingMore API Key
  2. Click the request all button or the button of the represented request.

Error handling

Simply add a try-catch block

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

Couriers

Return a list of all supported couriers.

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

$couriers = newTrackingMore\Couriers('your api key');
$response = $couriers->getAllCouriers();
Return a list of matched couriers based on submitted tracking number.

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

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

Trackings

Create a tracking.

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

$trackings = newTrackingMore\Trackings('your api key');
$params = ['tracking_number'=>'9400111899562537624646','courier_code'=>'usps'];
$response = $trackings->createTracking($params);
Get tracking results of multiple trackings.

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

$trackings = newTrackingMore\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);
Create multiple trackings (Max. 40 tracking numbers create in one call).

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

$trackings = newTrackingMore\Trackings('your api key');
$params = [
['tracking_number'=>'92612903029511573030094531','courier_code'=>'usps'],
['tracking_number'=>'92612903029511573030094532','courier_code'=>'usps']
];
$response = $trackings->batchCreateTrackings($params);
Update a tracking by ID.

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

$trackings = newTrackingMore\Trackings('your api key');
$params = ['customer_name'=>'New name','note'=>'New tests order note'];
$idString = '9a035f5cdd0437c55d48e223c705a66c';
$response = $trackings->updateTrackingByID($idString,$params);
Delete a tracking by ID.

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

$trackings = newTrackingMore\Trackings('your api key');
$idString = '99f8a21408be0b436705aa84d6f91806';
$response = $trackings->deleteTrackingByID($idString);
Retrack expired tracking by ID.

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

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

Air Waybill

Create an air waybill.

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

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

Response Code

Trackingmore uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing, a charge failed, etc.), and codes in the 5xx range indicate an TrackingMore's server error.

Http CODEMETA CODETYPEMESSAGE
200200SuccessRequest response is successful
400400BadRequestRequest type error. Please check the API documentation for the request type of this API.
4004101BadRequestTracking No. already exists.
4004102BadRequestTracking No. no exists. Please use 「Create a tracking」 API first to create shipment.
4004103BadRequestYou have exceeded the shipment quantity of API call. The maximum quantity is 40 shipments per call.
4004110BadRequestThe value of tracking_number is invalid.
4004111BadRequestTracking_number is required.
4004112BadRequestInvalid Tracking ID.
4004113BadRequestRetrack is not allowed. You can only retrack an expired tracking.
4004120BadRequestThe value of courier_code is invalid.
4004121BadRequestCannot detect courier.
4004122BadRequestMissing or invalid value of the special required fields for this courier.
4004130BadRequestThe format of Field name is invalid.
4004160BadRequestThe awb_number is required or invaild format.
4004161BadRequestThe awb airline does not support yet.
4004190BadRequestYou are reaching the maximum quota limitation, please upgrade your current plan.
401401UnauthorizedAuthentication failed or has no permission. Please check and ensure your API Key is correct.
403403ForbiddenAccess prohibited. The request has been refused or access is not allowed.
404404NotFoundPage does not exist. Please check and ensure your link is correct.
429429TooManyRequestsExceeded API request limits, please try again later. Please check the API documentation for the limit of this API.
500511ServerErrorServer error. Please contact us: service@trackingmore.org.
500512ServerErrorServer error. Please contact us: service@trackingmore.org.
500513ServerErrorServer error. Please contact us: service@trackingmore.org.

About

The PHP SDK of TrackingMore API

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages