• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

akeneo/api-php-client: PHP client of Akeneo PIM API

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

akeneo/api-php-client

开源软件地址:

https://github.com/akeneo/api-php-client

开源编程语言:

PHP 99.5%

开源软件介绍:

PHP Akeneo PIM API

A simple PHP client to use the Akeneo PIM API.

Matrix compatibility:

PIM version(s) API PHP Client version CI status
v2.0 v1.0 Build Status
v2.1 - v2.2 v2.0 Build Status
v2.3 v3.0 Build Status
v3.0 - v4.0 v4.0 - v5.0 Build Status
v5.0 v6.0 -
v6.0 v7.0 to v9.0 -
- master CircleCI

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.

Requirements

  • PHP >= 7.4
  • Composer

Installation

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

api-php-client uses Composer. The first step to use api-php-client is to download composer:

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

Then, run the following command to require the library:

$ php composer.phar require akeneo/api-php-client 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.

Documentation

Full documentation is available on the API website.

Getting started

Initialise the client

You first need to initialise the client with your credentials client id/secret and with your user/password.

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

<?php

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

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

You can authenticate to the client with your token/refresh token as well.

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

Getting the token and refresh token is as simple as:

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

If you are developing an App, authenticate with your app token.

$client = $clientBuilder->buildAuthenticatedByAppToken('app_token');

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.

# Build the project
make dependencies

# Run PHPUnit tests
make unit

# Run PHPSpec tests
make spec

# Run code style check
make cs

# ... or directly run all tests
make tests

Support

The support of this client is made in best effort by our Akeneo team.

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.

Contributing

As this PHP client is an open-source project, all contributions are very welcome!

For more information, please consult the contributing section




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Graphoid v0.1.0发布时间:2022-06-13
下一篇:
akeneo/api-php-client-ee: Old PHP client of Akeneo PIM EE API. Moved to https:// ...发布时间:2022-06-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap