三德 / laravel-jtl-api
为Laravel提供的JTL API包装器
1.2.5
2024-09-16 13:11 UTC
Requires
- php: ^8.2
- laravel/framework: ^11
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!