如何将 DHL 电子商务与 Laravel 集成

问题描述 投票:0回答:1

我正在尝试将 DHL 电子商务 API 与我的 Laravel 集成。我曾尝试破解 WordPress WooCommerce 代码,但觉得这是浪费时间。经过我的不断努力,我破解了OpenCart的代码,得到了创建发货草稿的代码。但实际上,我想通过API创建发货标签,但OpenCart不提供此功能,而WooCommerce有。有人可以帮助我吗?

DHL API 集成的可用文档 Manual_WooCommerce_plug-in_EN.pdf

澄清一下,

  1. 我们已经有了一个用 Laravel 制作的电子商务网站的管理面板。所以,我不需要另一个用 WordPress 制作的管理面板。
  2. 第一个选项,如果任何人都可以在没有 WordPress 的情况下提供 Laravel 代码,那就太好了。
  3. 第二个选项,我希望,我可以将订单数据插入 WordPress 数据库,并从我的 Laravel 代码中调用 DHL 标签创建函数,创建标签后,我将清空插入数据库的条目以节省内存。如果由于缺乏在线文档而没有任何效果,那么这是一个愚蠢的选择。因为我不是 WordPress 专家,有人可以帮助我吗?

下面是opencart的破解示例代码,请帮我创建

CreateShipmentLabel
函数

<?php

class ControllerExtensionShippingDhlparcel
{
    private $db;
    private $url = "https://connector.dhlparcel.nl/api/V2/webhook/.............";
    public function __construct()
    {
        $this->db = new mysqli('localhost', 'root', '', 'opencart');
    }

    public function webhook($orderStatusId = 2)
    {
        $order = $this->getOrder(1);
        $data_string = json_encode($order);
        $ch = curl_init($this->url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt( $ch,CURLOPT_HTTPHEADER,
            [
                'Content-Type: application/json',
                'Content-Length: ' . strlen($data_string),
                'dhlparcel-connector: opencart',
            ]
        );
        curl_exec($ch);
    }

    public function getOrder(int $order_id): array
    {
       return $shipment_data;
    }

    public function CreateShipmentLabel(){
        // please help me create this function
    }
}

$model = new ControllerExtensionShippingDhlparcel();
$model->webhook();
php laravel wordpress woocommerce dhl
1个回答
0
投票

您可以在这里浏览他们的文档:https://developer.dhl.com/api-catalog

话虽如此,我认为你应该更多地重构你的代码。 Laravel 已经提供了一个内置的 HTTP 客户端,您可以使用它来代替普通的旧式 curl 函数,而且您最好使用 Eloquent ORM 而不是

mysqli

我个人的做法是在服务容器中创建一个 HTTP 宏,在仅与 DHL API 交互的服务中使用该 HTTP 宏,然后在您的应用程序中使用该服务。这样您就可以非常轻松地进行调整和维护。

同样适用于

getOrder
。你正在声明你不需要的论据。

© www.soinside.com 2019 - 2024. All rights reserved.