Пример #1
0
<?php

use Distantia\CanadaPostWs\Shipping;
use Distantia\CanadaPostWs\Type\Messages\MessagesType;
use Distantia\CanadaPostWs\Type\Shipment\ShipmentInfoType;
use Distantia\CanadaPostWs\WebService;
require_once __DIR__ . '/../../vendor/autoload.php';
// Config
define('CANADA_POST_API_CUSTOMER_NUMBER', '2004381');
define('CANADA_POST_API_CONTRACT_ID', '42708517');
define('CANADA_POST_API_KEY', '6e93d53968881714:0bfa9fcb9853d1f51ee57a');
$shipmentId = '90011451428208409';
// Initiate Canada Post's API
$Shipping = new Shipping(['api_customer_number' => CANADA_POST_API_CUSTOMER_NUMBER, 'api_key' => CANADA_POST_API_KEY, 'env' => WebService::ENV_DEV, 'ssl' => true]);
// Send request to get shipment
$shipmentResponse = $Shipping->getShipment($shipmentId);
// Output result for debug
if ($shipmentResponse instanceof ShipmentInfoType) {
    var_dump($shipmentResponse);
    $Links = $shipmentResponse->getLinks();
    if ($Links) {
        foreach ($Links as $Link) {
            echo $Link->getRel() . '<br>';
            var_dump($Link->processLink(CANADA_POST_API_KEY, true));
        }
    }
} elseif ($shipmentResponse instanceof MessagesType) {
    var_dump($shipmentResponse);
} else {
    throw new \Exception('Unexpected response.');
}