mrstebrownrsa/laravel-dhl-api

DHL API 为 LARAVEL 的封装

1.0.0 2017-12-03 20:10 UTC

This package is not auto-updated.

Last update: 2024-09-21 04:03:42 UTC


README

我需要一个类似于LARAVEL的封装来调用DHL XML服务,但是找不到任何现成的。所以我自己创建了一个。这个封装最初是为我个人使用而设计的,但是欢迎提交问题,我会考虑重构它,以便更广泛地使用。

入门指南

先决条件

这个项目是在LARAVEL 5.5上构建和测试的,尽管我相信它也可以在之前的版本上工作。

安装

composer require misterbrownrsa/laravel-dhl-api

由于LARAVEL 5.5自动包含了服务提供者,因此不需要注册它。但是,如果您真的想这样做,请运行以下命令


##使用示例

###功能

这通常用于测试地址的有效性和DHL的配送能力。验证必须返回 true

$user = User::first();

$GetCapability = new \MisterBrownRSA\DHL\API\GetCapability();
$GetCapability->user($user);
dd($GetCapability->validate());

输出请求

dump($GetCapability->toXML());

输出响应

dump($GetCapability->doCurlPost());
dump($GetCapability->requestRAW());

###报价

这用于获取产品信息,例如价格和总运输天数。

$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);

输出请求

dd($GetQuote->toXML());

输出响应

dump($GetQuote->results());
dump($GetQuote->resultsRAW());

作者

许可证

本项目受MIT许可证的许可 - 有关详细信息,请参阅 LICENSE.md 文件

致谢

  • 感谢David在实施过程中的帮助