deniztezcan / laravel-postnl-api
Laravel PostNL API package
Installs: 202
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 3
Open Issues: 1
pkg:composer/deniztezcan/laravel-postnl-api
Requires
- guzzlehttp/guzzle: ^6.3|^7.0|^7.7
- illuminate/support: 5.8.*|6.*.*|7.*.*|8.*.*|9.*.*|10.*.*
- nesbot/carbon: ^2.16
README
Intergrates the PostNL API with Laravel 5 & 6 via a ServiceProvider and Facade.
Instalation
composer require deniztezcan/laravel-postnl-api
Add a ServiceProvider to your providers array in config/app.php:
'providers' => [ //other things here DenizTezcan\LaravelPostNLAPI\PostNLAPIServiceProvider::class, ];
Add the facade to the facades array:
'aliases' => [ //other things here 'PostNLAPI' => DenizTezcan\LaravelPostNLAPI\Facades\PostNLAPI::class, ];
Finally, publish the configuration files:
php artisan vendor:publish --provider="DenizTezcan\LaravelPostNLAPI\PostNLAPIServiceProvider"
Configuration
Please set your API: url, key and Customer code, number, location, email and address in the config/postnlapi.php
Usage
To generate a barcode you can use the following call. To find which type and serie to use please check PostNL documentation
$barcode = PostNLAPI::generateBarcode('3S', '00000000000-99999999999');
To generate a label you can use the following call. To find which PrinterType, AddressType and ProductCodeDelivery to use please check PostNL documentation
use DenizTezcan\LaravelPostNLAPI\Entities\{Address, Contact}; $label = PostNLAPI::generateLabel( $barcode, 'GraphicFile|PDF', [Address::create([ 'AddressType' => '01', 'City' => "Testdorp", 'CompanyName' => "Crusty Crab BV", 'Countrycode' => "NL", 'HouseNr' => "1", 'Street' => "Teststraat", 'Zipcode' => "1111AA", 'FirstName' => "Meneer", 'Name' => "Krabs" ]), Address::create([ 'AddressType' => '09', 'City' => "Testdorp", 'CompanyName' => "Crusty Crab BV", 'Countrycode' => "NL", 'HouseNr' => "1", 'Street' => "Teststraat", 'Zipcode' => "1111AA", 'FirstName' => "Meneer", 'Name' => "Krabs" ])], [Contact::create([ 'ContactType' => "01", 'Email' => 'test@meneer.nl', 'SMSNr' => '061111111', 'TelNr' => '061111111' ])], '01', '3085', 'This is a reference', 'This is a remark' );
Note: Watch the Array which needs to be passed in the second and third parameter! Without this it will simply not work!
To get an array of the nearest PostNL locations you can use the following call. You have to pass the CountryCode and PostalCode as parameters.
$locations = PostNLAPI::nearestLocations('NL', '1111AA');