Інтеграція ERP-системи з веб-сайтом
ERP-інтеграція — категорія завдань, а не одна конкретна реалізація. Під ERP розуміють 1С:ERP, SAP, Microsoft Dynamics, Oracle NetSuite, Odoo, Epicor й десятки інших систем. Кожна має свою архітектуру API, формати даних й моделі безпеки. Разом з тим підходи до інтеграції веб-сайту з будь-якою ERP слідують загальним принципам.
Загальна архітектура
Прямі синхронні запити веб-сайту до ERP — антипаттерн. ERP не проектувалися для обробки сотень HTTP-запитів на хвилину від користувачів веб-сайту. Стандартна схема включає проміжний шар:
Користувач веб-сайту
↓
Веб-сайт (сервер)
↓
Кеш / БД веб-сайту ← [Синхронізація] ← ERP
↓
Відповідь користувачу (швидко, без звертання до ERP)
Критичні для користувача дані (ціни, залишки, каталог) кешуються в БД веб-сайту й оновлюються з ERP за розписанням або webhook. Трансакційні дані (замовлення) передаються в ERP через чергу.
Типи інтеграції за напрямком
ERP → Веб-сайт (мастер даних):
- Номенклатура, характеристики, ієрархія категорій
- Актуальні ціни (базові + для конкретних клієнтів)
- Залишки за складами
- Контрагенти (для B2B-порталів)
Веб-сайт → ERP (транзакції):
- Замовлення клієнтів
- Дані нових клієнтів / оновлення контактів
- Платежі й повернення
ERP → Веб-сайт (зворотний зв'язок):
- Статуси замовлень (прийнято, відправлено, закрито)
- Виставлені документи (рахунки, видатні накладні)
- Кредитні ліміти й стан рахунку (для B2B)
Формати й протоколи
| ERP | Протокол | Формат |
|---|---|---|
| SAP | OData / RFC / SOAP | JSON / XML / IDoc |
| 1С будь-яка | HTTP-сервіси / COM / CommerceML | JSON / XML |
| Odoo | JSON-RPC | JSON |
| MS Dynamics | OData (Dataverse) | JSON |
| Oracle NetSuite | SuiteTalk SOAP / REST | XML / JSON |
Проміжний сервіс (Middleware)
Для великих інтеграцій рекомендується виділений middleware-сервіс:
API веб-сайту → Middleware (Go/Node.js) → ERP
↕
Черга (RabbitMQ/Kafka)
↕
Моніторинг + retry
Middleware відповідає за: трансформацію форматів, маршрутизацію, retry при помилках, батчинг запитів (важливо для ERP з ліміти на кількість викликів), логування всіх обмінів.
Помилки й reconciliation
У будь-якій інтеграції бувають розбіжності: замовлення створено на веб-сайті, але не потрапило в ERP через помилку мережі. Потрібен механізм reconciliation — періодична перевірка узгодженості даних:
-- Знайти замовлення на веб-сайті без запису в ERP
SELECT o.id, o.created_at
FROM orders o
WHERE o.erp_sync_status != 'synced'
AND o.created_at < NOW() - INTERVAL '10 minutes'
AND o.status = 'confirmed'
ORDER BY o.created_at
Стандартизація перед інтеграцією
Перед початком розробки необхідна аналітична робота:
- Які об'єкти ERP будуть учасниками обміну
- Маппинг полів: поле веб-сайту ↔ поле ERP (з типами даних й обмеженнями)
- Правила дедупликації (як пов'язати клієнта веб-сайту з контрагентом ERP)
- Частота й обсяг обмінів
- SLA: допустима затримка синхронізації
Терміни розробки: 6–16 тижнів залежно від системи, обсягу даних й складності трансформацій.







