Структура запроса к API

Запрос на формирование отчета следует передавать по протоколу HTTP методом GET. Передаваемые параметры должны быть в кодировке UTF-8. Возвращаемые приходят в формате JSON.

Адрес для запроса

http://api.kbm-pro.ru/getKbm/[api ключ]/[период]/[фамилия:имя:отчество]/[дата рождения]/[серия:номер]

Все параметры обязательны для передачи на сервер.

[API ключ]

Уникальный ключ выдается администратором сервиса. Содержит буквенно-цифровое значение.

[период]

В данном поле указывается дата на какой период обращения сделать выборку КБМ. Формат записи: ГГГГ-ММ-ДД Где:
ДД - день
ММ - месяц
ГГГГ - год
например:
2019-11-26

[фамилия:имя:отчество]

Фамилия Имя Отчество водителя, заполняется русскими буквами, вместо пробела разделитель двоеточие [:]
Регистр слов может быть произвольный.

[дата рождения]

В данном поле указывается дата рождения водителя. Формат записи: ДД.ММ.ГГГГ Где:
ДД - день
ММ - месяц
ГГГГ - год
например:
31.12.2000

[серия:номер]

В данном поле серия и номер водительского удостоверения водителя, вместо пробела разделитель двоеточие [:]
Серия должна содержать не менее 4-х символов.

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

http://api.kbm-pro.ru/getKbm/e98r77556jh5g3g/2019-11-26/Петров:Петр:Петрович/31.12.2000/1234:123456

PHP, используя file_get_contents()

$query = 'http://api.kbm-pro.ru/getKbm/e98r77556jh5g3g/2019-11-26/Петров:Петр:Петрович/31.12.2000/1234:123456';
$data  = file_get_contents($query);
$result = json_decode($data, true);
print_r($result);
	

PHP, используя CURL

$ch = curl_init('http://api.kbm-pro.ru/getKbm/e98r77556jh5g3g/2019-11-26/Петров:Петр:Петрович/31.12.2000/1234:123456');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$data = curl_exec($ch);
curl_close($ch);
print_r( json_decode($data, true) );
	

Возвращаемый сервером результат

Если все входные параметры были переданы успешно, возвращается ответ вида (декодированный из JSON):
array (
  'ErrorInfo' => 
  array (
    'Code' => 3,
    'Message' => 'Обработан успешно',
  ),
  'DriverDocument' => 
  array (
    'Serial' => '1234',
    'Number' => '123456',
  ),
  'PersonDocument' => 
  array (
    'DocPerson' => 20,
    'Serial' => '1234',
    'Number' => '123456',
  ),
  'Hash' => '8C4D1D092112A342AFC8ACCA7A06C9CA77E889DE87A742483394AF9B7EA00D77',
  'PersonalDataInfo' => 
  array (
    'Surname' => 'петров',
    'Name' => 'петр',
    'Patronymic' => 'петрович',
    'BirthDate' => '2000-12-31',
  ),
  'KBMFirstLevel' => '5',
  'KBMNextLevel' => 'M',
  'KBMFirstValue' => 0.9,
  'KBMValue' => 2.45,
  'PolicySerialKey' => 'ХХХ',
  'PolicyNumberKey' => '0001111111',
  'InsurerName' => 'АНГАРА',
  'Losses' => 
  array (
    'Loss' => 
    array (
      0 => 
      array (
        'LossDateTime' => '2019-01-01T17:07:00',
        'PolicySerialKey' => 'ХХХ',
        'PolicyNumberKey' => '0001111111',
        'InsurerName' => 'АНГАРА',
      ),
    ),
  ),
  'LossAmount' => 1,
)
	

Где
ErrorInfo - код выполнения операции, 3 - успешен, 801 - не найден
KBMValue - текущее значение КБМ
Losses - Блок появляется в случае ДТП.
LossAmount - количество ДТП