Appearance
Импорт категорий
XML
Не используйте этот метод, если используете способ загрузки товаров через YML/XML.
Прежде, чем загружать товары, необходимо загрузить в базу данных актуальный перечень категорий. Загружайте только те категории, которые используются в товарах (и промежуточные элементы дерева категорий). Нет смысла загружать конечные элементы дерева категорий (листья), в которых нет товаров.
| Название операции | Тип HTTP запроса | Описание |
|---|---|---|
| Добавление, перезапись | POST | Загрузка всего дерева одним запросом. Все категории, которые отсутствуют в запросе, будут удалены из каталога. |
| Обновление | PUT | Добавить или обновить переданный список категорий, не меняя другие, которые уже есть в каталоге. |
| Удаление | DELETE | Удаление определенных категорий из каталога. |
Лимиты
Rate limit: 40 RPM. 0.75 RPS (1 запрос в 1.5 секунды).
Лимит тела запроса: 32MB.
Описание метода
POST https://api.rees46.ru/import/categoriesНеобходимо указать заголовок:
Content-Type: application/jsonДанные отправляются в виде JSON-строки, которая является телом запроса.
Жизненный цикл запроса
- Сервер API REES46 принимает запрос.
- Выполняет первичную проверку доступа (
shop_id,shop_secret). Еслиshop_idиshop_secretне соответствуют существующим, сервер возвращает ошибку400 Bad request. - Отправляет задачу в фоновую обработку.
- Возвращает код
204 No body. - В случае успешной обработки фоновой задачи ничего не происходит. Задача обрабатывается быстро, поэтому спустя минуту уже можно загружать информацию о товарах.
- В случае ошибочной обработки фоновой задачи приходит уведомление на адрес электронной почты сотрудников, подписанных на технические уведомления.
Структура данных
json
{
"shop_id": "...",
"shop_secret": "...",
"categories": [{category}, {category}, ...]
}Структура информации о категории:
json
{
"id": "...", // String. Required
"name": "...", // String. Required
"parent": "...", // String or null. Optional
"url": "...", // String. Optional
"alias": "..." // String. Optional
}XML
Если не указывать url, в стандартном шаблоне быстрого поиска категория выводиться не будет. Базовая механика предусматривает переход на страницу категории при клике. При этом в ответе API категории будут возвращаться, что позволит вывести их в кастомном или самописном шаблоне.
Вложенность подкатегорий не ограничена.
Пример тела запроса
json
{
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"categories": [
{
"id": "1",
"name": "Главная категория",
"parent": null,
"url": "https://mysite.com/catalog"
},
{
"id": "2",
"name": "Одежда",
"parent": "1",
"url": "https://mysite.com/catalog/apparel"
},
{
"id": "3",
"name": "Велосипеды",
"parent": "1",
"url": "https://mysite.com/catalog/bicycles"
},
{
"id": "100",
"name": "Детские",
"parent": "3",
"url": "https://mysite.com/catalog/bicycles/child",
"alias": "bicycles/child"
}
]
}Особенности отправки DELETE запроса
При отправке запроса типа DELETE (удаление категорий) достаточно перечислить идентификаторы категорий, которые необходимо удалить. Пример:
json
{
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"categories": ["635", "3373", "75778"]
}