Модуль забезпечує повну двосторонню інтеграцію Odoo 19 з маркетплейсом Rozetka.ua — найбільшою e-commerce платформою України. Замовлення, товари, залишки, ціни, статуси, фінанси та відгуки синхронізуються з кабінетом продавця через офіційний Seller API.
Обмін товарами
Інтеграція працює у двох напрямках — завантаження товарів з Rozetka.ua в Odoo та вивантаження товарів з Odoo на Rozetka.ua.
Експорт товарів з Odoo: створення нових позицій
(POST /items-create/create) та оновлення контенту
(PUT /items-create/mass-update-basic-data). Доступні серверні дії
«Експортувати на Rozetka.ua» та «Оновити з Rozetka.ua» у меню дій товару, а також
масовий ре-експорт обраних товарів по всіх магазинах за одну дію.
Імпорт товарів з Rozetka.ua: GET /goods/all з
дельта-синхронізацією (оновлюються лише позиції, змінені після останнього
оновлення) та збагаченням деталей через GET /goods/details.
Характеристики зберігаються як нативні Odoo Properties, прив'язані до категорії товару; підтримуються типи text, integer, float, boolean, list, multiselect.
Статус модерації: новий товар отримує тимчасовий ідентифікатор
i{item_id}, який після проходження модерації автоматично замінюється
на постійний rz_item_id. Поки товар на модерації, зайві
оновлення/синхронізації блокуються, щоб уникнути помилок.
Зображення обробляються асинхронною чергою (URL або base64): спочатку завантажується інформація про товар, а фото додаються згодом. Підтримуються знижки (відсоток/сума з датами початку та закінчення).
Замовлення
Імпорт замовлень: усі групи кабінету; при першому запуску завантажуються замовлення за останні 7 днів, далі — лише нові та змінені (дельта).
Клієнт створюється автоматично з пошуком за номером телефону;
адреса доставки зберігається як дочірній контакт
(res.partner типу «доставка») і прив'язується до замовлення.
Рядки замовлення зіставляються з товарами Odoo за
goods_id/item_id, із резервним пошуком за артикулом.
Обмін статусами замовлень
Зміна статусу замовлення в Odoo надсилається на Rozetka.ua двома шляхами: автоматично чергою обміну (кожні ~5 хвилин) або миттєво — кнопкою «Push to Rozetka now» прямо біля поля статусу на вкладці Rozetka.ua.
Цільовий стан фіксується знімком (snapshot) у момент зміни, тож одночасна синхронізація з боку Rozetka не перезаписує намір користувача. Завершені та скасовані замовлення вважаються кінцевими (terminal) — повторні зміни статусу для них не надсилаються.
Якщо замовлення скасовано на боці Rozetka, документ в Odoo автоматично скасовується. Валідація на боці Odoo не дає надіслати неіснуючий статус, а для статусу «Передано в доставку» вимагає заповнений номер ТТН.
ТТН (номер декларації)
Номер ТТН (трекінг Нової Пошти та інших служб) надсилається на Rozetka.ua
через POST /orders/{id}/status — з картки замовлення або з
відповідного складського переміщення (stock.picking).
Фінанси
Поточний баланс рахунку (GET /balances/total), історія транзакцій
(GET /balances/search) та акти звірки з можливістю завантаження PDF
і підтвердження/оскарження (GET /reports/search). На формі магазину
відображаються дані продавця (ID продавця та магазину, назва, e-mail, статус,
рейтинг) і лічильники нових замовлень.
Відгуки
Синхронізація відгуків на товари (GET /item-comments/search) та на
магазин (GET /market-reviews/search) із можливістю відповіді
продавця. Оновлення відбувається автоматично щогодини.
Інфраструктура
- Авторизація: логін + пароль → Bearer-токен на 24 години з автоматичним оновленням перед закінченням терміну дії.
- Черга обміну з повторними спробами за експоненційним алгоритмом (5 хв → 15 хв → 1 год → 6 год → 24 год → dead-letter) і безпечна для багатопроцесорного режиму (FOR UPDATE SKIP LOCKED).
- Журнал синхронізації — історія кожного запуску: статус, тривалість, кількість записів, помилки.
- Дашборд магазинів: нові замовлення, помилки черги, «брудні» товари, баланс.
- Мультимагазин — необмежена кількість кабінетів Rozetka.
- Конфігуровані планові дії (cron) для замовлень, товарів, залишків/цін, зображень, характеристик та відгуків.
Please log in to comment on this module