sergeevpasha/laravel-dpd
| Install | |
|---|---|
composer require sergeevpasha/laravel-dpd |
|
| Latest Version: | v2.0.3 |
| PHP: | ^8.0 |
| Laravel: | 8 · 9 · 10 |
| License: | MIT |
| Last Updated: | Mar 12, 2024 |
| Links: | GitHub · Packagist |
IMPORTANT UPDATE
DPD made lots of changes, so the best way I see it is having DPD API as a service, so starting from now on this package will have only a few basic functionality required for it, consider using it (will be available later) instead.
Laravel DPD API Wrapper
Allows you to:
- Get all DPD cities
- Get all DPD Terminals
- Calculate a delivery
Pre-requirements
You need to get DPD API key, user, login and password. Key can be obtained in your cabinet at https://www.dpd.ru/ols/order/personal/integrationKey.do2
Installation
composer require sergeevpasha/laravel-dpd
Configuration
This package has a few configuration values:
'key' => env('DPD_KEY'),
'user' => env('DPD_USER'),
'login' => env('DPD_LOGIN'),
'password' => env('DPD_PASSWORD'),
'prefix' => 'dpd',
'middleware' => ['web']
php artisan vendor:publish --provider="SergeevPasha\DPD\Providers\DPDServiceProvider" --tag="config"
After installing, you may just import the client
use SergeevPasha\DPD\Libraries\DPDClient;
/*
You may find your User ID by entering DPD Cabinet.
Here we are initializing the client.
*/
$client = new DPDClient('user', 'key');
Now we can use these methods:
$client->getCountryCities(string $country) $client->getTerminals() $client->findByTrackNumber(string $trackNumber) /* This one requires a Delivery Object, see next to see how to build it */ $client->getPrice(Delivery $delivery)
Delivery Object
To build a Delivery object you will need to pass an array to fromArray() method just like that:
Delivery::fromArray([
arrival_city_id => 123456, // Arrival City ID from findCity() method
derival_city_id => 123456, // Derival City ID from findCity() method
arrival_terminal => 1, // Set 1 if you are delivering to terminal
derival_terminal => 0, // Set 1 if you send from terminal
parcel_total_weight => 20, // Total parcel weight, KG
parcel_total_volume => 0.5, // Total parcel volume, M3
parcel_total_value => 1000500.50, // Total parcel volume, RUB
pickup_date => 2020-10-10, // YYYY-MM-DD Format, when your parcel should be picked up for delivery
max_delivery_days => 15, // Show only options that can be delivered for that or less amount of days
max_delivery_price => 1000.10, // Show only options that costs that or less price
services => [
'ECU',
'CUR'
], // List of available services
])
Available countries
If you need to specify a country you need to use one of these codes:
RU - Russia KZ - Kazakhstan AM - Armenia BY - Belarus KG - Kyrgyzstan
Available services
If you need to specify a service you need to use one of these codes:
BZP = '18:00'; ECN - ECONOMY ECU - ECONOMY CU CUR - CLASSIC NDY - EXPRESS CSM - Online Express PCL - OPTIMUM PUP - SHOP DPI - CLASSIC international IMPORT DPE - CLASSIC international EXPORT MAX - MAX domestic MXO - Online Max
Related Packages
Laravel package for using DPD Webservices to submit shipment to dpd und retrieve...
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v2.0.3 | ^8.0 | ^8.40.0 || | MIT | |
| v2.0.2 | ^8.0 | ^8.40.0 || | MIT | |
| v2.0.1 | ^8.0 | ^8.40.0 || | MIT | |
| v2.0.0 | ^8.0 | ^8.40.0 | MIT | |
| v1.3.2 | ^8.0 | ^8.40.0 | MIT | |
| v1.3.1 | ^8.0 | ^8.27.0 | MIT | |
| v1.3.0 | ^8.0 | ^8.27.0 | MIT | |
| v1.2.2 | ^7.4 | ^8.27.0 | MIT | |
| v1.2.1 | ^7.4 | ^8.27.0 | MIT | |
| v1.2.0 | ^7.4 | ^8.27.0 | MIT | |
| v1.1.0 | ^7.4 | MIT | ||
| v1.0.1 | ^7.4 | MIT | ||
| v1.0.0 | ^7.4 | MIT |