Методы API
Список методов

Цены на мотоциклы

key
Ключ доступа к API
method
Метод запроса (обязательный)
marka
Марка мотоцикла (обязательный, по справочнику целевого сайта)
model
Модель мотоцикла (обязательный, по справочнику целевого сайта)
year
Год мотоцикла (обязательный)
engine
Тип двигателя автомобиля:
1 - бензиновый
2 - дизельный
3 - гибридный
4 - электродвигатель
5 - газовый
volume
Объем двигателя мотоцикла
source
Источник (необязательный), 1 - auto.ru, 2 - avto
searchdatefrom
Интервал выборки от, в Unix формате
searchdateto
Интервал выборки до, в Unix формате
regionid
Интервалы выборки позволяют выбрать записи за определенный период, доступных во всех методах. Без интервалов, по умолчанию 500 записей за последние 90 дней.
Методика расчёта:

Алгоритм расчета медианы и квартилей


Медиана – это значение при котором исходная совокупность делится на 2 равные части, т.е. половина совокупности имеет значение меньше, чем медиана, а вторая имеет значения больше, чем медиана.
Квартили делят исходную совокупность на 4 равные части. На практике вычисляют первый (нижний) квартиль, который делит исходную совокупность в соотношении ¼ : ¾ и третий (верхний) квартиль, который делит исходную совокупность в соотношении ¾ : ¼ . Второй квартиль – это медиана.
Верхний дециль делит исходную совокупность в соотношении 90:10.

Для определения Медианы и Квартилей необходимо:
  • Упорядочить N значений по возрастанию.
  • Определить порядковый номер значения, которое делит исходную совокупность в нужном соотношении:
Для медианы
n_med = N/2
Для верхнего квартиля
n_q3 = N/4*3
Для верхнего дециля
n_d9 = N/10*9
  • Если разделилось не нацело, взять два ближайших значения (округление вниз и вверх).
  • Взять значение с соответствующим порядковым номером (или среднее двух значений).

Примеры запроса:

PHP
Python
C#
                        
// Входные данные
$url = "https://data.tronk.info/priceapimoto.ashx";
$date_from = new DateTime("1970-1-1");
$date_to = new DateTime("1970-1-2");
$request_params = array(
    "key" => "867983b5-d66d-44d7-b440-5bd00b0b8203",
    "method" => "getprice",
    "marka" => "MARK",
    "model" => "Model",
    "year" => 1970,
    "engine" => 1,
    "volume" => 1.6,
    "searchdatefrom" => $date_from->getTimestamp(),
    "searchdateto" => $date_to->getTimestamp(),
    "regionid" => 1
);

$get_params = http_build_query($request_params);

// Запрос к серверу
$response = file_get_contents($url."?".$get_params);
// Преобразование ответа
$result = json_decode($response);
                        
                    
                        
import datetime

url = "https://data.tronk.info/priceapimoto.ashx"

# входные данные
params = {
    "key": "867983b5-d66d-44d7-b440-5bd00b0b8203",
    "method": "getprice",
    "marka": "MARK",
    "model": "Model",
    "year": 1900,

    # Необязательные
    "engine": 1,
    "volume": 1.6,
    "searchdatefrom": datetime.datetime(1900, 1, 1).timestamp(),
    "searchdateto": datetime.datetime(1900, 1, 1).timestamp(),
    "regionid": 1
}

# отправка запроса
response = requests.post(
    url=url,
    params=params,
)

# преобразование ответа к словарю
data = response.json()
                        
                    
                        
using Newtonsoft.Json;
class Program
{
    static async Task Main(string[] args)
    {
        string end_point = "https://data.tronk.info/priceapimoto.ashx";
        DateTime base_date = new(1970, 1, 1);
        DateTime date_from = new(2000, 1, 1);
        DateTime date_to = new(2000, 2, 1);

        int stamp_from = (int)(date_from - base_date).TotalSeconds;
        int stamp_to = (int)(date_to - base_date).TotalSeconds;

        Dictionary dict_params = new()
        {
            { "key", "867983b5-d66d-44d7-b440-5bd00b0b8203" },
            { "method", "getprice" },
            { "marks", "MARK" },
            { "model", "Model" },
            { "year", "1900" },
            { "engine", "1" },
            { "volume", "1.6" },
            { "searchdatefrom", stamp_from.ToString() },
            { "searchdateto", stamp_to.ToString() },
            { "regionid", "1" }
        };

        string url_params = string.Join("&", dict_params.Select(kvp => $"{kvp.Key}={kvp.Value}"));
        string url = $"{end_point}?{url_params}";

        HttpClient client = new();
        string response_body = await client.GetAsync(url).Result.Content.ReadAsStringAsync();

        var result = JsonConvert.DeserializeObject(response_body);
    }
}
                        
                    

Результат вызова метода:

