Skip to content

Импорт категорий

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-строки, которая является телом запроса.

Жизненный цикл запроса

  1. Сервер API REES46 принимает запрос.
  2. Выполняет первичную проверку доступа (shop_id, shop_secret). Если shop_id и shop_secret не соответствуют существующим, сервер возвращает ошибку 400 Bad request.
  3. Отправляет задачу в фоновую обработку.
  4. Возвращает код 204 No body.
  5. В случае успешной обработки фоновой задачи ничего не происходит. Задача обрабатывается быстро, поэтому спустя минуту уже можно загружать информацию о товарах.
  6. В случае ошибочной обработки фоновой задачи приходит уведомление на адрес электронной почты сотрудников, подписанных на технические уведомления.

Структура данных

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"]
}