PHPackages                             mhabibi/aftership-php-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. mhabibi/aftership-php-sdk

ActiveLibrary[API Development](/categories/api)

mhabibi/aftership-php-sdk
=========================

The PHP SDK of AfterShip API

6.0.0(10y ago)0481MITPHPPHP &gt;=5.6

Since Aug 8Pushed 10y ago1 watchersCompare

[ Source](https://github.com/mhabibi/aftership-sdk-php)[ Packagist](https://packagist.org/packages/mhabibi/aftership-php-sdk)[ RSS](/packages/mhabibi-aftership-php-sdk/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (2)Versions (4)Used By (0)

[![Picture](https://camo.githubusercontent.com/e3c6e509d47057d073427fc32a823037bfb8f26675466426a318e4d3e0b6c689/68747470733a2f2f7777772e6166746572736869702e636f6d2f6173736574732f636f6d6d6f6e2f696d672f6c6f676f2d6166746572736869702d7072656d69756d2d6272696768742e706e67)](https://camo.githubusercontent.com/e3c6e509d47057d073427fc32a823037bfb8f26675466426a318e4d3e0b6c689/68747470733a2f2f7777772e6166746572736869702e636f6d2f6173736574732f636f6d6d6f6e2f696d672f6c6f676f2d6166746572736869702d7072656d69756d2d6272696768742e706e67)\#AfterShip API PHP SDK aftership-php is a PHP SDK (module) for [AfterShip API](https://www.aftership.com/docs/api/4/). Module provides clean and elegant way to access API endpoints. **Compatible with Afership API**

Contact:

Installation
------------

[](#installation)

##### Download and Install Composer.

[](#download-and-install-composer-httpsgetcomposerorgdownload)

Then, you have 2 options to download the AfterShip PHP SDK

1. Run the following command to require AfterShip PHP SDK

```
composer require mhabibi/aftership-php-sdk

```

or 2. git pull this repo and run the following command

```
composer install

```

#### Please ensure you have installed the PHP extension CURL, you could run the following command to install it

[](#please-ensure-you-have-installed-the-php-extension-curl-you-could-run-the-following-command-to-install-it)

```
sudo apt-get install php5-curl

```

and restart the web server and PHP process.

Testing
-------

[](#testing)

1. Execulte the file: test/testing.php at your browser
2. Insert your AfterShip API Key. [How to generate AfterShip API Key](http://aftership.uservoice.com/knowledgebase/articles/401963)
3. Click the request all button or the button of the represented request

UnitTest
--------

[](#unittest)

```
vendor/bin/phpunit

```

Couriers
--------

[](#couriers)

##### Get your selected couriers list

[](#get-your-selected-couriers-list)

```
require 'vendor/autoload.php';

$couriers = new AfterShip\Couriers('AFTERSHIP_API_KEY');
$response = $couriers->get();

```

##### Get all our supported couriers list

[](#get-all-our-supported-couriers-list)

```
require 'vendor/autoload.php';

$couriers = new AfterShip\Couriers('AFTERSHIP_API_KEY');
$response = $couriers->get_all();

```

##### Detect courier by tracking number

[](#detect-courier-by-tracking-number)

```
require 'vendor/autoload.php';

$courier = new AfterShip\Couriers('AFTERSHIP_API_KEY');
$response = $courier->detect('1234567890Z');

```

Trackings
---------

[](#trackings)

##### Create a new tracking

[](#create-a-new-tracking)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$tracking_info = array(
    'slug'    => 'dhl',
    'title'   => 'My Title',
);
$response = $trackings->create('RA123456789US', $tracking_info);

```

##### Create multiple trackings

[](#create-multiple-trackings)

(Will be available soon)

##### Delete a tracking by slug and tracking number

[](#delete-a-tracking-by-slug-and-tracking-number)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->delete('dhl', 'RA123456789US');

```

##### Delete a tracking by tracking ID

[](#delete-a-tracking-by-tracking-id)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->delete_by_id('53df4a90868a6df243b6efd8');

```

##### Get tracking results of multiple trackings

[](#get-tracking-results-of-multiple-trackings)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$options = array(
    'page'=>1,
    'limit'=>10
);
$response = $trackings->get_all($options)

```

##### Get tracking results of a single tracking by slug and tracking number

[](#get-tracking-results-of-a-single-tracking-by-slug-and-tracking-number)

[https://www.aftership.com/docs/api/4/trackings/get-trackings-slug-tracking\_number](https://www.aftership.com/docs/api/4/trackings/get-trackings-slug-tracking_number)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->get('dhl', 'RA123456789US', array('title','order_id'));

```

##### Get tracking results of a single tracking by tracking ID

[](#get-tracking-results-of-a-single-tracking-by-tracking-id)

[https://www.aftership.com/docs/api/4/trackings/get-trackings-slug-tracking\_number](https://www.aftership.com/docs/api/4/trackings/get-trackings-slug-tracking_number)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->get_by_id('53df4a90868a6df243b6efd8', array('title','order_id'));

```

##### Update a tracking by slug and tracking number

[](#update-a-tracking-by-slug-and-tracking-number)

[https://www.aftership.com/docs/api/4/trackings/put-trackings-slug-tracking\_number](https://www.aftership.com/docs/api/4/trackings/put-trackings-slug-tracking_number)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$params = array(
    'smses'             => array(),
    'emails'            => array(),
    'title'             => '',
    'customer_name'     => '',
    'order_id'          => '',
    'order_id_path'     => '',
    'custom_fields'     => array()
);
$response = $trackings->update('dhl', 'RA123456789US', $params);

```

##### Update a tracking by tracking ID

[](#update-a-tracking-by-tracking-id)

[https://www.aftership.com/docs/api/4/trackings/put-trackings-slug-tracking\_number](https://www.aftership.com/docs/api/4/trackings/put-trackings-slug-tracking_number)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$params = array(
    'smses'             => array(),
    'emails'            => array(),
    'title'             => '',
    'customer_name'     => '',
    'order_id'          => '',
    'order_id_path'     => '',
    'custom_fields'     => array()
);
$response = $trackings->update_by_id('53df4a90868a6df243b6efd8', $params);

```

##### Reactivate Tracking by slug and tracking number

[](#reactivate-tracking-by-slug-and-tracking-number)

[https://www.aftership.com/docs/api/4/trackings/post-trackings-slug-tracking\_number-retrack](https://www.aftership.com/docs/api/4/trackings/post-trackings-slug-tracking_number-retrack)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->retrack('dhl','RA123456789US');

```

##### Reactivate Tracking by tracking ID

[](#reactivate-tracking-by-tracking-id)

[https://www.aftership.com/docs/api/4/trackings/post-trackings-slug-tracking\_number-retrack](https://www.aftership.com/docs/api/4/trackings/post-trackings-slug-tracking_number-retrack)

```
require 'vendor/autoload.php';

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->retrack_by_id('53df4a90868a6df243b6efd8');

```

Last Check Point
----------------

[](#last-check-point)

##### Return the tracking information of the last checkpoint of a single tracking by slug and tracking number

[](#return-the-tracking-information-of-the-last-checkpoint-of-a-single-tracking-by-slug-and-tracking-number)

[https://www.aftership.com/docs/api/4/last\_checkpoint/get-last\_checkpoint-slug-tracking\_number](https://www.aftership.com/docs/api/4/last_checkpoint/get-last_checkpoint-slug-tracking_number)

```
require 'vendor/autoload.php';

$last_check_point = new AfterShip\LastCheckPoint('AFTERSHIP_API_KEY');
$response = $last_check_point->get('dhl','RA123456789US');

```

##### Return the tracking information of the last checkpoint of a single tracking by tracking ID

[](#return-the-tracking-information-of-the-last-checkpoint-of-a-single-tracking-by-tracking-id)

[https://www.aftership.com/docs/api/4/last\_checkpoint/get-last\_checkpoint-slug-tracking\_number](https://www.aftership.com/docs/api/4/last_checkpoint/get-last_checkpoint-slug-tracking_number)

```
require 'vendor/autoload.php';

$last_check_point = new AfterShip\LastCheckPoint('AFTERSHIP_API_KEY');
$response = $last_check_point->get_by_id('53df4a90868a6df243b6efd8');

```

Notifications
-------------

[](#notifications)

##### Create a new notification by slug and tracking number

[](#create-a-new-notification-by-slug-and-tracking-number)

```
require 'vendor/autoload.php';

$notifications = new AfterShip\Notifications('AFTERSHIP_API_KEY');
$response = $notifications->create('ups', '1ZV90R483A33906706', array(
                'emails' => ['youremail@yourdomain.com']
            ))

```

##### Create a new notification by tracking ID

[](#create-a-new-notification-by-tracking-id)

```
require 'vendor/autoload.php';

$notifications = new AfterShip\Notifications('AFTERSHIP_API_KEY');
$response = $notifications->create_by_id('53df4a90868a6df243b6efd8');

```

##### Delete a notification by slug and tracking number.

[](#delete-a-notification-by-slug-and-tracking-number)

```
require 'vendor/autoload.php';

$notifications = new AfterShip\Notifications('AFTERSHIP_API_KEY');
$response = $notifications->delete('ups', '1ZV90R483A33906706', array(
                  'emails' => ['youremail@yourdomain.com']
              )));

```

##### Delete a notification by tracking ID.

[](#delete-a-notification-by-tracking-id)

```
require 'vendor/autoload.php';

$notifications = new AfterShip\Notifications('AFTERSHIP_API_KEY');
$response = $notifications->delete_by_id('53df4d66868a6df243b6f882'));

```

##### Get notification of a single tracking by slug and tracking number.

[](#get-notification-of-a-single-tracking-by-slug-and-tracking-number)

```
require 'vendor/autoload.php';

$notifications = new AfterShip\Notifications('AFTERSHIP_API_KEY');
$response = $notifications->get('dhl', '2254095771'));

```

##### Get notification of a single tracking by tracking ID

[](#get-notification-of-a-single-tracking-by-tracking-id)

```
require 'vendor/autoload.php';

$notifications = new AfterShip\Notifications('AFTERSHIP_API_KEY');
$response = $notifications->get_by_id('53df4a90868a6df243b6efd8', array('fields' => 'customer_name'));

```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 52.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~264 days

Total

3

Last Release

3773d ago

Major Versions

4.0.5 → 6.0.02016-01-19

PHP version history (2 changes)4.0.0PHP &gt;=5.3.0

6.0.0PHP &gt;=5.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/734a000bb90515b96cb71e0486f51e4580f9ba771b4fd8912bd95f884d2b42f6?d=identicon)[mhabibi](/maintainers/mhabibi)

---

Top Contributors

[![sunnychow](https://avatars.githubusercontent.com/u/6318765?v=4)](https://github.com/sunnychow "sunnychow (75 commits)")[![abishekrsrikaanth](https://avatars.githubusercontent.com/u/1639302?v=4)](https://github.com/abishekrsrikaanth "abishekrsrikaanth (40 commits)")[![teddychan](https://avatars.githubusercontent.com/u/1013507?v=4)](https://github.com/teddychan "teddychan (8 commits)")[![cordoval](https://avatars.githubusercontent.com/u/328359?v=4)](https://github.com/cordoval "cordoval (8 commits)")[![onnovos](https://avatars.githubusercontent.com/u/5764151?v=4)](https://github.com/onnovos "onnovos (6 commits)")[![russelldavies](https://avatars.githubusercontent.com/u/120115?v=4)](https://github.com/russelldavies "russelldavies (2 commits)")[![robertbasic](https://avatars.githubusercontent.com/u/166625?v=4)](https://github.com/robertbasic "robertbasic (1 commits)")[![Metabor](https://avatars.githubusercontent.com/u/2135064?v=4)](https://github.com/Metabor "Metabor (1 commits)")[![akovalyov](https://avatars.githubusercontent.com/u/2339101?v=4)](https://github.com/akovalyov "akovalyov (1 commits)")

---

Tags

trackingshippinguspstrackaftershipdhlupsFedEx

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mhabibi-aftership-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/mhabibi-aftership-php-sdk/health.svg)](https://phpackages.com/packages/mhabibi-aftership-php-sdk)
```

###  Alternatives

[shippo/shippo-php

A PHP library for connecting with multiple carriers (FedEx, UPS, USPS) using Shippo.

1711.8M2](/packages/shippo-shippo-php)[gabrielbull/ups-api

PHP UPS API

4642.4M10](/packages/gabrielbull-ups-api)[gavroche/ups-api

PHP UPS API

45613.2k](/packages/gavroche-ups-api)[sauladam/shipment-tracker

Parses tracking information for several carriers, like UPS, USPS, DHL and GLS by simply scraping the data. No need for any kind of API access.

9738.8k](/packages/sauladam-shipment-tracker)[ivanmitrikeski/laravel-shipping

Shipping package for Laravel. Supported providers: CanadaPost, USPS, UPS, FedEx and Purolator.

206.8k2](/packages/ivanmitrikeski-laravel-shipping)[pdt256/shipping

Shipping Rate API

1814.6k](/packages/pdt256-shipping)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
