baywa-re-lusy/packaging-types-api-sdk

BayWa r.e. LUSY Packaging Types API SDK

1.0.2 2025-05-27 09:04 UTC

This package is auto-updated.

Last update: 2025-05-27 09:04:51 UTC


README

This SDK can be used to retrieve Packaging Types, optionally filtered by subsidiaries or Transporeon ID.

All dependencies injected into the constructor are PSR-compatible:

Installation

composer require baywa-re-lusy/packaging-types-api-sdk

Usage

use Laminas\Cache\Storage\Adapter\Apcu;

$tokenCache  = new \Laminas\Cache\Psr\CacheItemPool\CacheItemPoolDecorator(new Apcu());
$resultCache = new \Laminas\Cache\Psr\CacheItemPool\CacheItemPoolDecorator(new Apcu());
$httpFactory = new \Nyholm\Psr7\Factory\Psr17Factory();
$httpClient  = new \GuzzleHttp\Client();

$packagingTypesApiClient = new \BayWaReLusy\PackagingTypesAPI\SDK\PackagingTypesApiClient(
    "<URL to Packaging Types API>",
    "<URL to Token API Endpoint>",
    "<Client ID>",
    "<Client Secret>",
    $tokenCache,
    $resultCache,
    $httpFactory,
    $httpFactory,
    $httpClient    
);

$packagingTypes = $packagingTypesApiClient->getPackagingTypes();
$packagingType  = $packagingTypesApiClient->getPackagingType('<id>');
$packagingType  = $packagingTypesApiClient->findOneByTransporeonId('<Transporeon ID>');

Cache Refresh via Console commands

This SDK contains a Symfony Console command to refresh the Packaging Type cache. You can include the Console command into your application:

$cliApp = new \Symfony\Component\Console\Application();
$cliApp->add(new \BayWaReLusy\PackagingTypesAPI\SDK\Console\RefreshPackagingTypesCache($packagingTypesApiClient));

And then run the Console commands with:

./console packaging-types-api-sdk:refresh-packaging-types-cache