justbetter / laravel-akeneo-client
A Laravel package for the Akeneo API
Installs: 11 343
Dependents: 2
Suggesters: 0
Security: 0
Stars: 16
Watchers: 4
Forks: 1
Open Issues: 0
Type:package
Requires
- php: ^8.2|^8.3
- akeneo/api-php-client: ^11.4
- guzzlehttp/guzzle: ^7.5
- laravel/framework: ^10.0|^11.0
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.18
- orchestra/testbench: ^8.27|^9.5
- pestphp/pest: ^2.0
- phpstan/phpstan-mockery: ^1.1
- phpunit/phpunit: ^10.5
README
Laravel Akeneo Client
Connect to your Akeneo instance using the official akeneo/api-php-client. This package will ease configuration, dependency injection and testing for Laravel.
It also has an endpoint available to receive Akeneo events, if enabled.
Example usage
<?php use JustBetter\AkeneoClient\Client\Akeneo; public function __construct(Akeneo $akeneo) { $product = $akeneo->getProductApi()->get('1000'); }
Installation
Install the composer package.
composer require justbetter/laravel-akeneo-client
By default, this package will require the latest version of akeneo/api-php-client
. You should take a look at the
compatibility table to see what version you need for your project.
composer require akeneo/api-php-client "^9.0"
Setup
Optionally, publish the configuration of the package.
php artisan vendor:publish --provider="JustBetter\AkeneoClient\ServiceProvider" --tag=config
Configuration
Add the following values to your .env
file.
AKENEO_URL=
AKENEO_CLIENT_ID=
AKENEO_SECRET=
AKENEO_USERNAME=
AKENEO_PASSWORD=
AKENEO_EVENT_SECRET=
Events
If you have enabled the event subscription in Akeneo you will be to listen to these events.
The event webhook is /akeneo/event
. This can be configured using the prefix
in your akeneo
config file.
All events are available.
<?php use Illuminate\Support\Facades\Event; use JustBetter\AkeneoClient\Events\ProductCreatedEvent; Event::listen(function (ProductCreatedEvent $event): void { // });
Testing
This package makes testing and mocking Akeneo calls very easily.
<?php use Illuminate\Support\Facades\Http; use JustBetter\AkeneoClient\Client\Akeneo; // This will fake Akeneo credentials and a sign in. Akeneo::fake(); // Fake the specific call you will be using Http::fake([ 'akeneo/api/rest/v1/products/1000' => Http::response([ 'identifier' => '1000', 'enabled' => true, 'family' => 'hydras', 'categories' => [], 'groups' => [], 'parent' => null, 'values' => [ 'name' => [ [ 'locale' => 'nl_NL', 'scope' => 'ecommerce', 'data' => 'Ziggy', ], ], ], ]), ]); // Get the product with the fake response $response = $akeneo->getProductApi()->get('1000');
Quality
To ensure the quality of this package, run the following command:
composer quality
This will execute three tasks:
- Makes sure all tests are passed
- Checks for any issues using static code analysis
- Checks if the code is correctly formatted
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.