Сервис «Верификация и оценка кредитоспособности»: различия между версиями

Материал из Wiki ГКБ
Перейти к навигации Перейти к поиску
 
Строка 9: Строка 9:
  
  
В статье описывается сервис АО «Государственное кредитное бюро» (далее - ГКБ) сервис по верификации и оценке платежной дисциплины (далее - Сервис), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки. Целью использования Сервиса является:
+
В данной статье описывается сервис АО «Государственное кредитное бюро» (далее - ГКБ) сервис по верификации и оценке платежной дисциплины (далее - Сервис), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки. Целью использования Сервиса является:
 
- содействие участникам финансового рынка в их деятельности, сохранении стабильности и развития финансового сектора Республики Казахстан.
 
- содействие участникам финансового рынка в их деятельности, сохранении стабильности и развития финансового сектора Республики Казахстан.
  

Текущая версия от 06:36, 31 марта 2023

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


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


Описание сервиса PreScoringWebService

Сервис PreScoringWebService предназначен для получения сведений о факте наличия просрочки у субъекта кредитной истории, факте наличия количества дней просрочки субъекта кредитной истории, факте наличия количества запросов кредитной истории по субъекту, а также проверки на соответствие номера мобильного телефона субъекта кредитной истории с данными в информационной системе «База данных кредитных историй» (далее – БДКИ) и с данными в государственной базе данных «База мобильных граждан» (далее – БМГ).

Адреса web сервиса:
Тестовый сервис https://testws.mkb.kz/scoringServices/PreScoringWebService?wsdl
Продуктивный сервис https://ws.mkb.kz/scoringServices/PreScoringWebService?wsdl
Метод сервиса: getPreScore


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

1. ID и пароль клиента (организации) в HTTP Header, необходимые для базовой аутентификации. Так как коммуникация с веб-сервисами системы идет по защищенному протоколу HTTPS, то базовая аутентификация представляется безопасным решением.

2. ID пользователя, от имени которого будет выполнена запрашиваемая операция в SOAP Header:

Http Headers: {Authorization=[Basic c3ZjUnB0U3lzdGVtQWNjb3VudDpBbzZVRkdyVTZ2]}

SOAP Message: [Показать ответ]
1.	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:scor="http://scoring.chdb.scb.kz">
2.	 <soapenv:Header>
3.	  <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4.	 </soapenv:Header>
5.	 <soapenv:Body>
6.	  <scor:getPreScore/>
7.	 </soapenv:Body>
8.	</soapenv:Envelope>

где c3ZjUnB0U3lzdGVtQWNjb3VudDpBbzZVRkdyVTZ2 - есть значение HTTP Header, представляющее собой ID клиента и его пароль в формате «clientId:password» и кодировке Base64 как того требует механизм Basic Authentication.


Метод getPreScore сервиса GkbHistoryDataImplService

Метод getPreScore сервиса PreScoringWebService предназначен для получения сведений о факте наличия просрочки у субъекта кредитной истории, факте наличия количества дней просрочки субъекта кредитной истории, факте наличия количества запросов кредитной истории по субъекту, а также проверки на соответствие номера мобильного телефона субъекта кредитной истории с данными в БДКИ и с данными в БМГ.

Состав данных запроса метода getPreScore [Показать ответ]
Наименование Поле Формат Обяза­тельность Примечание
Блок входных параметров

(request)

1 ИИН субъекта request iin xs:string Да Значение должно со­держать 12 цифр.
2 Номер мобильного телефона субъекта request verifyPhone xs:string Да Номер мобильного телефона необходимо передавать только в таком формате:

+77xxxxxxxxx или 77xxxxxxxxx

3 Проверять в БМГ? request checkBmg xs:int Да/Нет Проверяется соответствие ИИН с номером мобильного телефона в БМГ.

Значения, которые может принимать тег:

1 – проверять в БМГ,

0 – не проверять в БМГ

