justbetter/laravel-akeneo-client

A Laravel package for the Akeneo API
33,686 16
Install
composer require justbetter/laravel-akeneo-client
Latest Version:1.6.1
PHP:^8.3
License:MIT
Last Updated:Apr 13, 2026
Links: GitHub  ·  Packagist
Maintainer: justbetter

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:

  1. Makes sure all tests are passed
  2. Checks for any issues using static code analysis
  3. 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.

Related Packages

mews/purifier

Laravel 5/6/7/8/9/10 HtmlPurifier Package

21,010,090 1,982
kyslik/column-sortable

Package for handling column sorting in Laravel 6.x

6,282,182 647
mews/captcha

Laravel 5/6/7/8/9/10/11/12 Captcha Package

6,095,827 2,586
ajthinking/archetype

Programmatically edit PHP and Laravel files.

4,372,487 272