Skip to main content

Імпорт товарів

Масове Створення/Оновлення Продуктів

Ендпоінт

POST https://smartsearch.spefix.com/api/v2/content/product/bulk/

Це-запит використовується для створення нових або оновлення існуючих продуктів на основі унікального ідентифікатора source_id. Автоматично запускає індексацію для вказаних товарів для вказаних товарів.

Аутентифікація

Усі запити мають містити заголовок X-Secret-Token з вашим секретним токеном. Детальніше — у розділі Огляд API імпорту.

Формат запиту

Тіло запиту — масив об’єктів продуктів у форматі JSON:

[
{
"code": "PROD-001",
"source_id": "12345",
"source_category_id": 123,
"new_price": 299.99,
"old_price": 349.99,
"currency_code": "UAH",
"picture": "https://example.com/image.jpg",
"availability": "in_stock",
"vendor": "TechBrand",
"group_id": "group123",
"is_main": true,
"translations": [
{
"language": "uk",
"name": "Бездротові навушники",
"description": "Преміум бездротові навушники з шумозаглушенням",
"url": "https://example.com/product/headphones",
"labels": ["Новинка", "Розпродаж"],
"keywords": ["аудіо", "бездротові"],
"synonyms": ["навушники"],
"params": [
{
"name": "Колір",
"value": "Чорний",
"is_filter": true
},
{
"name": "Час роботи батареї",
"value": "30 годин",
"is_filter": false
}
]
}
]
}
]

Опис основних полів

ПолеТипОбов'язковеОпис
codestringТакУнікальний код/артикул товару у вашій системі.
source_idstringТакУнікальний ідентифікатор товару (ключ для оновлення).
source_category_idintegerТакІдентифікатор існуючої категорії (див. Імпорт категорій).
translationsarrayТакМасив перекладів (необхідно якнайменше один)
new_pricedecimalНіПоточна ціна (> 0).
old_pricedecimalНіПопередня ціна (> 0) для відображення знижки.
currency_codestringНіКод валюти: USD, EUR або UAH.
picturestringНіURL основного зображення продукту.
availabilitystringНіСтатус в наявності ("in_stock", "available", "1"), не в наявності ("out_of_stock", тощо) .
vendorstringНіНазва виробника (макс. 255 символів)
group_idstringНіІдентифікатор групи товарів (для варіантів)
is_mainbooleanНіПозначає основний варіант продукту в групі (якщо використовується group_id).

Поля перекладу

ПолеТипОбов'язковеОпис
languagestringТакКод мови (наприклад, uk, en, pl).
namestringТакНазва продукту цією мовою.
urlstringТакАбсолютний URL сторінки продукту.
descriptionstringНіОпис продукту цією мовою.
labelsarrayНіСписок міток/тегів (наприклад, ["Новинка"]).
keywordsarrayНіКлючові слова для пошуку (наприклад, ["аудіо"]).
synonymsarrayНіАльтернативні назви продукту.
paramsarrayНіМасив атрибутів або характеристик товару.

Структура елемента params

{
"name": "Назва атрибуту",
"value": "Значення атрибуту",
"is_filter": true
}
  • name: Назва атрибуту (наприклад, "Колір").
  • value: Значення атрибуту (наприклад, "Чорний").
  • is_filter: Якщо true, атрибут використовуватиметься у фільтрах клієнтського пошуку.

Правила Валідації

  • source_category_id має відповідати існуючій категорії в вашому домені.
  • new_price та old_price — додатні значення (> 0).
  • currency_code — лише USD, EUR або UAH.
  • Поле vendor limit: до 255 символів.
  • group_id містить лише букви та цифри.
  • Масив translations повинен включати переклад кожною вказаною мовою без дублікатів.
  • Усі URL (url, picture) починаються з http:// або https://.

Відповідь

Успіх (200 OK):

{
"successful": [
{
"index": 0,
"status": 201,
"data": {
"code": "PROD-001",
"source_id": "12345",
...
}
}
]
}

Частковий успіх (400 Bad Request)

{
"errors": [
{
"index": 1,
"errors": {
"source_category_id": "Category with source_category_id 999 does not exist for this domain."
}
}
],
"successful": [...]
}

У відповіді містяться два масиви:

  • successful — елементи, оброблені без помилок
  • errors — деталі помилок для кожного індексу вихідного масиву
caution

Після часткового успіху виправте дані відповідно до повідомлень у полі errors та повторіть запит.


Приклади Робочих Процесів

Створення Нового Каталогу Продуктів

  1. Створіть категорії:
curl -X POST https://smartsearch.spefix.com/api/v2/content/category/bulk/ \
-H "X-Secret-Token: ваш-токен" \
-H "Content-Type: application/json" \
-d '[{"source_category_id": 1, "translations": [...]}]'
  1. Створіть продукти:
curl -X POST https://smartsearch.spefix.com/api/v2/content/product/bulk/ \
-H "X-Secret-Token: ваш-токен" \
-H "Content-Type: application/json" \
-d '[{"code": "PROD-001", "source_id": "1", ...}]'

Оновлення Цін Продуктів

Для оновлення цін, надішліть той самий source_id з оновленими значеннями new_price або old_price. Система автоматично оновить ціни в каталозі та пошуковому індексі.