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

Генерация отчетов (японские авто/по номеру кузова)

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

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

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


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

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

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

# входные данные
params = {
    "key": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "mode": "setqueue",
    "frame": "XXXXXXXXX",
}

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

        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
Дата и время окончания запроса
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
    Сообщение с описанием ошибки

    Брендированный автомобильный отчёт:

    Стоимость опции - 10 000 руб./мес.

    Подробности

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

      custom_socialicons:

      icon String
      ссылка на иконку, начинается с http:// или https://
      url String
      ссылка на соцсеть, начинается с http:// или https://
      custom_headerhtml String/Html
      Дополнительное информационное поле в заголовке. Поддерживается TEXT/HTML. Максимальная длина - 4000
      custom_companyphones String
      контакты для связи, разделитель - запятая
      (рекомендуемое количество - 2)
      custom_companyemalis String
      Email, разделитель - запятая
      (рекомендуемое количество - 2)
      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/reportrequestframe.ashx";
      $request_data = array(
          "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",
          "custom_socialicons" => array(
              array(
                  "icon" => "https://mydomain/I/vk.png",
                  "url" => "http://vk.com/vk"
              ),
              array(
                  "icon" => "https://mydomain/I/telegram.png",
                  "url" => "https://t.me/tg"
              ),
              array(
                  "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" => array(
              "tagline" => "Здесь будет слоган",
              "sitename" => "TRONK"
          ),
          "custom_companyappstore" => "http://appstore_url",
          "custom_companygoogleplay" => "http://playmarket_url"
      );
      
      // Создание JSON строки из данных
      $json_data = json_encode($request_data);
      
      // Параметры контекста для HTTP запроса
      $request_params = array(
          "http" => array(
              "method" => "POST",
              "header" => "Content-type: application/json\r\n",
              "content" => $json_data
          )
      );
      
      $context = stream_context_create($request_params);
      
      // Запрос к серверу
      $response = file_get_contents($url, false, $context);
      
      // Преобразование ответа
      $result = json_decode($response);
      
      if ($result === null) {
          // Обработка ошибки в случае некорректного ответа
          echo "Ошибка декодирования JSON: ", json_last_error_msg();
      } else {
          // Вывод результата
          print_r($result);
      }
                              
                          
                              
      import requests
      
      url = "https://data.tronk.info/reportrequestframe.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",
      }
      
      json_data = {
          "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,
          json=json_data,
          params=params,
          headers={"Content-Type": "application/json"}
      )
      
      # Преобразование ответа к словарю
      try:
          data = response.json()
      except ValueError:
          print("Ошибка при декодировании JSON из ответа:", response.text)
      else:
          print(data)
                              
                          
                              
      using Newtonsoft.Json;
      
      class Program
      {
          static void Main()
          {
              string end_point = "https://data.tronk.info/reportrequestframe.ashx";
              Dictionary< string, string > dict_params = new()
              {
                  { "key", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" },
                  { "mode", "setqueue" },
                  { "gosnumber", "X000XX000" },
                  { "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}";
      
              // Создание объекта с данными для отправки в формате JSON
              var postData = new
              {
                  custom_socialicons = new[]
                  {
                      new { icon = "https://mydomain/I/vk.png", url = "http://vk.com/vk" },
                      new { icon = "https://mydomain/I/telegram.png", url = "https://t.me/tg" },
                      new { 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 = new
                  {
                      tagline = "Здесь будет слоган",
                      sitename = "TRONK"
                  },
                  custom_companyappstore = "http://appstore_url",
                  custom_companygoogleplay = "http://playmarket_url"
              };
      
              // Сериализация данных в JSON-строку
              string jsonData = JsonConvert.SerializeObject(postData);
      
              // Создание и отправка запроса
              using HttpClient client = new();
              var request = new HttpRequestMessage
              {
                  Method = HttpMethod.Post,
                  RequestUri = new Uri(url),
                  Headers =
                  {
                      { "Accept", "application/json" },
                      { "Connection", "keep-alive" }
                  },
                  Content = new StringContent(jsonData)
                  {
                      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);
      
              Console.WriteLine(result);
          }
      }
                              
                          
    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/reportrequestframe.ashx";
    $request_params = array(
        "key" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "mode" => "checkqueue",
        "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/reportrequestframe.ashx"
    
    # входные данные
    params = {
        "key": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "mode": "checkqueue",
        "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/reportrequestframe.ashx";
            Dictionary< string, string > dict_params = new()
            {
                { "key", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" },
                { "mode", "checkqueue" },
                { "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

    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/reportrequestframe.ashx";
    $request_params = array(
        "key" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "mode" => "getresult",
        "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/reportrequestframe.ashx"
    
    # входные данные
    params = {
        "key": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "mode": "getresult",
        "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/reportrequestframe.ashx";
            Dictionary< string, string > dict_params = new()
            {
                { "key", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" },
                { "mode", "getresult" },
                { "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

    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
    Сообщение с описанием ошибки