dpdconnect/php-sdk
Composer 安装命令:
composer require dpdconnect/php-sdk
包简介
DPD Connect PHP SDK
README 文档
README
Parcelshops
$clientBuilder = new ClientBuilder();
$client = $clientBuilder->buildAuthenticatedByPassword('admin', 'admin');
// get list of all parcelshops
$response = $client->getParcelshop()->list(['longitude' => 52.992, 'latitude' => 6.565, 'countryIso' => 'nl', 'limit' => 2]);
// get parcelshop by id
$response = $client->getParcelshop()->get('NL10566');
Shipment
$clientBuilder = new ClientBuilder();
$client = $clientBuilder->buildAuthenticatedByPassword('admin', 'admin');
// create shipment with data array
$response = $client->getShipment()->create([
'printOptions' => [
'printerLanguage' => 'PDF',
'paperFormat' => 'A4'
],
'createLabel' => true,
'shipments' => [[
'orderId' => "oasdsadsd",
'sendingDepot' => "0522",
'sender' => [
'companyname' => 'DPD',
'name1' => "John Do",
'street' => "John Do Street 9",
'country' => "NL",
'postalcode' => "1101BM",
'city' => "Amsterdam",
'phone' => "06234234324",
'email' => "info@johndo-bv.com",
'commercialAddress' => true,
],
'receiver' => [
'name1' => "Jane Do",
'street' => "Jane Do Street",
'country' => "NL",
'postalcode' => "1101BM",
'city' => "Amsterdam",
'phone' => "06134233434",
'commercialAddress' => false
],
'product' => [
'productCode' => 'CL',
],
"parcels" => [[
'customerReferences' => ['sadsadsadasdsd'],
'volume' => '000010000',
'weight' => 100,
]],
]]
]);
// create shipmment with objects
private function getPrintOptions(ShipmentRequest $request)
{
return ObjectFactory::create(PrintOptions::class, [
'printerLanguage' => 'PDF',
'paperFormat' => 'A4',
]);
}
private function getSender(ShipmentRequest $request)
{
$sender = ObjectFactory::create(Sender::class, [
'companyname' => 'John Do - B.V.',
'name1' => 'John Do',
'street' => 'John Do Street',
'housenumber' => '9',
'postalcode' => '1101BM',
'city' => 'Hoofddorp',
'country' => 'NL',
'email' => 'info@johndo-bv.com',
'phoneNumber' => '061232323',
'faxNumber' => '',
'comment' => '',
'globalLocationNumber' => 0,
'commercialAddress' => true,
'floor' => '',
'building' => '',
'department' => '',
'doorcode' => '',
'vatnumber' => '',
'eorinumber' => 'string'
]);
return $sender;
}
private function getReceiver(ShipmentRequest $request)
{
$receiver = ObjectFactory::create(Receiver::class, [
'name1' => 'Jane Do',
'street' => 'John Do Street',
'housenumber' => '9',
'postalcode' => '1101BM',
'city' => 'Amsterdam',
'country' => 'NL',
'email' => 'info@johndo-bv.com',
'phoneNumber' => '061232323',
'commercialAddress' => false,
]);
return $receiver;
}
private function getParcels(ShipmentRequest $request)
{
$parcels[] = ObjectFactory::create(Parcel::class, [
// 'parcelLabelNumber' => '100',
'customerReferences' => ['sadsadsadasdsd'],
'volume' => '000010000',
'weight' => 100,
]);
return $parcels;
}
private function getShipments(ShipmentRequest $request)
{
$shipments[] = ObjectFactory::create(ShipmentOrder\Shipment::class, [
'orderId' => 'jiasjdsoidj',
'sendingDepot' => '0522',
'sender' => $this->getSender($request),
'receiver' => $this->getReceiver($request),
'product' => [
'productCode' => 'CL',
],
'parcels' => $this->getParcels($request)
]);
return $shipments;
}
$printOptions = $this->getPrintOptions($request);
$shipments = $this->getShipments($request);
$shipmentOrder = ObjectFactory::create(ShipmentOrder::class, [
'printOptions' => $printOptions,
'createLabel' => true,
'shipments' => $shipments
]);
dpdconnect/php-sdk 适用场景与选型建议
dpdconnect/php-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 175.6k 次下载、GitHub Stars 达 6, 最近一次更新时间为 2019 年 05 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 dpdconnect/php-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 dpdconnect/php-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 175.6k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 13
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: OSL-3.0
- 更新时间: 2019-05-27