shipcore-nl / dpddis-api-php

DPD集成服务SOAP API PHP绑定

dev-master 2019-09-02 18:18 UTC

This package is not auto-updated.

Last update: 2024-09-21 15:42:57 UTC


README

PHP库,用于使用DPD集成服务,如http://diswiki.dpd.nl/中所述。

实现状态

安装说明

composer require shipcore-nl/dpddis-api-php

示例

创建运单标签

$delisId = 'YOUR_DELIS_ID'
$password = 'YOUR_PASSWORD';
$messageLanguage = 'en_EN';
$staging = true;

$cachedToken = null; // or load from storage 

// API Init
$dpd = new \ShipCore\DPDDis\Api($delisId, $password, $messageLanguage, $cachedToken, $staging);

$printOptions = \ShipCore\DPDDis\Entity\Shipment\Request\PrintOptions::fromDataArray([
        'paperFormat' => 'A6'
]);

$order = \ShipCore\DPDDis\Entity\Shipment\Request\Order::fromDataArray([
        'generalShipmentData' => [
            'sendingDepot' => '0522',
            'product' => 'CL',
            'sender' => [
                'name1' => 'CustomerIT',
                'street' => 'Tormentil',
                'houseNo' => '10',
                'country' => 'NL',
                'zipCode' => '5684PK',
                'city' => 'Best'
            ],
            'recipient' => [
                'name1' => 'Receiver',
                'street' => 'streetname',
                'houseNo' => '123',
                'country' => 'NL',
                'zipCode' => '5684PK',
                'city' => 'Best'
            ],
        ],
        'parcels' => [
            'customerReferenceNumber1' => 'CustRef1',
            'weight' => 360
        ],
        'productAndServiceData' => [
            'orderType' => 'consignment'
        ]
]);

// Create Label call
$orderResult = $dpd->storeOrders($printOptions, $order);

$trackingNumber = $orderResult
    ->getShipmentResponses()
    ->getParcelInformation()
    ->getParcelLabelNumber();

$labelBinary = $orderResult->getParcellabelsPDF();

file_put_contents($trackingNumber . '.pdf', $labelBinary);