Code Monkey home page Code Monkey logo

aftership-sdk-php's Introduction

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

Contact: [email protected]

Index

  1. Installation
  2. Testing
  3. SDK
    1. Couriers
    2. Trackings
    3. Last Check Point
    4. Notifications
  4. Webhook
  5. Contributors

Installation

Option 1: 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.
require('/path/to/repository/src/AfterShip/Exception/AftershipException.php');
require('/path/to/repository/src/AfterShip/Core/Request.php');
require('/path/to/repository/src/AfterShip/Couriers.php');
require('/path/to/repository/src/AfterShip/Trackings.php');
require('/path/to/repository/src/AfterShip/Notifications.php');
require('/path/to/repository/src/AfterShip/LastCheckPoint.php');

$key = 'AFTERSHIP API KEY';

$couriers = new AfterShip\Couriers($key);
$trackings = new AfterShip\Trackings($key);
$notifications = new AfterShip\Notifications($key);
$last_check_point = new AfterShip\LastCheckPoint($key);
Option 2: Download and Install Composer. https://getcomposer.org/download/

Run the following command to require AfterShip PHP SDK

composer require aftership/aftership-php-sdk

Use autoloader to import SDK files

require 'vendor/autoload.php';

$key = 'AFTERSHIP API KEY';

$couriers = new AfterShip\Couriers($key);
$trackings = new AfterShip\Trackings($key);
$last_check_point = new AfterShip\LastCheckPoint($key);

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

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

Couriers

Get your selected couriers list

https://www.aftership.com/docs/api/4/couriers/get-couriers

$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

$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

$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

$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)

Delete a tracking by slug and tracking number

https://www.aftership.com/docs/api/4/trackings/delete-trackings

$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

$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

$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

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->get('dhl', 'RA123456789US', array('title','order_id'));
Get tracking results of a single tracking by slug and tracking number with custom display fields

https://www.aftership.com/docs/api/4/trackings/get-trackings-slug-tracking_number

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->get('dhl', 'RA123456789US', array('fields' => 'title,order_id'));
Get tracking results of a single tracking by slug and tracking number in custom language

https://www.aftership.com/docs/api/4/trackings/get-trackings-slug-tracking_number

In case of china-post and china-ems it is possible to customize language of checkpoint messages.

$trackings = new AfterShip\Trackings('AFTERSHIP_API_KEY');
$response = $trackings->get('dhl', 'RA123456789US', array('lang' => 'en'));
Get tracking results of a single tracking by tracking ID

https://www.aftership.com/docs/api/4/trackings/get-trackings-slug-tracking_number

$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

$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

$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

$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

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

Last Check Point

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

$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

https://www.aftership.com/docs/api/4/last_checkpoint/get-last_checkpoint-slug-tracking_number

$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

$notifications = new AfterShip\Notifications('AFTERSHIP_API_KEY');
$response = $notifications->create('ups', '1ZV90R483A33906706', array(
                'emails' => ['[email protected]']
            ))
Create a new notification by tracking ID

https://www.aftership.com/docs/api/4/notifications/post-add-notifications

$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

$notifications = new AfterShip\Notifications('AFTERSHIP_API_KEY');
$response = $notifications->delete('ups', '1ZV90R483A33906706', array(
                  'emails' => ['[email protected]']
              )));
Delete a notification by tracking ID.

https://www.aftership.com/docs/api/4/notifications/post-remove-notifications

$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

$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

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

Webhook

https://www.aftership.com/docs/api/4/webhook
You could find the example code at here

Contributors

These amazing people have contributed code to this project:

aftership-sdk-php's People

Contributors

abishekrsrikaanth avatar adam0x01 avatar akovalyov avatar cordoval avatar davelegg avatar johanmeiring avatar marekyggdrasil avatar metabor avatar onnovos avatar robertbasic avatar russelldavies avatar sunnychow avatar teddychan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.