Импорт товаров в каталог
Функция 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].articleproducts[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 - СЕО заголовок для товара
products[i].seo_keywords - СЕО ключевые слова для товара
products[i].seo_description - СЕО описание для товара
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 успешно загружено"
}
]
}
]
}
}