- Installation
- Installation without composer
- Requirements
- Quick start and examples
- Available Methods
- Contribute
Please, star this repository if you use this repository. ⭐
This SDK uses composer.
Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
For more information on how to use/install composer, please visit: https://github.com/composer/composer
To install the MyParcel SDK into your project, simply
$ composer require myparcelbe/sdk
If you don't have experience with composer, it is possible to use the SDK without using composer.
You can download the zip on the projects releases page.
- Download the package zip (SDKvx.x.x.zip).
- Unzip the contents of the zip, and upload the vendor directory to your server.
- In your project, require the file src/AutoLoader.php
- You can now use the SDK in your project
The MyParcel SDK works on php versions 5.6, 7.x. Also the php curl extension needs to be installed.
$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)
To give us insight into which CMS system you make a connection from, you should send a User-Agent. If you're using a known CMS system it's required. You must send the name of the CMS system followed by a version number. A version is not required.
->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()
If you don't use setReferenceId()
, you can also use the MyParcelConsignmentId when you create a concept:
After setPdfOfLabels()
, setLinkOfLabels()
and createConcepts()
, you can save the api id to your database. With this id you can easily retrieve the latest status.
$consignment->getMyParcelConsignmentId();
After setPdfOfLabels()
, setLinkOfLabels()
and createConcepts()
you can get the status.
$status = $consignment->getStatus();
The barcode is available after setPdfOfLabels()
and setLinkOfLabels()
$barcode = $consignment->getBarcode();
To create multiple consignments or get one pdf with multiple consignments, set multiple consignments. It's faster and cleaner.
$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)
}
In a new request, you can get all the data again.
$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();
- Check for open issues or open a new issue to start a discussion around a bug or feature.
- Fork the repository on GitHub to start making your changes.
- Write one or more tests for the new feature or that expose the bug.
- Make code changes to implement the feature or fix the bug.
- Send a pull request to get your changes merged and published.