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

Материал из Wiki ГКБ
Перейти к навигации Перейти к поиску
(Новая страница: «<center> {| width="auto" cellspacing="0" cellpadding="2" style="border:none;" | width="auto" valign="top"| | style="border-bottom:5px solid #20B2AA;font:110% Aria...»)
 
Строка 7: Строка 7:
 
|}
 
|}
 
</center>
 
</center>
 +
 +
 +
В статье описывается сервис АО «Государственное кредитное бюро» (далее - ГКБ) сервис по верификации и оценке платежной дисциплины (далее - Сервис), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки. Целью использования Сервиса является:
 +
- содействие участникам финансового рынка в их деятельности, сохранении стабильности и развития финансового сектора Республики Казахстан.
 +
 +
 +
=='''Описание сервиса PreScoringWebService'''==
 +
 +
Сервис PreScoringWebService предназначен для получения сведений о факте наличия просрочки у субъекта кредитной истории, факте наличия количества дней просрочки субъекта кредитной истории, факте наличия количества запросов кредитной истории по субъекту, а также проверки на соответствие номера мобильного телефона субъекта кредитной истории с данными в информационной системе «База данных кредитных историй» (далее – БДКИ) и с данными в государственной базе данных «База мобильных граждан» (далее – БМГ).
 +
 +
{| class="wikitable"
 +
|-
 +
! colspan="2" style="text-align: center;" |'''Адреса web сервиса:'''
 +
|-
 +
| style="text-align: left;" |Тестовый сервис
 +
| style="text-align: left;" |https://testws.mkb.kz/scoringServices/PreScoringWebService?wsdl
 +
|-
 +
| style="text-align: left;" |Продуктивный сервис
 +
| style="text-align: left;" |https://ws.mkb.kz/scoringServices/PreScoringWebService?wsdl
 +
|-
 +
| style="text-align: left;" |'''Метод сервиса:'''
 +
| style="text-align: left;" |getPreScore
 +
|}
 +
 +
 +
'''При вызове веб-сервиса обязательно указываются следующие параметры:'''
 +
 +
1. ID и пароль клиента (организации) в HTTP Header, необходимые для базовой аутентификации. Так как коммуникация с веб-сервисами системы идет по защищенному протоколу HTTPS, то базовая аутентификация представляется безопасным решением.
 +
 +
2. ID пользователя, от имени которого будет выполнена запрашиваемая операция в SOAP Header:
 +
 +
Http Headers: {Authorization=[Basic c3ZjUnB0U3lzdGVtQWNjb3VudDpBbzZVRkdyVTZ2]}
 +
 +
<div style="border:1px solid #FFFFFF; margin-bottom:5px; margin-top:5px; overflow:hidden;">
 +
<div class="mw-customtoggle-myFAQ_DownloadPackagesGeneralIssues_Question_0001" style="background:#FFFFFF; border:1px solid #FFFFFF; color:#000000; padding-bottom:1px; padding-top:1px; padding-right:10px; padding-left:10px;">''SOAP Message:''<small style="color:#0645ad;"> [Показать ответ] </small></div>
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myFAQ_DownloadPackagesGeneralIssues_Question_0001" style="padding:10px">
 +
<syntaxhighlight lang="xml">
 +
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>
 +
 +
</syntaxhighlight>
 +
 +
где c3ZjUnB0U3lzdGVtQWNjb3VudDpBbzZVRkdyVTZ2 - есть значение HTTP Header, представляющее собой ID клиента и его пароль в формате «clientId:password» и кодировке Base64 как того требует механизм Basic Authentication.
 +
 +
</div>
 +
</div>
 +
 +
 +
=='''Метод getPreScore сервиса GkbHistoryDataImplService'''==
 +
 +
 +
Метод getPreScore сервиса PreScoringWebService предназначен для получения сведений о факте наличия просрочки у субъекта кредитной истории, факте наличия количества дней просрочки субъекта кредитной истории, факте наличия количества запросов кредитной истории по субъекту, а также проверки на соответствие номера мобильного телефона субъекта кредитной истории с данными в БДКИ и с данными в БМГ.
 +
 +
<div style="border:1px solid #FFFFFF; margin-bottom:5px; margin-top:5px; overflow:hidden;">
 +
