В данной статье описывается принцип работы информационной системы «Контроль доступа к персональным данным» Министерства цифрового развития, инноваций и аэрокосмической промышленности Республики Казахстан (далее – КДП) посредством информационной системы АО «Государственное кредитное бюро» (далее - ГКБ), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки.
Описание сервиса PersonalDataAccessControl
При вызове веб-сервиса обязательно указываются следующие параметры:
1. Отличительное имя пользователя и пароль (организации) в HTTP Header, необходимые для базовой аутентификации. Так как коммуникация с веб-сервисами системы идет по защищенному протоколу HTTPS, то базовая аутентификация представляется безопасным решением.
2. Отличительное имя пользователя, от имени которого будет выполнена запрашиваемая операция в SOAP Header:
Http Headers: {Authorization=[Basic Отличительное имя пользователя]
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:getVerifyPhoneInfo/>
7. </soapenv:Body>
8. </soapenv:Envelope>clinet
Метод getPersonDataAccessControl
Метод getPersonDataAccessControl сервиса PersonalDataAccessControl предназначен для получения уникального токена от ИС КДП – электронного ключа в виде набора определённого количества цифр и букв, предназначенного для обеспечения информационной безопасности субъекта.
Таблица 1. Состав данных запроса на получение информации [Показать ответ]
№
|
Наименование
|
Поле
|
Формат
|
Обязательность
|
Примечание
|
1
|
Номер запроса
|
requestNumber
|
xs:string
|
Да
|
Значение поля должно быть уникальным и не должно повторяться при каждом запросе.
|
2
|
ИИН субъекта
|
uin
|
xs:string
|
Да
|
Значение должно содержать 12 цифр
|
3
|
Наименование организации
|
company
|
xs:string
|
Да
|
Наименование Получателя, запрашивающего доступ к персональным данным субъекта
|
4
|
БИН/ИИН организации
|
company_bin
|
xs:string
|
Да
|
БИН/ИИН Получателя, запрашивающего доступ к персональным данным субъекта
|
5
|
Наименование организации, у которой запрашиваются данные
|
company_responsible
|
xs:string
|
Да
|
Наименование организации, у которой запрашиваются данные (Например, База мобильных граждан)
|
6
|
ФИО сотрудника из организации
|
employee_name
|
xs:string
|
Да
|
ФИО сотрудника Получателя, запрашивающего персональные данные субъекта
|
7
|
Перечень сервисов
|
access_name
|
xs:string
|
Да
|
Перечень сервисов (необходимо указывать id сервиса – MCDB_SERVICE)
|
8
|
Наименование персональных запрашиваемых по субъекту персональных данных
|
personal_data_name
|
xs:string
|
Да
|
Указывается номер мобильного телефона субъекта, который зарегистрирован на портале egov.kz в «Базе мобильных граждан».
|
9
|
Время действия токена
|
expiresIn
|
xs:int
|
Да
|
Время действия токена безопасности, указывается в миллисекундах (зависит от регламентного времени оказания услуг).
Оптимальное значение 600000 миллисекунд.
|
10
|
Запрос персональных данных
|
omit-sms
|
xs:boolean
|
Да
|
Запрос персональных данных получен иным путем (значение true возможно только для организаций, получивших от
уполномоченного органа в сфере контроля персональных данных, разрешения на самостоятельное получение разрешения
от субъекта персональных данных). Необходимо указывать «false».
|
Таблица 2. Состав данных ответа на запрос получения информации [Показать ответ]
№
|
Наименование
|
Поле
|
Формат
|
Обязательность
|
Примечание
|
Возвращаемая информация по токену, который используется в методе сервиса «ГБД РН» getLackOfAvailabilityOfProperty
(responseData/data)
|
1
|
Статус запроса
|
status
|
xs:string
|
Да
|
Возвращаемые значения:
VALID – Доступ предоставлен;
INVALID – В доступе отказано;
PENDING – Ожидание ответа субъекта персональных данных;
TIMEOUT – Время ожидания ответа субъекта персональных данных истекло;
NOT_FOUND – По указанному в запросе ИИН отсутствует номер телефона в Базе мобильных граждан;
ERROR – Ошибка, полученная при отправке SMS.
|
2
|
Код верификации
|
code
|
xs:string
|
Да
|
Код верификации, представленный в JWT-формате (если статус VALID)
|
3
|
Публичный ключ
|
public-key
|
xs:string
|
Да
|
Публичный ключ, необходимый для проверки валидности кода
|
Пример вызова метода getPersonDataAccessControl
Пример вызова метода getPersonDataAccessControl сервиса PersonalDataAccessControl с помощью SOAP запроса имеет следующий вид: [Показать ответ]
1. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://data.gbd.chdb.scb.kz/">
2. <soapenv:Header>
3. <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4. </soapenv:Header>
5. <soapenv:Body>
6. <data:getPersonDataAccessControl>
7. <requestNumber>xxxx</requestNumber>
8. <uin>71111111111</uin>
9. <company>xxxxxxxx</company>
10. <company_bin> xxxxxxxxxxxx </company_bin>
11. <company_responsible>База мобильных граждан</company_responsible>
12. <employee_name>xxxxxxxxxxxx</employee_name>
13. <access_name>MCDB_SERVICE</access_name>
14. <personal_data_name>xxxxxxxxxxxx</personal_data_name>
15. <expiresIn>0</expiresIn>
16. <omit-sms>false</omit-sms>
17. </data:getPersonDataAccessControl>
18. </soapenv:Body>
19. </soapenv:Envelope>
Пример ответа на вызов метода getPersonDataAccessControl
Пример ответа на вызов метода getPersonDataAccessControl сервиса PersonalDataAccessControl с помощью SOAP запроса имеет следующий вид: [Показать ответ]
1. <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2. <soap:Body>
3. <ns2:getPersonDataAccessControlResponse xmlns:ns2="http://data.gbd.chdb.scb.kz/" xmlns:ns3="http://bip.bee.kz/SyncChannel/v10/Types">
4. <return>
5. <response>
6. <responseInfo>
7. <messageId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</messageId>
8. <responseDate>2021-11-24T14:24:45.675</responseDate>
9. <status>
10. <code>1</code>
11. <message>SUCCESS</message>
12. </status>
13. </responseInfo>
14. <responseData>
15. <data xsi:type="ns3:getUserDataResponse" xmlns:ns2="http://bip.bee.kz/SyncChannel/v10/Types" xmlns:ns3="http://service.2fa-chain.kz/ns/kdp" xmlns:ns4="http://sms.egov.inessoft.kz/common/v10/Types" xmlns:ns5="http://smartbridge.b10.kz" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
16. <ns3:status>VALID</ns3:status>
17. <ns3:code>eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mzc3NjM4NzEsImV4cCI6MTYzNzc2Mzg3MSwiYmluYyI6IjEyMDk0MDAxMTU3NyIsImR0cyI6IjIwMjEtMTEtMjRUMTQ6MjQ6MzEiLCJkdGUiOiIyMDIxLTExLTI0VDE0OjI0OjMxIiwidWluIjoiODUwNDE0MzAwMjY1Iiwic2lkIjoiTUNEQl9TRVJWSUNFIn0.AkZMws- CM471fVvRJfiiZxl2fWDlnKo1PAZpxpLknXkyRa0q6F5-ciQf-TjQQoIkS1DdC287r57Ac64m-0lVEhziG7ExNo9hFvrVrqXSttUQ</ns3:code>
18. <ns3:public-key>-----BEGIN CERTIFICATE-----MIIG6zCCBNOgAwIBAgIUb6w9cFeIv32H/2Yr+zwRsL7sescwDQYJKoZIhvcNAQELBQAwUjELMAkGA1UEBhMCS1oxQzBBBgNVBAMMOtKw0JvQotCi0KvSmiDQmtCj05jQm9CQ0J3QlNCr0KDQo9Co0Ksg0J7QoNCi0JDQm9Cr0pogKFJTQSkwHhcNMjEwMzEwMTExNDU3WhcNMjIwMzEwMTExNDU3WjCCASExJjAkBgNVBAMMHdCW0JXQotCf0JjQodCe0JIg0J3Qo9Cg0JHQldCaMRkwFwYDVQQEDBDQltCV0KLQn9CY0KHQntCSMRgwFgYDVQQFEw9JSU45MTA4MTAzNTAwODMxCzAJBgNVBAYTAktaMXgwdgYDVQQKDG/ =-----END CERTIFICATE-----</ns3:public-key>
19. </data>
20. </responseData>
21. </response>
22. </return>
23. </ns2:getPersonDataAccessControlResponse>
24. </soap:Body>
25. </soap:Envelope>
Обработка исключений метода getPersonDataAccessControl
При обработке запроса метод getPersonDataAccessControl сервиса может возвращать следующие виды ошибок/исключений/сообщений: [Показать ответ]
Код/Текст ошибки/сообщения
|
Описание ошибки/сообщения
|
Примечание
|
SBF-VE-8
|
Номер "ИИН" должен содержать 12 цифр
|
|
VAL-JSR-001
|
Значение обязательного поля "%s" не должно быть пустым
|
|
VAL-JSR-001
|
Обязательное поле "%s" отсутствует
|
|
ScbSystemFault
|
Пользователь %s не имеет прав для выполнения действия
|
|
FAULT-015
|
Сервис на стороне ГБД не доступен
|
|