1. Go to this page and download the library: Download kskby/dpd library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kskby / dpd example snippets
$config = new \Ipol\DPD\Config\Config([
// ... параметры авторизации
]);
$shipment = new \Ipol\DPD\Shipment($config);
// Указываем города отправления и назначения
$shipment->setSender('Россия', 'Москва', 'г. Москва');
$shipment->setReceiver('Россия', 'Тульская область', 'г. Тула');
// указываем отправку терминал - дверь
$shipment->setSelfPickup(true);
$shipment->setSelfDelivery(false);
// список товаров входящих в отправку
$goods = [
1 => [
'NAME' => 'Название товара',
'QUANTITY' => 1, // кол-во
'PRICE' => 1000, // стоимость за единицу
'VAT_RATE' => 18, // ставка налога, процент или строка Без НДС
'WEIGHT' => 1000, // вес, граммы,
'DIMENSIONS' => [
'LENGTH' => 100, // длина, мм,
'WIDTH' => 200, // ширина, мм,
'HEIGHT' => 200, // высота, мм,
]
],
// ...
];
// объявленная ценность
$goodsPrice = 1000;
// устанавливаем товары входящие в отправку
$shipment->setItems($goods, $goodsPrice);
// так же можно указать тип покупателя и платежную систему
// в зависимости от указанных параметров можно реализовать наценку на доставку при использовании наложенного платежа
$personeTypeId = 1; // значения переменный должны быть использованы в настроках секция COMMISSION_NPP_*
$paySystemId = 1;
$shipment->setPaymentMethod($personeTypeId, $paySystemId);
// так можно получить калькулятор
$calc = $shipment->calculator();
// вернет информацию об актуальном тарифе для отправки
$tariff = $calc->calculate();
// а так можно расчитать стоимость доставки конкретного тарифа
$tariff = $calc->calculateWithTariff('PCL');
class Converter implements \Ipol\DPD\Currency\ConverterInterface
{
// реализация
}
$converter = new Converter();
$tariff = $calc
->setCurrencyConverter($converter)
->calculate('USD');
$config = new \Ipol\DPD\Config\COnfig([
// ...
]);
$shipment = new Shipment($config);
// указываем параметры отправления
$order = \Ipol\DPD\DB\Connection::getInstance($config)->getTable('order')->makeModel();
$order->orderId = 'Внешний код заказа';
// данная модель может заполнить часть параметров из переданной отправки
// в противном случае можно все эти параметры заполнить вручную указав значения соответствующих полей
$order->setShipment($shipment);
// указываем тариф отправки
$order->serviceCode = 'PCL';
// если не использовать объект отправки, так же необходимо указать вариант доставки
// в нашем случае это терминал - дверь
// $order->serviceVariant = [SELF_PICKUP => true, SELF_DELIVERY => false]
// Дата и время забора
$order->pickupDate = '2017-11-29';
$order->pickupTimePeriod = '9-18';
// данные отправителя
$order->senderName = 'Наименование отправителя';
$order->senderFio = 'ФИО отправителя';
$order->senderPhone = 'Телефон отправителя';
$order->senderTerminalCode = 'Код терминала отправления';
// данные получателя
$order->receiverName = 'Наименование получателя';
$order->receiverFio = 'ФИО получателя';
$order->receiverPhone = 'Телефон получателя';
$order->receiverStreet = 'Улица';
$order->receiverStreetabbr = 'ул.';
$order->receiverHouse = 'дом';
$order->receiverComment = 'инструкция для курьера';
// создаем заказ в системе dpd
$result = $order->dpd()->create();
// $order->dpd()->cancel(); // отменяем
// $order->dpd()->checkStatus(); // проверка статуса заказа
// $order->dpd()->getLabelFile(); // получить файл с наклейкой
// $order->dpd()->getInvoiceFile(); // получить файл с накладной
// получить созданный ранее заказ и отменить его
$orderId = 1; // внешний ID заказа
$order = \Ipol\DPD\DB\Connection::getInstance($config)->getTable('order')->getByOrderId($orderId);
$order->dpd()->cancel();