2017 © Pedro Peláez
 

library shipment-tracking-foundation

A flexible and shipment tracking library for multi carriers.

image

slince/shipment-tracking-foundation

A flexible and shipment tracking library for multi carriers.

  • Tuesday, October 31, 2017
  • by slince
  • Repository
  • 1 Watchers
  • 1 Stars
  • 664 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 3 Versions
  • 41 % Grown

The README.md

Shipment Tracking Foundation

Build Status Coverage Status Latest Stable Version Scrutinizer, (*1)

A flexible and shipment tracking library for multi carriers., (*2)

Basic Usage


$tracker = new Slince\ShipmentTracking\DHLECommerce\DHLECommerceTracker(CLIENT_ID, PASSWORD); try { $shipment = $tracker->track('CNAQV100168101'); if ($shipment->isDelivered()) { echo "Delivered"; } echo $shipment->getOrigin(); echo $shipment->getDestination(); print_r($shipment->getEvents()); //print the shipment events } catch (Slince\ShipmentTracking\Exception\TrackException $exception) { exit('Track error: ' . $exception->getMessage()); }

How to create your own tracker?

All shipment trackers must implement Slince\ShipmentTracking\Foundation\TrackerInterface, and will usually extend Slince\ShipmentTracking\Foundation\HttpAwareTracker for basic functionality if the carrier's api is based on HTTP, (*3)

namespace My\Tracker;

use Slince\ShipmentTracking\Foundation\HttpAwareTracker;
use Slince\ShipmentTracking\Foundation\Shipment;

class MyTracker extends HttpAwareTracker
{
   /**
    * {@inheritdoc}
    */
    public function track($trackingNumber)
    {
        $response = $this->getHttpClient()->get('/../endpoint', [
            'query' => [
                'tracking_number' => $trackingNumber
            ]
        ]);
        return static::buildShipment($response):
    }

    /**
     * @return Shipment
     */
    public function buildShipment($response)
    {
        //....
    }
}


$tracker = new MyTracker();
$shipment = $tracker->track('foo-tracking-number');

print_r($shipment):

You can extend all existing classes if you need., (*4)

Shipment trackers:

The following carriers are available:, (*5)

Tracker Composer Package Maintainer
DHL eCommerce slince/shipment-tracking Tao
Yanwen Exprerss(燕文物流) slince/shipment-tracking Tao
快递100 slince/shipment-tracking Tao
E邮宝/E包裹/E特快/国际EMS slince/shipment-tracking Tao

License

The MIT license. See MIT, (*6)

The Versions

31/10 2017

dev-master

9999999-dev

A flexible and shipment tracking library for multi carriers.

  Sources   Download

MIT

The Requires

 

The Development Requires

by tao

tracking usps tracker shipment parcel epacket china post

31/10 2017

1.1.0

1.1.0.0

A flexible and shipment tracking library for multi carriers.

  Sources   Download

MIT

The Requires

 

The Development Requires

by tao

tracking usps tracker shipment parcel epacket china post

09/08 2017

1.0.0

1.0.0.0

A flexible and shipment tracking library for multi carriers.

  Sources   Download

MIT

The Requires

 

The Development Requires

by tao

tracking usps tracker shipment parcel epacket china post