dinja / poste-delivery-business-sdk
Poste Delivery Business Rest API服务的非官方PHP SDK
1.0.1
2024-09-03 15:55 UTC
Requires
- php: >=5.4
- ext-json: *
- guzzlehttp/guzzle: ^7.5
Requires (Dev)
- phpunit/phpunit: ^10.0
- squizlabs/php_codesniffer: ^3.7
README
此包是非官方的简单PHP SDK,用于Poste Delivery Business Rest API服务版本1.8.1。
安装
使用composer安装
composer require dinja/poste-delivery-business-sdk
功能
运单服务
- 创建运单
- 获取国家
跟踪
- 获取运单跟踪信息
用法
创建运单
$debug = false; $timestamp = new \DateTime(); $timezone = new \DateTimeZone('Europe/Rome'); $timestamp->setTimezone($timezone); $waybillDataReceiver = new Dinja\PosteDeliveryBusinessSDK\Api\WaybillDataContact(); $waybillDataReceiver->setNameSurname("Mario Rossi")->setContactName("Dinja Srl") ->setAddressId("") ->setAddress("Via Roma 1") ->setZipCode("70044") ->setCity("Polignano a Mare") ->setCountry("ITA1") ->setProvince("BA") ->setCountryName("Italia") ->setPhone("") ->setCellphone("") ->setEmail("info@sellengine.it"); $waybillDataSender = new Dinja\PosteDeliveryBusinessSDK\Api\WaybillDataContact(); $waybillDataSender->setZipCode("70044") ->setStreetNumber("") ->setPhone("") ->setEmail("info@sellengine.it") ->setCity("Polignano a Mare") ->setAddressId("") ->setAddress("Via Leonardo da Vinci 22") ->setProvince("BA") ->setCountry("ITA1") ->setCountryName("Italia") ->setNameSurname("Dinja Srl") ->setNote1("TEST"); $waybillDataServices = new Dinja\PosteDeliveryBusinessSDK\Api\WaybillDataServices(); $dataWrapper = array(); $waybillDataServices->setDataWrapper($dataWrapper); $declaredArr = array(); $waybillDataDeclared = new Dinja\PosteDeliveryBusinessSDK\Api\WaybillDataDeclared(); $waybillDataDeclared->setWeight("1") ->setHeight("1") ->setLength("1") ->setWidth("1"); array_push($declaredArr, $waybillDataDeclared); $waybillData = new Dinja\PosteDeliveryBusinessSDK\Api\WaybillData(); $waybillData->setDeclared($declaredArr) ->setSender($waybillDataSender) ->setServices($waybillDataServices) ->setReceiver($waybillDataReceiver) ->setContent("Vario"); $waybill = new Dinja\PosteDeliveryBusinessSDK\Api\Waybill(); $waybill->setPrintFormat("ZPL") ->setClientReferenceId("1") ->setProduct("APT000901") ->setData($waybillData); $request = new Dinja\PosteDeliveryBusinessSDK\Request\WaybillRequest("poste_api_client_id", "poste_api_secret_id", "poste_api_scope", $debug); $request->setCostCenterCode("poste_api_cost_center_code") ->setShipmentDate($timestamp->format(\DateTime::ISO8601)) ->setWaybill($waybill); $response = $request->call($debug); if ($response->hasError()) { echo $response->getResult()->getErrorCode(); } else { $waybills = $response->getWaybills(); }
获取国家
$debug = false; $request = new Dinja\PosteDeliveryBusinessSDK\Request\NationsRequest("poste_api_client_id", "poste_api_secret_id", "poste_api_scope", $debug); $response = $request->call($debug); if ($response->hasError()) { echo $response->getResult()->getErrorCode(); } else { $countries = $response->getCountries(); foreach ($countries as $country) { echo $country->getIso4(); } }
获取运单跟踪信息
$shipmentsData = new Dinja\PosteDeliveryBusinessSDK\Api\ShipmentsData(); $shipmentsData->setWaybillNumber($trackingNumber)->setLastTracingState("N"); $request = new Dinja\PosteDeliveryBusinessSDK\Request\TrackingRequest("poste_api_client_id", "poste_api_secret_id", "poste_api_scope", $debug); $request->setShipmentsData($shipmentsData)->setStatusDescription("E")->setCustomerType("DQ"); $response = $request->call($debug); if ($response->hasError()) { echo $response->getCode(); } else { $shipment = $response->getShipment(); }
致谢
许可证
本项目采用MIT许可证(MIT)许可。请参阅许可证文件以获取更多信息。