<div class="mw-customtoggle-myFAQ_DownloadPackagesGeneralIssues_Question_0008" style="background:#FFFFFF; border:1px solid #FFFFFF; color:#000000; padding-bottom:1px; padding-top:1px; padding-right:10px; padding-left:10px;">''Состав данных запроса метода getPreScore''<small style="color:#0645ad;"> [Показать ответ] </small></div>
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myFAQ_DownloadPackagesGeneralIssues_Question_0008" style="padding:10px">
 +
 +
{| class="wikitable" style="width: 85%;"
 +
|-
 +
! style="style="width: 5%" |'''№'''
 +
! style="style="width: 10%"|'''Наименование'''
 +
! style="style="width: 10%" |'''Поле'''
 +
! style="style="width:10%" |'''Формат'''
 +
! style="width: 10%" |'''Обяза­тельность'''
 +
! style="width: 40%" |'''Примечание'''
 +
|-
 +
| colspan="6" style="text-align: center;" | ''Блок  входных параметров''
 +
 +
''(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
 +
|-
 +
| colspan="6" |''Блок  «Критерии поиска»''
 +
 +
''(request  → delayInPaymentOver)''
 +
|-
 +
| colspan="6" |''Блок  «Критерий для поиска наличия текущей просрочки свыше определенной суммы в  тенге»''
 +
 +
''(request  → delayInPaymentOver → sumOver)''
 +
|-
 +
|5
 +
|Сумма  в тенге'''<sup>*</sup>'''
 +
|sumOver ''→'' sum
 +
|xs:int
 +
|Да/Нет
 +
|Можно передавать  массив из сумм. Пример:
 +
 +
<sumOver>
 +
 +
  <sum>10000</sum>
 +
 +
  <sum>5000</sum>
 +
 +
  <sum>60000</sum>
 +
 +
</sumOver>
 +
|-
 +
| colspan="6" |''Блок  «Критерий для поиска наличия текущей просрочки свыше определенного количества  дней»''
 +
 +
''(request  → delayInPaymentOver → dayOver)''
 +
|-
 +
|6
 +
|Количество  дней'''<sup>*</sup>'''
 +
|dayOver ''→'' day
 +
|xs:int
 +
|Да/Нет
 +
|Можно передавать  массив из количества дней. Пример:
 +
 +
<dayOver>
 +
 +
  <day>1</day>
 +
 +
  <day>15</day>
 +
 +
  <day>31</day>
 +
 +
</dayOver>
 +
|-
 +
| colspan="6" |''Блок  «Критерий для поиска определенного количества запросов кредитной истории по  субъекту за определенное количество дней» (можно передавать в виде массива)''
 +
 +
''(request  → numberOfRequests → recent)''
 +
|-
 +
|7
 +
|Количество  дней
 +
|recent ''→'' day
 +
|xs:int
 +
| rowspan="2" |Да/Нет
 +
| rowspan="2" |Пример передачи  массива:
 +
 +
<recent>
 +
 +
  <day>30</day>
 +
 +
  <more>1</more>
 +
 +
</recent>
 +
 +
<recent>
 +
 +
  <day>30</day>
 +
 +
  <more>10</more>
 +
 +
</recent>
 +
|-
 +
|8
 +
|Количество  запросов
 +
|recent ''→'' more
 +
|xs:int
 +
|}
 +
 +
- **количество вариаций значений по данным полям не должно превышать 5 (пяти).
 +
</div>
 +
</div>
 +
 +
<div style="border:1px solid #FFFFFF; margin-bottom:5px; margin-top:5px; overflow:hidden;">
 +
<div class="mw-customtoggle-myFAQ_DownloadPackagesGeneralIssues_Question_0009" style="background:#FFFFFF; border:1px solid #FFFFFF; color:#000000; padding-bottom:1px; padding-top:1px; padding-right:10px; padding-left:10px;">''Состав данных ответа на запрос метода getPreScore''<small style="color:#0645ad;"> [Показать ответ] </small></div>
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myFAQ_DownloadPackagesGeneralIssues_Question_0009" style="padding:10px">
 +
 +
 +
{| class="wikitable" style="width: 85%;"
 +
|-
 +
! style="style="width: 5%" |'''№'''
 +
! style="style="width: 10%"|'''Наименование'''
 +
! style="style="width: 10%" |'''Поле'''
 +
! style="style="width:10%" |'''Формат'''
 +
! style="width: 10%" |'''Обяза­тельность'''
 +
! style="width: 40%" |'''Примечание'''
 +
|-
 +
| colspan="6" style="text-align: center;" | ''Возвращаемая  информация''
 +
 +
''(response)''
 +
|-
 +
|1
 +
|Результат совпадения  мобильного телефона с телефоном в БДКИ
 +
|response ''→'' bdkiVerifyPhoneResult
 +
|xs:string
 +
|Да
 +
|Возможные  возвращаемые значения:
 +
 +
T – если телефон совпал
 +
 +
F – если телефон не совпал
 +
 +
N – если субъект не найден либо  отсутствует телефон у субъекта в БДКИ
 +
 +
O – если вышли ошибки по бизнес-правилам  в БДКИ
 +
|-
 +
|2
 +
|Результат  подтверждения номера телефона с указанным ИИН в БМГ
 +
|response ''→'' bmgVerifyPhoneResult
 +
|xs:string
 +
|Да
 +
|Возможные  возвращаемые значения:
 +
 +
T – телефон подтвержден ИИН
 +
 +
F – телефон не подтвержден
 +
 +
N – субъект не найден
 +
 +
O – если сервис БМГ недоступен
 +
|-
 +
| colspan="6" |''Возвращаемая  информация по наличию текущей просрочки''
 +
 +
''(response  → delayInPaymentOver)''
 +
|-
 +
| colspan="6" |''Свыше  определенной суммы в тенге''
 +
 +
''(response  → delayInPaymentOver → sumOver)''
 +
|-
 +
|3
 +
|Результат  наличия просрочки свыше указанной суммы в тенге
 +
|sumOver ''→'' sum
 +
|xs:string
 +
|Да
 +
|Если  в запросе передавалось несколько значений сумм, то ответ будет возвращен в  виде массива. Пример:
 +
 +
<sumOver>
 +
 +
  <sum>T</sum>
 +
 +
  <sum>T</sum>
 +
 +
  <sum>F</sum>
 +
 +
</sumOver>
 +
 +
 +
Возможные  возвращаемые значения:
 +
 +
T – просрочка имеется
 +
 +
F – просрочка отсутствует
 +
|-
 +
| colspan="6" |''Свыше  определенного количества дней''
 +
 +
''(response  → delayInPaymentOver → dayOver)''
 +
|-
 +
|4
 +
|Результат  наличия просрочки свыше указанного количества дней
 +
|dayOver ''→'' day
 +
|xs:string
 +
|Да
 +
|Если  в запросе передавалось несколько значений по дням, то ответ будет возвращен в  виде массива. Пример:
 +
 +
<dayOver>
 +
 +
  <day>T</day>
 +
 +
  <day>T</day>
 +
 +
  <day>T</day>
 +
 +
</dayOver>
 +
 +
 +
Возможные  возвращаемые значения:
 +
 +
T – просрочка имеется
 +
 +
F – просрочка отсутствует
 +
|-
 +
| colspan="6" |''Возвращаемая  информация по наличию определенного количества запросов кредитной истории по  субъекту за определенное количество дней''
 +
 +
''(response  → numberOfRequests → recent)''
 +
|-
 +
|5
 +
|Количество  дней
 +
|recent ''→'' day
 +
|xs:int
 +
|Да
 +
| rowspan="3" |Если  в запросе передавался массив данных, то в ответе также будет возвращен массив  данных. Пример:
 +
 +
<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
 +
|Да
 +
|
 +
|}
 +
 +
</div>
 +
</div>
 +
 +
<div style="border:1px solid #FFFFFF; margin-bottom:5px; margin-top:5px; overflow:hidden;">
 +
<div class="mw-customtoggle-myFAQ_DownloadPackagesGeneralIssues_Question_0002" style="background:#FFFFFF; border:1px solid #FFFFFF; color:#000000; padding-bottom:1px; padding-top:1px; padding-right:10px; padding-left:10px;">''Пример вызова метода getPreScore с помощью SOAP запроса имеет следующий вид:''<small style="color:#0645ad;"> [Показать ответ] </small></div>
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myFAQ_DownloadPackagesGeneralIssues_Question_0002" style="padding:10px">
 +
<syntaxhighlight lang="xml">
 +
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>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 +
<div style="border:1px solid #FFFFFF; margin-bottom:5px; margin-top:5px; overflow:hidden;">
 +
<div class="mw-customtoggle-myFAQ_DownloadPackagesGeneralIssues_Question_0003" style="background:#FFFFFF; border:1px solid #FFFFFF; color:#000000; padding-bottom:1px; padding-top:1px; padding-right:10px; padding-left:10px;">''Пример успешного ответа на вызов метода getPreScore с помощью SOAP запроса имеет следующий вид:''<small style="color:#0645ad;"> [Показать ответ] </small></div>
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myFAQ_DownloadPackagesGeneralIssues_Question_0003" style="padding:10px">
 +
<syntaxhighlight lang="xml">
 +
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>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 +
<div style="border:1px solid #FFFFFF; margin-bottom:5px; margin-top:5px; overflow:hidden;">
 +
<div class="mw-customtoggle-myFAQ_DownloadPackagesGeneralIssues_Question_0004" style="background:#FFFFFF; border:1px solid #FFFFFF; color:#000000; padding-bottom:1px; padding-top:1px; padding-right:10px; padding-left:10px;">''Пример ответа на вызов метода getPreScore с помощью SOAP запроса в случае, если не заполнено обязательное поле, имеет следующий вид:''<small style="color:#0645ad;"> [Показать ответ] </small></div>
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myFAQ_DownloadPackagesGeneralIssues_Question_0004" style="padding:10px">
 +
<syntaxhighlight lang="xml">
 +
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>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 +
<div style="border:1px solid #FFFFFF; margin-bottom:5px; margin-top:5px; overflow:hidden;">
 +
<div class="mw-customtoggle-myFAQ_DownloadPackagesGeneralIssues_Question_0005" style="background:#FFFFFF; border:1px solid #FFFFFF; color:#000000; padding-bottom:1px; padding-top:1px; padding-right:10px; padding-left:10px;">''Пример ответа на вызов метода getPreScore с помощью SOAP запроса в случае, если передано некорректное значение в поле, имеет следующий вид:''<small style="color:#0645ad;"> [Показать ответ] </small></div>
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myFAQ_DownloadPackagesGeneralIssues_Question_0005" style="padding:10px">
 +
<syntaxhighlight lang="xml">
 +
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>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 +
<div style="border:1px solid #FFFFFF; margin-bottom:5px; margin-top:5px; overflow:hidden;">
 +
<div class="mw-customtoggle-myFAQ_DownloadPackagesGeneralIssues_Question_0006" style="background:#FFFFFF; border:1px solid #FFFFFF; color:#000000; padding-bottom:1px; padding-top:1px; padding-right:10px; padding-left:10px;">''Пример ответа на вызов метода getPreScore с помощью SOAP запроса в случае, если субъект не найден, имеет следующий вид:''<small style="color:#0645ad;"> [Показать ответ] </small></div>
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myFAQ_DownloadPackagesGeneralIssues_Question_0006" style="padding:10px">
 +
<syntaxhighlight lang="xml">
 +
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>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 +
<div style="border:1px solid #FFFFFF; margin-bottom:5px; margin-top:5px; overflow:hidden;">
 +
<div class="mw-customtoggle-myFAQ_DownloadPackagesGeneralIssues_Question_0007" style="background:#FFFFFF; border:1px solid #FFFFFF; color:#000000; padding-bottom:1px; padding-top:1px; padding-right:10px; padding-left:10px;">''Пример ответа на вызов метода getPreScore с помощью SOAP запроса в случае, если найдено более одного субъекта, имеет следующий вид:''<small style="color:#0645ad;"> [Показать ответ] </small></div>
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myFAQ_DownloadPackagesGeneralIssues_Question_0007" style="padding:10px">
 +
<syntaxhighlight lang="xml">
 +
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>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 +
 +
=='''Обработка исключений метода getPreScore'''==
 +
 +
 +
При обработке запроса метод getPreScore может возвращать следующие виды ошибок/исключений/сообщений:
 +
 +
 +
{| class="wikitable"
 +
|-
 +
| style="text-align: center;" |'''Код/Текст ошибки/сообщения'''
 +
| style="text-align: center;" |'''Описание ошибки/сообщения'''
 +
! style="text-align: center;" |Примечание
 +
|-
 +
| style="text-align: center;" | SBF-AD-1
 +
| style="text-align: left;" | Пользователь %s  не имеет прав для выполне­ния действия
 +
| style="text-align: left;" |
 +
|-
 +
| style="text-align: center;" | SBF-VE-8
 +
| style="text-align: left;" | Номер  "ИИН" должен содержать 12 цифр
 +
| style="text-align: left;" |
 +
|-
 +
| style="text-align: center;" | VAL-JSR-001
 +
| style="text-align: left;" | Значение  обязательного поля "%s" не должно  быть пустым
 +
| style="text-align: left;" |
 +
|-
 +
| style="text-align: center;" | VAL-JSR-001
 +
| style="text-align: left;" | Обязательное  поле "%s" отсутствует
 +
| style="text-align: left;" |
 +
|-
 +
| style="text-align: center;" | VAL-R-003
 +
| style="text-align: left;" | Для получение  отчета необходимо подтвердить согласие субъекта на запрос его кредитной  истории
 +
| style="text-align: left;" |
 +
|-
 +
| style="text-align: center;" | SBF-VE-13
 +
| style="text-align: left;" | Параметр "%s"  не может быть запрошено больше 5 раз
 +
| style="text-align: left;" |
 +
|-
 +
|}

Версия от 07:01, 29 марта 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 раз