sergeevpasha/laravel-dpd
Composer 安装命令:
composer require sergeevpasha/laravel-dpd
包简介
Tiny DPD API wrapper for Laravel
README 文档
README
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
sergeevpasha/laravel-dpd 适用场景与选型建议
sergeevpasha/laravel-dpd 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.93k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2020 年 07 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「dpd」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 sergeevpasha/laravel-dpd 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 sergeevpasha/laravel-dpd 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 sergeevpasha/laravel-dpd 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
DPD Magento2 Shipping extension
DPD Connect - Magento2 Shipping GraphQL
OroCommerce DPD Integration
DPD Connect - Magento2 Shipping Hyva Compatibility module
DPD carrier api library
PHP wrapper for DPD Germany SOAP API
统计信息
- 总下载量: 1.93k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-07-06