Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jackbayliss/laravel-dhl-api
DHL XML Wrapper for Laravel, easily get Quotes, Routing or Tracking.
https://github.com/jackbayliss/laravel-dhl-api
api dhl laravel
Last synced: about 1 month ago
JSON representation
DHL XML Wrapper for Laravel, easily get Quotes, Routing or Tracking.
- Host: GitHub
- URL: https://github.com/jackbayliss/laravel-dhl-api
- Owner: jackbayliss
- License: mit
- Created: 2020-07-16T12:49:03.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-04-13T11:42:47.000Z (over 2 years ago)
- Last Synced: 2024-11-16T14:15:43.271Z (about 2 months ago)
- Topics: api, dhl, laravel
- Language: PHP
- Homepage:
- Size: 10.7 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Laravel DHL XML API
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.
```php
$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.
```php
$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.
```php
$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](https://github.com/jackbayliss)* **Duwayne Brown** - *(old repo)* - [MisterBrownRSA](https://github.com/MisterBrownRSA)
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details