Описание возвращаемого JSON

start DateTime
Дата и время создание запроса
end DateTime
Дата и время окончания запроса
method String
Метод запроса к апи
marka String
Марка, по которой запрашивается информация
model String
Модель, по которомй запрашивается информация
year String
Год, по которому запрашивается информация
error Boolean
Признак ошибки в запросе, имеет значение true в случае ошибки и null в случае её отсутствия
result Object
Объект с результатом возвращаемого запроса
Median Int
Медиана
TopQuartil Int
Верхний квартиль
CountAuto Int
Кол-во мотоциклов, участвовавших в расчете этих показателей

Получение цен с интервалом года выпуска

В вычислении используется 4 выборки:
  • Выборки 1 и 2 выполняют запрос по конкретному году [year], какое значение задано - по тому и будет выполняться фильтрация (2022 год выпуска)
  • Выборки 3 и 4 выполняют запрос по интервалу, полученному из входного значения year: [year-1, year+1]

Для примера с year=2022 в выборку попадут мотоциклы с годом выпуска 2021, 2022, 2023. Мотоциклы 2023 г.в. - в природе еще не существует, т.е. в выборке будут мотоциклы 2021 и 2022 г.в.
Если регион в запросе отсутствует, то результат будет формироваться так же по 4 выборкам, но выборки 1 и 2, 3 и 4 - будут совпадать.

Результат вызова метода:

Описание возвращаемого JSON

start DateTime
Дата и время создание запроса
end DateTime
Дата и время окончания запроса
method String
Метод запроса к апи
marka String
Марка, по которой запрашивается информация
model String
Модель, по которой запрашивается информация
year String
Год, по которому запрашивается информация
error Boolean
Признак ошибки в запросе, имеет значение true в случае ошибки и null в случае её отсутствия
result Object
Объект с результатом возвращаемого запроса
sample1 Object
Объект с результатом возвращаемого запроса по региону РФ
sample2 Object
Объект с результатом возвращаемого запроса по конкретному региону переданному в запрос
sample3 Object
Объект с результатом возвращаемого запроса с диапазоном года мотоцикла, по региону РФ
sample4 Object
Объект с результатом возвращаемого запроса с диапазоном года мотоцикла, по конкретному региону переданному в запрос
Q5 - Q90 Int
Квантили с шагом в 5
MaxPrice Int
Максимальная цена
MinPrice Int
Минимальная цена
CountAuto Int
Кол-во мотоцикла, участвовавших в расчете этих показателей

