三德/laravel-jtl-api

为Laravel提供的JTL API包装器

1.2.5 2024-09-16 13:11 UTC

This package is auto-updated.

Last update: 2024-09-16 13:11:48 UTC


README

此Laravel包提供了一个新JTL Wawi API的包装器。

要求

  • Laravel 11
  • PHP 8.2或更高版本

安装

您可以通过Composer安装此包。

composer require drei-d/laravel-jtl-api

设置

准备

首先,发布此包提供的资源和配置。

php artisan vendor:publish --provider DREID\\LaravelJtlApi\\Providers\\ServiceProvider

这将在您的配置目录中创建一个名为jtl-api.php的新配置文件,以及在您的资源目录中一个应用图标图像。

请根据您的需要更新配置文件。它包含...

  • 基本应用信息,例如应用名称和提供者
  • 您的应用所需权限。

目前,一旦应用注册,权限就不能更改,请谨慎操作。

完成设置后,将配置文件的前两项添加到您的.env文件中。
现在您可以留空API密钥

JTL_API_BASE_URL=<your api url, e.g. http://192.168.178.10:5883/api/Mandant_1>
JTL_API_KEY=

应用注册

在设置好本地环境后,您需要在JTL Wawi中注册您的应用。
请按照官方文档中描述的步骤打开注册监听器(直到第5步)。

您可以使用此包提供的AppRegistrationHelper来注册您的应用。
例如,在命令中使用它

$tokenDto = app(\DREID\LaravelJtlApi\Helpers\AppRegistrationHelper::class)->register();

一旦调用,您就可以按照官方文档中的描述继续注册应用(继续到第5步)。注册助手每五秒发送一次检查请求,在手动注册完成后可能需要一点时间才能从JTL Wawi接收到令牌。

之后,令牌输出可能如下所示

DREID\LaravelJtlApi\Modules\AppRegistration\DataTransferObjects\TokenDto^ {#843
  +apiKey: "0b1ee12b-2cf8-4fd5-9920-b104789621f0"
} // app/Console/Commands/RegisterAppCommand.php:31

复制API密钥并将其粘贴到您的.env文件中。

使用方法

注册成功完成后,您可以使用包含的存储库。

例如,要列出所有公司,运行

$repository = app(\DREID\LaravelJtlApi\Modules\Company\CompanyRepository::class);
$response = $repository->queryCompanies();

dump($response->companies);

在某些情况下,您可能需要添加请求体,例如使用客户端点

$repository = app(\DREID\LaravelJtlApi\Modules\Customer\CustomerRepository::class);

$response = $repository->queryCustomers(
    new \DREID\LaravelJtlApi\Modules\Customer\Requests\QueryCustomersRequest(
        searchKeyWord: 'Mustermann',
        pageSize: 100
    )
);

dump($response->items);

请注意:目前,并非所有端点都完全包含或包含在内。
我们希望继续添加更多——如果您注意到缺少您需要的某个端点...

请随时打开pull request!