API импорт автомобилей
Загрузка и обновление склада автомобилей по API
Данная инструкция предназначена для загрузки данных по автомобилям дилера на витрину LegoCar
Заголовки запроса:
|
POST https://*host*/api/v1/cars/import/ Authorization: *token* Car-Type: *type* Content-Type: application/json |
- *host* - адрес витрины с указанием протокола, например your-domain.ru;
- *token*- токен авторизации, передаваемая вместе с данной инструкцией,
- *type* - тип автомобилей которые будут загружаться. Передается вместе с инструкцией, например new;
Используется защищенное подключение.
Тело запроса:
[
{
"vin": "VIN",
"brand": "BRAND",
"model": "MODEL",
"dealer": "DEALER_ID",
"run": "RUN",
"drive": "DRIVE",
"year": "YEAR",
"color": "COLOR",
"engine_power": "POWER",
"price": "PRICE",
"special": "SPECIAL",
"body_type": "BODY_TYPE",
"equipment": "equipment",
"engine_type": "engine_type",
"door_count": "door_count",
"description": "description",
"gearbox": "gearbox",
"engine_volume": "engine_volume",
"transmission": "transmission",
"fuel_type": "fuel_type",
"interior": "interior",
"consumption": "consumption",
"speed": "speed",
"power_reserve": "power_reserve",
"power_kw": "power_kw",
"pts_type": "pts_type",
"steering_position": "steering_position",
"acceleration_time": "acceleration_time",
"vehicle_condition": "vehicle_condition",
"location": "location",
"car_generation": "car_generation",
"modification": "modification",
"option": "option",
"youtube": "youtube",
"images": [
"IMAGES"
],
"modifiers": [
"MODIFIERS"
]
}
]
Заполненный пример тела запроса:
[
{
"vin": "MXC1PAB80NK099933",
"brand": "BMW",
"model": "X5",
"dealer": 1,
"run": 0,
"drive": "Передний",
"year": 2010,
"color": "Белый",
"engine_power": 123,
"price": 1000000,
"special": 1000000,
"body_type": "Седан",
"equipment": "Ультиматный",
"engine_type": "Турбированный",
"door_count": 5,
"description": "Описание описание",
"gearbox": "Автомат",
"engine_volume": "1.8",
"transmission": "Автомат",
"fuel_type": "Бензин",
"interior": "Белая кожа",
"consumption": "10.7",
"speed": 220,
"power_reserve": 550,
"power_kw": 350,
"pts_type": "Оригинал",
"steering_position": "Левый",
"acceleration_time": 4.2,
"vehicle_condition": "Отличное",
"location": "В наличии",
"car_generation": "G05",
"modification": "xDrive 25d AT Business",
"option": "Камеры бокового обзора|Ящик в багажнике|Зеркала в противосолнечных козырьках",
"youtube": "JIVp3erJDMo",
"rutube": "3a77c3959d17401805f8214ad2dcbac1",
"images": [
"https://www.car-info.com/uploads/120.jpg",
"https://www.car-info.com/uploads/122.jpg"
],
"modifiers": [
{
"code": "credit",
"value": "50000"
},
{
"code": "trade-in",
"value": "50000"
},
{
"code": "max_disc",
"value": "50000"
},
{
"code": "kasko",
"value": "50000"
}
]
}
]
- *vin* - VIN номер автомобиля (строка), / обязательное поле
- *brand* - Название бренда (стока), / обязательное поле
- *model* - Название модели(стока), / обязательное поле
- *dealer_id* - ID дилерского центра. Получается в ЛК, либо передается вместе с интеграцией (число),
- *run* - Пробег автомобиля (число),
- *drive* - Тип привода автомобиля (строка),
- *year* - Год выпуска автомобиля (число),
- *color* - Цвет автомобиля (строка),
- *engine_power* - Мощность автомобиля, в л.с. только цифры (число),
- *price* - РРЦ автомобиля, число без форматирования (число), / обязательное поле
- *special* - Спеццена автомобиля [Если её нету, нужно передать сюда price], число без форматирования (число), / обязательное поле
- *body_type* - Тип кузова автомобиля (строка),
- *equipment* -Название комплектации автомобиля (строка),
- *engine_type* -Тип топлива двигателя (строка),
- *door_count* - Кол-во дверей. (число),
- *description* -Описание автомобиля (строка),
- *gearbox* - Тип коробки (строка),
- *engine_volume* - Объем двигателя в литрах. через точку 1.6 (число с плавающей точкой),
- *images* - ссылки на фотографии (массив строк) - Указываются ссылки с https сертификатом и ответом images [ссылки на FTP/yandex images не подходят]
- *modifiers* - массив модификаторов где trade-in - скидка за Trade-In/max_disc - Максимальная скидка/credit - скидка за Кредит/kasko - Скидка за страховки [Все скидки вычитаются от special цены автомобиля]
transmission"autoru_nds" - поле для вывода ндс- "transmission" - Тип коробки передач у автомобиля (строка),
- "fuel_type" - Тип топлива у автомобиля Бензин/Дизель/Газ/Электро и д.р. (строка),
- "interior" - Салон автомобиля (строка),
- "consumption" - Расход топлива на 100км. (строка),
- "speed" - Максимальная скорость (число),
- "power_reserve" - Запас хода [Для электромобилей] (число),
- "power_kw" - Мощность авто в кВт (число),
- "pts_type" - Тип ПТС (строка),
- "steering_position" - Расположение руля (строка),
- "acceleration_time" - Время разгона (число с плавающей точкой),
- "vehicle_condition" - Состояние автомобиля (строка),
- "location" - Статус автомобиля В наличии/На заказ/В пути (строка),
- "car_generation" - Поколение авто (строка),
- "modification" - Модификация авто (строка),
- "option" - Список опций у авто [Разделитель |] (строка),
- "youtube" - Код видео на YouTube (строка),
- "rutube"- Код видео на RuTube (строка)
Успешная выгрузка:
После успешной выгрузки вы получите ответ:
{
"total": 1,
"success": 1,
"error": 0
}
Не успешная выгрузка:
После не успешной выгрузки вы получите ответ:
{
"total": 3,
"success": 2,
"error": 1,
"error_info": [
{
"object_info": {
"vin": "MXC1PAB80NK099933"
},
"error": {
"power": [
"Введите целое число."
]
},
"index": 0
}
]
}
Пример запроса на Python:
import requests
import json
url = "https://your-domain.ru/api/v1/cars/import/"
payload = json.dumps([
{
"vin": "MXC1PAB80NK099933",
"brand": "BMW",
"model": "X5",
"dealer": 1,
"run": 0,
"drive": "Передний",
"year": 2010,
"color": "Белый",
"engine_power": 123,
"price": 1000000,
"special": 1000000,
"body_type": "Седан",
"equipment": "Ультиматный",
"engine_type": "Турбированный",
"door_count": 5,
"description": "Описание описание",
"gearbox": "Автомат",
"engine_volume": "1.8",
"transmission": "Автомат",
"fuel_type": "Бензин",
"interior": "Белая кожа",
"consumption": "10.7",
"speed": 220,
"power_reserve": 550,
"power_kw": 350,
"pts_type": "Оригинал",
"steering_position": "Левый",
"acceleration_time": 4.2,
"vehicle_condition": "Отличное",
"location": "В наличии",
"car_generation": "G05",
"modification": "xDrive 25d AT Business",
"option": "Камеры бокового обзора|Ящик в багажнике|Зеркала в противосолнечных козырьках",
"youtube": "JIVp3erJDMo",
"rutube": "3a77c3959d17401805f8214ad2dcbac1",
"images": [
"https://www.car-info.com/uploads/120.jpg",
"https://www.car-info.com/uploads/122.jpg"
],
"modifiers": [
{
"code": "credit",
"value": "50000"
},
{
"code": "trade-in",
"value": "50000"
},
{
"code": "max_disc",
"value": "50000"
},
{
"code": "kasko",
"value": "50000"
}
]
}
])
headers = {
'Authorization': 'test123test',
'Car-Type': 'new',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Пример cURL запроса:
curl --location 'https://your-domain.ru/api/v1/cars/import/' \
--header 'Authorization: test123test' \
--header 'Car-Type: new' \
--header 'Content-Type: application/json' \
--data '[
{
"vin": "MXC1PAB80NK099933",
"brand": "BMW",
"model": "X5",
"dealer": 1,
"run": 0,
"drive": "Передний",
"year": 2010,
"color": "Белый",
"engine_power": 123,
"price": 1000000,
"special": 1000000,
"body_type": "Седан",
"equipment": "Ультиматный",
"engine_type": "Турбированный",
"door_count": 5,
"description": "Описание описание",
"gearbox": "Автомат",
"engine_volume": "1.8",
"transmission": "Автомат",
"fuel_type": "Бензин",
"interior": "Белая кожа",
"consumption": "10.7",
"speed": 220,
"power_reserve": 550,
"power_kw": 350,
"pts_type": "Оригинал",
"steering_position": "Левый",
"acceleration_time": 4.2,
"vehicle_condition": "Отличное",
"location": "В наличии",
"car_generation": "G05",
"modification": "xDrive 25d AT Business",
"option": "Камеры бокового обзора|Ящик в багажнике|Зеркала в противосолнечных козырьках",
"youtube": "JIVp3erJDMo",
"rutube": "3a77c3959d17401805f8214ad2dcbac1",
"images": [
"https://www.car-info.com/uploads/120.jpg",
"https://www.car-info.com/uploads/122.jpg"
],
"modifiers": [
{
"code": "credit",
"value": "50000"
},
{
"code": "trade-in",
"value": "50000"
},
{
"code": "max_disc",
"value": "50000"
},
{
"code": "kasko",
"value": "50000"
}
]
}
]'