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

Генерация отчетов

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

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

key
Ключ доступа к API
gosnumber
госномер автомобиля
vin
VIN код автомобиля
Для получения отчета по госномеру или VIN необходимо выполнить три действия:
1. Поставить отчет в очередь на генерацию (при этом Вы получите идентификатор отчета).
2. Используя полученный идентификатор отчета, необходимо с некоторым интервалом выполнять запросы для получения текущего состояния отчета. Когда генерация будет завершена, заявка получит соответствующий статус.
3. Используя полученный идентификатор отчета, необходимо получить ссылку на готовый отчет.


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

PHP
Python
C#
                        
// Входные данные
$url = "https://data.tronk.info/reportrequest.ashx";
$request_params = array(
    "key" => "867983b5-d66d-44d7-b440-5bd00b0b8203",
    "mode" => "setqueue",
    "gosnumber" => "А111АА11"
);

$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/reportrequest.ashx"

# входные данные
params = {
    "key": "867983b5-d66d-44d7-b440-5bd00b0b8203",
    "mode": "setqueue",
    "gosnumber": "А111АА11",
}

# отправка запроса
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/reportrequest.ashx";
        Dictionary dict_params = new()
        {
            { "key", "867983b5-d66d-44d7-b440-5bd00b0b8203" },
            { "mode", "setqueue" },
            { "gosnumber", "А111АА11" },
        };

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

Отчеты с пользовательским дизайном:

