msztorc/php-dpd-api
Composer 安装命令:
composer require msztorc/php-dpd-api
包简介
DPD Api
README 文档
README
Set of PHP classes to handle API of courier services (DPD Poland)
Installation
composer require msztorc/php-dpd-api
or
git clone https://github.com/msztorc/php-dpd-api.git
of course you can also download zip file, unpack and include to your project
Configuration file
Main configuration is located in config.php file
'fid' => '1495',
'username' => 'test', // username for api calls
'password' => 'KqvsoFLT2M', // password for api calls
'wsdl' => 'https://dpdservicesdemo.dpd.com.pl/DPDPackageObjServicesService/DPDPackageObjServices?WSDL',
'lang_code' => 'PL', // lang code (required for api v2)
'api_version' => 2, // version of api methods (available api version: 1 or 2)
'debug' => true, // debug errors to logfile
'log_path' => 'logs' // path of log files
Usage
Full example
<?php use DPD\Services\DPDService; $sender = [ 'fid' => '1495', 'name' => 'Janusz Biznesu', 'company' => 'INCO', 'address' => 'Chmielna 10', 'city' => 'Warszawa', 'postalCode' => '00999', 'countryCode' => 'PL', 'email'=> 'biuro@_inco.pl', 'phone' => '+22123456', ]; $dpd = new DPDService(); $dpd->setSender($sender); $parcels = [ 0 => [ 'content' => 'antyramy', 'customerData1' => 'Uwaga szkło!', 'weight' => 8, ], 1 => [ 'content' => 'ulotki', 'weight' => 5, ], ]; $receiver = [ 'company' => 'ABC Sp. z o.o.', 'name' => 'Jan Kowalski', 'address' => 'Wielicka 10', 'city' => 'Krakow', 'postalCode' => '30552', 'countryCode' => 'PL', 'phone' => '+12 555221112', 'email'=> 'biuro@a_b_c.pl', ]; //send a package $result = $dpd->sendPackage($parcels, $receiver, 'SENDER'); $pickupAddress = [ 'fid' => '1495', /*'name' => 'Janusz Biznesu', 'company' => 'INCO', 'address' => 'Chmielna 10', 'city' => 'Warszawa', 'postalCode' => '00999', 'countryCode' => 'PL', 'email'=> 'biuro@_inco.pl', 'phone' => '+22123456',*/ ]; // generate speedlabel in default, pdf/a4 format $speedlabel = $dpd->generateSpeedLabelsByPackageIds([$result->packageId], $pickupAddress); // save speedlabel to pdf file file_put_contents('pdf/slbl-pid' . $result->packageId . '.pdf', $speedlabel->filedata); // generate protocol $protocol = $dpd->generateProtocolByPackageIds([$result->packageId], $pickupAddress); // save protocol to pdf file file_put_contents('pdf/prot-pid' . $result->packageId . '.pdf', $protocol->filedata); // pickup $pickupDate = '2017-08-23'; $pickupTimeFrom = '13:00'; $pickupTimeTo = '16:00'; $contactInfo = [ 'name' => 'Janusz Biznesu', 'company' => 'INCO', 'phone' => '12 5555555', 'email' => 'januszbiznesu@_inco.pl', 'comments' => 'proszę dzownić domofonem' ]; // pickup call $pickup = $dpd->pickupRequest([$protocol->documentId], $pickupDate, $pickupTimeFrom, $pickupTimeTo, $contactInfo, $pickupAddress);
Postcode verify
<?php use DPD\Services\DPDService; $dpd = new DPDService(); $pc1 = $dpd->checkPostCode('UB3 5HL', 'GB'); //ok $pc2 = $dpd->checkPostCode('00-999', 'PL'); //ok $pc3 = $dpd->checkPostCode('33 100'); //ok $pc4 = $dpd->checkPostCode('33100'); //ok $pc5 = $dpd->checkPostCode('00-000'); //wrong
For more examples see unit tests
Notes
For current API specification you should contact with IT support of DPD Poland. http://www.dpd.com.pl/
License
MIT
msztorc/php-dpd-api 适用场景与选型建议
msztorc/php-dpd-api 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 21.14k 次下载、GitHub Stars 达 20, 最近一次更新时间为 2017 年 03 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 msztorc/php-dpd-api 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 msztorc/php-dpd-api 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 21.14k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 20
- 点击次数: 2
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-03-17