, (*1)
AfterShip API PHP SDK
aftership-php is a PHP SDK (module) for AfterShip API. Module provides clean and elegant way to access API endpoints. Compatible with Afership API, (*2)
Contact: support@aftership.com, (*3)
Installation
Download and Install Composer. https://getcomposer.org/download/
Then, you have 2 options to download the AfterShip PHP SDK
1. Run the following command to require AfterShip PHP SDK, (*4)
composer require mhabibi/aftership-php-sdk
or
2. git pull this repo and run the following command, (*5)
composer install
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., (*6)
Testing
- Execulte the file: test/testing.php at your browser
- Insert your AfterShip API Key. How to generate AfterShip API Key
- Click the request all button or the button of the represented request
UnitTest
vendor/bin/phpunit
Couriers
Get your selected couriers list
https://www.aftership.com/docs/api/4/couriers/get-couriers, (*7)
require 'vendor/autoload.php';
$couriers = new AfterShip\Couriers('AFTERSHIP_API_KEY');
$response = $couriers->get();
Get all our supported couriers list
https://www.aftership.com/docs/api/4/couriers/get-couriers-all, (*8)
require 'vendor/autoload.php';
$couriers = new AfterShip\Couriers('AFTERSHIP_API_KEY');
$response = $couriers->get_all();
Detect courier by tracking number
https://www.aftership.com/docs/api/4/couriers/post-couriers-detect, (*9)
require 'vendor/autoload.php';
$courier = new AfterShip\Couriers('AFTERSHIP_API_KEY');
$response = $courier->detect('1234567890Z');
Trackings
Create a new tracking
https://www.aftership.com/docs/api/4/trackings/post-trackings, (*10)
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
(Will be available soon), (*11)
Delete a tracking by slug and tracking number
https://www.aftership.com/docs/api/4/trackings/delete-trackings, (*12)
require 'vendor/autoload.php';
$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->delete('dhl', 'RA123456789US');
Delete a tracking by tracking ID
https://www.aftership.com/docs/api/4/trackings/delete-trackings, (*13)
require 'vendor/autoload.php';
$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->delete_by_id('53df4a90868a6df243b6efd8');
Get tracking results of multiple trackings
https://www.aftership.com/docs/api/4/trackings/get-trackings, (*14)
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
https://www.aftership.com/docs/api/4/trackings/get-trackings-slug-tracking_number, (*15)
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
https://www.aftership.com/docs/api/4/trackings/get-trackings-slug-tracking_number, (*16)
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
https://www.aftership.com/docs/api/4/trackings/put-trackings-slug-tracking_number, (*17)
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
https://www.aftership.com/docs/api/4/trackings/put-trackings-slug-tracking_number, (*18)
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
https://www.aftership.com/docs/api/4/trackings/post-trackings-slug-tracking_number-retrack, (*19)
require 'vendor/autoload.php';
$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->retrack('dhl','RA123456789US');
Reactivate Tracking by tracking ID
https://www.aftership.com/docs/api/4/trackings/post-trackings-slug-tracking_number-retrack, (*20)
require 'vendor/autoload.php';
$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->retrack_by_id('53df4a90868a6df243b6efd8');
Last Check Point
https://www.aftership.com/docs/api/4/last_checkpoint/get-last_checkpoint-slug-tracking_number, (*21)
require 'vendor/autoload.php';
$last_check_point = new AfterShip\LastCheckPoint('AFTERSHIP_API_KEY');
$response = $last_check_point->get('dhl','RA123456789US');
https://www.aftership.com/docs/api/4/last_checkpoint/get-last_checkpoint-slug-tracking_number, (*22)
require 'vendor/autoload.php';
$last_check_point = new AfterShip\LastCheckPoint('AFTERSHIP_API_KEY');
$response = $last_check_point->get_by_id('53df4a90868a6df243b6efd8');
Notifications
Create a new notification by slug and tracking number
https://www.aftership.com/docs/api/4/notifications/post-add-notifications, (*23)
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
https://www.aftership.com/docs/api/4/notifications/post-add-notifications, (*24)
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.
https://www.aftership.com/docs/api/4/notifications/post-remove-notifications, (*25)
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.
https://www.aftership.com/docs/api/4/notifications/post-remove-notifications, (*26)
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.
https://www.aftership.com/docs/api/4/notifications/get-notifications, (*27)
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
https://www.aftership.com/docs/api/4/notifications/get-notifications, (*28)
require 'vendor/autoload.php';
$notifications = new AfterShip\Notifications('AFTERSHIP_API_KEY');
$response = $notifications->get_by_id('53df4a90868a6df243b6efd8', array('fields' => 'customer_name'));