I needed a laravel-esque wrapper to make calls to the DHL XML service, but couldn't find any. So I created one. It was specifically designed for my own personal use, but you are welcome to submit issues, and I'll look into refactoring it so that it can be used in a more general purpose fashion.
This was built and tested ONLY on Laravel 5.5, although I'm sure it'll work on previous versions as well.
composer require misterbrownrsa/laravel-dhl-api
Since Laravel 5.5 automatically includes the service provider, it won't be necessary to register it. However, if you really want to, run the following command
##Usage Examples
###Capability
This is typically used to test the validity of addresses and DHL's capability to deliver. Validate must return true
.
$user = User::first();
$GetCapability = new \MisterBrownRSA\DHL\API\GetCapability();
$GetCapability->user($user);
dd($GetCapability->validate());
Dump the request
dump($GetCapability->toXML());
Dump the response
dump($GetCapability->doCurlPost());
dump($GetCapability->requestRAW());
###Quotation
This is used to get product information such as the price and total transit days.
$product = [];
foreach ($cart->items as $key => $cartItem) {
for ($i = 1; $i <= $cartItem->quantity; $i++) {
$product[ $key ]['height'] = $box['height'];
$product[ $key ]['depth'] = $box['length'];
$product[ $key ]['width'] = $box['width'];
$product[ $key ]['weight'] = $cartItem->warehouse->product->weight + $box1['weight'];
}
}
$GetQuote = new \MisterBrownRSA\DHL\API\GetQuote();
$GetQuote->user($user)
->reference($cart->order->reference)
->addProduct($product)
->declaredValue($cart->subtotal);
$result = $GetQuote
->doCurlPost();
dd($result);
Dump the request
dd($GetQuote->toXML());
Dump the response
dump($GetQuote->results());
dump($GetQuote->resultsRAW());
- Duwayne Brown - Initial work - MisterBrownRSA
This project is licensed under the MIT License - see the LICENSE.md file for details
- Thanks David for your help during the implementation process