2017 © Pedro Peláez
 

library api-php-client-ee

Akeneo PIM ENTERPRISE client for the API

image

akeneo/api-php-client-ee

Akeneo PIM ENTERPRISE client for the API

  • Wednesday, June 27, 2018
  • by nidup
  • Repository
  • 10 Watchers
  • 1 Stars
  • 5,079 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 18 Versions
  • 81 % Grown

The README.md

PHP Akeneo PIM API

A simple PHP client to use the Akeneo PIM API with the Enterprise Edition., (*1)

Matrix compatibility:, (*2)

PIM EE version(s) API PHP Client EE version End of life CI status
v2.0 v1.0 March 2019 Build Status
v2.1 - v2.2 v2.0 March 2019 Build Status
v2.3 v3.0 December 2019 Build Status
v3.0 - v3.1 v4.0 August 2020 Build Status
v3.2 v5.0 August 2020 Build Status
- master - Build Status

Note that our PHP client is backward compatible. For example, if your PIM is currently a v2.3, you can still use a 1.0 version of the PHP client. The new endpoints available in v2.3 will not be available in the v1.0 of the PHP client., (*3)

Requirements

  • PHP >= 7.1
  • Composer

Installation

We use HTTPPlug as the HTTP client abstraction layer. In this example, we will use Guzzle v6 as the HTTP client implementation., (*4)

api-php-client-ee uses Composer. The first step to use api-php-client-ee is to download composer:, (*5)

$ curl -s http://getcomposer.org/installer | php

Then, run the following command to require the library:, (*6)

$ php composer.phar require akeneo/api-php-client-ee php-http/guzzle6-adapter:^2.0 http-interop/http-factory-guzzle:^1.0

If you want to use another HTTP client implementation, you can check here the full list of HTTP client implementations., (*7)

Documentation

Full documentation is available on the API website., (*8)

Getting started

Initialise the client

You first need to initialise the client with your credentials client id/secret and with your user/password., (*9)

If you don't have any client id, let's take a look at this page to create it., (*10)

<?php

require_once __DIR__ . '/vendor/autoload.php';

$clientBuilder = new \Akeneo\PimEnterprise\ApiClient\AkeneoPimEnterpriseClientBuilder('http://localhost/');
$client = $clientBuilder->buildAuthenticatedByPassword('client_id', 'secret', 'admin', 'admin');

You can authenticate to the client with your token/refresh token as well., (*11)

$client = $clientBuilder->buildAuthenticatedByToken('client_id', 'secret', 'token', 'refresh_token');

Getting the token and refresh token is as simple as:, (*12)

$client->getToken();
$client->getRefreshToken();

Get a product

$product = $client->getProductApi()->get('top');
echo $product['identifier']; // display "top"

Get a list of products

By getting pages

$searchBuilder = new \Akeneo\Pim\ApiClient\Search\SearchBuilder();
$searchBuilder->addFilter('enabled', '=', true);
$searchFilters = $searchBuilder->getFilters();

$firstPage = $client->getProductApi()->listPerPage(50, true, ['search' => $searchFilters]);

echo $firstPage->getCount();

foreach ($firstPage->getItems() as $product) {
    // do your stuff here
    echo $product['identifier'];
}

$nextPage = $firstPage->getNextPage();

$firstPage = $nextPage->getPreviousPage();

By getting a cursor

$searchBuilder = new \Akeneo\Pim\ApiClient\Search\SearchBuilder();
$searchBuilder->addFilter('enabled', '=', true);
$searchFilters = $searchBuilder->getFilters();

$products = $client->getProductApi()->all(50, ['search' => $searchFilters]);
foreach ($products as $product) {
    // do your stuff here
    echo $product['identifier'];
}

Create a product

$client->getProductApi()->create('top', ['enabled' => true]);

Upsert a product

$client->getProductApi()->upsert('top', ['family' => 'tshirt']);

Upsert a list of of products

$client->getProductApi()->upsertList([
    [
        'identifier' => 'top',
        'family' => 'tshirt',
    ],
    [
        'identifier' => 'cap',
        'categories' => ['hat'],
    ],
]);

Testing

Do note that you have to delete the composer.lock because Doctrine dependencies are loaded. These dependencies are different in function of the PHP version running composer install., (*13)

cp docker-compose.yml.dist docker-compose.yml
rm -rf composer.lock vendor/
docker-compose run client_72 composer install
docker-compose run client_72 bin/phpunit -c phpunit.xml.dist
docker-compose run client_72 bin/phpspec run
docker-compose run client_72 bin/php-cs-fixer fix --diff --dry-run --config=.php_cs.php -vvv

Support

The support of this client is made in best effort by our Akeneo team., (*14)

If you find a bug or want to submit an improvement, don't hesitate to raise an issue on Github. Also, you can ask questions and discuss about the PHP client with the community in the Slack User Group., (*15)

The Versions

27/06 2018
26/06 2018

3.0.x-dev

3.0.9999999.9999999-dev

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

26/06 2018
27/05 2018

dev-merge-master

dev-merge-master

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

27/05 2018

2.0.x-dev

2.0.9999999.9999999-dev

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

27/05 2018

dev-merge-1.0-to-2.0

dev-merge-1.0-to-2.0

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

27/05 2018

1.0.x-dev

1.0.9999999.9999999-dev

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

26/05 2018

dev-add-ci-status

dev-add-ci-status

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

03/05 2018

v2.0.1

2.0.1.0

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

04/04 2018

dev-fix-ce-version

dev-fix-ce-version

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

19/02 2018

v2.0.0

2.0.0.0

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

19/02 2018

dev-readme-2-0

dev-readme-2-0

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

19/02 2018

dev-prepare-20

dev-prepare-20

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

31/01 2018

dev-ClementGautier-patch-1-1

dev-ClementGautier-patch-1-1

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

31/01 2018

dev-ClementGautier-patch-1

dev-ClementGautier-patch-1

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

22/12 2017

dev-API-490-492-552

dev-API-490-492-552

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

29/11 2017

dev-merge-10-to-master

dev-merge-10-to-master

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires

29/11 2017

v1.0.0

1.0.0.0

Akeneo PIM ENTERPRISE client for the API

  Sources   Download

OSL-3.0

The Requires

 

The Development Requires