Скрипт проверки кбм и проверка талона технического E Agent 24

Каждый желающий может организовать у себя на сайте проверку кбм водителей и ТС.
Мы предоставляем ПЛАТНЫЙ доступ к базам данных РСА.
Стоимость одного запроса 2.5 Руб. 1 Руб. (При пополнении баланса от 1000 рублей вы получаете на баланс + 10% только до 03.02.2023))
Для теста и настройки мы даём 10 Руб. БЕСПЛАТНО, пополнить баланс можно написав нам в WhatsApp +79910530696

Эталонный ответ Сервера в формате JSON. Используйте его чтобы не расходовать ваш баланс
{"status":"Выполнено успешно","kbm":"9","coef":"0.68","policy":" ","company":"","firstvalue":"","InsuranceClaims":"0","balans":"9881.6","Loss":"[]"}


При окончании лимита доступ API_KEY будет закрыт и вы получите соответствующие сообщение
{"status":"nobalans"}

Если наш сайт получил не все требуемые данные вы получите соответствующие сообщение
{"status":"nouser"}

Ваш API_KEY доступен в Личном кабинете

При не верно указанном API_KEY вы получите соответствующие сообщение
{"status":"noapi"}

Для получения КБМ водителя отправьте POST запрос на https://e-agent24.ru/apikbm.php?type=0
Важные параметры:
data - Дата на которую выполняется проверка КБМ (12.12.2018)
fio - ФИО Водителя (Иванов Иван Иванович)
dr - день рождения Водителя (18.03.1990)
seria - Серия водительского удостоверения (44УК)
nomer - Номер водительского удостоверения (123456)
API_KEY - ВАШ API_KEY (3JUSORJW9FJSNCOGLAMRIGMDSMQO23I4)
Пример:

$datap=$_POST['data'];
$fio=$_POST['fio'];
$dr=$_POST['dr'];;
$seria=$_POST['seria'];;
$nomer=$_POST['nomer'];

$postdata = http_build_query(
    array(
        'data' => $datap,
        'fio' => $fio,
		'dr' => $dr,
		'seria' => $seria,
		'nomer' => $nomer,
		'API_KEY' => "ВАШ API_KEY"
    )
);
//отправляем сложный запрос с параметрами
$url = 'https://e-agent24.ru/apikbm.php?type=0';

$context = stream_context_create([
    'http' => [
        'method' => 'POST',
		'header' =>'Content-type:application/json;charset=utf-8',
		'header' =>'Content-Encoding: gzip',
        'content' => $postdata
    ]
]);

$result = file_get_contents($url, false, $context);
echo $result;

Для получения КБМ ТС отправьте POST запрос на https://e-agent24.ru/apikbm.php?type=1
Важные параметры:
data - Дата на которую выполняется проверка КБМ (12.12.2018)
ownerfio_sobstvenik - ФИО собственника ТС (Иванов Иван Иванович)
dr_sobstvenik - день рождения собственника ТС (18.03.1990)
passpot - Серия и номер паспорта собственника ТС (3312 473900)
vin - VIN ТС (XTA2114H48QK98350)
Если у ТС отсутствует параметр VIN
передайте параметр novin (VIN отсутствует) и так же передайте параметр параметр
rama (STA-32485278717)
API_KEY - ВАШ API_KEY (3JUSORJW9FJSNCOGLAMRIGMDSMQO23I4)
Пример:

$datap=$_POST['data'];
$fio=$_POST['ownerfio_sobstvenik'];
$dr=$_POST['dr_sobstvenik'];
$passpot=$_POST['passpot'];
$vin=$_POST['vin'];
if ($_POST['novin']=="VIN отсутствует"){
	
$vin=$_POST['rama'];	
}

$postdata = http_build_query(
    array(
        'data => $datap,
        'ownerfio_sobstvenik' => $fio,
		'dr_sobstvenik' => $dr,
		'passpot' => $passpot,
		'vin' => $vin,
		'API_KEY' => "ВАШ API_KEY"
    )
);




//отправляем сложный запрос с параметрами
$url = 'https://e-agent24.ru/apikbm.php?type=1';

$context = stream_context_create([
    'http' => [
        'method' => 'POST',
		'header' =>'Content-type:application/json;charset=utf-8',
		'header' =>'Content-Encoding: gzip',
        'content' => $postdata
    ]
]);

$result = file_get_contents($url, false, $context);
echo $result;


При верной настройке вы получите ответ:

{"status":"\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0443\u0441\u043f\u0435\u0448\u043d\u043e",
"kbm":"5","coef":"0.9"}
Для получения более полной информации КБМ по Номеру старого полиса, страховой компании
и о убытках отправьте POST запрос на https://e-agent24.ru/apikbm.php?type=3
Стоимость одного запроса 2.20 руб.
При верной настройке при отсутствующих возмещениях вы получите ответ:

{"status":"Обработан успешно",
"kbm":"6","coef":"0.85","policy":"ХХХ 0069401915","company":"РЕНЕССАНС СТРАХОВАНИЕ","firstvalue":"0.9","InsuranceClaims":"0","balans":"850.6","Loss":"[]"}

При верной настройке при наличии страховых возмещений вы получите ответ:

