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

Генерация автомобильных отчетов (JSON)

Генерация отчета Состояние отчета Результат генерации
Отправить Сбросить

Поставить отчет в очередь на генерацию по госномеру, номеру кузова или VIN:

key
Ключ доступа к API
gosnumber
Госномер автомобиля
frame
Номер кузова
vin
VIN код автомобиля
Для получения отчета необходимо выполнить три действия:
1. Поставить отчет в очередь на генерацию (mode="create"), при этом Вы получите уникальный ID отчета.
2. Выполнить проверку статуса готовности отчета (mode="check"), когда генерация будет завершена и заявка получит соответствующий статус. После того как отчёт будет сформирован мы произведем актуализацию данных. Как только статус каждого блока будет "IsComplete": true можете выполнить операцию получения отчета.
3. Используя полученный ID отчета, получить набор данных в формате JSON (mode="result").

Рекомендуемая частота проверки:
1. Первые 5 минут после получения результата о готовности отчета, но отсутствии актуализации данных — проверяйте каждые 10 секунд.
2. С 5 по 15 минуту — проверяйте каждые 30 секунд.
3. После 15-й минуты — проверяйте 1 раз в минуту.

Примечания:
🔸 Если в ответе хоть один блок удовлетворяет следующему условию: IsOffline = false и IsComplete = false и IsCancel = false, следуйте рекомендуемой частоте проверок.
🔸 Если в ответе во всех блоках параметр IsOffline = true, проводите проверку не чаще 1 раза в минуту.

Количество попыток для каждого блока:
1. Первоначально, для каждого блока устанавливается максимум 3 попытки получения данных.
2. Если данные не удалось получить в пределах этих попыток, система инициирует дополнительный цикл, который состоит из 5 дополнительных попыток.
Процесс продолжается до тех пор, пока общее количество попыток не достигнет 8.

Условия завершения попыток для каждого блока:
🔸 Если IsComplete = true это означает, успешное получение данных.
🔸 Если Attempts >= 8 или IsCancel = true это означает, что произошел сбой в получении данных.
🔸 Если Attempts >= 8, IsCancel = false, но IsComplete = true, это указывает на успешное получение данных на последней попытке.

Завершение обработки задачи для каждого блока:
Когда параметр Attempts >= 8 - задача снимается с обработки и отклоняется.
Для повторной попытки получения данных, попробуйте отправить новый запрос на генерацию отчета через некоторое время.


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

PHP
Python
C#
                        
// Входные данные
$url = "https://data.tronk.info/reportjson.ashx";
$request_params = array(
    "key" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "mode" => "create",
    "gosnumber" => "X000XX00"
);

$get_params = http_build_query($request_params);

// Запрос к серверу
$response = file_get_contents($url."?".$get_params);

// Преобразование ответа
$result = json_decode($response);
                        
                    
                        
import requests

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

# входные данные
params = {
    "key": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "mode": "create",
    "gosnumber": "X000XX00",
}

# отправка запроса
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/reportjson.ashx";
        Dictionary< string, string > dict_params = new()
        {
            { "key", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" },
            { "mode", "create" },
            { "gosnumber", "X000XX00" },
        };

        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);
    }
}
                        
                    

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


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

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

  • Проверить состояние отчета:

    key
    Ключ доступа к API
    id
    Идентификатор отчета

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

    PHP
    Python
    C#
                            
    // Входные данные
    $url = "https://data.tronk.info/reportjson.ashx";
    $request_params = array(
        "key" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "mode" => "check",
        "id" => 123456789
    );
    
    $get_params = http_build_query($request_params);
    
    // Запрос к серверу
    $response = file_get_contents($url."?".$get_params);
    
    // Преобразование ответа
    $result = json_decode($response);
                            
                        
                            
    import requests
    
    url = "https://data.tronk.info/reportjson.ashx"
    
    # входные данные
    params = {
        "key": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "mode": "check",
        "id": 123456789,
    }
    
    # отправка запроса
    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/reportjson.ashx";
            Dictionary< string, string > dict_params = new()
            {
                { "key", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" },
                { "mode", "check" },
                { "id", 123456789 },
            };
    
            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

    Msg String
    Сообщение о состоянии запроса.
    Например: "Генерация отчета выполнена".
    StartRequest DateTime
    Время начала запроса.
    Формат даты: "YYYY-MM-DDTHH:MM:SS".
    CompleteRequest DateTime
    Время завершения запроса.
    Формат даты: "YYYY-MM-DDTHH:MM:SS".
    Error Boolean
    Булевое значение, указывающее на наличие ошибки (false — ошибок нет).
    Task Object
    Объект, содержащий информацию о текущей задаче.
    ID Integer
    Уникальный идентификатор задачи.
    Например: 28550000.
    Status Integer
    Статус задачи
    0 — Выполняется генерация отчета.
    1 — Генерация отчета выполнена.
    StartGenerationDate DateTime
    Дата начала генерации отчета.
    Формат даты: "YYYY-MM-DDTHH:MM:SS".
    CompleteGenerationDate DateTime
    Дата завершения генерации отчета.
    Формат даты: "YYYY-MM-DDTHH:MM:SS".
    Percent Double
    Процент выполнения задачи
    Например: 99.0.
    StatusServices Array
    Массив статусов по каждому сервису, участвующему в генерации отчета.
    Service Integer
    Уникальный идентификатор сервиса.
    1 - История регистраций
    2 - ДТП
    3 - Розыск
    4 - ЕАИСТО
    5 - Штрафы
    6 - Ограничения
    7 - Залоги
    ServiceName String
    Название сервиса.
    Например: “История регистраций” (см. выше - Service)
    Date DateTime
    Дата завершения операции для сервиса.
    Формат даты: "YYYY-MM-DDTHH:MM:SS".
    Attempts Integer
    Количество попыток запроса к сервису.
    Максимальное количество попыток (Attempts) для каждого блока — 3.
    IsCancel Boolean
    Булевое значение, указывающее на отмену выполнения запроса (false — не отменен).
    IsComplete Boolean
    Булевое значение, указывающее на завершение выполнения (true — завершено).
    IsOffline Boolean
    Булевое значение, указывающее на то, что сервис недоступен (false — сервис онлайн).
    RequestParams Object
    Объект, содержащий информацию о текущем запросе.
    id Integer
    Уникальный идентификатор задачи.
    Например: 28550000.

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

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

  • key
    Ключ доступа к API
    id
    Идентификатор отчета

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

    PHP
    Python
    C#
                            
    // Входные данные
    $url = "https://data.tronk.info/reportjson.ashx";
    $request_params = array(
        "key" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "mode" => "result",
        "id" => 123456789
    );
    
    $get_params = http_build_query($request_params);
    
    // Запрос к серверу
    $response = file_get_contents($url."?".$get_params);
    
    // Преобразование ответа
    $result = json_decode($response);
                            
                        
                            
    import requests
    
    url = "https://data.tronk.info/reportjson.ashx"
    
    # входные данные
    params = {
        "key": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "mode": "result",
        "id": 123456789,
    }
    
    # отправка запроса
    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/reportjson.ashx";
            Dictionary< string, string > dict_params = new()
            {
                { "key", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" },
                { "mode", "result" },
                { "id", 123456789 },
            };
    
            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);
        }
    }
                            
                        

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

    Скачать файл

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

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

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