Імпорт товарів
Масове Створення/Оновлення Продуктів
Ендпоінт
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
}
]
}
]
}
]
Опис основних полів
| Поле | Тип | Обов'язкове | Опис |
|---|---|---|---|
code | string | Так | Унікальний код/артикул товару у вашій системі. |
source_id | string | Так | Унікальний ідентифікатор товару (ключ для оновлення). |
source_category_id | integer | Так | Ідентифікатор існуючої категорії (див. Імпорт категорій). |
translations | array | Так | Масив перекладів (необхідно якнайменше один) |
new_price | decimal | Ні | Поточна ціна (> 0). |
old_price | decimal | Ні | Попередня ціна (> 0) для відображення знижки. |
currency_code | string | Ні | Код валюти: USD, EUR або UAH. |
picture | string | Ні | URL основного зображення продукту. |
availability | string | Ні | Статус в наявності ("in_stock", "available", "1"), не в наявності ("out_of_stock", тощо) . |
vendor | string | Ні | Назва виробника (макс. 255 символів) |
group_id | string | Ні | Ідентифікатор групи товарів (для варіантів) |
is_main | boolean | Ні | Позначає основний варіант продукту в групі (якщо використовується group_id). |
Поля перекладу
| Поле | Тип | Обов'язкове | Опис |
|---|---|---|---|
language | string | Так | Код мови (наприклад, uk, en, pl). |
name | string | Так | Назва продукту цією мовою. |
url | string | Так | Абсолютний URL сторінки продукту. |
description | string | Ні | Опис продукту цією мовою. |
labels | array | Ні | Список міток/тегів (наприклад, ["Новинка"]). |
keywords | array | Ні | Ключові слова для пошуку (наприклад, ["аудіо"]). |
synonyms | array | Ні | Альтернативні назви продукту. |
params | array | Ні | Масив атрибутів або характеристик товару. |
Структура елемента params
{
"name": "Назва атрибуту",
"value": "Значення атрибуту",
"is_filter": true
}
name:Назва атрибуту (наприклад, "Колір").value:Значення атрибуту (наприклад, "Чорний").is_filter:Якщоtrue, атрибут використовуватиметься у фільтрах клієнтського пошуку.
Правила Валідації
source_category_idмає відповідати існуючій категорії в вашому домені.new_priceтаold_price— додатні значення (> 0).currency_code— лише USD, EUR або UAH.- Поле
vendorlimit: до 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 та повторіть запит.
Приклади Робочих Процесів
Створення Нового Каталогу Продуктів
- Створіть категорії:
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": [...]}]'
- Створіть продукти:
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. Система автоматично оновить ціни в каталозі та пошуковому індексі.