jackbayliss / laravel-dhl-api
DHL XML Wrapper for Laravel
Installs: 5 118
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: >=7.0.0
This package is auto-updated.
Last update: 2024-11-13 17:21:05 UTC
README
I needed a DHL wrapper so I could efficiently provide courier quotes to customers- I did find one. But, it needed to be adjusted to work for my needs- this is effectively the edited version to provide Quotes, Routing and Tracking.
Getting Started
Prerequisites
This should work fine on Laravel>=5.7.28, if your version of Laravel does not support auto linking you will need to add \jackbayliss\DHLApi\DHLAPIProvider::class
into your providers array located in config/app.php
Installing
composer require jackbayliss/laravel-dhl-api
Usage Examples
Config setup
In order to use the wrapper you'll need to setup a few things in your Config.php file- or alternatively you .env file if you don't want to use the config.
You'll need to set from_country_code
,from_post_code
,account_number
,siteid
,password
in your config
or alternatively set DHL_SITEID
,DHL_PASSWORD
,DHL_ACCOUNT_NUMBER
, DHL_FROM_COUNTRYCODE
,DHL_FROM_POSTCODE
in your .env
don't forget to edit the config to be null for all the entries.
Quotation
This is typically used to get shipping quotes, as well as the time for transit etc.
$quote = new \jackbayliss\DHLApi\Calls\GetQuote(); $quote->declaredValue(10)->reference("0999999999990393939333333333") ->currency("GBP")->toCountryCode("DE")->toPostalCode("91056")->setPieces([ array("height" => 10,"width" => 10 ,"depth" => 2,"weight" => 0.5) ]); $quote->getResponse();
Tracking
Self explanitory- it'll track a parcel for you.
$tracking = new \jackbayliss\DHLApi\Calls\GetTracking(); $tracking = $tracking->reference("0999999999990393939333333333")->trackingNumber("8564385550"); $tracking->getResponse();
Routing
Used to provide routing information about a parcel to a particular address.
$routing = new \jackbayliss\DHLApi\Calls\GetRouting(); $routing = $routing->reference("0999999999990393939333333333")->address([ 'RegionCode' => 'EU', 'RequestType' => 'O', 'Address1' => 'Oracle Parkway,', 'Address2' => 'Thames Valley Park (TVP)', 'Address3' => 'Berkshire', 'PostalCode' => 'RG6 1RA', 'City' => 'Reading', 'Division' => 'RE', 'CountryCode' => 'GB', 'CountryName' => 'United Kingdom', 'OriginCountryCode' => 'GB' ]); $routing->getResponse();
Methods
These methods can be linked to any of the above core API classes.
getResponse()
- This will execute the cURL request and return the XML data as an Object
.
getRawResponse()
- This will return the XML response from the DHL API as A String
.
toXML()
- This will return the XML you sent to the DHL API as A String
.
Authors
-
Jack Bayliss - Adjustments to make it work ^^ - Jack Bayliss
-
Duwayne Brown - (old repo) - MisterBrownRSA
License
This project is licensed under the MIT License - see the LICENSE.md file for details