Імпорт товарів в каталог
Функція catalog/import (http://<DOMAIN>/api/catalog/import/
)
Параметри:
token - ключ авторизації отриманий через функцію auth
products[] - список товарів
products[i].title.ru - значення російською мовою (опціонально)
products[i].title.ua - значення українською мовою (опціонально)
products[i].title - вказівка просто значення для всіх мов
products[i].description.ru - значення російською мовою (опціонально)
products[i].description.ua - значення українською мовою (опціонально)
products[i].description - зазначення просто значення для всіх мов
products[i].seo_title.ru - значення російською мовою (опціонально)
products[i].seo_title.ua - значення українською мовою (опціонально)
products[i].seo_title - зазначення просто значення для всіх мов
products[i].seo_keywords.ru - значення російською мовою (опціонально)
products[i].seo_keywords.ua - значення українською мовою (опціонально)
products[i].seo_keywords - зазначення просто значення для всіх мов
products[i].seo_description.ru - значення російською мовою (опціонально)
products[i].seo_description.ua - значення українською мовою (опціонально)
products[i].seo_description - зазначення просто значення для всіх мов
products[i].marketplace_description - опис для маркетплейсів
products[i].parent_article - артикул батьківського товару. Необхідний для створення/об'єднання модифікацій. У разі якщо товар є батьківським - поле не обов'язкове (або вказати значенням артикулу товару). Якщо оновлювати наявний товар, але не вказувати це поле, то за значення буде взято поточний батьківський артикул із БДЄЯкщо ж товар новий, а значення не вказано, то батьківський артикул буде взято з поля products[i].article
products[i].article - артикул товару (обов'язковий параметр)
products[i].article_for_display - артикул моделі (опціонально). Якщо заповнено, відображатиметься на сайті замість артикулу
products[i].title - назва товару (обов'язковий параметр у разі додавання нового товару)
products[i].mod_title - назва модифікації товару (опціонально)
products[i].mod_title.ru - значення російською мовою (опціонально)
products[i].mod_title.ua - значення українською мовою (опціонально)
products[i].mod_title - вказівка просто значення для всіх мов
products[i].display_in_showcase - відображати товар (true|false|1|0)
products[i].presence - наявність товару. Увага: статуси наявності можна передавати тільки за вимкненої функції Облік залишків на складах. Доступні значення:
у наявності
немає в наявності
очікується
Також будь-які інші статуси наявності додані на Вашому сайті
products[i].price - вартість товару
products[i].price_old - стара вартість товару
products[i].discount - відносна знижка на товар
products[i].short_description - короткий опис
products[i].color - колір
products[i].gtin - штрихкод (GTIN (EAN, UPC, ISBN))
products[i].mpn - код виробника товару (MPN)
products[i].popularity - популярність
products[i].guarantee_shop - тип гарантії
products[i].guarantee_length - гарантійний строк, міс.
products[i].countdown_end_time - дата і час закінчення акції
products[i].countdown_description - текст акції
products[i].currency - валюта товару. Доступні значення (за замовчуванням):
UAH
USD
EUR
Зверніть увагу, що назва валюти може відрізнятися на Вашому сайті, якщо Ви її перейменували. Перед імпортом валюти обов'язково перевірте назву валюти в адмін. панелі сайту
products[i].parent - шлях / до / розділу (Розвиваючі іграшки / Іграшки для малюків) (обов'язковий параметр при додаванні нових товарів)
products[i].parent.id - ідентифікатор розділу каталогу (використовується замість products[i].parent, рекомендується замість простого шляху до розділу). Ідентифікатори розділів можна отримати у функції pages/export
products[i].alt_parent - масив додаткових розділів. Кожен елемент вказується також як і поле products[i].parent
products[i].alt_parent[n] - шлях / до / розділу (Розвиваючі іграшки / Іграшки для малюків)
products[i].alt_parent[n].id - ідентифікатор розділу каталогу (використовується замість products[i].alt_parent[n])
вище зазначені варіанти додаткових розділів можна комбінувати
products[i].forceAliasUpdate - необхідність у перегенерації посилання на товар (логічне значення)
products[i].slug - аліас товару. Працює тільки для нового товару, або якщо параметр forceAliasUpdate == true. Аліас буде проставлено в посилання товару і перетворено згідно з правилами формування посилань товарів
products[i].brand - назва бренду
products[i].description - опис товару
products[i].adult - тільки для дорослих (Google Merchant Center)
products[i].condition - стан товару (наприклад, "Новий", "б/в", "Відновлений")
products[i].condition.id - ідентифікатор стану товару (використовується замість products[i].condition)
products[i].icons - Іконки (["Розпродаж", "Новинка", "Хіт"]). Також інші параметри з типом "мультивибір" або "вибір зі списку" з позначкою "мульти" можна передавати в такому ж форматі
products[i].seo_title - SEO заголовок для товару
products[i].seo_keywords - SEO ключові слова для товару
products[i].seo_description - SEO опис для товару
products[i].h1_title.ru - h1 заголовок для товару (російськомовна версія)
products[i].h1_title.ua - h1 заголовок для товару (україномовна версія)
products[i].export_to_marketplace - увімкнення вивантаження на маркеплейси. Назви маркетплейсів вказувати через крапку з комою: "marketplace 1;marketplace2;..."
products[i].characteristics[] - характеристики товару (опціонально)
products[i].characteristics.material - Матеріал
products[i].characteristics.weight - Вага - вага
products[i].characteristics.consist - Склад
products[i].characteristics.country - Країна.
products[i].characteristics.gender - Стать
products[i].characteristics.age - Вік
products[i].characteristics.physics - Фізичний розвиток (значення вказувати через ;)
products[i].characteristics.brain - Розумовий розвиток (значення вказувати через ;)
products[i].characteristics.social - Соціальний розвиток (значення вказувати через ;)
Нові параметри з версії 3.15.15
products[i].accessories - аксесуари для товару (масив). Перезаписують наявні аксесуари
products[i].accessories[n] - артикул товару простим рядком
products[i].accessories[n].article - явна вказівка артикулу товару
products[i].accessories[n].page - шлях / до / розділу (Розвиваючі іграшки / Іграшки для малюків)
products[i].accessories[n].page.id - ідентифікатор розділу
products[i].gifts - подарунки для товару (масив). Спрацює тільки якщо на сайті ввімкнено подарунки. Перезаписують наявні подарунки
products[i].gifts[n] - артикул товару простим рядком
products[i].gifts[n].article - явна вказівка артикулу товару
products[i].gifts[n].page - шлях / до / розділу (Розвиваючі іграшки / Іграшки для малюків)
products[i].gifts[n].page.id - ідентифікатор розділу
products[i].residues - залишки товару на складах. Працює тільки якщо на сайті ввімкнено облік залишків на складах
products[i].residues[n].warehouse - Назва для синхронізації складу (значення властивості "Назва для синхронізації" у складі)
products[i].residues[n].quantity - кількість товару на складі
products[i].images - зображення модифікації товару
products[i].images.links - посилання на зображення товару, які необхідно завантажити (масив). Фото імпортуються в тому порядку, в якому вони знаходяться в масиві.
products[i].images.links[n] - посилання на зображення (розмір зображення не повинен перевищувати 5мб)
products[i].images.override - необхідність видалити поточні зображення перед завантаженням нових (boolean). За замовчуванням - true. Якщо передати false - зображення з тими ж або новими посиланнями будуть додані до товару без перезапису раніше імпортованих.
products[i].images.removeAll - видалити всі зображення. Якщо в параметрі вказати значення true, то інші параметри ("links", "override") будуть проігноровані, і галерея просто буде очищена
products[i].gallery_common - загальна галерея для всіх модифікацій
products[i].gallery_common.links - посилання на зображення товару, які необхідно завантажити (масив). Фото імпортуються в тому порядку, в якому вони знаходяться в масиві.
products[i].gallery_common.links[n] - посилання на зображення (розмір зображення не повинен перевищувати 5мб)
products[i].gallery_common.override - необхідність видалити поточні зображення перед завантаженням нових (boolean). За замовчуванням - true
products[i].gallery_common.removeAll - видалити всі зображення. Якщо в параметрі вказати значення true, то інші параметри ("links", "override") будуть проігноровані, і галерея просто буде очищена
products[i].gallery_360 - Огляд 360
products[i].gallery_360.links - посилання на зображення товару, які необхідно завантажити (масив)
products[i].gallery_360.links[n] - посилання на зображення (розмір зображення не повинен перевищувати 5мб)
products[i].gallery_360.override - необхідність видалити поточні зображення перед завантаженням нових (boolean). За замовчуванням - true
products[i].gallery_360.removeAll - видалити всі зображення. УВАГА! Якщо в параметрі вказати значення true, то інші параметри ("links", "override") будуть проігноровані і галерея просто буде очищена
Нові параметри з версії 4.0
Для проєктів з оптовим функціоналом (приклад запиту)
products[i].price_levels - ціни різного типу
products[i].price_levels.level_id - число, ідентифікатор типу ціни
products[i].price_levels.price - число, значення ціни даного типу
Для всіх проєктів
products[i].multiplicity - кратність (крок додавання в кошик). Ціле число.
products[i].minimal_order - мінімальне замовлення. Ціле число, має бути кратним полю "Кратність".
products[i].installments_payment - кількість платежів для "Оплата частинами ПриватБанку". Допустимі значення:
"Викл" - оплата частинами не доступна для товару
"За замовчуванням" - значення береться з налаштувань платіжної системи
2-25 - допустима кількість платежів
products[i].monobank_installments_payment - кількість платежів для "Купівля частинами від monobank". Допустимі значення:
"Вимкнути" - оплата частинами не доступна для товару
"За замовчуванням" - значення береться з налаштувань платіжної системи
3-25 - допустима кількість платежів
products[i].unit_of_measurement - одиниці виміру.
products[i].wholesale_prices[] - оптові ціни за кількість одиниць у замовленні.
products[i].wholesale_prices.minimal_threshold - кількість одиниць
products[i].wholesale_prices.price - ціна, що діє під час додавання цієї кількості одиниць у замовлення
products[i].supplier_id[] - постачальник
products[i].supplier_id.id - унікальний ідентифікатор постачальника
products[i].supplier_id.value - назва постачальника
Відповідь:
status - статус виконання функції
OK - усі записи оновилися успішно
WARNING - під час оновлення деяких записів сталися помилки
ERROR - сталася критична помилка
response.log - журнал виконання функції за кожним записом
response.log[i].article - артикул товару
response.log[i]['info'][n].code - статус оновлення запису (див. таблицю кодів нижче)
response.log[i]['info'][n].message - пояснення до коду
Коди журнала імпорта товарів
Код | Опис |
---|---|
Загальні | |
0 | Товар додано/оновлено |
1 | Товар з артикулом не існує (застарілий код, більше не використовується) |
2 | Не знайдено товар, що відповідає батьківському артикулу "parent_article" |
3 | Товар тепер є окремою основною модифікацією |
4 | Товар було перенесено як модифікацію до іншого товару |
5 | Помилка зміни розділу |
Тільки для нових товарів | |
6 | Параметр Назва "title" обов'язковий для заповнення (тільки для нових товарів) |
7 | Одне з обов'язкових полів не задано |
8 | Застарілий код. Більше не використовується |
9 | Товар було перенесено в іншу категорію |
10 | Помилка перенесення товару в іншу категорію |
11 | Переданий параметр не знайдено в шаблоні "Каталог" |
12 | Немає можливості змістити категорію модифікації товару, тому що у батьківського товару вказана інша категорія. |
Посилання на товар | |
13 | Запис із зазначеним посиланням вже існує |
14 | Помилка під час створення/збереження посилання |
Залишки товару на складі | |
15 | Залишки товару на складі оновлено |
16 | Неможливо оновити залишки товару на складі, оскільки вони відключені на сайті |
17 | Помилка цілісності даних про залишки товару на складі |
18 | Склад для залишків товару не був знайдений |
19 | Помилка при оновленні залишків товару на складі |
Аксесуари та подарунки | |
20 | При додаванні аксесуара/подарунка відсутній аксесуар/подарунок із зазначеним артикулом |
21 | Під час додавання розділу аксесуара/подарунка відсутній розділ із зазначеними даними |
Галерея (для модифікацій, загальна та Огляд 360) | |
22 | Зображення галереї завантажено |
23 | Некоректне посилання на зображення |
24 | Помилка при запису зображення у файл |
25 | Невідома помилка при завантаженні зображення |
26 | Помилка при завантаженні зображення |
27 | MIME тип завантаженого зображення не відповідає допустимим: image/jpeg, image/gif, image/png |
28 | Галерея була очищена. Такий код відображається, якщо в галереї передати параметр "removeAll":true, або якщо завантажувати нові зображення та не вказувати параметр "override", або ж вказати явно "override":true, що в свою чергу також очищає галерею від зображень. |
Приклад запиту на адресу (http://<DOMAIN>/api/catalog/import/):
{
"products": [
{
"parent_article": "AAAA_TEST",
"article": "AAAA_TEST",
"title": {
"ru": "Тестирование импорта",
"ua": "Тестування імпорту"
},
"description": {
"ru": "Тестирование импорта",
"ua": "Тестування імпорту"
},
"short_description": {
"ru": "Короткое описание",
"ua": "Короткий опис"
},
"color": "Белый",
"gtin": "4581649781942",
"mpn": "GO12345OOGLE",
"popularity": 25,
"guarantee_shop": "Магазин",
"guarantee_length": 12,
"countdown_end_time": "2021-12-31 23:59:59",
"countdown_description": {
"ru": "<p>Описание акции</p>",
"ua": "<p>Опис акції</p>",
"en": "<p>Description for promotion</p>"
},
"parent": "iPhone / iPhone 6",
"alt_parent": [
"Другие товары / Аксессуары",
{
"id": 98
},
"Apple / Test"
],
"forceAliasUpdate": true,
"slug": "aaaa-test",
"display_in_showcase": true,
"presence": "В наличии",
"price": 100,
"price_old": 150,
"wholesale_prices": [
{
"minimal_threshold": "4",
"price": 8000
}
],
"icons": [
"Распродажа",
"Новинка",
"Хит"
],
"export_to_marketplace": "Facebook Feed;Rozetka Feed",
"images": {
"override": false,
"links": [
"https://cdn.pixabay.com/photo/2013/07/12/12/58/tv-test-pattern-146649_960_720.png",
"https://lh4.ggpht.com/wKrDLLmmxjfRG2-E-k5L5BUuHWpCOe4lWRF7oVs1Gzdn5e5yvr8fj-ORTlBF43U47yI=w300",
"http://wp.patheos.com.s3.amazonaws.com/blogs/faithwalkers/files/2013/03/bigstock-Test-word-on-white-keyboard-27134336.jpg",
"https://i.vimeocdn.com/portrait/58832_300x300",
"http://www.testinteligencia.net/image/repository/test1.jpg",
"https://i.ytimg.com/vi/yaqe1qesQ8c/maxresdefault.jpg",
"http://build.horoshop.com.ua/api/catalog/export",
"sdgagadsgsadgsadgsadgsagsadg"
]
}
},
{
"parent_article": "AAAA_TEST",
"article": "BBBB_TEST",
"title": {
"ru": "Тестирование импорта",
"ua": "Тестування імпорту"
},
"description": {
"ru": "Тестирование импорта",
"ua": "Тестування імпорту"
},
"marketplace_description": {
"ru": "Описание ru",
"ua": "Описание ua",
"en": "Описание en"
},
"parent": {
"id": 1036
},
"display_in_showcase": true,
"price": 95,
"discount": 3,
"accessories": [
"2317217",
"4517217",
{
"page": "Телефоны / Аксессуары"
},
{
"page": {
"id": 1032
}
},
{
"article": "MD827"
}
],
"residues": [
{
"warehouse": "office",
"quantity": 15
}
],
"gallery_common": {
"override": false,
"links": [
"https://cdn.pixabay.com/photo/2013/07/12/12/58/tv-test-pattern-146649_960_720.png",
"https://lh4.ggpht.com/wKrDLLmmxjfRG2-E-k5L5BUuHWpCOe4lWRF7oVs1Gzdn5e5yvr8fj-ORTlBF43U47yI=w300"
]
},
"characteristics": {
"gender": "Мальчик ; девочка",
"material": "Полиэстер",
"country": {
"ru": "Великобритания",
"ua": "Великобританія"
}
"supplier_id": {
"id": 4,
"value": "Top"
}
}
}
]
}
Приклад відповіді на запит
{
"status": "WARNING",
"response": {
"log": [
{
"article": "AAAA_TEST",
"info": [
{
"code": 23,
"message": "Некорректная ссылка на изображение \"sdgagadsgsadgsadgsadgsagsadg\""
},
{
"code": 0,
"message": "Товар обновлен"
},
{
"code": 13,
"message": "Запись с ссылкой \/aaaa-test\/ уже существует"
},
{
"code": 22,
"message": "Изображение https:\/\/cdn.pixabay.com\/photo\/2013\/07\/12\/12\/58\/tv-test-pattern-146649_960_720.png успешно загружено"
},
{
"code": 22,
"message": "Изображение https:\/\/lh4.ggpht.com\/wKrDLLmmxjfRG2-E-k5L5BUuHWpCOe4lWRF7oVs1Gzdn5e5yvr8fj-ORTlBF43U47yI=w300 успешно загружено"
},
{
"code": 22,
"message": "Изображение http:\/\/wp.patheos.com.s3.amazonaws.com\/blogs\/faithwalkers\/files\/2013\/03\/bigstock-Test-word-on-white-keyboard-27134336.jpg успешно загружено"
},
{
"code": 22,
"message": "Изображение https:\/\/i.vimeocdn.com\/portrait\/58832_300x300 успешно загружено"
},
{
"code": 22,
"message": "Изображение http:\/\/www.testinteligencia.net\/image\/repository\/test1.jpg успешно загружено"
},
{
"code": 22,
"message": "Изображение https:\/\/i.ytimg.com\/vi\/yaqe1qesQ8c\/maxresdefault.jpg успешно загружено"
},
{
"code": 25,
"message": "Произошла неизвестная ошибка при загрузке изображения. Cannot read from non-readable stream"
}
]
},
{
"article": "BBBB_TEST",
"info": [
{
"code": 15,
"message": "Остатки товара обновлены"
},
{
"code": 0,
"message": "Товар добавлен"
},
{
"code": 22,
"message": "Изображение https:\/\/cdn.pixabay.com\/photo\/2013\/07\/12\/12\/58\/tv-test-pattern-146649_960_720.png успешно загружено"
},
{
"code": 22,
"message": "Изображение https:\/\/lh4.ggpht.com\/wKrDLLmmxjfRG2-E-k5L5BUuHWpCOe4lWRF7oVs1Gzdn5e5yvr8fj-ORTlBF43U47yI=w300 успешно загружено"
}
]
}
]
}
}