В данной статье описывается сервис по получению данных (далее – Сервис) из базы данных «Водитель» автоматизированной информационной системы «Сервисный центр» Министерства внутренних дел Республики Казахстан (далее - БД Водитель) посредством информационной системы АО «Государственное кредитное бюро» (далее - ГКБ), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки.
Описание сервиса getZipDriverPortType
Введение
При вызове веб-сервиса обязательно указываются следующие параметры:
1. ID и пароль клиента (организации) в HTTP Header, необходимые для базовой аутентификации. Так как коммуникация с веб-сервисами системы идет по защищенному протоколу HTTPS, то базовая аутентификация представляется безопасным решением.
2. ID пользователя, от имени которого будет выполнена запрашиваемая операция в SOAP Header:
Http Headers: {Authorization=[Basic jUnB0U3lzdGVtQWNjb3VudDpBbzZVRkdyVTZ2]}
SOAP Message: [Показать ответ]
1. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://data.mtszn.scb.kz">
2. <soapenv:Header>
3. <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4. </soapenv:Header>
5. <soapenv:Body>
6. <data:getMethod/>
7. </soapenv:Body>
8. </soapenv:Envelope>
где c3ZjUnB0U3lzdGVtQWNjb3VudDpBbzZVRkdyVTZ2 - есть значение HTTP Header, представляющее собой ID клиента и его пароль в формате «clientId:password» и кодировке Base64 как того требует механизм Basic Authentication.
Состав данных запроса на получение информации
Таблица 1. Состав данных запроса на получение информации [Показать ответ]
№
|
Наименование
|
Поле
|
Формат
|
Обязательность
|
Примечание
|
1
|
ИИН субъекта
|
iin
|
xs:string
|
Да
|
Значение должно содержать 12 цифр
|
2
|
Серия водительского удостоверения
|
|
xs:string
|
|
|
3
|
Номер водительского удостоверения
|
|
xs:string
|
|
|
4
|
Номер запроса
|
requestNumber
|
xs:string
|
Да
|
|
Пример вызова метода getZipDriverPortType
Пример вызова метода с помощью SOAP запроса будет иметь следующий вид: [Показать ответ]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://data.gbd.chdb.scb.kz/">
<soapenv:Header>
<userId>ID пользователя</userId>
</soapenv:Header>
<soapenv:Body>
<data:getZipDriverPortType>
<!--Optional:-->
<iin>ИИН</iin>
<requestNumber>Номер запроса</requestNumber>
<!--Optional:-->
<consentConfirmed>Подтверждение субъекта</consentConfirmed>
</data:getZipDriverPortType>
</soapenv:Body>
</soapenv:Envelope>
Примеры ответа на вызов метода getZipDriverPortType [Показать ответ]
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getZipDriverPortTypeResponse xmlns:ns2="http://data.gbd.chdb.scb.kz/">
<return>
<responseInfo/>
<responseData>
<item>
<firstName>Фамилия</firstName>
<lastName>Имя</lastName>
<middleName>Отчество</middleName>
<dateOfBirth>Дата рождение</dateOfBirth>
<dateOperate>Дата выдачи ВУ</dateOperate>
<drivingDocDateEnd>Дата окончания ВУ</drivingDocDateEnd>
<serial>Серия</serial>
<num>Номер</num>
<categoryA>false</categoryA>
<categoryB>true</categoryB>
<categoryC>false</categoryC>
<categoryD>false</categoryD>
<categoryE>false</categoryE>
<categoryF>false</categoryF>
<iin>ИИН</iin>
<placeBirth>Место рождение</placeBirth>
</item>
</responseData>
</return>
</ns2:getZipDriverPortTypeResponse>
</soap:Body>
</soap:Envelope>
Состав данных ответа на запрос получения информации
Таблица 2. Состав данных ответа на запрос получения информации [Показать ответ]
№
|
Наименование
|
Поле
|
Формат
|
Обязательность
|
Примечание
|
1
|
ИИН
|
iin
|
xs:string
|
Да
|
|
2
|
Фамилия
|
lastName
|
xs:string
|
Да
|
|
3
|
Имя
|
firstName
|
xs:string
|
Да
|
|
4
|
Отчество
|
middleName
|
xs:string
|
Нет
|
|
5
|
Дата рождения
|
dateOfBirth
|
xs:date
|
Да
|
ГГГГ-ММ-ДД
|
6
|
Место рождения
|
placeBirth
|
xs:string
|
Да
|
|
7
|
Место жительства
|
placeLife
|
xs:string
|
Да
|
|
8
|
Дата операции (последнего утверждения или выдачи водительского удостоверения)
|
dateOperate
|
xs:date
|
Да
|
|
9
|
Дата окончания действия водительского удостоверения
|
drivingDocDateEnd
|
xs:date
|
Да
|
|
10
|
Серия водительского удостоверения
|
serial
|
xs:string
|
Да
|
|
11
|
Номер водительского удостоверения
|
num
|
xs:string
|
Да
|
|
12
|
Категория «A»
|
categoryA
|
xs:boolean
|
Да
|
|
13
|
Категория «B»
|
categoryB
|
xs:boolean
|
Да
|
|
14
|
Категория «C»
|
categoryC
|
xs:boolean
|
Да
|
|
15
|
Категория «D»
|
categoryD
|
xs:boolean
|
Да
|
|
16
|
Категория «E»
|
categoryE
|
xs:boolean
|
Да
|
|
17
|
Категория «F»
|
categoryF
|
xs:boolean
|
Да
|
|
Обработка исключений метода getZipDriverPortType
Код/Текст ошибки/сообщения
|
Описание ошибки/сообщения
|
Примечание
|
SBF-VE-8
|
Номер "ИИН" должен содержать 12 цифр
|
|
VAL-JSR-001
|
Обязательное поле "%s" отсутствует
|
|
SBF-AD-1
|
Пользователь «%s» не имеет прав для выполнения действия
|
|
|
Обязательное поле UserId отсутствует
|
|
FAULT-015
|
Сервис на стороне ГБД не доступен
|
|
IIN NOT FOUND
|
ИИН не найден
|
|
SIGNATURE_NOT_VALID
|
Отсутствует ЭЦП или ЭЦП не валидна
|
|
ACCESS_DENIED
|
Доступ запрещен
|
|