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

