|
|
(не показана 1 промежуточная версия этого же участника) |
Строка 4: |
Строка 4: |
| | style="border-bottom:5px solid #20B2AA;font:110% Arial, Helvetica, sans-serif; color: #000000;text-align:center; padding-left:15px; padding-right:15px;" |<span class="plainlinks">[https://test-wiki.mkb.kz/ Главная страница]</span> | | | style="border-bottom:5px solid #20B2AA;font:110% Arial, Helvetica, sans-serif; color: #000000;text-align:center; padding-left:15px; padding-right:15px;" |<span class="plainlinks">[https://test-wiki.mkb.kz/ Главная страница]</span> |
| | | | | |
− | | style="border-bottom:5px solid #20B2AA;font:110% Arial, Helvetica, sans-serif; color: #000000;text-align:center; padding-left:15px; padding-right:15px;" |<span class="plainlinks">[https://test-wiki.mkb.kz/w/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B_%D0%93%D0%9A%D0%91 Предыдущая страница]</span> | + | | style="border-bottom:5px solid #20B2AA;font:110% Arial, Helvetica, sans-serif; color: #000000;text-align:center; padding-left:15px; padding-right:15px;" |<span class="plainlinks">[https://test-wiki.mkb.kz/w/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2_%D0%93%D0%9A%D0%91 Предыдущая страница]</span> |
| |} | | |} |
| </center> | | </center> |
| | | |
| | | |
− | В статье описывается сервис АО «Государственное кредитное бюро» (далее - ГКБ) сервис по верификации и оценке платежной дисциплины (далее - Сервис), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки. Целью использования Сервиса является: | + | В данной статье описывается сервис АО «Государственное кредитное бюро» (далее - ГКБ) сервис по верификации и оценке платежной дисциплины (далее - Сервис), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки. Целью использования Сервиса является: |
| - содействие участникам финансового рынка в их деятельности, сохранении стабильности и развития финансового сектора Республики Казахстан. | | - содействие участникам финансового рынка в их деятельности, сохранении стабильности и развития финансового сектора Республики Казахстан. |
| | | |
Текущая версия от 06:36, 31 марта 2023
В данной статье описывается сервис АО «Государственное кредитное бюро» (далее - ГКБ) сервис по верификации и оценке платежной дисциплины (далее - Сервис), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки. Целью использования Сервиса является:
- содействие участникам финансового рынка в их деятельности, сохранении стабильности и развития финансового сектора Республики Казахстан.
Описание сервиса PreScoringWebService
Сервис PreScoringWebService предназначен для получения сведений о факте наличия просрочки у субъекта кредитной истории, факте наличия количества дней просрочки субъекта кредитной истории, факте наличия количества запросов кредитной истории по субъекту, а также проверки на соответствие номера мобильного телефона субъекта кредитной истории с данными в информационной системе «База данных кредитных историй» (далее – БДКИ) и с данными в государственной базе данных «База мобильных граждан» (далее – БМГ).
При вызове веб-сервиса обязательно указываются следующие параметры:
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 раз
|
|