msztorc / php-dpd-api
DPD Api
2.1
2017-12-20 10:48 UTC
Requires (Dev)
- phpunit/phpunit: 5.7.*
This package is auto-updated.
Last update: 2024-09-10 03:00:54 UTC
README
一组PHP类,用于处理快递服务(DPD波兰)的API
安装
composer require msztorc/php-dpd-api
或者
git clone https://github.com/msztorc/php-dpd-api.git
当然,您也可以下载zip文件,解压后将其包含到项目中
配置文件
主要配置位于config.php
文件中
'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
使用
完整示例
<?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);
邮编验证
<?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
更多示例请参阅单元测试
备注
对于当前API规范,您应联系DPD波兰的IT支持。 http://www.dpd.com.pl/
许可证
MIT