Результат вызова метода в случае ошибки:

  • Закончился доступ или запросы (Проверить доступ)

  • Нет необходимых прав

  • Некорректный ключ доступа или пользователь не создан

  • Не указан параметр метод запроса

  • Не указан параметр марка мотоцикла

  • Не указан параметр модель мотоцикла

  • Не указан параметр год мотоцикла
  • Описание возвращаемого JSON

    start DateTime
    Дата и время создание запроса
    end DateTime
    Дата и время окончания запроса
    method String
    Метод запроса к апи
    marka String
    Марка мотоцикла по которому запрашивается информация
    model String
    Модель мотоцикла по которому запрашивается информация
    year String
    Год мотоцикла по которому запрашивается информация
    error Boolean
    Признак ошибки в запросе, имеет значение true в случае ошибки и null в случае её отсутствия
    error_msg String
    Сообщение с описанием ошибки

    Список доступных кодов регионов (area)

    1
    Краснодарский край
    2
    Тверская обл.
    3
    Челябинская обл.
    4
    Свердловская обл.
    5
    Кемеровская обл.
    6
    Ростовская обл.
    7
    Ставропольский край
    8
    Республика Адыгея
    9
    Республика Кабардино-Балкарская
    10
    Карачаево-Черкесская Республика
    11
    Республика Северная Осетия - Алания
    12
    Республика Чеченская
    13
    Республика Ингушетия
    14
    Смоленская обл.
    15
    Воронежская обл.
    16
    Саратовская обл.
    17
    Пензенская обл.
    18
    Республика Татарстан
    19
    Чувашская Республика - Чувашия
    20
    Хабаровский край
    21
    Калининградская обл.
    22
    Брянская обл.
    23
    Курганская обл.
    24
    Ханты - Мансийский - Югра АО
    25
    Ямало-Ненецкий АО
    26
    Магаданская обл.
    27
    Еврейская автономная обл.
    28
    Сахалинская обл.
    29
    Камчатский край
    30
    Чукотский АО
    31
    Ульяновская обл.
    32
    Республика Карелия
    33
    Владимирская обл.
    34
    Орловская обл.
    35
    Тамбовская обл.
    36
    Вологодская обл.
    37
    Кировская обл.
    38
    Московская область
    39
    Калужская обл.
    40
    Липецкая обл.
    41
    Рязанская обл.
    42
    г. Санкт-Петербург и Ленинградская область
    43
    Омская обл.
    44
    Волгоградская обл.
    45
    Томская обл.
    46
    Иркутская обл.
    47
    Самарская обл.
    48
    Архангельская обл.
    49
    Мурманская обл.
    50
    Республика Коми
    51
    Псковская обл.
    52
    Республика Бурятия
    53
    р-н Таймырский Долгано-Ненецкий|Красноярский край
    54
    р-н Агинский|Забайкальский край
    55
    Корякский округ
    56
    Республика Калмыкия
    57
    Республика Алтай
    58
    Республика Тыва
    59
    р-н Эвенкийский|Красноярский край
    60
    Забайкальский край
    61
    Амурская обл.
    62
    Республика Дагестан
    63
    г. Ставрополь|Ставропольский край
    64
    Красноярский край
    65
    г. Кемерово|Кемеровская обл.
    66
    Республика Марий Эл
    67
    Республика Мордовия
    68
    Республика Удмуртская
    69
    Астраханская обл.
    70
    Приморский край
    71
    Республика Башкортостан
    72
    г. Оренбург|Оренбургская обл.
    73
    Тюменская обл.
    74
    с. Ий|р-н Тоджинский|Республика Тыва
    75
    Ивановская обл.
    76
    Ярославская обл.
    77
    Костромская обл.
    78
    Тульская обл.
    79
    г. Москва
    80
    Пермский край
    81
    Новосибирская обл.
    82
    п. Ува|р-н Увинский|Республика Удмуртская
    83
    Российская Федерация
    84
    Республика Хакасия
    85
    Алтайский край
    86
    Нижегородская обл.
    87
    Оренбургская обл.
    88
    г. Якутск|Республика Саха /Якутия/
    89
    г. Казань|Республика Татарстан
    90
    г. Курган|Курганская обл.
    91
    Новгородская обл.
    92
    Архангельская область и Ненецкий автономный округ
    93
    Белгородская обл.
    94
    г. Брянск|Брянская обл.
    95
    Курская обл.
    96
    г. Сочи|Краснодарский край
    97
    г. Назрань|Республика Ингушетия
    98
    Ханты-Мансийский автономный округ - Югра
    99
    Республика Карачаево-Черкесская
    100
    г. Тюмень|Тюменская обл.
    101
    Ненецкий АО
    102
    Республика Саха /Якутия/
    103
    г. Новокузнецк|Кемеровская обл.
    104
    г. Норильск|Красноярский край
    105
    г. Минеральные Воды|р-н Минераловодский|Ставропольский край
    106
    Республика Крым
    107
    г. Севастополь
    108
    р-ны Абзелиловский и Белорецкий
    109
    г. Санкт-Петербург
    110
    г. Красноярск|Красноярский край
    111
    Сургутский район и г. Сургут
    112
    Ленинградская обл.
    113
    Московская обл.
    114
    Чувашская Республика
    115
    г. Владивосток|Приморский край
    116
    г. Владимир|Владимирская обл.
    117
    г. Кострома|р-н Костромской|Костромская обл.
    118
    г. Псков|Псковская обл.
    119
    г. Саранск|Республика Мордовия
    120
    Республика Крым и г. Севастополь
    121
    Кабардино-Балкарская Республика
    122
    г. Мурманск|Мурманская обл.
    123
    Чеченская Республика
    194
    Свердловская область
    195
    Челябинская область
    196
    Воронежская область
    197
    Ростовская область
    198
    Волгоградская область
    199
    Томская область
    200
    Иркутская область
    201
    г. Санкт - Петербург и Ленинградская область
    202
    Самарская область
    203
    Корякский округ|Камчатский край
    204
    Удмуртская Республика
    205
    Тюменская область
    206
    р-ны Абзелиловский и Белорецкий|р-ны Абзелиловский и Белорецкий
    207
    Московская область
    208
    Архангельская область
    209
    Ивановская область
    210
    Смоленская область
    211
    Ярославская область
    212
    Ненецкий автономный округ
    213
    Вологодская область
    214
    Псковская область
    215
    Калининградская область
    216
    г. Севастополь и Республика Крым
    217
    Астраханская область
    218
    Белгородская область
    219
    Владимирская область
    220
    Калужская область
    221
    Оренбургская область
    222
    Орловская область
    223
    Республика Татарстан (Татарстан)
    224
    Тверская область
    225
    Тульская область
    226
    Ульяновская область

    Оставьте заявку для получения консультации

    Поле обязательно для заполнения
    Поле обязательно для заполнения
    Поле обязательно для заполнения
    Поле обязательно для заполнения
    Необходимо согласие с офертой
    Необходимо согласие с офертой
    или
    Задать вопрос в Telegram
    * - поле обязательно для заполнения