// Входные данные
$url = "https://data.tronk.info/reportjson.ashx";
$request_params = array(
"key" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"mode" => "create",
"vin" => "VF3M45GXVHS197430"
);
$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",
"vin": "VF3M45GXVHS197430",
}
# отправка запроса
response = requests.get(
url=url,
params=params,
)
# преобразование ответа к словарю
data = response.json()
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
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" },
{ "vin", "VF3M45GXVHS197430" },
};
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.GetStringAsync(url);
var result = JsonConvert.DeserializeObject(response_body);
}
}
При ошибке возвращаются Error = true, описание в ErrorMsg и Task = null. Поле RequestParams содержит mode, vin, gosnumber, frame и id; незаполненные значения равны null. Поле gosnumber сохраняется в формате ответа, даже если запрос отправлен по VIN или номеру кузова.
Возможные причины: неверный ключ или отсутствие доступа к методу; не задан или неизвестен mode; переданы несколько идентификаторов автомобиля либо ни одного; некорректный VIN или номер кузова; не передан корректный id; отчет не найден или принадлежит другому пользователю; ошибка генерации или получения результата. Отмена актуализации отдельного блока отражается в Task.StatusServices и сама по себе не означает Error = true для всего запроса.
// Входные данные
$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.get(
url=url,
params=params,
)
# преобразование ответа к словарю
data = response.json()
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
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.GetStringAsync(url);
var result = JsonConvert.DeserializeObject(response_body);
}
}
// Входные данные
$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.get(
url=url,
params=params,
)
# преобразование ответа к словарю
data = response.json()
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
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.GetStringAsync(url);
var result = JsonConvert.DeserializeObject(response_body);
}
}
Result — объект с готовым отчетом; ниже он сокращен до {}. Полная модель доступна по кнопке «Скачать файл» и одинакова для обоих методов. Пока отчет не сформирован, ответ содержит Msg и Task без поля Result.