此包已被弃用且不再维护。没有建议的替代包。

此包设计用于通过API发送和接收来自MyParcel的数据。

v1.3.11 2019-02-26 12:59 UTC

README

请,如果您使用此仓库,请给此仓库加星标。⭐️

使用composer安装

此SDK使用composer。

Composer是PHP中的依赖管理工具。它允许您声明项目所依赖的库,并为您安装(更新)它们。

有关如何使用/安装composer的更多信息,请访问:https://github.com/composer/composer

要将MyParcel SDK安装到您的项目中,请执行以下操作

$ composer require myparcelbe/sdk

不使用composer的安装

如果您没有使用composer的经验,也可以在不使用composer的情况下使用SDK。

您可以在项目的发行页面下载zip文件。

  1. 下载包zip文件(SDKvx.x.x.zip)。
  2. 解压zip文件内容,并将vendor目录上传到您的服务器。
  3. 在您的项目中,请要求src/AutoLoader.php文件。
  4. 现在您可以在项目中使用SDK

需求

MyParcel SDK适用于php版本5.6、7.x。还需要安装php curl扩展。

快速开始和示例

$myParcelCollection = new \MyParcelBE\Sdk\src\Helper\MyParcelCollection();

$consignment = (new \MyParcelBE\Sdk\src\Model\Repository\MyParcelConsignmentRepository())
    ->setApiKey('api_key_from_MyParcel_backoffice')
    ->setReferenceId('Order 1203')
    ->setCountry('BE')
    ->setPerson('Piet Hier')
    ->setCompany('Piet BV')
    ->setFullStreet('Plein 1945 55b')
    ->setPostalCode('2231JE')
    ->setCity('Amsterdam')
    ->setEmail('test@test.nl');
    
$myParcelCollection
    ->addConsignment($consignment)
    ->setPdfOfLabels()
    ->downloadPdfOfLabels()
    ->setUserAgent('name_of_cms', '1.0');

可用方法

$myParcelCollection = new \MyParcelBE\Sdk\src\Helper\MyParcelCollection();

$consignment = (new \MyParcelBE\Sdk\src\Model\Repository\MyParcelConsignmentRepository())
    ->setApiKey('api_key_from_MyParcel_backoffice')
    ->setReferenceId('Order 1203')
    ->setCountry('BE')
    ->setPerson('Piet Hier')
    ->setCompany('Piet BV')
    ->setFullStreet('Plein 1945 55b')
    ->setPostalCode('2231JE')
    ->setPackageType(1)
    ->setCity('Amsterdam')
    ->setEmail('test@test.nl')
    ->setPhone('+31 (0)634213465')
    ->setLargeFormat(true)
    ->setOnlyRecipient(true)
    ->setSignature(true)
    ->setReturn(true)
    ->setInsurance(250)
    ->setLabelDescription('Order 10034');
    
$myParcelCollection
    ->addConsignment($consignment)

用户代理

为了让我们了解您从哪个CMS系统连接,您应该发送User-Agent。如果您使用的是已知的CMS系统,则这是必需的。您必须发送CMS系统的名称以及版本号。版本号不是必需的。

    ->setUserAgent('name_of_cms', '1.0')

提交完整地址

    ->setFullStreet('Plein 1945 55b')

分批提交地址

    ->setStreet('Plein 1945')
    ->setNumber((string)55)
    ->setBoxNumber('b')

创建概念

$myParcelCollection->createConcepts();

下载标签

$myParcelCollection->setPdfOfLabels();
$myParcelCollection->downloadPdfOfLabels();

获取标签链接

$myParcelCollection
    ->setLinkOfLabels()
    ->getLinkOfLabels()

MyParcel托运单ID

如果您不使用setReferenceId(),您也可以在创建概念时使用MyParcelConsignmentId:在setPdfOfLabels()setLinkOfLabels()createConcepts()之后,您可以将api id保存到您的数据库中。使用此id,您可以轻松检索最新的状态。

$consignment->getMyParcelConsignmentId();

获取状态

在调用 setPdfOfLabels()setLinkOfLabels()createConcepts() 后,您可以获取状态。

$status = $consignment->getStatus();

获取条码

在调用 setPdfOfLabels()setLinkOfLabels() 后,条码可用。

$barcode = $consignment->getBarcode();

多次装运

要创建多个托运单或获取包含多个托运单的PDF,设置多个托运单。这样更快更干净。

$myParcelCollection = new \MyParcelBE\Sdk\src\Helper\MyParcelCollection();

foreach ($yourShipments as $yourShipment) {

    $consignment = (new \MyParcelBE\Sdk\src\Model\Repository\MyParcelConsignmentRepository())
        ->setApiKey('api_key_from_MyParcel_backoffice')
        ->setReferenceId($yourShipment->getOrderId()
        ->setName('Piet Hier');
        /** @todo; set all info */
        
    $myParcelCollection
        ->setUserAgent('name_of_cms', '1.0')
        ->addConsignment($consignment)
}

之后

在新请求中,您可以再次获取所有数据。

$consignment = (new \MyParcelBE\Sdk\src\Model\Repository\MyParcelConsignmentRepository())
    ->setApiKey('api_key_from_MyParcel_backoffice')
    ->setReferenceId('Order 1203'); // or setMyParcelConsignmentId(123456)

$myParcelCollection
    ->addConsignment($consignment)
    ->setLatestData();

$consignments = $myParcelCollection
    ->getConsignments();

$firstConsignment = $consignments[0];

$status = $firstConsignment->getStatus();
$barcode = $firstConsignment->getBarcode();

贡献

  1. 检查开放问题或创建新的问题以开始关于错误或功能的讨论。
  2. 在GitHub上分叉仓库以开始进行更改。
  3. 为新功能编写一个或多个测试,或揭示错误。
  4. 进行代码更改以实现功能或修复错误。
  5. 发送拉取请求以合并和发布您的更改。