A PHP library built on the ShipEngine API offering low-level access as well as convenience methods.
Table of Contents
Install ShipEngine via Composer:
composer require shipengine/shipengine- The only configuration requirement is an API Key.
The following example assumes that you have already set the
SHIPENGINE_API_KEYenvironment variable with your Api Key usingputenv().
- validateAddress - Indicates whether the provided address is valid. If the address is valid, the method returns a normalized version of the address based on the standards of the country in which the address resides.
- normalizeAddress - Returns a normalized, or standardized, version of the address. If the address cannot be normalized, an error is returned.
- trackPackage - Track a package by
packageIdor bycarrierCodeandtrackingNumber. This method returns the all tracking events for a given shipment.
- ShipEngine - A configurable entry point to the ShipEngine API SDK, this class provides convenience methods for various ShipEngine API Services.
<?php declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use ShipEngine\ShipEngine;
$apiKey = getenv('SHIPENGINE_API_KEY');
$shipengine = new ShipEngine($apiKey);- You can also pass the ShipEngine object an array containing
configurationoptions instead of a string.
<?php declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use ShipEngine\ShipEngine;
$apiKey = getenv('SHIPENGINE_API_KEY');
$config = array(
'apiKey' => $apiKey,
'pageSize' => 75,
'retries' => 3,
'timeout' => \DateInterval('PT60S')
);
$shipengine = new ShipEngine($config);- You can now run all tests using PHPUnit: phpunit
composer testYou can utilize the composer script that runs phpcs, phpstan, and php-cs-fixer.
composer lintContributions, enhancements, and bug-fixes are welcome! Open an issue on GitHub and submit a pull request.
We are managing php environment with Nix
and Direnv, and we recommend downloading
them before contributing to this project.
-
The quickest way to install Nix is to open a terminal and run the following command, make sure to follow the instructions output by the installation script:
curl -L https://nixos.org/nix/install | sh -
Next, install
Direnvusing one of th methods outlined on their install page here: Direnv Installation -
Lastly, you will need open your terminal and while this repository the current working directory and run
direnv allow, this will allowdirenvto auto-load every time you navigate to the repo. This will automatically load theNixenvironment which is running the proper version ofPHP and Xdebug (PHP 7.4)this repository supports/requires.direnv allow
- You will need to
cdout of the project directory after you first installdirenvand rundirenv allowfrom within the project directory, and thencdback into the project directory fordirenvto auto-load theNixenvironment properly.
- You will need to
This project also makes use of pre-commit hooks to help run lint and tests at time of commit, to leverage this you will
need to install pre-commit and run the following command while in this repo:
pre-commit install