/CH-Robinson-Laravel

C.H Robinson PHP SDK

Primary LanguagePHPApache License 2.0Apache-2.0

CH Robinson PHP SDK

Image description

This repository contains the C.H Robinson SDK and samples for the Shipments API. It includes a simplified interface to only provide simple model objects and blueprints for HTTP calls. Refer to the C.H Robinson Developer portal for more information.

Prerequisites

PHP 7 and above

Usage

Install

composer require truckhub/ch-robinson-php-sdk

Setting up credentials

Obtain your Sandbox Client ID and Client Secret from C.H Robinson.

use CHRobinson\Core\CHRobinsonHttpClient;
use CHRobinson\Core\SandboxEnvironment;

$client = new CHRobinsonHttpClient(new SandboxEnvironment(
    getenv('SANDBOX_CLIENT_ID'),
    getenv('SANDBOX_CLIENT_SECRET')
));

Examples

Sending a Milestone update with the Shipments API

use CHRobinson\Shipments\MilestoneUpdates;

$request = new MilestoneUpdates;
$request->body = [
    'eventCode' => 'X6',
    'shipmentIdentifier' => [
        'shipmentNumber' => '123456789'
    ],
    'dateTime' => [
        'eventDateTime' => '2019-12-16T18:36:13.131Z'
    ],
    'location' => [
        'address' => [
            'address1' => 'address if known, or blank',
            'city' => 'state if known, or blank',
            'stateProvinceCode' => 'state if known, or blank',
            'country' => 'US',
            'latitude' => '31.717096',
            'longitude' => '-99.132553'
        ]
    ]
];

$response = $client->execute($request);

if ($response->getStatusCode() == 201) {
    echo 'Success';
}

To work locally with the package (package development)

"repositories": [
    {
        "type": "path",
        "url": "chrobinson"
    }
],