Сервис «Физические лица»: различия между версиями

Материал из Wiki ГКБ
Перейти к навигации Перейти к поиску
(Новая страница: «<center> {| width="auto" cellspacing="0" cellpadding="2" style="border:none;" | width="auto" valign="top"| | style="border-bottom:5px solid #20B2AA;font:110% Aria...»)
(нет различий)

Версия от 06:42, 27 марта 2023

Главная страница Предыдущая страница



В документе описывается сервис по получению данных из информационной системы «Государственная база данных «Физические лица» (далее – ГБД ФЛ) посредством информационной системы АО «Государственное кредитное бюро» (далее - ГКБ), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки.

ГБД ФЛ – это единая система регистрации и хранения информации о физических лицах Республики Казахстан, достаточной для идентификации и определения гражданского состояния. ГБД ФЛ предназначена для автоматизированного сбора, хранения и обработки информации, создания Национального реестра индивидуальных идентификационных номеров с целью внедрения единой идентификации физических лиц в Республике Казахстан и предоставления о них актуальных и достоверных сведений органам государственного управления и прочим субъектам в рамках их полномочий и в соответствии с законодательством Республики Казахстан.


Сервис получения данных из ГБД ФЛ

Web Service gbdServices
Target Namespace http://data.gbd.chdb.scb.kz/
Location gbdServices/PersonDetailsImplService
Адреса web сервисов:
тестовый сервис https://testscbws.mkb.kz/gbdServices/PersonDetailsImplService?wsdl
боевой сервис https://scbws.mkb.kz/gbdServices/PersonDetailsImplService?wsdl
Метод сервиса getPersonUseToken

При вызове веб-сервиса обязательно указываются следующие параметры:

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.gbd.chdb.scb.kz/">
2.	   <soapenv:Header>
3.	      <userId> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4.	   </soapenv:Header>
5.	   <soapenv:Body>

где ХХХХХ-ХХХ-ХХ-ХХХ-ХХХХ - есть значение HTTP Header, представляющее собой логин и его пароль для авторизации Basic Authentication.


Метод getPersonUseToken


Состав данных запроса на получение информации о физическом лице из ГБД ФЛ: [Показать ответ]


Наименование Формат Поле Обяза­тельность Примечание
1 ИИН xs:string iin Да Значение должно со­держать 12 цифр
2 ТокенКДП xs:string kdpToken Да Наличие согласия субъекта на предоставление информации из ГБД
3 Публичный ключ xs:string publicKey Да Публичный ключ, необходимый для проверки валидности кода
4 Согласие субъекта на запрос данных xs:boolean consentConfirmed Да Возможные значения:

- true;

- false.


Метод getPersonUseToken


Значения полей kdpToken и publicKey можно получить с помощью сервиса «Контроль доступа к персональным данным». ГКБ реализован сервис «Контроль доступа к персональным данным», целью которого является получение уникального токена для обеспечения защиты персональных данных от несанкционированного доступа в государственные базы данных.

1.	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://data.gbd.chdb.scb.kz/">
2.	   <soapenv:Header>
3.	      <userId>Отличительное имя пользователя</userId>
4.	   </soapenv:Header>
5.	   <soapenv:Body>
6.	      <data:getPersonUseToken>
7.	         <iin>ИИН</iin>
8.	         <kdpToken> ТокенКДП </kdpToken>
9.	         <publicKey>Публичный ключ</publicKey>
10.	         <consentConfirmed>true/false</consentConfirmed>
11.	      </data:getPersonUseToken>
12.	   </soapenv:Body>
13.	</soapenv:Envelope>
Пример ответа на вызов метода getPersonUseToken имеет следующий вид: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <soap:Body>
3.	      <ns2:getPersonUseTokenResponse xmlns:ns2="http://data.gbd.chdb.scb.kz/" xmlns:ns3="http://gbd.chdb.scb.kz/xml/person" xmlns:ns4="http://bip.bee.kz/SyncChannel/v10/Types">
4.	         <return>
5.	            <ns3:Person>
6.	               <responseInfo>
7.	                  <messageId></messageId>
8.	                  <correlationId></correlationId>
9.	                  <responseDate>Ответ даты и время</responseDate>
10.	                  <status>
11.	                     <code>Код</code>
12.	                     <message>Сообщение</message>
13.	                  </status>
14.	                  <sessionId>Сессия</sessionId>
15.	               </responseInfo
16.	               <responseData>
17.	                  <data xmlns:ns2="http://bip.bee.kz/SyncChannel/v10/Types" xmlns:ns3="http://bip.bee.kz/SyncChannel/v10/Interfaces">
18.	                     <messageId> </messageId>
19.	                     <messageDate>Дата и время</messageDate>
20.	                     <requestId>Запрос </requestId>
21.	                     <sender>
22.	                        <code>КОД</code>
23.	                        <nameRu>Русский язык</nameRu>
24.	                        <nameKz>Казахский язык</nameKz>
25.	                        <changeDate xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
26.	                     </sender>
27.	                     <receiver>
28.	                        <code>КОД</code>
29.	                        <nameRu> Русский язык </nameRu>
30.	                        <nameKz> Казахский язык </nameKz>
31.	                        <changeDate xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
32.	                     </receiver>
33.	                     <messageResult>
34.	                        <code>КОД</code>
35.	                        <nameRu> Результат на русском языке </nameRu>
36.	                        <nameKz> Результат на казахском языке </nameKz>
37.	                        <changeDate xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
38.	                     </messageResult>
39.	                     <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
40.	                        <ds:SignedInfo>
41.	                           <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
42.	                           <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34310-gost34311"/>
43.	                           <ds:Reference URI="">
44.	                              <ds:Transforms>
45.	                                 <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
46.	                                 <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
47.	                              </ds:Transforms>
48.	                              <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34311"/>
49.	                              <ds:DigestValue> Ваш Сгенерированный-DigestValue </ds:DigestValue>
50.	                           </ds:Reference>
51.	                        </ds:SignedInfo>
52.	                        <ds:SignatureValue> Ваш Сгенерированный-SignatureValue </ds:SignatureValue>
53.	                        <ds:KeyInfo>
54.	                           <ds:X509Data> Ваш Сертификат-X509Certificate </ds:X509Certificate>
55.	                           </ds:X509Data>
56.	                        </ds:KeyInfo>
57.	                     </ds:Signature>
58.	                  </data>
59.	               </responseData>
60.	            </ns3:Person>
61.	         </return>
62.	      </ns2:getPersonUseTokenResponse>
63.	   </soap:Body>
64.	</soap:Envelope>
Пример ответа на вызов метода getPersonUseToken с помощью SOAPUI запроса в случае, если не заполнено обязательное поле ИИН, имеет следующий вид: [Показать ответ]
1.	    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <soap:Body>
3.	      <soap:Fault>
4.	         <faultcode>soap:Server</faultcode>
5.	         <faultstring>Номер "ИИН" должен содержать 12 цифр</faultstring>
6.	         <detail>
7.	            <ns2:ScbException xmlns:ns2="http://data.gbd.chdb.scb.kz/" xmlns:ns3="http://gbd.chdb.scb.kz/xml/person" xmlns:ns4="http://bip.bee.kz/SyncChannel/v10/Types">
8.	               <faultCode>SBF-VE-8</faultCode>
9.	               <faultString>Номер "ИИН" должен содержать 12 цифр</faultString>
10.	            </ns2:ScbException>
11.	         </detail>
12.	      </soap:Fault>
13.	   </soap:Body>
14.	</soap:Envelope>
Пример ответа на вызов метода getPersonUseToken с помощью SOAPUI запроса в случае, если отсутствует обязательное поле, имеет следующий вид: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <soap:Body>
3.	      <soap:Fault>
4.	         <faultcode>soap:VAL-JSR-001</faultcode>
5.	         <faultstring>Значение обязательного поля UserId не должно быть пустым</faultstring>
6.	      </soap:Fault>
7.	   </soap:Body>
8.	</soap:Envelope>
Пример ответа н вызов метода getPersonUseToken с помощью SoapUI запросов в случае, если не подтверждена согласие субъекта: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <soap:Body>
3.	      <soap:Fault>
4.	         <faultcode>soap:Server</faultcode>
5.	         <faultstring>Для получения отчета необходимо подтвердить согласие субъекта на запрос его данных из ГБД</faultstring>
6.	         <detail>
7.	            <ns2:ScbException xmlns:ns2="http://data.gbd.chdb.scb.kz/" xmlns:ns3="http://gbd.chdb.scb.kz/xml/person" xmlns:ns4="http://bip.bee.kz/SyncChannel/v10/Types">
8.	               <faultCode>VAL-R-004</faultCode>
9.	               <faultString>Для получения отчета необходимо подтвердить согласие субъекта на запрос его данных из ГБД</faultString>
10.	            </ns2:ScbException>
11.	         </detail>
12.	      </soap:Fault>
13.	   </soap:Body>
14.	</soap:Envelope>
Пример ответа н вызов метода getPersonUseToken с помощью SoapUI запросов в случае, если не доступен сервис на стороне поставщика: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <soap:Body>
3.	      <soap:Fault>
4.	         <faultcode>soap:Server</faultcode>
5.	         <faultstring>Сервис на стороне ГБД не доступен</faultstring>
6.	         <detail>
7.	            <ns2:ScbException xmlns:ns2="http://data.gbd.chdb.scb.kz/" xmlns:ns3="http://gbd.chdb.scb.kz/xml/person" xmlns:ns4="http://bip.bee.kz/SyncChannel/v10/Types">
8.	               <faultCode>FAULT-015</faultCode>
9.	               <faultString>Сервис на стороне ГБД не доступен</faultString>
10.	               <gbdBillingResponse>
11.	                  <userId>логин пользователя</userId>
12.	                  <iinBin>ИИН</iinBin>
13.	                  <reportTypeCode></reportTypeCode>
14.	                  <billable>false</billable>
15.	                  <errorMessage>java.io.IOException: Server returned HTTP response code: 500 for URL: http://kok-v-localgw-test-esb-01-cn01:8697/integrationServices/UniversalServiceSync</errorMessage>
16.	                  <fromBusToReport>2022-09-22T19:44:54.878+06:00</fromBusToReport>
17.	               </gbdBillingResponse>
18.	            </ns2:ScbException>
19.	         </detail>
20.	      </soap:Fault>
21.	   </soap:Body>
22.	</soap:Envelope>


Обработка исключений

При обработке запроса метод getPersonUseToken может возвращать следующие виды ошибок: [Показать ответ]
Код ошибки Описание ошибки
SBF-VE-8 Номер "ИИН" должен содержать 12 цифр
VAL-JSR-001 Обязательное поле "%s" отсутствует
FAULT-015 Сервис на стороне ГБД не доступен
VAL-R-004 Для получения отчета необходимо подтвердить согласие субъекта на запрос его данных из ГБД