Интеграция WooCommerce и ERP
Задача
Внешняя ERP оставалась источником правды по наличию, персональным ценам и допустимости отгрузки. WooCommerce должен был продавать без рассинхрона и без публикации клиентского контура.
Роль и объём
Весь контур — от клиента ERP до исходящей очереди заказов — сделан один: клиент ERP, слой правил, синхронизация остатков и цен. ERP и её админка оставались на стороне заказчика.
Ограничения
Коробочный импорт не закрывал правила доступности и обратную отправку заказов. Контур должен переживать таймауты API, не писать мусор в каталог и не светить секреты на витрине.
Архитектура
WooCommerce │ ▼ Custom Plugin ├── API Client ├── Business Logic ├── Sync └── Logging │ ▼ ERP API
Реализация
Плагин: клиент ERP, слой правил, синхронизация остатков и цен, постановка заказов в исходящую очередь. WP-Cron пачками, идемпотентные ключи, ошибки в лог без падения витрины.
Отказы и повторы
Секреты только на сервере. Повторы с backoff. Расхождение стока чинится повторным прогоном, не ручным SQL. Ошибка ERP не роняет чекаут.
Результат
Витрина показывает те же ограничения, что ERP. Заказы уходят обратно. Клиентский API и админка ERP не публикуются.
Стек
PHP · WordPress · WooCommerce · MySQL · REST API · WP-Cron
Похожая система?
Обсудим ограничения и контур — не сайт с нуля.