2026-10-01

Risk-данные Encar: как не купить проблемное авто из Кореи

Коротко: Union API отдаёт по каждому автомобилю из Encar не только цену и пробег, но и полную историю: ДТП, залоги, аресты, угон, затопление, полную гибель, смены владельцев и номеров. Это те данные, которые обычно приходится собирать вручную или покупать у корейских брокеров. Теперь они доступны через один запрос.

Почему цена и пробег — это ещё не вся картина

Импорт авто из Кореи кажется простым: нашёл объявление, проверил пробег, посчитал пошлину. Но реальные риски лежат глубже:

Без этих данных вы покупаете объявление, а не автомобиль.

Что именно отдаёт Union API по Encar

Поле extra в ответе API содержит три блока.

1. Risk-данные (история автомобиля)

Что проверяем Поле в API Что означает
Прокат/аренда is_rental Машина использовалась в прокате — износ выше, чем у авто в личном пользовании
Залоги pledge_count Количество залогов (저당)
Аресты seizing_count Количество арестов (압류)
Пробелы в страховке insurance_gaps Периоды без страховки, формат "YYYYMM~YYYYMM"
ДТП accidents[] Список ДТП с датой, типом, стоимостью запчастей, работ, покраски и выплатой
Сводка по ДТП accident_summary Всего ДТП, ущерб своему/чужому авто
Смены номеров car_changes[] Даты и замаскированные номера (в целях приватности часть знаков скрыта, например 34누XXXX)
Затопление flood Частичное/полное затопление, дата
Угон theft Количество, дата
Полная гибель total_loss Количество, дата. Автомобиль признан полностью погибшим (тотальное уничтожение)
Смены владельцев ownership Даты смен, общее число
Характер использования usage Бизнес, госслужба, история кодов

Обратите внимание: если в ответе нет ключа pledge_count, seizing_count или is_rental, это означает, что по данному автомобилю соответствующих сведений в источнике нет. Это не равнозначно отсутствию залогов или арестов — API честно разделяет эти состояния.

2. Заводские опции

Поле options показывает, какими заводскими опциями оснащён автомобиль: standard — базовые, tuning — тюнинг, etc — прочее. Опции приходят числовыми кодами (например, "001", "024").

Чтобы получить человекочитаемые названия, используйте справочник Union API:

GET /api/v2/cars/options/dictionary?market=encar

Ответ — карта код → {name_ru, name_en}. Справочник бесплатный, из баланса не списывается. Используйте name_ru для отображения, name_en — для англоязычного интерфейса.

3. Расчёт таможни

Поле Значение
duty_value Пошлина
duty_currency Валюта (EUR)
customs_fee_rub Таможенный сбор, RUB
excise_rub Акциз, RUB
recycling_fee_rub Утильсбор, RUB
nds_applies Применяется ли НДС
vehicle_type combustion / electric / hybrid_other
calculated_at Дата расчёта

Блок может отсутствовать целиком — это норма, а не ошибка: расчёт выполнен не для каждого объявления.

Как это выглядит в запросе

Запросите поле extra в списке fields:

GET /api/v2/cars?market=encar&fields=id,brand,model,year,price,extra&limit=10

Значение extra приходит строкой с JSON — распарсите её:

import json
row = response["data"][0]
extra = json.loads(row["extra"])

risk = extra["risk_data"]
print(f"ДТП: {risk['accident_summary']['cnt']}")
print(f"Залоги: {risk.get('pledge_count', 'нет данных')}")
print(f"Пробелы в страховке: {risk['insurance_gaps']}")

Пример реальных данных

{
  "risk_data": {
    "is_rental": false,
    "pledge_count": 0,
    "seizing_count": 0,
    "insurance_gaps": ["201909~202107", null, null, null, null],
    "accidents": [
      {"date": "2019-06-17", "type": "1", "part_cost": 586682,
       "labor_cost": 518298, "painting_cost": 704598,
       "insurance_benefit": 1590000}
    ],
    "accident_summary": {"cnt": 4, "my_car_cnt": 4, "my_car_cost": 5793633,
                         "other_car_cnt": 2, "other_car_cost": 5225224},
    "car_changes": [{"date": "2011-09-08", "plate_no": "34누XXXX"}],
    "flood": {"total_loss_cnt": 0, "partial_loss_cnt": 0},
    "theft": {"cnt": 0},
    "total_loss": {"cnt": 0},
    "ownership": {"changes": ["2025-11-13", "2023-12-28"], "change_cnt": 2},
    "usage": {"type_code": "2", "is_business": false,
              "is_government": false, "use_history": ["2"]}
  },
  "options": {
    "type": "CAR",
    "standard": ["001", "004", "005"],
    "tuning": ["024"],
    "etc": []
  }
}

Что здесь важно:

Это машина с историей, но без критических рисков. Решение о покупке — за вами.

Как интерпретировать данные (и чего не делать)

  1. null ≠ false ≠ 0. Если ключа pledge_count нет — это «нет данных», а не «нет залогов». Не показывайте «0 залогов» там, где данных просто нет.
  2. is_rental — это прокат, а не залог. Не путайте с pledge_count/seizing_count.
  3. type_code в usage — не используйте. Семантика не документирована. Опирайтесь на флаги is_business и is_government.
  4. my_car_cnt + other_car_cnt ≠ cnt. Одно ДТП может попасть в обе категории. Не выводите одну величину из другой.
  5. Экранируйте строковые поля (etc, plate_no) перед вставкой в HTML — данные приходят из внешних источников.
  6. total_loss — это полная гибель. Автомобиль признан тотально уничтоженным. Не путайте с крупным ДТП или дорогим ремонтом.
  7. first_seen_at — служебная метка, не для показа в карточке.

Что это даёт бизнесу

Как начать

  1. Запросите демо-доступ к Union API.
  2. Укажите fields=...,extra в запросе к рынку encar.
  3. Распарсите extra и выведите risk-данные в интерфейсе.
  4. Используйте справочник опций, чтобы узнать, какие заводские опции есть у автомобиля.

Полное описание структуры поля extra — в справочнике по полю extra, список эндпоинтов — в документации API. Нужен ключ — зарегистрируйтесь.

Есть вопросы по интеграции? Напишите нам — поможем настроить выборку и интерпретацию risk-данных.

Получите доступ к данным через Union API

1,7 млн объявлений, 11 источников, 50ms — подключение за 5 минут