Необходимо реализовать автоматизированную интеграцию между учетной системой Visma Horizon (через REST API) и интернет-магазином WooCommerce (WordPress):
- Автоматическая синхронизация товаров, остатков и цен из Horizon в WooCommerce.
- Автоматическая передача заказов, оформленных на сайте, обратно в Horizon.
- Интеграция должна быть надежной, поддерживать логи ошибок и обеспечивать защиту данных.
Visma Horizon — это учетная система (ERP) для бизнеса, которая автоматизирует бухгалтерию, склад, продажи, закупки, учет товаров, сотрудников и т.д. Она поддерживает ведение справочников (номенклатура, склады, группы товаров), расчет цен, остатков, работу с заказами и документооборот.
Главное для задачи:
У Visma Horizon есть REST API, через который можно получать и отправлять данные о товарах, остатках, заказах и справочниках.
Все данные, которые нужны для интернет-магазина (товары, цены, остатки, заказы), находятся в таблицах внутри Horizon.
Мы хотим автоматически синхронизировать товары и остатки из Horizon в WooCommerce, а также передавать заказы из WooCommerce обратно в Horizon для дальнейшей обработки.
Синхронизация товаров из Horizon в WooCommerce
Получение из Horizon по API:
- Импорт групп товаров (категорий) и других справочников (единицы измерения, склады и пр.) из Horizon в WooCommerce с сохранением структуры
Полного списка товаров (номенклатура)
Название товара, уникальный код, штрихкод, описание, категория/группа, единица измерения
Текущие остатки по выбранным складам
Актуальные цены (с учетом актуальности по дате и нужных прайс-листов)
Изображения
Обновление WooCommerce:
Создание новых товаров и обновление существующих
Синхронизация остатков и цен по расписанию
Привязка к категориям WooCommerce
Обработка ошибок (логирование, алерты при сбоях)
Фильтрация неактуальных/неактивных позиций
Приём и обработка заказов из WooCommerce в Horizon
Отправка каждого нового заказа в Horizon через REST API:
- Передавать все данные заказа: номер, дата, состав заказа (товары, количество, цена), покупатель (имя, e-mail, телефон, адрес), способ доставки и оплаты, статус заказа.
• Заказ после отправки фиксируется в Horizon и ожидает подтверждения менеджером (реализовать передачу статуса или флаг, что заказ требует подтверждения).
• После получения ответа/статуса из Horizon — синхронизировать статус заказа обратно в WooCommerce (например, "оплачен", “отгружен”, “отменён”, “подтверждён менеджером” и т.п.).
• Логирование успешных/неуспешных попыток передачи.
• Реализовать автоматическую повторную отправку при ошибках.
• Обеспечить обработку ошибок и логирование (логи ошибок, событий и действий).
Интеграция с онлайн платежными системами не требуется.
Все заказы, оформленные через интернет-магазин WooCommerce, обрабатываются менеджером и оплачиваются по счету банковским переводом между компаниями (B2B).
Информация о статусе оплаты будет фиксироваться вручную в Horizon и/или WooCommerce в зависимости от бизнес-процесса.
Весь процесс интеграции и тестирования необходимо реализовать сначала в тестовой среде (sandbox), с предоставлением подробной инструкции по запуску и переходу на рабочий сервер.