tibezh/ukrposhta-php-sdk

包含与Ukrposhta服务的集成。

0.0.1 2023-11-30 15:09 UTC

This package is auto-updated.

Last update: 2024-09-05 10:18:55 UTC


README

Ukrposhta PHP SDK logo

基于官方Ukrposhta API的Ukrposhta PHP SDK。

Minimum PHP Version License CI codecov Latest Stable Version

目录

需求

此库使用PHP 8.1+。

要使用Ukrposhta API,您需要为每个API子门户(eCom、StatusTracking和AddressClassifier)拥有Bearer和Token。签订合同后,Bearer和Token由您的经理发放。更多信息请见此处

可用功能

  • 状态跟踪 - 可用。
  • 地址分类器(对方) - 计划中
  • 运输 - 计划中

安装

要开始使用,只需使用Composer要求项目。

composer require tibezh/ukrposhta-php-sdk

示例

状态跟踪

通过条码请求最后状态

/** @var \Ukrposhta\Tracking\Entities\TrackingStatusInterface $barcodeLastStatus */
$barcodeLastStatus = (new \Ukrposhta\Tracking\Tracking())
  ->setAccessToken('[BEARER-STATUS-TRACKING-ACCESS-TOKEN]')
  // To get results in English.
  // ->$this->setRequestLang('EN')
  ->requestBarcodeLastStatus('[BARCODE]');

// Prints event name value of the last status for the given barcode.
print $barcodeLastStatus->getEventName();

通过条码请求所有状态

/** @var \Ukrposhta\Tracking\Entities\TrackingStatusCollectionInterface $barcodeLastStatuses */
$barcodeLastStatuses = (new \Ukrposhta\Tracking\Tracking())
  ->setAccessToken('[BEARER-STATUS-TRACKING-ACCESS-TOKEN]')
  // To get results in English.
  // ->$this->setRequestLang('EN')
  ->requestBarcodeStatuses('[BARCODE]');

// Prints "[date]: [eventName]" of each status for the given barcode.
foreach ($data->all() as $item) {
  print $item->getDate()->format('c') . ': ' . $item->getEventName();
  print '<br>';
}

通过条码请求路线

/** @var \Ukrposhta\Tracking\Entities\TrackingRouteInterface $barcodeRoute */
$barcodeRoute = (new \Ukrposhta\Tracking\Tracking())
  ->setAccessToken('[BEARER-STATUS-TRACKING-ACCESS-TOKEN]')
  // To get results in English.
  // ->$this->setRequestLang('EN')
  ->requestBarcodeRoute('[BARCODE]');
// Prints "[from] -> [to]" information for the given barcode.
print $barcodeRoute->getFrom() ' -> ' . $barcodeRoute->getTo();