Інтеграція PIM-системи (Product Information Management) з сайтом
Відзначимо: коли в каталозі 10 000+ SKU, а товари продаються через сайт, маркетплейси та мобільний додаток, зберігати характеристики та описи в кожній системі окремо — шлях до хаосу. Помилки в атрибутах обходяться в середньому в 200 людино-годин ручного звірення на місяць, а різний контент на каналах відкидає конверсію на 15%. Типова ситуація: менеджер править вагу в ERP, але опис на сайті залишається старим, і клієнт отримує неактуальну інформацію.
Ми вирішуємо це завдання через інтеграцію PIM-системи (Akeneo, Pimcore, Plytix) з сайтом. PIM стає центральним сховищем даних про продукти: тексти, зображення, документи, переклади. Сайт отримує ці дані через REST API або webhook, а не зберігає їх у власній БД. Так досягається єдине джерело правди — всі зміни вносяться один раз і автоматично поширюються на всі канали. Згідно з Wikipedia, PIM-системи знижують час виведення продукту на ринок у середньому на 30-50%.
Яку проблему вирішує PIM?
Основний біль — розсинхронізація даних між каналами. Наприклад, у товару змінилася вага в ERP, але опис на сайті залишився старим. Або менеджер вручну править картку на маркетплейсі, а через тиждень правки губляться. PIM виключає ручну роботу: всі зміни вносяться один раз і автоматично поширюються на всі системи. За нашими даними, впровадження PIM скорочує час виведення товару на ринок на 40%.
Що входить у роботу?
- Аналіз поточної архітектури даних: вивчаємо структуру товарів, джерела (ERP, CRM), канали споживання.
- Проектування схеми синхронізації: обираємо стратегію (pull/push/гібрид), визначаємо періодичність.
- Інтеграція з PIM через REST API: налаштування клієнта (PHP, Node.js), оптимізація запитів (пагінація, фільтри).
- Синхронізація категорій та атрибутів: побудова дерева категорій, маппінг полів.
- Медіафайли: завантаження зображень із PIM на CDN сайту з перевіркою за хешем.
- Багатомовність: налаштування локалей, автоматичне перемикання контенту.
- Тестування та моніторинг: перевірка цілісності даних, алерти при збоях.
Приклад конфігурації webhook в Akeneo
{ "events": ["product.created", "product.updated", "product.deleted"], "url": "https://your-site.com/webhook/akeneo", "method": "POST", "secret": "your-secret" } Популярні PIM-системи
| Система | Особливості | Ліцензія |
|---|---|---|
| Akeneo | Гнучкі атрибути, правила збагачення, вбудовані webhook | Community (безкоштовно), Enterprise |
| Pimcore | Відкрита платформа, вбудований DAM, висока кастомізація | AGPLv3 |
| Plytix | Простий інтерфейс, фокус на малий бізнес, інтеграція з Shopify | Платна |
| Salsify | Enterprise: керування каналами, аналітика | Платна |
| 1С:Номенклатура | Для екосистеми 1С, інтеграція з Бітрікс | Входить до 1С |
Яку стратегію синхронізації обрати: pull чи push?
Pull-підхід — сайт періодично запитує зміни у PIM. Зазвичай раз на 15–30 хвилин. Підходить для більшості завдань, але дає затримку. Приклад запиту змінених продуктів:
GET /products?search={"updated":[{"operator":">","value":"2025-01-01T10:00:00"}]} Push-підхід (webhook) — PIM сповіщає сайт при публікації. Akeneo підтримує події product.updated, product.created. Затримка — секунди. Вимагає обробки на стороні сайту (черга, rate limiting).
Ми частіше використовуємо гібрид: базові оновлення по pull кожні 30 хвилин, критичні (наприклад, відключення товару) — через webhook. Нижче — порівняння ключових параметрів:
| Параметр | Pull | Push |
|---|---|---|
| Затримка | 15–30 хв | 1–5 сек |
| Навантаження | Періодичні запити | Асинхронні сповіщення |
| Складність | Низька | Середня (черга, retry) |
| Ідемпотентність | Гарантована | Вимагає реалізації |
Push-синхронізація працює в 60 разів швидше pull за часом актуалізації даних, але вимагає складнішої інфраструктури.
Приклад інтеграції з Akeneo
<?php // composer require akeneo/api-php-client $client = \Akeneo\Pim\ApiClient\AkeneoPimClientBuilder::create( 'https://your-pim.akeneo.com' )->buildAuthenticatedByPassword('client_id', 'secret', 'user', 'pass'); // Отримати товари із заданими атрибутами $products = $client->product()->listPerPage(100, true, [ 'channel' => 'ecommerce', 'locales' => ['ru_RU', 'en_US'], 'attributes' => ['name', 'description', 'weight', 'color'], 'filters' => [['field' => 'enabled', 'operator' => '=', 'value' => true]] ]); foreach ($products->getItems() as $product) { $name = $product['values']['name'][0]['data']; $description = $product['values']['description'][0]['data']; // Синхронізувати з локальною БД сайту } Особливості інтеграції: медіа, багатомовність та категорії
Медіафайли — зображення зберігаються в PIM з прив'язкою до продукту. Сайт може кешувати їх на S3 з перевіркою за хешем, віддавати напряму з PIM (тільки для захищених середовищ) або використовувати CDN PIM. Типовий обсяг — 500+ зображень для каталогу з 10 000 SKU.
Багатомовність — PIM природно керує перекладами. Російська та англійська версії товару зберігаються з прив'язкою до locale. При запиті даних сайт передає потрібну locale:
GET /products/tshirt-blue?scope=ecommerce&locales=ru_RU Синхронізація категорій — ієрархія надходить з PIM у вигляді flat-масиву з parent_code. Ми відновлюємо дерево на стороні сайту, забезпечуючи актуальність структури.
Чому варто обрати нас?
Досвід понад 10 років в інтеграціях. Сертифіковані спеціалісти з Akeneo. За кожним проектом — менеджер та інженер. Даємо гарантію на всі роботи. Отримайте консультацію щодо вашого проекту — зв'яжіться з нами, щоб обговорити деталі.
Терміни та вартість
Термін інтеграції: від 4 до 8 тижнів залежно від складності каталогу та кількості каналів. Вартість розраховується індивідуально. Замовте оцінку вашого проекту — ми підготуємо пропозицію.
Типові помилки при інтеграції
- Синхронізація всіх даних одразу — призводить до перевантаження API та уповільнення сайту. Використовуйте інкрементальні оновлення.
- Ігнорування медіа — зображення з PIM важать багато. Налаштуйте CDN та стиснення.
- Відсутність моніторингу — без алертів збій синхронізації може залишитися непоміченим. Налаштуйте сповіщення.
Уникнути цих помилок допомагає наш досвід. Замовте оцінку вашого проекту — ми підготуємо пропозицію.