{"status":"Обработан успешно",
"kbm":"2","coef":"1.4","policy":"ХХХ 0029431314","company":"ЮГОРИЯ","firstvalue":"0.85","InsuranceClaims":"Найдено 2 страховых возмещений ","balans":"846.2","Loss":"[{"LossDateTime":"2018-02-19T17:20:00","LossDateTimeSpecified":"1","PolicySerialKey":"ХХХ","PolicyNumberKey":"0012376062","InsurerName":"ЮГОРИЯ"},{"LossDateTime":"2018-05-22T19:00:00","LossDateTimeSpecified":"1","PolicySerialKey":"ХХХ","PolicyNumberKey":"0029431314","InsurerName":"ЮГОРИЯ"},]"}
Если вы собираетесь обрабатывать ответ сервера в jQuery
у вас не будет проблем с декодом странице, а вот для обработке на PHP
В ответе вы можете получить unicode, но это не проблема у нас есть декодер:

function escape_win ($path) { 
$path = strtoupper ($path); 
return strtr($path, array("\U0430"=>"а", "\U0431"=>"б", "\U0432"=>"в", 
"\U0433"=>"г", "\U0434"=>"д", "\U0435"=>"е", "\U0451"=>"ё", "\U0436"=>"ж", "\U0437"=>"з", "\U0438"=>"и", 
"\U0439"=>"й", "\U043A"=>"к", "\U043B"=>"л", "\U043C"=>"м", "\U043D"=>"н", "\U043E"=>"о", "\U043F"=>"п", 
"\U0440"=>"р", "\U0441"=>"с", "\U0442"=>"т", "\U0443"=>"у", "\U0444"=>"ф", "\U0445"=>"х", "\U0446"=>"ц", 
"\U0447"=>"ч", "\U0448"=>"ш", "\U0449"=>"щ", "\U044A"=>"ъ", "\U044B"=>"ы", "\U044C"=>"ь", "\U044D"=>"э", 
"\U044E"=>"ю", "\U044F"=>"я", "\U0410"=>"А", "\U0411"=>"Б", "\U0412"=>"В", "\U0413"=>"Г", "\U0414"=>"Д", 
"\U0415"=>"Е", "\U0401"=>"Ё", "\U0416"=>"Ж", "\U0417"=>"З", "\U0418"=>"И", "\U0419"=>"Й", "\U041A"=>"К", 
"\U041B"=>"Л", "\U041C"=>"М", "\U041D"=>"Н", "\U041E"=>"О", "\U041F"=>"П", "\U0420"=>"Р", "\U0421"=>"С", 
"\U0422"=>"Т", "\U0423"=>"У", "\U0424"=>"Ф", "\U0425"=>"Х", "\U0426"=>"Ц", "\U0427"=>"Ч", "\U0428"=>"Ш", 
"\U0429"=>"Щ", "\U042A"=>"Ъ", "\U042B"=>"Ы", "\U042C"=>"Ь", "\U042D"=>"Э", "\U042E"=>"Ю", "\U042F"=>"Я")); 
}


$obj=json_decode($result);
$result= escape_win($obj);


Для получения информации по диагностической карте. По VIN или по ГОСНОМЕРУ отправьте POST запрос на https://e-agent24.ru/apikbm.php?type=2
Важные параметры:
vin - VIN номер ТС(только VIN)
nomer - ГОСНОМЕР ТС
API_KEY - ВАШ API_KEY (3JUSORJW9FJSNCOGLAMRIGMDSMQO23I4)
Система примет только ДВА параметра: ЛИБО vin и API_KEY, ЛИБО nomer и API_KEY.

Пример

$postdata = http_build_query(
    array(
        'nomer' => "Т599не93",
		'API_KEY' => "3JUSORJW9FJSNCOGLAMRIGMDSMQO23I4"
    )
);




//отправляем сложный запрос с параметрами
$url = 'https://e-agent24.ru/apikbm.php?type=2';

$context = stream_context_create([
    'http' => [
        'method' => 'POST',
		'header' =>'Content-type:application/json;charset=utf-8',
		'header' =>'Content-Encoding: gzip',
        'content' => $postdata
    ]
]);

$result = file_get_contents($url, false, $context);
echo $result;

При нарушении вы получите ошибку:

{"status":"more"}


Ответ при запросе по vin

{"type":"vin","number":"090790011802004","next_to":"2020-09-14","error_info":{"code":"3","message":"Обработан успешно"},"ticket_existed":"true"}


При ошибке:

{"type":"vin","error_info":{"code":"701","message":"Ошибка. Данные ТО в МВД не найдены"}}


Ответ при запросе по nomer

{"type":"gosnomer","id":"dfac313b-952c-4a98-86f7-2bbef17b41b6","credential":[{"issue_date":null,"number":"658287","series":"43ТУ","credential_type":"VEHICLE_REGISTRATION","expiration_date":null}],"car_mark":"ВАЗ/Lada","car_type":"B","car_model":"2107","car_model_id":"501017464","manufacturing_year":1998,"vin_number":"XTA210700W1176697","number_plate":"Т548НЕ43","car_body_number":"1176697","chassis_number":null,"has_trailer":false,"is_foreign":false,"engine_displacement":null,"engine_power":71.0,"is_rsa_checked":false}


При ошибке

{"type":"gosnomer","detail":"Ошибка получения данных по машине."}