elcuro/qdl-php-client 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

elcuro/qdl-php-client

Composer 安装命令:

composer require elcuro/qdl-php-client

包简介

Simple PHP client for QDL

README 文档

README

About

A simple PHP client for the QDL (Slovak logistics company)

Installation

Install this package as a dependency using Composer.

composer require elcuro/qdl-php-client

Usage

Create QDL client

The client is not dependent on any specific HTTP client. It supports any PSR-18 compatible client. E.g.: Buzz client

You do also need to install a PSR-17 request/response factory. It uses that factory to create PSR-7 requests and responses. E.g.: nyholm/psr7

use Elcuro\QdlPhpClient\Client\Client;
use Nyholm\Psr7\Factory\Psr17Factory;
use Buzz\Client\Curl;

// We will use Buzz client and nyholm/psr7 factories
$factory = new Psr17Factory();

$client = new Client(
    new Curl($factory),
    $factory,
    $factory,
    'QDL_USERNAME',
    'QDL_PASSWORD'
);

Add/order/cancel shipments

use Elcuro\QdlPhpClient\Shipping\Shipment\Shipment;
use Elcuro\QdlPhpClient\Shipping\Shipment\ShipmentPackage;
use Elcuro\QdlPhpClient\Shipping\ShipmentManager;

// Create shipment manager
$shipmentManager = new ShipmentManager($client, new AddedShipmentFactory());

// Create shipment
$shipment = new Shipment();
$shipment
    ->setSenderId(1)
    ->setRecipientName('Fake user')
    //...
    ->addPackage(new ShipmentPackage(1))
;

// Add shipment
$addedShipment = $shipmentManager->addShipment($shipment);

// Order unordered shipments
$shipmentManager->order();

// Cancel shipment
$shipmentManager->cancelShipment($addedShipment->getId());

Labels and handover protocols

use Elcuro\QdlPhpClient\Document\DocumentFactory;
use Elcuro\QdlPhpClient\Document\DocumentFetcher;
use Elcuro\QdlPhpClient\Document\Label\LabelType;


// Create document fetcher
$documentFetcher = new DocumentFetcher($client, new DocumentFactory());

// Show label PDF
echo $documentFetcher->fetchLabel([30124122200010], LabelType::A4)->getPDF();

// or show handover protocol
echo $documentFetcher->fetchHandoverProtocol([30124122200010])->getPDF();

Tracking

use Elcuro\QdlPhpClient\Tracking\TrackLog\TrackLogsFactory;
use Elcuro\QdlPhpClient\Tracking\Tracker;

// Create tracker
$tracker = new Tracker($client, new TrackLogsFactory());

// Fetch track logs
$trackLogs = $tracker->trackShipment(30124122200010);

// Show track logs
foreach ($trackLogs as $trackLog) {
    sprintf(
        "Date: %s, Status: %s\n",
        $trackLog->getDate()->format('Y-m-d'),
        $trackLog->getName()
    );
}

Contributing

Contributions are welcome! To contribute, please familiarize yourself with CONTRIBUTING.md.

Copyright and License

elcuro/qdl-php-client is copyright © Juraj Jancuska and licensed for use under the terms of the MIT License (MIT). Please see LICENSE for more information.

统计信息

  • 总下载量: 5
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-05-16