4 Согласие субъекта на запрос данных по нему request consentConfirmed xs:int Да Значения, которые может принимать тег:

1 или 0

Блок «Критерии поиска»

(request → delayInPaymentOver)

Блок «Критерий для поиска наличия текущей просрочки свыше определенной суммы в тенге»

(request → delayInPaymentOver → sumOver)

5 Сумма в тенге* sumOver sum xs:int Да/Нет Можно передавать массив из сумм. Пример:

<sumOver>

  <sum>10000</sum>

  <sum>5000</sum>

  <sum>60000</sum>

</sumOver>

Блок «Критерий для поиска наличия текущей просрочки свыше определенного количества дней»

(request → delayInPaymentOver → dayOver)

6 Количество дней* dayOver day xs:int Да/Нет Можно передавать массив из количества дней. Пример:

<dayOver>

  <day>1</day>

  <day>15</day>

  <day>31</day>

</dayOver>

Блок «Критерий для поиска определенного количества запросов кредитной истории по субъекту за определенное количество дней» (можно передавать в виде массива)

(request → numberOfRequests → recent)

7 Количество дней recent day xs:int Да/Нет Пример передачи массива:

<recent>

  <day>30</day>

  <more>1</more>

</recent>

<recent>

  <day>30</day>

  <more>10</more>

</recent>

8 Количество запросов recent more xs:int

- **количество вариаций значений по данным полям не должно превышать 5 (пяти).

Состав данных ответа на запрос метода getPreScore [Показать ответ]


Наименование Поле Формат Обяза­тельность Примечание
Возвращаемая информация

(response)

1 Результат совпадения мобильного телефона с телефоном в БДКИ response bdkiVerifyPhoneResult xs:string Да Возможные возвращаемые значения:

T – если телефон совпал

F – если телефон не совпал

N – если субъект не найден либо отсутствует телефон у субъекта в БДКИ

O – если вышли ошибки по бизнес-правилам в БДКИ

2 Результат подтверждения номера телефона с указанным ИИН в БМГ response bmgVerifyPhoneResult xs:string Да Возможные возвращаемые значения:

T – телефон подтвержден ИИН

F – телефон не подтвержден

N – субъект не найден

O – если сервис БМГ недоступен

Возвращаемая информация по наличию текущей просрочки

(response → delayInPaymentOver)

Свыше определенной суммы в тенге

(response → delayInPaymentOver → sumOver)

3 Результат наличия просрочки свыше указанной суммы в тенге sumOver sum xs:string Да Если в запросе передавалось несколько значений сумм, то ответ будет возвращен в виде массива. Пример:

<sumOver>

  <sum>T</sum>

  <sum>T</sum>

  <sum>F</sum>

</sumOver>


Возможные возвращаемые значения:

T – просрочка имеется

F – просрочка отсутствует

Свыше определенного количества дней

(response → delayInPaymentOver → dayOver)

4 Результат наличия просрочки свыше указанного количества дней dayOver day xs:string Да Если в запросе передавалось несколько значений по дням, то ответ будет возвращен в виде массива. Пример:

<dayOver>

  <day>T</day>

  <day>T</day>

  <day>T</day>

</dayOver>


Возможные возвращаемые значения:

T – просрочка имеется

F – просрочка отсутствует

Возвращаемая информация по наличию определенного количества запросов кредитной истории по субъекту за определенное количество дней

(response → numberOfRequests → recent)

5 Количество дней recent day xs:int Да Если в запросе передавался массив данных, то в ответе также будет возвращен массив данных. Пример:

<recent>

  <day>30</day>

  <more>1</more>

  <result>T</result>

</recent>

<recent>

  <day>30</day>

  <more>10</more>

  <result>F</result>

</recent>


Возвращаемое значение в теге <day> берется из значения тега <day> в теле запроса.

Возвращаемое значение в теге <more> берется из значения тега <more> в теле запроса.

В теге <result> могут возвращаться следующие значения:

T – имеется наличие запросов кредитной истории по субъекту

F – отсутствует наличие запросов кредитной истории по субъекту

6 Количество запросов recent more xs:int Да
7 Результат наличия запросов кредитной истории по субъекту recent result xs:string Да
8 Номер биллинга response billingNumber xs:int Да
9 Дата начала биллинга response billingStartDate xs:date Да
10 Дата окончания биллинга response billingEndDate xs:date Да
Пример вызова метода getPreScore с помощью SOAP запроса имеет следующий вид: [Показать ответ]
1.	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:scor="http://scoring.chdb.scb.kz">
2.	 <soapenv:Header>
3.	  <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4.	 </soapenv:Header>
5.	 <soapenv:Body>
6.	  <scor:getPreScore>
7.	   <request>
8.	    <iin>ИИН_СУБЪЕКТА</iin>
9.	    <verifyPhone>77021234567</verifyPhone>
10.	    <checkBmg>1</checkBmg>
11.	    <consentConfirmed>1</consentConfirmed>
12.	    <delayInPaymentOver>
13.	     <sumOver>
14.	      <sum>15000</sum>
15.	      <sum>200000</sum>
16.	     </sumOver>
17.	     <dayOver>
18.	      <day>15</day>
19.	      <day>31</day>
20.	     </dayOver>
21.	    </delayInPaymentOver>
22.	    <numberOfRequests>
23.	     <recent>
24.	      <day>30</day>
25.	      <more>1</more>
26.	     </recent>
27.	     <recent>
28.	      <day>30</day>
29.	      <more>10</more>
30.	     </recent>
31.	    </numberOfRequests>
32.	   </request>
33.	  </scor:getPreScore>
34.	 </soapenv:Body>
35.	</soapenv:Envelope>
Пример успешного ответа на вызов метода getPreScore с помощью SOAP запроса имеет следующий вид: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	 <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
3.	  <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4.	  <creditorId>xx</creditorId>
5.	  <timestamp>1652967359657</timestamp>
6.	 </SOAP-ENV:Header>
7.	 <soap:Body>
8.	  <ns2:getPreScoreResponse xmlns:ns2="http://scoring.chdb.scb.kz">
9.	   <response>
10.	    <bdkiVerifyPhoneResult>T</bdkiVerifyPhoneResult>
11.	    <bmgVerifyPhoneResult>F</bmgVerifyPhoneResult>
12.	    <delayInPaymentOver>
13.	     <sumOver>
14.	      <sum>T</sum>
15.	      <sum>F</sum>
16.	     </sumOver>
17.	     <dayOver>
18.	      <day>T</day>
19.	      <day>T</day>
20.	     </dayOver>
21.	    </delayInPaymentOver>
22.	    <numberOfRequests>
23.	     <recent>
24.	      <day>30</day>
25.	      <more>1</more>
26.	      <result>T</result>
27.	     </recent>
28.	     <recent>
29.	      <day>30</day>
30.	      <more>10</more>
31.	      <result>F</result>
32.	     </recent>
33.	    </numberOfRequests>
34.	    <billingNumber>1093158</billingNumber>
35.	    <billingStartDate>2022-05-19T19:35:58.806+06:00</billingStartDate>
36.	    <billingEndDate>2022-05-19T19:35:59.641+06:00</billingEndDate>
37.	   </response>
38.	  </ns2:getPreScoreResponse>
39.	 </soap:Body>
40.	</soap:Envelope>
Пример ответа на вызов метода getPreScore с помощью SOAP запроса в случае, если не заполнено обязательное поле, имеет следующий вид: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
3.	   <soap:Body>
4.	      <soap:Fault>
5.	         <faultcode>soap:Server</faultcode>
6.	         <faultstring>Ошибки:</faultstring>
7.	         <detail>
8.	            <ns2:ValidationFault xmlns:ns2="http://scoring.chdb.scb.kz">
9.	               <constraintViolations>
10.	                  <code>VAL-JSR-001</code>
11.	                  <description>Обязательное поле "иин" отсутствует.</description>
12.	                  <placeholders>иин</placeholders>
13.	               </constraintViolations>
14.	            </ns2:ValidationFault>
15.	         </detail>
16.	      </soap:Fault>
17.	   </soap:Body>
18.	</soap:Envelope>
Пример ответа на вызов метода getPreScore с помощью SOAP запроса в случае, если передано некорректное значение в поле, имеет следующий вид: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
3.	   <soap:Body>
4.	      <soap:Fault>
5.	         <faultcode>soap:Server</faultcode>
6.	         <faultstring>Ошибки:</faultstring>
7.	         <detail>
8.	            <ns2:ValidationFault xmlns:ns2="http://scoring.chdb.scb.kz">
9.	               <constraintViolations>
10.	                  <code>SBF-VE-11</code>
11.	                  <description>В поле checkBmg значение не соответствует справочнику.</description>
12.	                  <placeholders>checkBmg</placeholders>
13.	               </constraintViolations>
14.	            </ns2:ValidationFault>
15.	         </detail>
16.	      </soap:Fault>
17.	   </soap:Body>
18.	</soap:Envelope>
Пример ответа на вызов метода getPreScore с помощью SOAP запроса в случае, если субъект не найден, имеет следующий вид: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
3.	      <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4.	      <creditorId>xx</creditorId>
5.	      <timestamp>1653646787025</timestamp>
6.	   </SOAP-ENV:Header>
7.	   <soap:Body>
8.	      <ns2:getPreScoreResponse xmlns:ns2="http://scoring.chdb.scb.kz">
9.	         <response>
10.	            <bdkiVerifyPhoneResult>N</bdkiVerifyPhoneResult>
11.	            <bmgVerifyPhoneResult>F</bmgVerifyPhoneResult>
12.	            <billingNumber>1102215</billingNumber>
13.	            <billingStartDate>2022-05-27T16:19:46.633+06:00</billingStartDate>
14.	            <billingEndDate>2022-05-27T16:19:47.010+06:00</billingEndDate>
15.	         </response>
16.	      </ns2:getPreScoreResponse>
17.	   </soap:Body>
18.	</soap:Envelope>
Пример ответа на вызов метода getPreScore с помощью SOAP запроса в случае, если найдено более одного субъекта, имеет следующий вид: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
3.	      <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4.	      <creditorId>xx</creditorId>
5.	      <timestamp>1653646872971</timestamp>
6.	   </SOAP-ENV:Header>
7.	   <soap:Body>
8.	      <ns2:getPreScoreResponse xmlns:ns2="http://scoring.chdb.scb.kz">
9.	         <response>
10.	            <bdkiVerifyPhoneResult>O</bdkiVerifyPhoneResult>
11.	            <bmgVerifyPhoneResult>F</bmgVerifyPhoneResult>
12.	            <billingNumber>1102216</billingNumber>
13.	            <billingStartDate>2022-05-27T16:21:12.558+06:00</billingStartDate>
14.	            <billingEndDate>2022-05-27T16:21:12.955+06:00</billingEndDate>
15.	         </response>
16.	      </ns2:getPreScoreResponse>
17.	   </soap:Body>
18.	</soap:Envelope>


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

При обработке запроса метод getPreScore может возвращать следующие виды ошибок/исключений/сообщений:


Код/Текст ошибки/сообщения Описание ошибки/сообщения Примечание
SBF-AD-1 Пользователь %s не имеет прав для выполне­ния действия
SBF-VE-8 Номер "ИИН" должен содержать 12 цифр
VAL-JSR-001 Значение обязательного поля "%s" не должно быть пустым
VAL-JSR-001 Обязательное поле "%s" отсутствует
VAL-R-003 Для получение отчета необходимо подтвердить согласие субъекта на запрос его кредитной истории
SBF-VE-13 Параметр "%s" не может быть запрошено больше 5 раз