Elbuz забирає з вашого сайту на Хорошоп розділи, товари з цінами, залишками й описами обома мовами та замовлення покупців — через API, без файлів. Сайт лишається вітриною, а прайси, націнки, склад і маркетплейси ведуться в Elbuz.
Коли це знадобиться:
- Каталог ведеться на сайті — Elbuz тримає його копію з деревом розділів, SEO-полями й фото.
- Замовлення з сайту треба обробляти разом з іншими — вони лягають документами з покупцем і позиціями.
- Ціни рахуються в Elbuz — формула поля перераховує їх поверх привезених із сайту.
З чого почати: створіть користувача API в адмінпанелі Хорошопу і впишіть його в шаблон «API — CMS Хорошоп».
Що вміє підключення Хорошопу
- Розділи — дерево категорій сайту з назвами двома мовами.
- Товари — ціни, залишки, описи, SEO-поля, фото, модифікації за артикулом батька.
- Оновлення — повторний прогін знаходить товар за артикулом і оновлює його без дублів.
- Замовлення — з покупцем, доставкою, оплатою й позиціями.
Зворотний напрямок — оновлення карток на сайті з Elbuz — робить окремий шаблон вивантаження: вивантаження каталогу на Хорошоп.
Де це і хто має доступ
- Меню
- Операції → Завантаження даних → шаблон типу «API — CMS Хорошоп»
- Право доступу
- вікно «Завантаження» у «Правах груп»
- Підготувати
- адресу API сайту, логін і пароль користувача API
1
Посилання API — адреса API сайту2
Логін користувача API3
Пароль- Посилання API — адреса API сайту, з якого відбувається завантаження.
- Логін користувача API для підключення до сайту.
- Пароль користувача API для підключення до сайту.
Що потрібно від Хорошопу
| Поле у шаблоні | Що вписати |
|---|---|
| Посилання (URL) | Адреса API вашого сайту — домен магазину з /api/ на кінці |
| Логін | Логін користувача API, створеного в адмінпанелі Хорошопу |
| Пароль | Його пароль |
Логін і пароль створюються в адмінпанелі Хорошопу: «Налаштування» → «Адміни». Заведіть окремого користувача для інтеграції, а не свій обліковий запис адміністратора — такий доступ простіше відкликати й перевипустити.
Хорошоп віддає назви й описи мовами, увімкненими на сайті. Щоб приїхала українська версія, українська мова має бути в довіднику мов вашої копії Elbuz. Перевірте це до першого завантаження.
Хорошоп видає тимчасовий ключ доступу приблизно на десять хвилин, і Elbuz отримує його сам перед кожною операцією. Тому помилка авторизації майже завжди означає неправильні адресу, логін чи пароль, а не «протухлий токен».
Опис інтеграції на боці платформи: API Хорошоп — як увімкнути доступ і які функції підтримує ваша редакція.
Як підключити крок за кроком
- Створіть шаблон типу «API — CMS Хорошоп», впишіть адресу API, логін і пароль.
- Збережіть і запустіть завантаження вручну.
- Перевірте, що дерево розділів зібралося як на сайті, і звірте кілька товарів: ціну, залишок, описи обома мовами.
У картці «Що завантажувати» працює одна галочка — «Замовлення». Розділи, товари й фото підключення забирає завжди. «Завантажувати фото», «Завантажувати атрибути», «Заповнювати довідник виробників» і «Видаляти записи в базовому каталозі, яких немає в завантаженому файлі» на прогін не впливають: виробників він додає сам, атрибути не вантажить, нічого не видаляє.
Що переноситься в картку
Спершу розділи, потім товари
Спочатку Elbuz забирає розділи сайту з вкладеністю й назвами російською та українською і будує з них дерево категорій. Наявні розділи оновлюються, нові додаються, ієрархія сайту зберігається. Лише потім вантажаться товари — сторінками по 500, доки не закінчаться.
Поля товару
| Дані Хорошопу | Поле товару в Elbuz |
|---|---|
| артикул | Артикул — головний ключ зіставлення |
| артикул батьківського товару | Зв'язок модифікацій у сімʼю |
| розділ каталогу | Категорія |
| назва, назва модифікації | Назва (російською та українською) |
| назва для Rozetka | Окреме поле назви для майданчика |
| бренд | Виробник |
| артикул виробника (MPN), GTIN | MPN і штрихкод |
| ціна і стара ціна, валюта | Ціна, стара ціна |
| наявність, кількість | Статус наявності й залишок |
| короткий опис і опис | Короткий опис, опис (двома мовами) |
| SEO-заголовок, ключові слова, опис, H1 | SEO-поля (двома мовами) |
| ЧПУ-адреса й посилання на товар | Адреса товару на сайті |
| фотографії | Фотографії (посиланнями на знімки сайту) |
За артикулом товар упізнається при повторних завантаженнях, і за ним модифікації зчіплюються з головним товаром. Артикули на сайті мають бути унікальними й незмінними: змінений артикул для Elbuz — новий товар, а стара картка лишається.
Характеристики з Хорошопу не завантажуються: API віддає значення, але не людські назви характеристик, і зібрати з цього таблицю атрибутів неможливо. Потрібні характеристики — заповніть їх в Elbuz або підтягніть з прайсу постачальника чи фіду виробника.
Що робить повторне завантаження з вашими правками
Наступний запуск шукає товар за артикулом: знайшов — оновлює, не знайшов — створює. Привезене з сайту перезаписується, решта лишається вашою.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
| Поле картки в Elbuz | Що з ним робить наступний прогін |
|---|---|
| Ціна, стара ціна | Перезаписує значенням із сайту; у картці з прапорцем «Фіксована ціна» не чіпає |
| Кількість | Перезаписує кількістю з сайту |
| Статус наявності | Перезаписує: назву наявності з сайту Elbuz шукає у своєму довіднику статусів і в списках ключових слів; не впізнав — ставить статус, позначений у довіднику як «в наявності» |
| Активність картки | Прирівнює до ознаки показу товару на сайті: сховали товар на сайті — картка в Elbuz стає неактивною |
| Назва, обома мовами | Перезаписує назвою з сайту, а для модифікації — назвою модифікації |
| Короткий опис і опис | Перезаписує |
| SEO-заголовок, ключові слова, SEO-опис, H1 | Не чіпає. Ці поля заповнюються тільки в момент створення картки — далі вони ваші |
| Розділ товару | Перезаписує розділом сайту; список категорій товару перед записом очищається й збирається наново. Якщо розділу сайту немає в дереві, розділ і список категорій лишаються такими, як були |
| Виробник, MPN, штрихкод, адреса на сайті | Перезаписує, якщо на сайті поле заповнене; порожнє значення з сайту ваше не стирає |
| Фотографії | Додає посилання, яких у картці ще не було; наявні знімки не видаляє. У картку з прапорцем «Не оновлювати фото» нових посилань не додає |
- «Не оновлювати» в картці — прогін не змінює її зовсім: ні ціну, ні кількість, ні тексти, ні розділ, ні фото.
- «Фіксована ціна» — ціна й стара ціна лишаються вашими, решта оновлюється.
- Формула поля з прапорцем «Застосовувати при завантаженні БК із зовнішніх джерел» у вікні «Формули полів» рахується наприкінці кожного завантаження, на кроці «Оновлення значень на основі формул», — поверх привезеного.
Чиє значення лишиться, коли в поле пишуть двоє
Пріоритету джерел немає: завантаження з Хорошопу, оновлення каталогу з прайсу й ручна правка пишуть в одне поле, і лишається значення того, хто відпрацював останнім (що перезапише повторний прогін). Якщо ціни рахуються з прайсу, а каталог щоночі приїжджає з сайту, у картці буде ціна сайту — доки вивантаження не віддасть сайту вашу або картку не захищено.
Вивантаження відправляє на сайт лише поля, позначені «Оновлювати» (вивантаження на Хорошоп). Решта лишається за сайтом, і наступне завантаження привезе її назад.
Своє дерево розділів і видалення розділів
Кожне завантаження повертає розділам назви й місце в дереві з сайту. Перейменували чи перенесли розділ у Elbuz — прогін поверне як на сайті. Так само з товарами: перенесена у вашу категорію картка повернеться в розділ сайту. Щоб товар лежав у вашому розділі, такий розділ має бути й на сайті.
Разом із розділом видаляються всі товари, для яких він основний, з описами, фото, атрибутами й ЧПУ-адресами. Спершу спорожніть розділ, потім видаляйте. Рядки завантажених замовлень лишаються з власними назвою, артикулом, ціною й кількістю — зникає лише перехід на картку.
Як забирати замовлення з сайту
Увімкніть галочку «Замовлення» в картці «Що завантажувати». Каталог вантажиться як раніше, замовлення додаються окремим кроком наприкінці.
1
Галочка «Замовлення»- Галочка «Замовлення» вмикає завантаження заказів із сайту.
| Дані Хорошопу | Поле документа в Elbuz |
|---|---|
| номер замовлення | Номер документа (за ним замовлення впізнається повторно) |
| дата оформлення | Дата замовлення |
| ім'я отримувача | Ім'я та прізвище (рядок ділиться на дві частини) |
| пошта й телефон | E-mail, телефон |
| ідентифікатор покупця на сайті | Прив'язка контрагента до джерела |
| місто й адреса доставки | Адреса доставки |
| спосіб доставки, вартість доставки | Вид доставки, ціна доставки |
| спосіб оплати | Вид оплати |
| ознака оплати | Статус оплати «Оплачено» |
| статус замовлення | Статус документа (через зіставлення) |
| коментар покупця | Опис замовлення |
| сума й валюта | Сума документа, валюта |
| позиції: артикул, назва, ціна, кількість, сума | Рядки документа |
- Статуси, види оплати й служби доставки Хорошоп віддає своїми кодами. Зіставте їх кнопками в картці «Пов'язані налаштування» — окремі таблиці для статусів замовлення, доставки, оплати й видів оплат. Не зіставлений статус приходить як «Новий», статус оплати — «Чекання»; оплачене замовлення одразу отримує «Оплачено».
- Покупець шукається за поштою, телефоном і ідентифікатором на сайті; не знайшовся — заводиться новий контрагент. Замовлення без пошти й телефону лягає на «Кінцевого споживача».
- Позиції знаходять картки за артикулом, а також за запам'ятаним зв'язком картки з сайтом — без перебору за назвою.
- Уже завантажене замовлення не перезаписується: дубля немає, але й зміни з сайту в нього не приїжджають.
- Вікно відбору — фільтра за датою в API Хорошопу немає, тож перший запуск забирає всю історію, а наступні — від минулого завантаження з запасом у дванадцять годин.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Що завантажене замовлення робить із залишком
Нічого. Замовлення лягає непроведеним документом «Замовлення покупця»: кількість не змінюється, резерв не ставиться, списання немає, доки документ не проведе менеджер.
- Резерв рахується лише по проведених замовленнях і за увімкненого складського обліку.
- Знімається резерв завершальним статусом — «Виконано», «Завершено», «Видано», «Скасовано», «Відхилено», «Повернуто» й подібними.
- Фізично товар списує видаткова накладна.
- Завантаження змінює в картці лише «Кількість продажів» — вона перераховується за всіма замовленнями покупців.
Оновлення за розкладом
Перевірений шаблон ставлять на розклад — як працює розклад API-джерел. Великий каталог їде помітно довше за маркетплейс: кожна сторінка з 500 товарів несе описи й SEO-поля.
Розміри прогону
- Товари й замовлення забираються сторінками по 500, доки сайт віддає непорожню сторінку. Стелі немає.
- На відповідь сайту Elbuz чекає до п'яти хвилин, на з'єднання — до хвилини. Не дочекався — забір обривається з помилкою, і прогін продовжується з тим, що встигло приїхати.
- Вивантаження на сайт іде пачками по 1000 товарів.
- Вікно можна закрити: прогін і журнал живуть у Центрі операцій, там же кнопка «Стоп».
- За розкладом одночасно йде одне завантаження; зайнятий крон скасує прогін рядком «Скасовано завантаження за розкладом, причина - завантажується інший шаблон (конфлікт обробки даних)».
Що буде, якщо вимкнути шаблон
Перемикач «Активний» / «Вимкнений» у шапці шаблону вирішує лише, чи братиме шаблон розклад і кнопка «Завантажити всі шаблони». Адреса, логін, зіставлення, налаштування вивантаження й завантажені дані лишаються. Кнопка «Завантажити» у формі працює й на вимкненому шаблоні.
1
Плашка «Вимкнений»2
Історія запусків- Плашка «Вимкнений» — вмикає й вимикає шаблон для розкладу.
- Кнопка «Історія запусків» — відкриває журнал запусків цього шаблону.
Видалення шаблону теж не стирає даних: зникають сам шаблон і його розклад, а товари, розділи, контрагенти й замовлення лишаються з позначкою джерела.
Як перевірити, що прогін відпрацював
Журнал іде в Центрі операцій. Рядки називають поточний крок:
- «Запитуємо список категорій» → «Додаємо категорії товарів» → «Оновлюємо категорії товарів» → «Оновлюємо ключі для категорій»;
- «Запитуємо список товарів» → «Запитуємо товари, позиції: 1 - 500» → «Визначаємо виробників у товарів» → «Визначаємо наявність у товарів»;
- «Додаємо товари» → «Оновлюємо товари» → «Завантажуємо фотографії товарів»;
- «Оновлення значень на основі формул» → «Перевірка цілісності даних» → «Індексування товарів»;
- «Завантаження даних завершено!» і «Витрачено часу».
Чисел «створено, оновлено, пропущено» по каталогу журнал не дає: «Всього завантажено: 500» — це верхня межа сторінки. Цифри є лише по замовленнях: «Отримано замовлень: N» і «Всього замовлень завантажено: M» — скільки створено документів.
Результат по каталогу перевіряють даними:
- колонка «Останнє завантаження» у списку шаблонів — коли був прогін і скільки тривав;
- кнопка «Історія запусків» у шапці шаблону — попередні прогони з їхніми статусами;
- колонки «Джерело: назва» і «Дата оновлення» у сітці товарів — які картки зачепив прогін.
Сценарії
Каталог ведеться на сайті, в Elbuz потрібна його копія
Що ввімкнути. Шаблон «API — CMS Хорошоп» з адресою API, логіном і паролем, без галочки «Замовлення», і розклад.
Що вийде. Кожен прогін оновлює дерево розділів, потім товари: нові картки — з SEO-полями й фото, наявні — з ціною, кількістю, наявністю, назвою й описами з сайту, крім карток із «Не оновлювати». Характеристики не приїдуть, зниклі з сайту товари з Elbuz не видаляться, товар без розділу в дереві картки не отримає.
Забирати замовлення з сайту в Elbuz
Що ввімкнути. Галочку «Замовлення» і зіставлення статусів замовлення й видів оплат у картці «Повʼязані налаштування».
Що вийде. Після каталогу прогін забирає замовлення: перший — усю історію, далі — з запасом у дванадцять годин. Нове замовлення стає документом «Замовлення покупця» на знайденого або нового контрагента. Уже завантажене не оновиться; не зіставлений статус прийде як «Новий».
Ціни рахуються в Elbuz, а каталог щоночі приїжджає з сайту
Що ввімкнути. У вікні «Формули полів» — формулу ціни з прапорцем «Застосовувати при завантаженні БК із зовнішніх джерел».
Що вийде. Прогін запише ціну сайту, а на кроці «Оновлення значень на основі формул» формула перерахує її. Тримати ціну окремої картки незмінною — прапорець «Фіксована ціна».
Запустили завантаження не вчасно — зупинити
Що натиснути. «Стоп» у Центрі операцій.
Що вийде. До кінця забору сторінок товари лишаться без змін; розділи, що вже приїхали, не повернуться (обрив прогону).
Що робити, коли завантаження пішло не так
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| «Помилка авторизації в API. Перевірте адресу сайту, логін і пароль.» | Немає /api/ на кінці адреси, неправильний логін або вимкнений доступ до API на сайті |
Перевірте саме в такому порядку (що потрібно). Рядок «Завантаження даних завершено!» в кінці журналу не означає успіху |
| Не з'явилися нові товари | Розділи не приїхали: товар без розділу в дереві пропускається мовчки | Повторіть запуск; повториться — дивіться в журналі відповідь сайту на запит розділів |
| Дублікати карток | На сайті змінили артикули | Приберіть старі картки руками (артикул — ключ) |
| «Помилка отримання каталогу товарів» | Обірвався зв'язок із сайтом | Запустіть ще раз (обрив прогону) |
Якщо прогін обірвався на середині
Спершу розділи — вони записуються одразу. Потім товари: сторінки складаються в тимчасовий файл і заливаються в каталог одним кроком після останньої. Наприкінці — замовлення. Загальні правила — в огляді.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
- «Стоп» під час забору сторінок — товари не зміняться: зупинка перевіряється перед кожною сторінкою й перед записом. У журналі «Операція перервана користувачем!», операція жовта, формули, перевірка цілісності й індексування не виконуються, «Останнє завантаження» не оновлюється. Розділи лишаються оновленими.
- Обрив зв'язку з сайтом — прийняті сторінки однаково лягають у каталог; у журналі «Помилка отримання каталогу товарів» і відповідь сайту.
- Прогін помер сам (перевищено час, перезапуск сервера) — з товарів не записується нічого.
Повтор безпечний: тимчасовий файл починається з нуля, товари зіставляються за артикулом, замовлення вдруге не створюються.
Якщо завантажили не те
Знімків «як було» завантаження не робить (загальний порядок відкату).
- Знайти зачеплене — відбір у сітці товарів за «Джерело: назва» і «Дата оновлення».
- Повернути масово можна лише власні масові правки: масова зміна поля й пошук-заміна дають кнопку «Повернути назад» для останніх п'яти операцій не старших за добу. На завантаження вона не поширюється.
Часті запитання
Що вписувати в поле посилання?
Адресу API сайту: домен магазину з /api/ на кінці. Логін і пароль — від користувача з «Налаштування» → «Адміни» в адмінпанелі Хорошопу.
Чому не завантажилися характеристики товарів?
API Хорошопу віддає значення характеристик без людських назв, тож зібрати таблицю атрибутів неможливо. Решта полів приходить повністю.
Що буде, якщо змінити артикул товару на сайті?
Товар приїде як новий, а стара картка лишиться без пари: артикул — головний ключ зіставлення й зв'язку модифікацій.
Товар зник із сайту — його видалить і в Elbuz?
Ні, завантаження з Хорошопу нічого не видаляє. Сховані на сайті товари стають у Elbuz неактивними, а прибрані зовсім лишаються як були.
Чи можна не завантажувати фото?
Ні, галочка «Завантажувати фото» на Хорошоп не впливає. Не додавати нові фото в окрему картку можна прапорцем «Не оновлювати фото» в ній.
Суміжні теми
- Якщо ціни й наявність з Elbuz треба віддати назад на сайт — вивантаження каталогу на Хорошоп.
- Якщо повторний прогін затирає ваші правки — огляд завантаження даних.
- Якщо замовлення приклеїлося не до того покупця — завантаження замовлень через API.