Подробности

  1. Настроить собственный DNS для домена 3 уровня (пример: report.mydomain.ru, где далее в инструкции mydomain - название вашего домена )
  2. Дополнительные GET параметры:
    customreport Int
    1 включить для отчета режим кастомизации (в выключенном состоянии параметры настроек не учитываются)
    custom_headerlogo String
    ссылка на логотип, должно начинаться с http:// или https://
    custom_companyurl String
    ссылка на сайт компании, должно начинаться с http:// или https://
  3. Дополнительные POST параметры в JSON (content-type: application/json) формате:
    custom_socialicons JSON array
    в формате массива, максимально 3 соцсети (больше не рассчитано версткой), максимальная длина JSON массива 1024.

    custom_socialicons:

    icon String
    ссылка на иконку, должно начинаться с http:// или https://
    url String
    ссылка на соцсеть, должна начинаться с http:// или https://
    custom_headerhtml String/Html
    текст или html заголовка, максимальная длина 4000
    custom_companyphones String
    телефоны через запятую (рекомендуемо не больше двух)
    custom_companyemalis String
    емаилы через запятую (рекомендуемо не больше двух)
    custom_companyschedule String
    время работы
    custom_companytagtext JSON object
    слоган и название сайта в формате JSON

    custom_companytagtext:

    custom_companyappstore String
    ссылка на источник, должно начинаться с http:// или https://
    custom_companygoogleplay String
    ссылка на источник, должно начинаться с http:// или https://
  4. Пример итогового запроса:

  5. Примеры запроса:
    PHP
    Python
    C#
                            
    // Входные данные
    $url = "https://data.tronk.info/reportrequest.ashx";
    $request_params = array(
        "http" => array(
        "header" => "Content-type: application/json\r\n",
        "key" => "867983b5-d66d-44d7-b440-5bd00b0b8203",
        "mode" => "setqueue",
        "gosnumber" => "А111АА11",
        "customreport" => "1",
        "custom_headerlogo" => "https://mydomain/img/logo/logo.svg",
        "custom_companyurl" => "https://mydomain",
        "content" => "{
      "custom_socialicons": [
        {
          "icon": "https://mydomain/I/vk.png",
          "url": "http://vk.com/vk"
        },
        {
          "icon": "https://mydomain/I/telegram.png",
          "url": "https://t.me/tg"
        },
        {
          "icon": "https://mydomain/I/youtube-play2.png",
          "url": "https://www.youtube.com/channel/"
        }
      ],
      "custom_headerhtml": "

    TRONK

    ", "custom_companyphones": "8-800-000-0000", "custom_companyemalis": "my@email.com", "custom_companyschedule": "11:00 - 20:00 МСК", "custom_companytagtext": { "tagline": "Здесь будет слоган", "sitename": "TRONK" }, "custom_companyappstore": "http://appstore_url", "custom_companygoogleplay": "http://playmarket_url" }" ), ); $context = stream_context_create($request_params); // Запрос к серверу $response = file_get_contents($url."?".$context); // Преобразование ответа $result = json_decode($response);
                            
    import requests
    
    url = "https://data.tronk.info/reportrequest.ashx"
    
    # входные данные
    params = {
        "key": "867983b5-d66d-44d7-b440-5bd00b0b8203",
        "mode": "setqueue",
        "gosnumber": "А111АА11",
        "customreport": "1",
        "custom_headerlogo": "https://mydomain/img/logo/logo.svg",
        "custom_companyurl": "https://mydomain",
    }
    jsonStr = {
      "custom_socialicons": [
        {
          "icon": "https://mydomain/I/vk.png",
          "url": "http://vk.com/vk"
        },
        {
          "icon": "https://mydomain/I/telegram.png",
          "url": "https://t.me/tg"
        },
        {
          "icon": "https://mydomain/I/youtube-play2.png",
          "url": "https://www.youtube.com/channel/"
        }
      ],
      "custom_headerhtml": "

    TRONK

    ", "custom_companyphones": "8-800-000-0000", "custom_companyemalis": "my@email.com", "custom_companyschedule": "11:00 - 20:00 МСК", "custom_companytagtext": { "tagline": "Здесь будет слоган", "sitename": "TRONK" }, "custom_companyappstore": "http://appstore_url", "custom_companygoogleplay": "http://playmarket_url" } # отправка запроса response = requests.post( url=url, data=jsonStr, params=params, headers={"Content-Type":"application/json"} ) # преобразование ответа к словарю data = response.json()
                            
    using Newtonsoft.Json;
    class Program
    {
        static async Task Main(string[] args)
        {
            string end_point = "https://data.tronk.info/reportrequest.ashx";
            Dictionary dict_params = new()
            {
                { "key", "867983b5-d66d-44d7-b440-5bd00b0b8203" },
                { "mode", "setqueue" },
                { "gosnumber", "А111АА11" },
                {"customreport": "1"},
                {"custom_headerlogo": "https://mydomain/img/logo/logo.svg"},
                {"custom_companyurl": "https://mydomain"},
            };
    
            string url_params = string.Join("&", dict_params.Select(kvp => $"{kvp.Key}={kvp.Value}"));
            string url = $"{end_point}?{url_params}";
            string postData="{
              \"custom_socialicons\": [
                {
                  \"icon\": \"https://mydomain/I/vk.png\",
                  \"url\": \"http://vk.com/vk\"
                },
                {
                  \"icon\": \"https://mydomain/I/telegram.png\",
                  \"url\": \"https://t.me/tg\"
                },
                {
                  \"icon\": \"https://mydomain/I/youtube-play2.png\",
                  \"url\": \"https://www.youtube.com/channel/\"
                }
              ],
              \"custom_headerhtml\": \"

    TRONK

    \", \"custom_companyphones\": \"8-800-000-0000\", "custom_companyemalis\": \"my@email.com\", \"custom_companyschedule\": \"11:00 - 20:00 МСК\", \"custom_companytagtext\": { \"tagline\": \"Здесь будет слоган\", \"sitename\": \"TRONK\" }, \"custom_companyappstore\": \"http://appstore_url\", \"custom_companygoogleplay\": \"http://playmarket_url\" }"; HttpClient client = new(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("https://dadata.ru/demo/v2/clean/vehicle"), Headers = { { "Accept", "application/json" }, { "Connection", "keep-alive" }, { Content = new StringContent(postData) { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } } }; string response_body=""; using (var response = client.SendAsync(request).Result) { response_body = response.Content.ReadAsStringAsync().Result; } var result = JsonConvert.DeserializeObject(response_body); } }
  6. Пример отчета:
    https://report.statenumber.ru/report/8dc2e26e-f7d8-4802-b6e8-abcd239e1cb5

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

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

start DateTime
Дата и время создание запроса
end DateTime
Дата и время окончания запроса
gosnumber String
Госномер по которому выполняется генерация отчета
vin String
VIN номер по которому выполняется генерация отчета
error Boolean
Признак ошибки
status Int
Статус выполнения операции
id Int
ID задачи
startgeneration DateTime
Дата и время начала генерации отчета
msg Int
Сообщение

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

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

    start DateTime
    Дата и время создание запроса
    end DateTime
    Дата и время окончания запроса
    vin String
    VIN номер по которому выполняется генерация отчета
    gosnumber String
    Госномер по которому выполняется генерация отчета
    error Boolean
    Признак ошибки в запросе, имеет значение true в случае ошибки и null в случае её отсутствия
    error_msg String
    Сообщение с описанием ошибки

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

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

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

    PHP
    Python
    C#
                            
    // Входные данные
    $url = "https://data.tronk.info/reportrequest.ashx";
    $request_params = array(
        "key" => "867983b5-d66d-44d7-b440-5bd00b0b8203",
        "mode" => "checkqueue",
        "id" => 123
    );
    
    $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/reportrequest.ashx"
    
    # входные данные
    params = {
        "key": "867983b5-d66d-44d7-b440-5bd00b0b8203",
        "mode": "checkqueue",
        "id": 123,
    }
    
    # отправка запроса
    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/reportrequest.ashx";
            Dictionary dict_params = new()
            {
                { "key", "867983b5-d66d-44d7-b440-5bd00b0b8203" },
                { "mode", "checkqueue" },
                { "id", 123 },
            };
    
            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
    Дата и время окончания запроса
    error Boolean
    Признак ошибки
    status Int
    Статус выполнения операции
    id Int
    ID задачи
    startgeneration DateTime
    Дата и время начала генерации отчета
    endgeneration DateTime
    Дата и время завершения генерации отчета
    msg Int
    Сообщение

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

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

    start DateTime
    Дата и время создание запроса
    end DateTime
    Дата и время окончания запроса
    vin String
    VIN номер по которому выполняется генерация отчета
    gosnumber String
    Госномер по которому выполняется генерация отчета
    error Boolean
    Признак ошибки в запросе, имеет значение true в случае ошибки и null в случае её отсутствия
    error_msg String
    Сообщение с описанием ошибки

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

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

    PHP
    Python
    C#
                            
    // Входные данные
    $url = "https://data.tronk.info/reportrequest.ashx";
    $request_params = array(
        "key" => "867983b5-d66d-44d7-b440-5bd00b0b8203",
        "mode" => "getresult",
        "id" => 123
    );
    
    $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/reportrequest.ashx"
    
    # входные данные
    params = {
        "key": "867983b5-d66d-44d7-b440-5bd00b0b8203",
        "mode": "getresult",
        "id": 123,
    }
    
    # отправка запроса
    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/reportrequest.ashx";
            Dictionary dict_params = new()
            {
                { "key", "867983b5-d66d-44d7-b440-5bd00b0b8203" },
                { "mode", "getresult" },
                { "id", 123 },
            };
    
            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
    Дата и время окончания запроса
    error Boolean
    Признак ошибки
    status Int
    Статус выполнения операции
    id Int
    ID задачи
    url String
    Ссылка на отчет
    startgeneration DateTime
    Дата и время начала генерации отчета
    endgeneration DateTime
    Дата и время завершения генерации отчета
    msg Int
    Сообщение

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

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

    start DateTime
    Дата и время создание запроса
    end DateTime
    Дата и время окончания запроса
    vin String
    VIN номер по которому выполняется генерация отчета
    gosnumber String
    Госномер по которому выполняется генерация отчета
    error Boolean
    Признак ошибки в запросе, имеет значение true в случае ошибки и null в случае её отсутствия
    error_msg String
    Сообщение с описанием ошибки

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

    или
    Задать вопрос в Telegram