Appearance
Импорт локаций
XML
Не используйте этот метод, если используете способ загрузки товаров через YML/XML.
Прежде, чем загружать товары, необходимо загрузить в базу данных актуальный перечень локаций. Загружайте только те локации, которые используются в товарах (и промежуточные элементы дерева локаций). Нет смысла загружать конечные элементы дерева локаций (листья), в которых нет товаров.
Описание метода
POST https://api.rees46.ru/import/locationsНеобходимо указать заголовок:
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": "...",
"locations": [{location}, {location}, ...]
}Структура информации о локации:
json
{
"id": "...", // String. Required
"name": "...", // String. Required
"parent": "...", // String || Null. Required
"type": "...", // String. Optional
"group": "...", // String or Array of string. Optional
"discount_percent": "...", // Optional
"search_level_up": "..." // Integer. Optional
}Обратите внимание
Как считается discount_percent при отсутствии значения (или самого параметра):
На корневом уровне товара:
- Если параметр указан — используется напрямую.
- Если параметр не указан, но есть
oldpriceиprice— значение вычисляется как целая часть от((oldprice - price) / oldprice) * 100(путём округления вниз до целого).
На уровне локаций:
- Работает по тем же правилам, что и на корневом уровне.
- Если в локации не указаны
oldpriceилиprice, для расчёта используются значения из корня товара.
Вложенность элементов не ограничена.
Пример тела запроса
json
{
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"locations": [
{
"id": "1",
"name": "Москва",
"parent": null,
"type": "city",
"group": "ДенежныеГорода",
"discount_percent": 5
},
{
"id": "145",
"name": "Пункт выдачи на Арбате",
"parent": "1",
"type": "store",
"search_level_up": 1
},
{
"id": "2",
"name": "Санкт-Петербург",
"parent": null,
"type": "city",
"group": "ДенежныеГорода",
"discount_percent": 5
},
{
"id": "3",
"name": "Приморский край",
"parent": "1",
"type": "state",
"search_level_up": 0
},
{
"id": "4",
"name": "Владивосток",
"parent": "3",
"type": "city",
"group": "ДальнийВосток",
"discount_percent": 5,
"search_level_up": 1
}
]
}