Главная Книги - Разные Спецификация форматов и порядок обмена данными в канале «Сбербанк Интеграция» (API). Версия 33.000
поиск по сайту правообладателям
|
|
содержание .. 1 2 ..
Спецификация форматов и порядка обмена данными в
канале «Сбербанк Интеграцияª
Версия 33.000.00
Часть 1
Общие сведения
Содержание
Содержание
2
Введение
4
1.1
Назначение документа
4
1.2
Термины и сокращения
4
1.3
Ссылки на документы
5
2.
Интеграция УС с каналом УПШ
7
2.1.
Особенности реализации
7
2.2.
Сжатие HTTP-трафика
9
2.3.
Общая характеристика процессов взаимодействия
9
2.4.
Общая схема работы с веб-сервисом
12
2.5.
Тикеты и квитанции
17
2.6.
Общее описание методов WSDL веб-сервиса канала УПШ
18
2.6.1.
Версионность запросов
29
2.6.2.
Передача документов в Банк
29
2.6.2.1.
Отправка клиентских документов в Банк
29
2.6.2.2.
Получение идентификатора документа в АС СББОЛ
33
2.6.2.3.
Запрос состояния клиентских документов
35
2.6.2.4.
Отправка запроса состояний документов по полученным из СББОЛ идентификаторам 35
2.6.2.5.
Получение результатов обработки по отправленным запросам
37
2.6.2.6.
Взаимодействие при изменении финальных статусов
39
2.6.2.7.
Получение документов из Банка (получение выписок по счетам)
40
2.6.2.8.
Отправка запроса на получение документов из Банка
41
2.6.2.9.
Получение результатов обработки по отправленному запросу
42
2.6.2.10. Получение результатов обработки по отправленному запросу
44
2.6.2.11. Пакетная отправка документов
46
2.6.2.12. Типы связанных документов
52
2.6.2.13. Режимы работы канала УПШ
55
2.7.
Особенности взаимодействия УС холдинга с УПШ
56
2.7.1.
Получение персональных данных организации (обязательно к реализации на стороне
клиента) 57
2.7.2.
Запрос справочников
60
2.7.3.
Запрос на выпуск сертификата для пользователя Дочерней компании
60
2.7.4.
Запрос на формирование выписки по счету Дочерней компании
64
2.7.5.
Запрос выписок и других документов для Дочерней компании
66
2.8.
Безопасность
71
2.8.1.
Аутентификация и авторизация
71
2.8.1.1.
Общие сведения
71
2.8.1.2.
Формат взаимодействия
72
2.8.1.3.
Аутентификация по паре логин-пароль
72
2.8.1.4.
Аутентификация с использованием сертификата ЭП
81
2.8.1.5.
Правила формирования значения параметра DevicePrint
90
2.8.1.6.
Расчет свертки пароля
93
2.8.1.7.
Расчет свертки нового пароля при смене пароля
96
2.8.2.
Работа с электронной подписью
102
2.8.3.
Общие правила формирования дайджестов и сообщений
104
2.8.3.1.
Дайджест
104
2.8.3.2.
Формат сообщений
105
2.8.4.
Обмен криптографическими документами
106
2.8.4.1.
Запрос на выпуск нового сертификата
106
2.8.4.1.1. Дайджест
106
2.8.4.1.2. Формат взаимодействия
106
2.8.4.1.2.1.
Формат отправки документов в СББОЛ
107
2.8.4.1.3. Особенности получения статусов об обработке из СББОЛ
115
2.8.4.1.3.1.
Проверка ФИО в запросе сертификата
117
2.8.4.1.4. Поля запроса на новый сертификат
118
2.8.4.1.5. Печатная форма сертификата
131
2.8.5.
Подтверждение операций УПШ кодом СМС
134
2.8.5.1.
Основные сведения
134
2.8.5.2.
Запрос на генерацию кода СМС и подтверждение кодом СМС
135
2.8.5.2.1. Дайджест
135
2.8.5.2.2. Формат взаимодействия
135
2.8.5.2.2.1.
Формат передачи запроса СМС
135
2.8.5.2.2.2.
Формат передачи SMS-кода для подписи
137
2.8.5.3. Запрос таймаута действия кода СМС
141
2.8.5.3.1. Дайджест
141
2.8.5.3.2. Формат запроса таймаута действия смс-пароля
143
2.8.5.3.3. Формат получения ответа с таймаутом действия смс-пароля
144
2.8.6.
Контроль используемой архитектуры
145
2.8.7.
Передача параметров ФРОД-мониторинга
145
2.8.7.1.
Общие сведения
145
2.8.7.2.
Формат элемента Request/Sign
146
2.8.7.3.
Формат элемента Request/Fraud
150
История изменений
155
Введение
Данная документация состоит из двух разделов.
В первом можно ознакомиться с назначением документа, пояснениями терминов и сокращений, а
также посмотреть ссылки на остальные части документации.
Второй раздел посвящен общим сведениям интеграции учетных систем клиентов Банка с каналом
универсального платежного шлюза. к АС Сбербанк Бизнес ОнЛ@йн
1.1 Назначение документа
Настоящий документ содержит описание API взаимодействия внешней Учетной системы клиента с
каналом предоставления ДБО «Унифицированный Платежный Шлюз» (УПШ) к АС Сбербанк
Бизнес ОнЛ@йн.
Документ содержит описание особенностей интеграции учетной системы клиента и УПШ,
форматов передаваемых сообщений и особенностей работы.
1.2 Термины и сокращения
Таблица - Глоссарий
№
Термин/Сокращение
Определение
п/п
1.
АБС
Автоматизированная банковская система
2.
АРМ
Автоматизированное рабочее место
3.
Банк
ПАО «Сбербанк»
Головная компания/распорядитель по счетам других
4.
ГК
компаний
Удостоверяющий Центр
- функциональное объединение
сотрудников ПАО Сбербанк и комплекса технических
5.
УЦ
средств, предназначенного для регистрации информации о
субъектах и выданых им сертификатах, а также для издания
и отзыва сертификатов.
6.
ДБО
Дистанционное банковское обслуживание
7.
ДЗО
Дочернее зависимое общество, дочерняя компания
Юридическое лицо/индивидуальный предприниматель,
являющиеся резидентами, имеющие в Банке банковский(-
8.
Клиент
ие) счет
(-а) в валюте Российской Федерации и/или
иностранных валютах и заключившие с Банком Договор
банковского счета
9.
ПАК
Программно-аппаратный комплекс
10.
СББОЛ
АС Сбербанк Бизнес ОнЛ@йн
Сервер учетной системы клиента. Компьютер или группа
11.
Сервер УС
компьютеров, на которых функционирует ПО, интегрируемое
с УПШ.
12.
СКП
Сертификат ключа проверки (ЭП)
Пользователь, использующий для подтверждения операций
код СМС
(у пользователя должен быть только
13.
СМС-клиент
криптопрофиль OneTimePassword и не должно быть
криптопрофиля «Инфокрипт»)
В криптографии соль (модификатор)
— это строка
случайных данных, которая подается на вход хеш-
функции вместе с исходными данными. Используется для
удлинения
строки
пароля,
что
осложняет
восстановление группы исходных
паролей за один
проход полного перебора или с помощью предварительно
14.
Соль
построенных радужных таблиц. При этом соль не защищает
от полного перебора каждого пароля в отдельности. Исходя
из назначения, соль должна быть уникальной для каждого
пароля из хранимого набора хешей и не является
секретной, т.е. хранится рядом с хешом пароля в открытом
виде.
Канал предоставления услуг дистанционного банковского
15.
УПШ
обслуживания «Сбербанк-интеграция» СББОЛ.
Учетные системы клиентов Банка, доработанные для
16.
УС
взаимодействия с каналом УПШ.
17.
ЭД
Электронный документ
Электронная подпись - информация в электронной форме,
которая присоединена к другой информации в электронной
форме (подписываемой информации) или иным образом
18.
ЭП
связана с такой информацией и которая используется для
определения лица, подписывающего информацию (в ред.
закона от 06.04.2011 № 63-ФЗ).
Язык описания веб-сервисов и доступа к ним, основанный
19.
WSDL
на языке XML
request.xsd,
XSD схемы описывающие форматы данных обмена
20.
response.xsd,
информацией с сервисом УПШ
upg-replication.xml
Защищенный ФПСУ-IP сегмент DMZ (демилитаризованной
21.
Зона TAU
зоны) Банка
1.3
Ссылки на документы
Таблица - Документы
№
Наименование
Назначение
Местонахождение
п/п
документа
Описание
форматов
взаимодействия с СББОЛ:
Первичная
инициализация Клиента
Документация по
Репликация
API
УПШ
2
1.
справочников на сторону
часть.docx
Клиента
Получение извещения о
результатах обработки
клиентских документов
Описание
форматов
взаимодействия с СББОЛ:
Документация по
РКО по рублевым
API
УПШ
3
2.
операциям
часть.docx
Документы свободного
формата
Описание
форматов
взаимодействия с СББОЛ:
Документация по
API
УПШ
4
Документы зарплатного
3.
часть.docx
проекта
Описание
форматов
взаимодействия с СББОЛ:
Документация по
РКО по валютным
API
УПШ
5
4.
операциям
часть.docx
Документы валютного
контроля
2.
Интеграция УС с каналом УПШ
2.1. Особенности реализации
Для холдингов используется полный вариант работы либо ее часть.
2.2. Сжатие HTTP-трафика
При передаче xml-сообщения могут быть сжаты средствами протокола HTTP
1.X с
использованием алгоритма gzip.
Признаком того что HTTP-запрос/ответ содержит сжатые данные, служит заголовок протокола
Пример заголовка HTTP-запроса содержащего сжатые данные:
HTTP/1.x 200 OK
Content-Encoding: gzip
Content-Type: text/xml; charset=utf-8
[сжатые данные,request/response]
Основываясь на заголовке HTTP, полученные данные должны быть восстановлены
(декомпрессированы) на стороне УС с использованием алгоритма GZip.
В свою очередь передаваемые данные, также должны быть сжаты УС-клиента, и в HTTP-запрос
должен быть добавлен заголовок: Content-Encoding: gzip.
2.3. Общая характеристика процессов взаимодействия
Унифицированный платежный шлюз представляет собой приложение, развернутое в
зоне TAU и предоставляющее Web-сервис, содержащий методы, позволяющие:
Выполнять первичную инициализацию Клиента:
¾ Передача клиенту сертификата технологической подписи СББОЛ
¾ Передача клиенту личных клиентских сертификатов
¾ Передача клиенту персональных данных организации
¾ Передача клиенту справочника контрагентов
Выполнять репликацию справочников на сторону клиента
Выполнять отправку клиентских криптографических документов из УС в Банк:
¾ Запрос на новый сертификат
¾ Запрос на отзыв сертификата
Выполнять отправку клиентских документов из УС в Банк:
¾ Рублёвое платежное поручение
¾ Запрос рублевой и валютной выписки
¾ Запрос входящих
¾ Платежное поручение в иностранной валюте
¾
Поручение на продажу валюты
¾
Поручение на покупку валюты
¾
Распоряжение на осуществление обязательной продажи
¾
Справка о валютных операциях
¾
Справка о подтверждающих документах
¾
Закрытие паспорта сделки
¾
Переоформление паспорта сделки
¾
Паспорт сделки (форма 1: по контрактам)
¾
Паспорт сделки (форма 2: по кредитным договорам)
¾
Электронный реестр (Зарплатная ведомость)
¾
Заявление на заключение зарплатного договора
¾
Заявление на открытие счетов и выпуск карт
¾
Электронный реестр по уволившимся сотрудникам
¾
Реестр пополнения средств по зарплатным картам
¾
Платёжное требование
¾
Инкассовое поручение
¾
Письмо в Банк
¾
Рублевые получатели
¾
Запрос информации об овердрафте
¾
Распоряжение о переводе кредитных средств
¾
Информация об акцепте/отказе от акцепта
¾
Запрос на удаление контрагента
¾
Запрос на изменение признака проверки контрагентов
¾
Запрос на генерацию SMS пароля
¾
Запрос на обновление прошивки токена
¾
Запрос сведений о бенефициаре
¾
Запрос информации валютного контроля
¾
Письмо для целей ВК (в банк)
¾
Паспорта сделок из других банков
Клиентам Банка получать результаты обработки документов, соответствующих их
жизненному циклу;
Клиентам Банка получать:
¾ Информацию о движении денежных средств по рублевому счету
(рублевая выписка);
¾ Информацию о движении денежных средств по валютному счету
(валютная выписка);
¾ Письма из Банка;
¾ Выполнять подтверждение операций УПШ кодом СМС.
Клиентам Банка получать Банковскую информацию по безопасности:
¾ Передача клиенту списка отозванных сертификатов (CRL);
¾ Передача клиенту сертификатов ЭП/шифрования.
Основной задачей канала УПШ является передача в АС СББОЛ электронных
документов (ЭД), формируемых на стороне клиента. АС СББОЛ полученные ЭД
использует для передачи их далее в АБС Банка, где производится их обработка. АБС
Банка затем отправляет результаты обработки документов назад в АС СББОЛ, откуда
по каналу УПШ их может получить УС клиентов.
АС СББОЛ сведения обо всех ЭД (в том числе, полученных по каналу УПШ) хранит в
виде записей в базах данных. Информация об этапах обработки документов в АБС
отражаются через присвоение документам текущих статусов, согласно этапам
жизненного цикла документов.
Статусы делятся на две пересекающиеся группы: внутрибанковские и статусы для
уведомления.
Процесс формирования, подписания
(ЭП), передачи, проверки, получения и
исполнения Сторонами ЭД в Системе ДБО должно сопровождаться изменением
статуса ЭД.
При получении ЭД из канала УПШ АС СББОЛ заносит его информацию в базу
данных, где она хранится в виде записи. Далее жизненный цикл документа идентичен
жизненному циклу обычного документа, созданного в клиентском интерфейсе АС
СББОЛ. ПО канала УПШ может запрашивать текущий статус документов в базах АС
СББОЛ и передавать эти сведения в УС клиентов.
Взаимодействие УС клиентов с каналом УПШ можно охарактеризовать следующим
образом:
Асинхронное взаимодействие
Инициатором может выступать только УС клиента
При взаимодействии УС клиента направляет запрос (или передает информацию) веб-
сервису УПШ. В ответ сервис возвращает идентификатор запроса. Отправив позднее
запрос с этим идентификатором, учетная система клиента в ответ получает результат
обработки исходного запроса (если он уже был обработан). Таким образом, любое
взаимодействие происходит в два этапа:
Отправка запроса
o Отправка запроса происходит при вызове метода sendRequestsSRP и
передаче сообщения в формате, описанном в request.xsd. При отправке
запроса система сразу возвращает тикет (32-символьный
идентификационный код полученного сообщения).
o Если при вызове WEB-сервиса «sendRequestsSRP» в ответ тикет не
вернулся, можно отправить документ еще раз с тем же самым RequestID
запроса, и в том случае, если в ответ вернется REQUESTID_DUBLIC, то
попробовать получить квитанцию на документ и DocId путем отправки
вместо тикета значения RequestID в WEB-сервис
«getRequestStatusSRP», так как они совпадают с тикетом. Далее следует
стандартный алгоритм обмена сообщениями.
o Если по каким-то причинам СББОЛ не может сформировать тикет, он
вернет ошибку (код и причину)
Получение результатов (через некоторое время)
o Для получения результатов обработки исходного сообщения
необходимо, при вызове метода getRequestStatusSRP передать
полученный ранее тикет. В ответ система сразу вернет сообщение в
формате, описанном в response.xsd, содержащее результат обработки
исходного сообщения, или данные запрошенных документов.
o Если исходный запрос не был обработан, то при попытке получить
результат будет возвращено сообщение, что обработка еще не
состоялась. В этом случае необходимо попытаться получить результат
чуть позже.
Основными процессами взаимодействия УС и СББОЛ являются:
Передача документов в Банк
Запрос состояния клиентских документов
Получение документов из Банка
ВАЖНО:
Заполнение необязательных полей документов, а так же
информационных полей запросов к сереверу УПШ может быть
регламентоирвано договором на подключение к УПШ.
2.4. Общая схема работы с веб-сервисом
Общая схема работы с каналом УПШ предполагает двухэтапное взаимодействие: на первом этапе
сообщение передается в Банк, на втором этапе из Банка возвращается ответ
- результат
обработки исходного сообщения.
Описание этапа 1
Сообщения предаются веб-сервису в метод sendRequestsSRP в элементе Request. Xml-
сообщение может представлять собой только один элемент Request, структура которого должна
соответствовать схеме request.xsd.
При этом в xml-сообщении служебные символы должны быть заменены на коды:
Служебный символ
Код служебного символа
&
&
>
>
<
<
“
"
‘
'
Символ перевода строки
Символ возврата каретки
В ответ на полученные данные возвращается тикет (сихронно и в порядке следования запросов),
равный значению, указанному в запросе Клиента в поле requestId.
Описание этапа 2
После получения тикетов на стороне Клиента через некоторое время, достаточное для обработки
сообщения (рекомендуемое время задержки - 3 сек) эти тикеты могут быть отправлены в метод
getRequestStatusSRP. В ответ веб-сервис УПШ синхронно отправит результат обработки
исходного сообщения (квитанцию о статусе электронного документа или сообщения с ЭД из Банка
в пакете). Все ответы на запрос методу getRequestStatusSRP передаются в элементе Response,
формат которого описан в response.xsd
Если исходное сообщение еще не обработано, веб-сервис вернет синхронно одно из специальных
сообщений (описаны ниже). Если произошли какие-либо ошибки, веб-сервис вернет синхронно
специальный тикет или квитанцию об ошибке (см. описание ниже).
Подробно каждое взаимодействия рассмотрено в соответствующем разделе.
В таблице ниже приведены форматы вызовов в соответствии с WSDL веб-сервиса
УПШ.
№
Описание
Сообщение
Ответ
п/
п
soapenv:Envelope
<soap:Envelope
Вызов метода
1.
xmlns:soapenv="http://schemas.xmlso
xmlns:soap="http://schemas.xmlsoap
sendRequestsSR
ap.org/soap/envelope/"
.org/soap/envelope/">
P
xmlns:upg="http://upg.sbns.bssys.com/
<soap:Body>
">
<sendRequestsSRPResponse
<soapenv:Header/>
xmlns="http://upg.sbns.bssys.com/">
<soapenv:Body>
<return>f6a466de-1e31-4ca6-a450-
<upg:sendRequestsSRP>
344e70375d7d</return>
<!--Zero or more repetitions:-->
</sendRequestsSRPResponse>
<upg:requests>
</soap:Body>
XML-сообщение в соответствии с
</soap:Envelope>
форматом request.xsd
</upg:requests>
Примечание:
</upg:sendRequestsSRP>
В элементе <return> система
</soapenv:Body>
возвращает тикет (32-символьный
</soapenv:Envelope>
идентификатор с разделителями).
Тикет возвращается без обертки в
структуру <![CDATA[]]>
<soapenv:Envelope
<soap:Envelope
2.
Вызов метода
xmlns:soapenv="http://schemas.xmlso
xmlns:soap="http://schemas.xmlsoap
getRequestStatus
ap.org/soap/envelope/"
.org/soap/envelope/">
SRP
xmlns:upg="http://upg.sbns.bssys.com/
<soap:Body>
">
<getRequestStatusSRPResponse
<soapenv:Header/>
xmlns="http://upg.sbns.bssys.com/">
<soapenv:Body>
<return><![CDATA[
<upg:getRequestStatusSRP>
XML-сообщение в соответствии с
<!--Zero or more repetitions:-->
форматом response.xsd
<upg:requests>6dcdaebb-caa8-4227-
]]></return>
b965-4f84100cc065</upg:requests>
</getRequestStatusSRPResponse>
</upg:getRequestStatusSRP>
</soap:Body>
</soapenv:Body>
</soap:Envelope>
</soapenv:Envelope>
Примечание:
В элементе <requests> передается
тикет исходного запроса
Примеры взаимодействия с каналом УПШ с помощью программы soapUI при отправке запроса
текущих статусов в АС СББОЛ двух переданных ранее документов (передаются идентификаторы
двух документов, затем запрашивается результат обработки сообщения - статусы документов в
АС СББОЛ).
<soapenv:Envelope
Вызов
метода
3.
<soap:Envelope
xmlns:soapenv="http://schemas.xm
sendRequestsSRP
xmlns:soap="http://schemas.xmlsoap
lsoap.org/soap/envelope/"
.org/soap/envelope/">
Отправка запроса
xmlns:upg="http://upg.sbns.bssys.c
(передаются
om/">
<soap:Body>
идентификаторы
<soapenv:Header/>
<sendRequestsSRPResponse
двух
ранее
<soapenv:Body>
xmlns="http://upg.sbns.bssys.com/">
переданных
в
<upg:sendRequestsSRP>
банк документов)
<return>c9c0efae-f567-4532-b458-
<upg:requests>
6f07784a1ebf</return>
<![CDATA[<Request
xmlns="http://bssys.com/upg/reque
</sendRequestsSRPResponse>
st"
</soap:Body>
xmlns:xs="http://www.w3.org/2001/
XMLSchema"
</soap:Envelope>
xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance"
xsi:type="Request"
requestId="256529fe-bbb6-4e20-
9bf5-b950196821d1"
orgId="dba24080-ac26-4ec2-9351-
1bd8987febc4" version="1.0"
sender="Ромашка"
receiver="SBBOL_DBO">
<DocIds>
<DocId docId="1c915d54-4015-
49d7-8eb0-ac4b07acd6d8"/>
<DocId docId="3b97db30-897a-
4dae-a4a9-99b128b48192"/>
</DocIds>
</Request>]]>
</upg:requests>
</upg:sendRequestsSRP>
</soapenv:Body>
</soapenv:Envelope>
Вызов метода
<soapenv:Envelope
4.
<soap:Envelope
getRequestStatusS
xmlns:soapenv="http://schemas.xm
xmlns:soap="http://schemas.xmlsoap
RP
lsoap.org/soap/envelope/"
.org/soap/envelope/">
Получение
xmlns:upg="http://upg.sbns.bssys.c
результатов
om/">
<soap:Body>
(через некоторое
<soapenv:Header/>
<getRequestStatusSRPRespo
время передается
<soapenv:Body>
nse
тикет исходного
<upg:getRequestStatusSRP>
xmlns="http://upg.sbns.bssys.com/">
сообщения)
<!--Zero or more repetitions:-->
<upg:requests>c9c0efae-f567-
<return><![CDATA[<Response
createTime="2013-08-22T13:52:10"
4532-b458-
receiver="Ромашка"
6f07784a1ebf</upg:requests>
</upg:getRequestStatusSRP>
requestId="256529fe-bbb6-4e20-
</soapenv:Body>
9bf5-b950196821d1"
</soapenv:Envelope>
responseId="c9c0efae-f567-4532-
b458-6f07784a1ebf" sender="DBO"
version="1.1"
xmlns="http://bssys.com/upg/respons
e">
<Tickets>
<Ticket createTime="2013-08-
22T13:52:12" docId="1c915d54-
4015-49d7-8eb0-ac4b07acd6d8">
<Info docExtId="db8f1f62-
f41a-4b4b-a70e-f7025c0d831e"
statusStateCode="INVALIDEDS">
<BankDate/>
<MsgFromBank/>
</Info>
<Sign>
<ISSUER>CN = УЦЦАСБРФ
(ТЕСТ)
O = ЦАСБРФ
C = RU</ISSUER>
<SN>3030434130303936</SN
>
<Value>HBFKhHO7zPY34YU
sZjqsm9L+vV1f5Lef8AAGYB8wWHJ
e0fXE/y5p5lPnJbvfX9I3Rd7fyBarJHD
POOfWxcZuug==</Value>
</Sign>
</Ticket>
<Ticket createTime="2013-08-
22T13:52:12" docId="3b97db30-
897a-4dae-a4a9-99b128b48192">
<Info docExtId="db8f1f62-
f41a-4b4b-a70e-f7025c0d831e"
statusStateCode="DELIVERED">
<BankDate/>
<MsgFromBank/>
</Info>
<Sign>
<ISSUER>CN =
УЦЦАСБРФ(ТЕСТ)
O = ЦАСБРФ
C = RU</ISSUER>
<SN>3030434130303936</SN
>
<Value>EB0UAilMO5iIN4wVL
7vZaCDEWG+t77SPoY6w/nqB6YgK
TpOcZzXIlugTIqEs6i9SP8qE4euljv83
ipx75v4U7Q==</Value>
</Sign>
</Ticket>
</Tickets>
</Response>]]></return>
</getRequestStatusSRPRespo
nse>
</soap:Body>
</soap:Envelope>
При установлении соединения с веб-сервисом открывается сессия. Время жизни
сессии настраивается на сервере УПШ заданием параметров
# таймаут пользовательской сессии в минутах
usersession.timeout=10
usersession.lifetime=10
Параметр usersession.timeout определяет время жизни сессии при отсутствии
активности по данной сессии, а параметр usersession.lifetime определяет время жизни
сессии при наличии активности по данной сессии, то есть, например, если
установлены значения параметров
usersession.timeout=15
usersession.lifetime=30
и УС Клиента получила sessionId, то при полном отсутствии активности по
полученному sessionId срок действия данного sessionId истечет через 15 мин, а при
наличии активности по полученному sessionId срок действия данного sessionId
истечет после момента последней активности +15 минут, но не позднее, чем через 30
минут после получения sessionId
На данный момент в промышленной среде заданы следующие значения:
usersession.timeout=15
usersession.lifetime=15
На тестовом стенде:
usersession.timeout=10
usersession.lifetime=10
2.5. Тикеты и квитанции
Квитанции передаются по запросу со стороны клиента и содержат коды состояний
обработки документов
(коды статусов). Эти сведения передаются в составном
элементе Response/Tickets/Ticket.
Пример квитанции:
<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getRequestStatusSRPResponse xmlns="http://upg.sbns.bssys.com/">
<return><![CDATA[<Response
createTime="2013-08-22T13:52:10"
receiver="Ромашка"
requestId="256529fe-bbb6-4e20-9bf5-b950196821d1"
responseId="c9c0efae-f567-4532-b458-
6f07784a1ebf" sender="DBO" version="1.1" xmlns="http://bssys.com/upg/response">
<Tickets>
<Ticket createTime="2013-08-22T13:52:12" docId="1c915d54-4015-49d7-8eb0-ac4b07acd6d8">
<Info docExtId="db8f1f62-f41a-4b4b-a70e-f7025c0d831e" statusStateCode="INVALIDEDS">
<BankDate/>
<MsgFromBank/>
</Info>
<Sign>
<ISSUER>CN = УЦ ЦА РК РФ (ТЕСТ)
O = ЦА ДА РФ
C = RU</ISSUER>
<SN>3000000000000000</SN>
<Value>HBFKhHO7zPY34YUsZjqsm9L+vV1f5Lef8AAGYB8wWHJe0fXE/y5p5lPnJbvfX9I3Rd7fyBarJHD
POOfWxcZuug==</Value>
</Sign>
</Tickets>
</Response>]]></return>
</getRequestStatusSRPResponse>
</soap:Body>
</soap:Envelope>
Тикет в УПШ - уникальный идентификатор принятого сообщения, который синхронно
возвращается веб-сервисом в ответ отправившей стороне. Тикет представляет собой
32-символьный идентификатор, разделенный четырьмя дефисами, возвращается в
элементе <return> (см. пример).
Пример тикета - ответа веб-сервиса на метод sendRequestsSRP:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<sendRequestsSRPResponse xmlns="http://upg.sbns.bssys.com/">
<return>f6a466de-1e31-4ca6-a450-344e70375d7d</return>
</sendRequestsSRPResponse>
</soap:Body>
</soap:Envelope>
Если по запросу со стороны УС Клиента не был получен тот или иной ответ в течение
длительного времени, то это означает, что в очереди обрабатывается большое
количество сообщений или возникла ошибка обработки на стороне Банка.
В промышленной среде каждая проблема отдельно должна решаться через службу
поддержки.
2.6. Общее описание методов WSDL веб-сервиса канала УПШ
В WSDL указаны следующие методы:
sendRequestsSRP. Служит для передачи запросов из Учетной системы клиента
в СББОЛ. В ответ на вызов метод sendRequestsSRP должен возвращаться
ответ от веб-сервиса УПШ в УС клиента. В метод можно передавать xml-
сообщения в соответствии со схемой request.xsd. В метод за один раз может
быть отправлено любое количество xml-сообщений. Ответ веб-сервиса
представляет собой набор тикетов (уникальных идентификаторов принятых
сообщений), по одному на каждое сообщение, переданное в метод. Тикеты
следуют в порядке обработки последовательно поступивших в сервис УПШ
сообщений. Каждому принятому веб-сервисом xml-сообщению соответствует
свой тикет.
Прежде чем использовать метод sendRequestsSRP, sessionId должен быть
обязательно подтвержден, для чего при аутентификации
(методы login,
loginSign) нужно получить успешный код возврата. Обязательным условием
использования метода является наличие действующего sessionId. В ответе
для УС будет передан код возврата.
Если исходное сообщение, тикет которого был передан методу, не
обработано, то сообщение будет содержать информацию, что исходное
сообщение (которому соответствует тикет) не обработано.
Сообщения, которые могут быть переданы в ответ при вызове метода
sendRequestSRP, если исходное сообщение не было обработано системой,
представлены ниже в таблице.
Таблица - Значения, которые могут быть переданы, если запрос не был обработан (передаются в
ответ на метод sendRequestSRP)
№
Версионно
Код состояния запроса
Назначение кода состояния
п/п
сть
Запрос с таким идентификатором уже был
ранее получен и сохранен в БД СББОЛ,
1.
Актуально с
<!--REQUESTID_DUBLIC -->
повторное сохранение в БД СББОЛ
версии 27
записи с повторяющимся
идентификатором недопустимо
При невозможности отправить тикет в ответ на вызов метода sendRequestsSRP веб-сервис
вернет XML-сообщение с кодом и описанием ошибки.
Пример ответа с кодом и описанием ошибки
<?xml
version="1.0"
encoding="UTF-8"?><Response
xmlns='http://bssys.com/upg/response'><Errors><Error><Code>103</Code><Type>Error</Type><Desc
>Неверные параметры авторизации</Desc></Error></Errors></Response>
В элементе Code могут быть переданы следующие коды ошибок:
Таблица - Перечень ошибок, которые
возвращает УПШ в ответ на вызов метода sendRequestSRP и
getRequestStatusSRP
Код ошибки
Код состояния
документа/запроса
Описание
(Response/
Метод
Версионность
Errors/Error/
(Response/Errors/Error/T
(Response/Errors/Error/Desc)
Code)
ype)
Не специфицированная ошибка
sendRequest
SRP,
Изменено в
999
Error
getRequestS
версии 29
tatusSRP
Ошибка валидации xml по xsd
Ошибка выдается, если входящая
xml не прошла валидацию по xsd -
sendRequest
следовательно, при получении
SRP,
Изменено в
101
данного кода повторять
getRequestS
версии 29
Error
аналогичного формата запрос до
tatusSRP
исправления xml на стороне УС
или xsd на стороне СББОЛ не
имеет смысла
Ошибка проверки подписи
getRequestS
Изменено в
102
Error
tatusSRP
версии 29
Неверные параметры авторизации
sendRequest
Изменено в
103
Error
SRP
версии 29
Операция не доступна для сессии:
sendRequest
Изменено в
104
Error
“sessionId”
SRP
версии 29
sendRequest
Принятие документов данным
способом недоступно для
SRP,
Изменено в
105
Error
getRequestS
версии 29
организации
tatusSRP
Изменено в
106
Неверно указан пароль
Error
версии 28
Архив пуст или параметр orgId не
Изменено в
107
Error
совпадает с содержимым
версии 28
запакованного запроса
Таблица - Перечень специальных тикетов, которые может вернуть УПШ в случае ошибок, а также ответов
метода getRequestStatusSRP на эти тикеты
Код ошибки,
передаваемый
Назначение кода
Контекст ответа метода getRequestStatusSRP на
Версионн
в тикете
состояния
данный тикет
ость
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope
/">
<soap:Body>
<getRequestStatusSRPResponse
xmlns="http://upg.sbns.bssys.com/">
<return><![CDATA[<Response
Сервис временно
createTime="2013-11-21T17:17:40"
недоступен
requestId="00000000-0000-0000-0000-000000000000"
UNKNOWN_ORG
responseId="00000000-0000-0000-0000-
00000000-0000-
UNKNOWN_RESPONS
000000000000" sender="UPG Service" version="1.0">
Актуально
0000-0000-
E_ID
<Errors>
с версии
UNKNOWN_EXCEPTIO
<Error>
27
000000000000
N
<Code>00000000-0000-
0000-0000-000000000000</Code>
<Type>Error</Type>
<Desc>Service is
temporary unavailable</Desc>
</Error>
</Errors>
</Response>]]></return>
</getRequestStatusSRPResponse>
</soap:Body>
</soap:Envelope>
«
<Errors>
<Error>
Неверный формат
<Code>00000000-0000-
00000000-0000-
идентификатора
0000-0000-000000000001</Code>
Актуально
сессии (не GUID)
<Type>Error</Type>
0000-0000-
с версии
(SRP)
<Desc>Invalid session id
27
000000000001
INVALID_SESSION_ID
format</Desc>
_FORMAT
</Error>
</Errors>
«
«
<Errors>
<Error>
<Code>00000000-0000-
00000000-0000-
Неверный
0000-0000-000000000002</Code>
Актуально
идентификатор сессии
<Type>Error</Type>
0000-0000-
с версии
(SRP)
<Desc>Invalid session
27
000000000002
INVALID_SESSION_ID
id</Desc>
</Error>
</Errors>
«
«
<Errors>
<Error>
<Code>00000000-0000-
При вызове метода
00000000-0000-
0000-0000-000000000003</Code>
SendRequestSRP
Актуально
<Type>Error</Type>
0000-0000-
отправлен пустой
с версии
<Desc>Request is
request
27
000000000003
empty</Desc>
EMPTY_REQUEST
</Error>
</Errors>
«
«
<Errors>
<Error>
Среди параметров
<Code>00000000-0000-
00000000-0000-
метода
0000-0000-000000000004</Code>
Актуально
SendRequestSRP нет
<Type>Error</Type>
0000-0000-
с версии
request-ов
<Desc>List of requests is
27
000000000004
EMPTY_REQUEST_LIS
empty</Desc>
T
</Error>
</Errors>
«
«
<Errors>
<Error>
<Code>00000000-0000-
00000000-0000-
Неверный логин
0000-0000-000000000005</Code>
Актуально
пользователя
<Type>Error</Type>
0000-0000-
с версии
INVALID_USER_LOGI
<Desc>Invalid user
27
000000000005
N
login</Desc>
</Error>
</Errors>
«
«
<Errors>
В сообщении не
<Error>
найден orgId либо
<Code>00000000-0000-
00000000-0000-
значение не
0000-0000-000000000006</Code>
Актуально
соответствует
<Type>Error</Type>
0000-0000-
с версии
формату
<Desc>OrgId not found
27
000000000006
ORGID_NOT_FOUND_I
in message</Desc>
N_MESSAGE
</Error>
</Errors>
«
«
<Errors>
<Error>
000000000-
<Code>00000000-0000-0000-
0000-0000-
orgID отсутствует в бд
Актуально
0000-000000000007</Code>
роутера СББОЛ
с версии
0000-
<Type>Error</Type>
ORG_NOT_FOUND
27
<Desc>Org not found</Desc>
000000000007
</Error>
</Errors>
«
«
<Errors>
<Error>
Не найден
<Code>00000000-0000-0000-
00000000-0000-
ContractAccessCode в
0000-000000000008</Code>
Актуально
0000-0000-
<Type>Error</Type>
с версии
БД роутера
<Desc>ContractAccessCode
27
000000000008
CONTRACT_ACCESS_
CODE_NOT_FOUND
not found</Desc>
</Error>
</Errors>
«
«
<Errors>
<Error>
<Code>00000000-0000-0000-
00000000-0000-
Только для SRP. Не
0000-000000000009</Code>
Актуально
верный формат org id
0000-0000-
<Type>Error</Type>
с версии
INVALID_ORG_ID_FO
<Desc>Invalid org id
27
000000000009
RMAT
format</Desc>
</Error>
</Errors>
«
«
<Errors>
<Error>
<Code>00000000-0000-0000-
00000000-0000-
0000-000000000010</Code>
Актуально
Не найден сертификат
0000-0000-
<Type>Error</Type>
с версии
CERT_NOT_FOUND
<Desc>Certificate not
27
000000000010
found</Desc>
</Error>
</Errors>
«
«
<Errors>
<Error>
Размер пакета
<Code>00000000-0000-0000-
00000000-0000-
превысил
0000-000000000011</Code>
Актуально
максимально
0000-0000-
<Type>Error</Type>
с версии
допустимый
<Desc>Size of request list
27
000000000011
REQUEST_LIST_SIZE_
exceed max size</Desc>
EXCEED_MAX
</Error>
</Errors>
«
«
<Errors>
<Error>
<Code>00000000-0000-0000-
00000000-0000-
Ошибка доступа к
0000-000000000012</Code>
Актуально
серверу
0000-0000-
<Type>Error</Type>
с версии
SERVER_ACCESS_ER
<Desc>Ошибка доступа к
27
000000000012
ROR
серверу</Desc>
</Error>
</Errors>
«
00000000-0000-
Актуально
WRONG_PART_PARA
0000-0000-
с версии
METER
27
000000000013
00000000-0000-
Актуально
INCORRECT_CUSTOM
0000-0000-
с версии
S_PARAMS
27
000000000014
00000000-0000-
Актуально
INCORRECT_ACCESS
0000-0000-
с версии
_TOKEN
27
000000000015
«
<Errors>
<Error>
<Code>00000000-0000-0000-0000-
00000000-0000-
000000000012</Code>
Актуально
0000-0000-
INCORRECT_SID2
<Type>Error</Type>
с версии
<Desc> Неверный формат SID2
27
000000000016
</Desc>
</Error>
</Errors>
«
getRequestStatusSRP. Служит для запроса результатов обработки ранее
отправленных запросов. В метод передается идентификатор из тикета. В ответ
приходит xml-сообщение в соответствии со схемой Response.xsd.
Обязательным условием использования метода является наличие
действующего sessionId. В ответе в УС Клиента будет передан код возврата.
Пример запроса метод getRequestStatusSRP:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
<SOAP-ENV:Body><getRequestStatusSRP xmlns="http://upg.sbns.bssys.com/">
<requests>bb4abb1b-7232-47dc-bdd4-26a820bbf284</requests>
<sessionId>0655e2da-3aab-4a42-bf94-fcfe8e653f38</sessionId>
<orgId>8b3be4b3-9254-4685-b5c9-4016d46261ea</orgId>
</getRequestStatusSRP>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Входные параметры
Параметр
Название
requests
Идентификатор запроса, полученный в тикете
sessionId
ID сессии
orgld
Идентификатор организации
Перечень кодов возвратов в методе getRequestStatusSRP
Код возврата
Описание
Версионность
9
Не специфицированная ошибка
Актуально с версии 27
0
Операция выполнена успешно
Актуально с версии 27
1
Время жизни идентификатора сессии истекло
Актуально с версии 27
Если исходное сообщение, тикет которого был передан методу, не обработано, то сообщение
будет содержать информацию, что исходное сообщение (которому соответствует тикет) не
обработано.
Сообщения, которые могут быть переданы в ответ при вызове метода getRequestStatusSRP,
если исходное сообщение не было обработано системой, представлены ниже в таблице.
Таблица - Значения, которые могут быть переданы, если запрос не был обработан (передаются в ответ на
метод getRequestStatusSRP)
№
Назначение кода
Версионно
Код состояния запроса
Пример в логах
п/п
состояния
сть
2012-05-02
13:38:37.850,com.bssys.sbns.upg.Uni
versalPaymentGateTest,3b8f3db2-
<!--NOT PROCESSED YET--
1.
Запрос еще не
Актуально с
8862-4933-b8f8-db10d0a92608,[pool-
>
был обработан
версии 27
1-thread-1],ERROR -
getRequestStatusSRP response:
[<!--NOT PROCESSED YET-->]
2012-05-02
13:38:37.850,com.bssys.sbns.upg.Uni
Запрос
с
versalPaymentGateTest,3b8f3db2-
<!--REQUEST NOT FOUND-
указанным
Актуально с
2.
8862-4933-b8f8-db10d0a92608,[pool-
->
идентификатором
версии 27
1-thread-1],ERROR
-
не найден в БД
getRequestStatusSRP response:
[<!--REQUEST NOT FOUND-->]
Возвращается в
ответ на запрос,
<getRequestStatusSRPResponse
если
sessionId
xmlns="http://upg.sbns.bssys.com/"><r
был получен под
Актуально с
3.
<!--USER_IP_CHANGED-->
eturn><!--USER_IP_CHANGED--
одним ip-адресом,
версии 27
></return></getRequestStatusSRP
а
запрос
Response>
отправлен
с
другого ip-адреса
Если тикет соответствовал ранее переданному сообщению с ЭД, то после обработки по
методу getRequestStatusSRP будет возвращена квитанция
(Response/Tickets/Ticket) с
уникальным идентификатором записи в БД АС СББОЛ и другой информацией.
Если тикет соответствовал запросу на получение текущих статусов документов
(Request/DocIds), то будут возвращены квитанции (Response/Tickets) с кодами состояний
документов, по которым был исходный запрос.
Значения, которые могут быть переданы в квитанции при запросе состояний документов,
представлены в таблице ниже.
Таблица - Значения, которые могут быть переданы в квитанции1
Код состояния
Наименов
№
документа/запроса
Версионно
ание
Назначение кода состояния
Тип статуса
п/п
(Response/Tickets/Ticket/I
сть
статуса
nfo@statusStateCode)
Запрос не соответствует
Окончательный
Актуально с
1.
FORMAT_ERROR
формату
/Прекратить опрос/
версии 27
Дублирующий RqUID
Окончательный
2.
Запрос
с
таким
/Прекратить опрос/
Актуально с
RQUID_DUPLIC
идентификатором уже был
версии 27
получен и обработан
Клиент не обслуживаются по
Окончательный
Актуально с
3.
ORG_NOT_FOUND
ДБО или неверный ORGID
/Прекратить опрос/
версии 27
Доставлен
Промежуточный
4.
Запрос доставлен в ДБО и
Актуально с
DELIVERED
/Продолжать
взят в обработку.
версии 27
опрашивать/
Поиск
сертификата
для
Окончательный
проверки ЭП под ЭД на
/Прекратить опрос/
5.
стороне
банка
дала
Актуально с
SERT_NOT_FOUND
отрицательный результат. Нет
версии 27
соответствия
статусу
документа в ДБО.
ЭП
не
Окончательный
Проверка ЭП под ЭД на
верна
/Прекратить опрос/
Актуально с
6.
INVALIDEDS
стороне
Банка
дала
версии 27
отрицательный результат
Ошибка
Электронный документ не
Окончательный
реквизитов
прошел логические контроли
/Прекратить опрос/
7.
Актуально с
REQUISITE_ERROR
Системы ДБО при приеме на
версии 27
стороне Банка или Запрос на
выписку превышает 15 дней
Окончательный
DOCUMENT_NOT_FO
Электронный документ с
8.
/Прекратить опрос/
Актуально с
указанным идентификатором
UND
версии 27
не найден в БД
Принят
Промежуточный
9.
Электронный документ принят
Актуально с
ACCEPTED
/Продолжать
на стороне Банка
версии 27
опрашивать/
1В следующих частях документа для каждого документа описан определенный перечень статусов
Выгружен
Промежуточный
10.
Электронный
документ
Актуально с
EXPORTED
/Продолжать
выгружен Банком в АБС
версии 27
опрашивать/
Принят
Электронный документ был
Промежуточный
Актуально с
11.
ACCEPTED_BY_ABS
АБС
принят к обработке в АБС
/Продолжать
версии 27
Банка
опрашивать/
Картотека
Электронный
документ
Окончательный
2
передан в картотеку в
/Прекратить опрос/
Актуально с
12.
CARD2
ожидание средств на счету
версии 27
клиента
Отказан
Электронный
документ
Окончательный
Актуально с
13.
DECLINED_BY_ABS
АБС
отказан АБС Банка
/Прекратить опрос/
версии 27
Приостано
Обработка
электронного
Промежуточный
14.
Актуально с
DELAYED
влен
документа
была
/Продолжать
версии 27
приостановлена
опрашивать/
Отозван
Электронный документ был
Окончательный
Актуально с
15.
RECALL
отозван Клиентом по запросу
/Прекратить опрос/
версии 27
Исполнен
Электронный
документ
Окончательный
Актуально с
16.
IMPLEMENTED
исполнен Банком
/Прекратить опрос/
версии 27
Ошибка
Промежуточный
17.
Электронный документ не
Актуально с
EXPORT_ERROR
экспорта
/Продолжать
выгрузился в АБС Банка
версии 27
опрашивать/
Принят ВК
Документ принят валютным
Промежуточный/Пр
контролем
екратить
18.
Актуально с
ACCEPTED_BY_CFE
опрос/Выполнять
версии 27
опрос
по
отдельному запросу
Отказан
Промежуточный/Пр
ВК
екратить
19.
Документ не принят валютным
Актуально с
DECLINED_BY_CFE
опрос/Выполнять
контролем
версии 27
опрос
по
отдельному запросу
Отвергнут
Электронный
документ
Окончательный
20.
Актуально с
REFUSEDBYBANK
Банком
отвергнут в СББОЛ Банка
/Прекратить опрос/
версии 27
вручную.
Частично
Промежуточный
PARTIMPLEMENTED
Исполнен
/Продолжать
Актуально с
21.
Документ исполнен частично
опрашивать/
версии 27
Нет соответствия статусу
Окончательный
документа. Документы в таком
/Прекратить опрос/
статусе не попадают в
СББОЛ.
Невалидный
документ,
в
документе
22.
содержится
критическая
Актуально с
FAIL
ошибка. В этом случае от
версии 27
сервиса УПШ отправляется
ответ с
разъяснениями
ошибки, ответ записывается в
таблицу
SBNS_UPG_INBOUND
Ошибка
в
случае
Промежуточный
недоступности БД, отсутствие
/Продолжать
23.
Актуально с
SOFT_FAIL
необходимых
настроек
опрашивать/
версии 27
клиентаю Документ может
быть обработан позднее
На
Со стороны ФРОД-анализа
Промежуточный
24.
проверке у
получен статус документа «На
/Продолжать
Актуально с
FRAUDREVIEW
специалис
проверке
у
специалиста
опрашивать/
версии 27
та Банка
Банка»
Требуется
Со стороны ФРОД-анализа
Промежуточный
25.
подтвержд
получен статус документа
/Продолжать
Актуально с
FRAUDSMS
ение sms-
«Требуется подтверждение
опрашивать/
версии 27
паролем
sms-паролем»
Отправлен
Документ
отправлен
Окончательный
26.
Актуально с
SENDED_TO_PAYER
плательщи
плательщику
/Прекратить опрос/
версии 27
ку
Обработан
Документ обработан
Окончательный
Актуально с
27.
PROCESSED
/Прекратить опрос/
версии 27
На акцепт
Входящее
платежное
Промежуточный
28.
Актуально с
ONACCEPTANCE
поручение получено из АБС
/Продолжать
версии 27
опрашивать/
Истек срок
Срок акцепта истек
Окончательный
Актуально с
29.
ACCEPTEXPIRE
акцепта
/Прекратить опрос/
версии 27
В АБС поступило «Заявление
Промежуточный
30.
Акцептова
Актуально с
ACCEPTANCE
на акцепт»
/Продолжать
н
версии 27
опрашивать/
Отказ от
1.
В АБС поступило
Окончательный
NONEACCEPTANCE
акцепта
«Заявление об отказе от
/Прекратить опрос/
31.
Актуально с
акцепта»
версии 27
2. В АБС поступил отзыв ПТ
получателем
В АБС поступило «Заявление
Промежуточный
PARTACCEPT
Частично
о частичном акцепте»
/Продолжать
Актуально с
32.
акцептова
опрашивать/
версии 27
н
Оплачено
Выполнено
списание
в
Окончательный
Актуально с
33.
PAID
соответствии с заявлением
/Прекратить опрос/
версии 27
Клиент
сформировал
Промежуточный
34.
В
«Заявление
об
/Продолжать
Актуально с
PROCESSING
обработке
акцепте/частичном
опрашивать/
версии 27
акцепте/отказе от акцепта»
Окончательный
Актуально с
35.
APPROVE
Одобрен
Документ одобрен
/Прекратить опрос/
версии 27
Промежуточный
36.
Требует
Актуально с
MODIFYREQUIRED
Документ требует доработки
/Продолжать
доработки
версии 27
опрашивать/
Окончательный
Актуально с
37.
PROCESSERROR
Отказан
Документ отказан
/Прекратить опрос/
версии 27
Промежуточный
Актуально
Документ
38.
SIGNED
Документ подписан
/Продолжать
с версии
подписан
опрашивать/
27
ЭД был подписан
Промежуточный
Актуально
Частично
39.
PARTLY_SIGNED
неполным набором
/Продолжать
с версии
подписан
подписей
опрашивать/
27
Окончательный
Актуально с
40.
CLOSED
Закрыт
Документ закрыт
/Прекратить опрос/
версии 27
Промежуточный
41.
Представл
Электронный документ принят
Актуально с
SUBMITTED
/Продолжать
ен
ВК
версии 27
опрашивать/
Промежуточный
Проверяет
Документ принят в работу
Актуально с
42.
TRIED_BY_CFE
/Продолжать
ся ВК
сотрудником ВК в МВК ЕКС
версии 27
опрашивать/
PARTIALLY_ACCEPTED
Электронный
документ
43.
Частично
Актуально с
частично принят Валютным
_BY_CFE
принят ВК
версии 27
контролем
Статус
уведомляет
о
Окончательный
44.
Актуально с
RESPONSE_DIVISION
разбиении большого ответа на
/Прекратить опрос/
версии 27
пакеты
Документ записан в БД
Промежуточный
45.
Актуально с
CREATED
Создан
СББОЛ,
проверки
не
/Продолжать
версии 27
выполнялись
опрашивать/
Приведенный выше список кодов статусов является исчерпывающим. При получении в
квитанции любого кода состояния, отличающегося от перечисленных выше, он должен
интерпретироваться как код статуса
«FAIL»
(Нет соответствия статусу документа,
неопределенная ошибка).
Если тикет соответствовал запросу на получение подготовленных выписок по счетам и других
документов из Банка (запрос Request/Incoming), то в ответ придет сообщение с выписками
клиента и другими документами, подготовленными на стороне Банка для данной организации.
Существует механизм оптимизации, который позволяет убирать повторяющиеся выписки за
одну и ту же дату по одному и тому же счету, отправляя клиенту последнюю актуальную
выписку, при этом выписка клиенту на запрос Request/Incoming может быть отправлена
однократно, т.е., например, поступление двух запросов Request/Incoming подряд не повлечет
двукратной отправки клиенту одной и той же информации. Если выписка клиентов будет
потеряна, то потребуется сначала отправить в банк запрос на выписку, а после его обработки
снова отправить запрос Request/Incoming. Если ночная выписка за дату была передана в УС
Клиента, то повторная ее отправка не предусмотрена.
getResponsePartSRP. Служит для запроса заархивированных частей
документа, т.н. пакетов, которые были сформированы на стороне АС СББОЛ в
результате разбиения большого ответа в элементе Response. В метод
передается ID исходного запроса, номер пакета, sessionId и orgId. В ответ
приходит xml-сообщение в соответствии со схемой Response.xsd.
Обязательным условием использования метода является наличие
действующего sessionId
Входные параметры
Параметр
Название
Идентификатор запроса, полученный в тикете
requests
Номер пакета
part
ID сессии
sessionId
Идентификатор организации
orgld
2.6.1.Версионность запросов
В запросах есть возможность использования версионности.
Поле protocolVersion используется для направления в обработчик соответствующей
версии. В случае не указания версии, обработка будет производиться по самой
старой из доступных версий. В случае поступления новых требований регулятора
старые версии не дорабатываются, а направленные документы по старым форматам
будут отказаны т.к. не удовлетворяют требованиям регулятора.
Поле protocolVersion заполняется цифрами, например, 27.
2.6.2.Передача документов в Банк
Передачу документов в Банк можно разделить на два процесса:
Процесс отправки клиентских документов
Процесс получения идентификатора документа в СББОЛ
Общая схема взаимодействия приведена на Рисунке 1.
Рисунок 1. Схемы взаимодействия систем при обработке документа
2.6.2.1. Отправка клиентских документов в Банк
Для отправки клиентских документов должна выполняться следующая
последовательность шагов:
ШАГ 1:
На стороне клиента формируется список документов для отправки.
Для каждого документа из данного списка, формируются (либо уже были
сформированы) необходимое количество электронных подписей.
Электронные подписи формируются в соответствии с ГОСТ, по утвержденной
Банком технологии и с использованием определенных Банком форматов.
Каждый документ и соответствующие(ая) ему ЭП помещаются в специальный
XML-контейнер, в соответствии с форматом request.xsd (формируется строка,
содержащая xml-сообщение).
Все сформированные таким образом xml-сообщения (строки) передаются в
запросе веб-сервису УПШ при вызове метода sendRequestsSRP.
Примечание.
Требуется учесть ограничения на количество документов в одном сообщении. Так при
отправке клиентского документа в одном xml-сообщении может быть передан только
один документ, согласно ограничениям, указанным в схеме request.xsd.
Однако при вызове метода sendRequestsSRP может быть в одном вызове requests
последовательно передано произвольное количество отдельных xml-сообщений,
содержащих по одному документу. Необходимо ограничивать количество
сообщений (не более 100) за один вызов метода, поскольку обработка сообщений
начинается только после полного получения всех данных, переданных с помощью
вызова метода. Текущее ограничение размера сообщения составляет 2 МБ.
Для передачи пакета документов, следует использовать метод sendRequestPackage.
Пример ШАГа
1: Вызов метода sendRequestsSRP, на примере отправки
документа «Платежное поручениеª
Важно: Параметр sender является константой для всех xml-сообщений
направляемых УС Клиента в СББОЛ. Значение данного параметра устанавливается в
настройках организации в СББОЛ на основании указанного Клиентом (головной
компании холдинга) значения в договорах с Банком при подключении и не подлежит
изменению. Головной компании холдинга и ВСЕМ его дочерним зависимым
подразделениям (ДЗО) холдинга устанавливается единое значение параметра в
СББОЛ. Установленное значение контролируется на стороне Банка. При поступлении
на обработку хml-сообщения со значением отличным от согласованного сервис
вернет ошибку.
Данную информацию необходимо учитывать при разработке интеграционного
решения в УС Клиента и в документах, заключаемых с Банком.
Рекомендация к константному значению параметра sender=:
Желательно указывать латинцей, слитно и кратко (либо сокращенно). Например:
Объединенная космическая компания Москва-Кассиопея
- вполне приемлемый
вариант, с большой долей вероятности исключающий пересечения с другими УС
Клиента, - OKKMOS-KAS
<?xmlversion="1.0" encoding="UTF-8"?>
<Request xmlns="http://bssys.com/upg/request" requestId="8f108043-ebfd-4844-9e3f-1aac71ac0812"
version="0.1" orgId="24b70f22-703f-bf04-db60-bd110572f40d"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
receiver="SBBOL_DBO">
<PayDocRu docExtId="2dcb3631-4b1d-408d-9fc7-3701b2b0afe9">
<AccDoc purpose="ВтомчислеНДС 18 % - 188.31" accDocNo="123" docDate="2012-
05-02" docSum="1234.5" transKind="01" paytKind="электронно" priority="1"/>
<Payer inn="201234567890" kpp="201234567"
personalAcc="40000000000000000000">
<Name>ИП1</Name>
<Bank bic="044444444" correspAcc="30000000000000000000">
<Name>ОАО "СБЕРБАНК"</Name>
<BankCity>Москва</BankCity>
<SettlementType>Г</SettlementType>
</Bank>
</Payer>
<Payee inn="7786349237" kpp="123456789" personalAcc="40000000000000000000">
<Name>Получатель</Name>
<Bank bic="040037470" correspAcc="30000000000000000000">
<Name> ФИЛИАЛ ОАО "БЕЛЫЙ ПЛЕН"</Name>
<BankCity>Москва</BankCity>
<SettlementType>Г</SettlementType>
</Bank>
</Payee>
</PayDocRu>
<Sign>
<Issuer>CN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>74431C03FC68F0F54973</SN>
<Value>dnenujcvma20d0W4S98ucGOcXAmFUYeevq2SVUapKbY6JdjrsGE4gvN5u6myqSBiAXj
dSD3xK3ZDoF7ixWIRmg==</Value>
<PcPropHash>ECCB0C2EA8F72D3961A9BADFC5BF67A4C1E3154A59F2CC39A62F9EA6976
426481DE75A977F79BD00CDE82E059126EBAA2B496D2F5C4182EF91EB9798EF62B32E</PcPropH
ash>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; </TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-
DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
<DevicePrint>version%3D3.4.1.0_1%26pm_fpua%3DWin64%7C0%7Cx64%7Cru%7C01.005.00
%26pm_fpsc%3D32%7C1600%7C900%7C1600%26pm_fpsw%3Dabk%3D6%2C1%2C7601%2C17514
%7Cwnt%3D6%2C1%2C7601%2C18952%7Cdht%3D11%2C0%2C9600%2C18376%7Cie5%3D%7Cibe
%3D11%2C0%2C9600%2C18376%7Cieh%3D11%2C0%2C9600%2C18376%7Ciee%3D6%2C3%2C96
00%2C18376%7Cwmp%3D12%2C0%2C7601%2C19148%7Cobp%3D11%2C0%2C9600%2C18376%7
Coex%3D6%2C1%2C7601%2C17514%7Cvbs%3D5%2C6%2C0%2C8833%26pm_fptz%3D3%26pm_fpl
n%3Dlang%3Dru%7Csyslang%3Dru%7Cuserlang%3Dru%26pm_fpjv%3D0%26pm_fpco%3D0%26pm_f
pasw%3D%26pm_fpan%3DSBB%26pm_fpacn%3DSBB%26pm_fpol%3Dfalse%26pm_fposp%3D%26p
m_fpup%3D%26pm_fpsaw%3D1600%26pm_fpspd%3D32%26pm_fpsbd%3D%26pm_fpsdx%3D96%26
pm_fpsdy%3D96%26pm_fpslx%3D96%26pm_fpsly%3D96%26pm_fpsfse%3Dfalse%26pm_fpsui%3D%2
6pm_os%3DWindows%26pm_brmjv%3D01.005.00%26pm_br%3DSBB%26pm_inpt%3D%26pm_expt%
3D</DevicePrint>
</Fraud>
<Order>0</Order>
<SignDate>2016-08-22T13:12:25</SignDate>
</Sign>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; </TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-
DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
</Fraud>
</Request>
ШАГ 2:
В ответ веб-сервис УПШ синхронно возвращает служебное сообщение (тикет), в
котором указывается присвоенный каждому принятому xml-сообщению уникальный
идентификатор (значение тикета равно значению requestId xml-сообщения). Дубли
значений requestId контролируются в разрезе orgId xml-сообщения, При поступлении
дубля возвращается соответствующий код возврата REQUESTID_DUBLIC вместо
уникального идентификатора
(см. Таблица
«Значения, которые могут быть
переданы, если запрос не был обработан (передаются в ответ на метод
sendRequestSRP)ª).
Идентификатор сообщения позволяет в дальнейшем получить результат его
обработки в системе.
Тикет возвращается после успешной валидации запроса по схеме request.xsd
и до начала обработки документа в СББОЛ.
Такое сообщение не подписывается технологической подписью АС СББОЛ, так
как наложение ЭП сильно повлияет на время отклика и может привести к
ошибкам, связанным с превышением таймаута.
Результатом обработки сообщений-запросов на передачу документов в Банк
является создание в АС СББОЛ записей, соответствующих переданным документам.
Идентификаторы этих записей в АС СББОЛ могут быть затем переданы в УС
клиента.
С помощью идентификаторов записей впоследствии учетная система клиента
сможет запросить текущий статус документов.
Статус отражает текущий этап обработки документа на стороне Банка и может
быть промежуточным либо окончательным. (Окончательные статусы
документов в особых случаях могут быть изменены на стороне банка позднее.
В таком случае информация об этих документах включается в составе ответов
на запрос incoming(подробнее см.Документация по API УПШ 2 часть, п.п.
Получение изменений документа на конечных статусах).
Пример ШАГа 2: Получение ответа системы (тикет)
9478aa08-6079-4cec-81a4-04d362edc52f
2.6.2.2. Получение идентификатора документа в АС СББОЛ
Для того, чтобы запросить данные о текущем состоянии документа в АС СББОЛ,
необходимо знать уникальный идентификатор документа (уникальный идентификатор
записи в базах данных АС СББОЛ, содержащей данные документа). Для получения
уникального идентификатора документа должна быть выполнена следующая
последовательность шагов:
ШАГ 3:
На стороне клиента формируется список отправленных сообщений-запросов
на передачу документов в Банк, по которым еще не получен результат
обработки (идентификатор документа).
Каждому запросу соответствует полученное ответное служебное сообщение
(тикет). Составляется список тикетов. Каждый тикет соответствует
отправленному запросу на передачу документов. Формируется список тикетов
по переданным в АС СББОЛ документам.
Тикеты из списка передаются в веб-сервис канала УПШ при вызове метода
getRequestStatusSRP. В этом случае при вызове метода за один раз ему
может быть передано произвольное количество тикетов. Для этого требуется,
чтобы каждый тикет передавался в отдельном элементе <requests> (элемент,
содержащий входящие данные при вызове метода getRequestStatusSRP, в
соответствии с WSDL схемой). Таким образом, за один вызов метода может
быть передан весь список тикетов.
Пример ШАГа 3: Вызов метода getRequestStatusSRP, передача тикета системе
9478aa08-6079-4cec-81a4-04d362edc52f
ШАГ 4:
В ответ веб-сервис УПШ по каждому тикету из переданного списка синхронно
возвращает ответ. При отправке нескольких тикетов в процессе одного вызова
метода ответные сообщения возвращаются в порядке следования тикетов при
передаче их методу. Содержание ответных сообщений в зависимости от
ситуации может быть различно:
ШАГ 4А:
Если результат обработки исходного сообщения еще не готов, то
система по тикету возвращает информацию о том, что запрос еще не
был обработан.
Пример ШАГа 4А: Ответ системы «Исходное сообщение еще не обработаноª
<!--NOT PROCESSED YET-->
ШАГ 4B:
Если результат обработки исходного сообщения готов, веб-сервис УПШ
возвращает квитанцию, в которой для данного тикета указывается
идентификатор документа, статус delivered, текущие дату, время и
прочие данные. Квитанция заверена технологической подписью АС
СББОЛ.
Пример ШАГа 4B: Ответ системы «Идентификатор созданной по переданному
документу записи в базах АС СББОЛ и код состояния документаª
<?xml version="1.0" encoding="UTF-8"?>
<Response xmlns="http://bssys.com/upg/response" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:ns1="http://bss.ru/sbrfbus" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" createTime="2012-05-02T13:35:07"
requestId="9478aa08-6079-4cec-81a4-04d362edc52f" responseId="a5f465fb-0098-4640-b976-
3b0aeadfd58f" receiver="Ромашка" sender="DBO" version="0.1"
<Tickets>
<Ticket createTime="2012-05-02T13:35:07" docId="6d7c9c84-28a8-4334-8d74-
2bcc12aeb51b">
<Info docExtId="2dcb3631-4b1d-408d-9fc7-3701b2b0afe9" statusStateCode="DELIVERED"/>
<Sign>
<ISSUER>CN=VeriSign Class 3 Code Signing 2009-2 CA, OU=Term of use at
<SN>278369E0FFA74E9DC6D2</SN>
<Value>ZGVmYXVsdA==</Value>
</Sign>
</Ticket>
</Tickets>
</Response>
ШАГ 4C:
Если данные содержали ошибку, из-за которой исходное сообщение
(запрос на формирование документа) обработать не удалось (например,
было несоответствие форматов, даже при правильном содержании), то
в ответ будет отправлена квитанция с кодом состояния документа
«FAIL».
Пример ШАГа 4С: Ответ системы «Исходное сообщение не удалось обработать
из-за ошибкиª
<Response createTime="2013-10-02T13:42:40" receiver="unknown" requestId="9478aa08-6079-4cec-
81a4-04d362edc52f" responseId="bf3c2e2e-0035-48a5-869d-87a702540034" sender="DBO"
version="1.1" xmlns="http://bssys.com/upg/response">
<Tickets>
<Ticket createTime="2013-10-02T13:42:40">
<Info statusStateCode="FAIL">
<MsgFromBank author="UPG" message="invalid xml:SAXParseException:null:null[line:column]=[1:1]
message = Атрибутсодержимого (Content) нельзяуказыватьвпрологе.
"/>
</Info>
</Ticket>
</Tickets>
</Response>
2.6.2.3. Запрос состояния клиентских документов
Запрос состояния клиентских документов можно разделить на два процесса:
Отправка запроса состояний документов по полученным из СББОЛ
идентификаторам;
Получение результатов обработки по отправленным запросам.
Общая схема взаимодействия приведена на Рисунке 2.
Рисунок 2.Схемы взаимодействия систем при запросе состояний обработки документов
2.6.2.4.
Отправка запроса состояний документов по
полученным из СББОЛ идентификаторам
После того, как УС Клиента получила уникальный идентификатор документа из АС
СББОЛ, с его помощью можно получать из системы информацию об этапах
обработки документа на стороне Банка.
Примечание.
В целях поддержания актуальности информации о статусах документов в учетной
системе клиента необходимо учитывать признаки окончательности статусов
документов. При получении окончательных статусов учетная система должна
завершить опрос статуса в рамках описываемого процесса.
Для получения на клиентской стороне информации о статусе обработки документа
требуется отправить запрос состояния документа. Используется следующая
последовательность шагов:
ШАГ 5:
На стороне клиента формируется список исходных документов, для которых
необходимо получить данные о текущем состоянии, если они были ранее
переданы в Банк в сообщениях на передачу документов и по ним были
получены идентификаторы документов. Рекомендуется составлять список по
всем документам, которым еще не присвоен финальный статус, и состояние
обработки которых еще может измениться.
Идентификатор каждого документа помещается XML-контейнер согласно
формату request.xsd. Каждый идентификатор указывается как значение
атрибута Request/DocIds/DocId/@docId. Формируется xml-сообщение
Request/DocIds.
Все элементы с указанными атрибутами передаются в сформированном xml-
сообщении веб-сервису УПШ при вызове метода sendRequestsSRP.
Пример ШАГа 5: Вызов метода sendRequestsSRP, запрос текущего состояния
документа с переданным идентификатором
<?xml version="1.0" encoding="UTF-8"?>
<Request xmlns="http://bssys.com/upg/request" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Request" requestId="3299c9be-
a2ab-4a88-8ad0-3a0f7cd2efe8" orgId="24b70f22-703f-bf04-db60-bd110572f40d" version="1.0"
receiver="SBBOL_DBO">
<DocIds>
<DocId docId="6d7c9c84-28a8-4334-8d74-2bcc12aeb51b"/>
</DocIds>
</Request>
ШАГ 6:
В ответ веб-сервис УПШ синхронно возвращает служебное сообщение (тикет),
в котором указывается присвоенный принятому xml-сообщению
идентификатор. Идентификатор сообщения позволяет в дальнейшем получить
результат его обработки в системе. Тикет возвращается сразу (до начала
обработки запроса). Такое сообщение не подписывается технологической
подписью АС СББОЛ, так как наложение ЭП сильно повлияет на время
отклика и может привести к ошибкам, связанным с превышением таймаута.
Примечание.
Следует учесть, что в каждом запросе состояний документов может содержаться
множество идентификаторов документов, но в ответ будет возвращен тикет на
сообщение в целом: один запрос - один тикет, даже если в исходном запросе были
отправлены идентификаторы нескольких документов.
Пример ШАГа 6: Получение ответа системы (тикет)
7ed0e4cb-063f-4b53-83d4-a8772e8fbcce
2.6.2.5. Получение результатов обработки по отправленным
запросам
Для получения результатов запроса нужно вызвать метод getRequestStatusSRP и
передать тикет исходного запроса. Используется следующая последовательность
шагов:
ШАГ 7:
На стороне клиента формируется список отправленных сообщений-запросов
(запросов состояний клиентских документов), которые были переданы
системе.
Каждому запросу соответствует полученное ответное служебное сообщение
(тикет). Составляется список тикетов. Каждый тикет соответствует
отправленному запросу состояний одного или многих документов.
Формируется список тикетов по переданным в систему запросам.
Тикеты из списка передаются в веб-сервис канала УПШ при вызове метода
getRequestStatusSRP. В этом случае при вызове метода за один раз ему
может быть передано произвольное количество тикетов. Для этого требуется,
чтобы каждый тикет передавался в отдельном элементе <requests> (элемент,
содержащий входящие данные при вызове метода getRequestStatusSRP, в
соответствии с WSDL схемой). Таким образом, за один вызов метода может
быть передан весь список тикетов.
Пример ШАГа 7: Вызов метода getRequestStatusSRP, передача тикета системе
7ed0e4cb-063f-4b53-83d4-a8772e8fbcce
ШАГ 8:
В ответ веб-сервис УПШ по каждому тикету из переданного списка сразу
возвращает ответ. При отправке нескольких тикетов в процессе одного вызова
метода ответные сообщения возвращаются в порядке следования тикетов при
передаче их методу. Содержание ответных сообщений в зависимости от
ситуации может быть различно:
ШАГ 8А:
Если результат обработки исходного запроса состояний документов готов,
ответные сообщения содержат квитанции с данными о состояниях обработки
документов, идентификаторы которых были переданы в исходных запросах
состояний клиентских документов. Квитанции заверены технологической
подписью Банка.
Таким образом, в одном ответном сообщении может быть несколько
квитанций, по одной для каждого идентификатора из исходного запроса. В
квитанциях указан код текущего состояния документа, текущие дату и время, а
также, возможно, некоторые другие данные (например, указание на ошибки в
клиентском документе, если они были).
Сообщения передаются в составном элементе Response/Tickets, содержащем
квитанции в дочерних элементах Response/Tickets/Ticket, в соответствии с
форматом response.xsd.
Примечание
Важно понимать, что при вызове метода может быть передано много тикетов, а по
каждому тикету будет получено сообщение, в свою очередь, содержащие множество
квитанций (по числу идентификаторов, переданных в исходном запросе состояний
документов).
Пример ШАГа
8А: Ответ системы
«Код текущего состояния документа,
идентификатор которого был передан в исходном сообщенииª
<?xml version="1.0" encoding="UTF-8"?>
<Response xmlns="http://bssys.com/upg/response" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:ns1="http://bss.ru/sbrfbus" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" createTime="2012-05-02T13:35:07"
requestId="3299c9be-a2ab-4a88-8ad0-3a0f7cd2efe8" responseId="31da8d69-0e63-46fa-869f-
response.xsd">
<Tickets>
<Ticket createTime="2012-05-02T13:35:07" docId="6d7c9c84-28a8-4334-8d74-
2bcc12aeb51b">
<Info docExtId="2dcb3631-4b1d-408d-9fc7-3701b2b0afe9"
tatusStateCode="INVALIDEDS">
<MsgFromBank/>
</Info>
<Sign>
<ISSUER>CN=VeriSign Class 3 Code Signing 2009-2 CA, OU=Term of
use at
https://www.verisign.com/rpa (c)09, OU=Verisign Trust Network,
O=Verisign, Inc
C=US</ISSUER>
<SN>278369E0FFA74E9DC6D2</SN>
<Value>ZGVmYXVsdA==</Value>
</Sign>
</Ticket>
</Tickets>
</Response>
ШАГ 8B:
Если результат обработки исходного сообщения еще него готов, то система по
тикету возвращает информацию о том, что запрос еще не был обработан.
Примечание.
Если после исполнения документа в АБС, документ был отказан в расчётной системе,
то на запрос УС Клиента о подготовленных выписках СББОЛ должен вернуть вместе
с выписками квитанции с текущим состоянием документа в СББОЛ. Такая квитанция
возвращается только в случае, если УС Клиента сначала было получено сообщение
об исполнении документа, а потом документ был отказан в расчётной системе Банка.
Пример ШАГа 8В: Ответ системы «Исходное сообщение еще не обработаноª
<!--NOT PROCESSED YET-->
2.6.2.6. Взаимодействие при изменении финальных статусов
В случае присвоения документу финального статуса, учетной системе клиента не
требуется запрашивать обновление данного статуса, т.к. документ достигает
конечного этапа жизненного цикла, и дальнейших изменений не предполагается
(например, статус
«Исполнен»). Однако в некоторых редких случаях бывают
изменения также и на финальных статусах.
Если после исполнения документа в АБС документ был отказан в расчётной системе
(РС) Банка, то УС Клиента не будет запрашивать обновление статуса по этому
документу (для нее документ достиг финального статуса).
Поэтому информация о таких изменениях финальных статусов документов
передаётся в учетную систему клиента вместе с подготовленными выписками по
счетам. В ответ на попытку получить подготовленные выписки
(запрос
Request/Incoming) канал УПШ вернет вместе с выписками квитанции с текущим
(изменившимся) состоянием документа в АС СББОЛ. Такие квитанции возвращаются
только в случае, если учетной системе клиента ранее было передано сообщение об
успешном исполнении документа, а потом документ был отказан в расчётной
системе. Изменения финальных статусов документов будут возвращены, если в
запросе
Request/Incoming
отсутствует
параметр
Request/Incoming/@includeChangedDocs либо присутствует со значением “TRUE”.
Если же указанный параметр присутствует со значением “FALSE”, то изменения
финальных статусов документов не будут возвращены в УС Клиента.
Таким образом, если нужно сообщить об изменения статуса документа, уже после
того, как в учетную систему клиента была передана квитанция с кодом финального
статуса (например, «Исполнен»), то вместе с выписками по счету будет передана
квитанция с кодом нового статуса («Отказан АБС»). Формат квитанций по отказанным
в расчетной системе Банка документам аналогичен обычным квитанциям.
Рисунок
3. Схема процесса получения информации о результатах обработки клиентских
документов в случае изменения статуса после отправки в УС статуса «Исполненª (отказ в РС)
2.6.2.7. Получение документов из Банка (получение выписок по
счетам)
Получение документов из банка можно разделить на два процесса:
Отправка запроса на получение документов из Банка
Получение результатов обработки по отправленному запросу
Общая схема взаимодействия приведена на рисунке 3.
Рисунок 4. Схемы взаимодействия систем в рамках процесса получения выписки
2.6.2.8. Отправка запроса на получение документов из Банка
Для получения документов из Банка необходимо сначала отправить запрос на
получение готовых к отправке документов. Используется следующая
последовательность шагов:
ШАГ 13:
На стороне клиента формируется запрос на получение новых документов,
который представляет собой сообщение, содержащее элемент
Request/Incoming и электронную подпись сообщения в составном элементе
Request/Sign.
Запрос передается в Web-сервис УПШ при вызове метода sendRequestsSRP.
ПримерШАГа 13: Запрос sendRequestsSRP
<?xml version="1.0" encoding="UTF-8"?>
<Request xmlns="http://bssys.com/upg/request" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Request" requestId="3299c9be-
a2ab-4a88-8ad0-3a0f7cd2efe8" orgId="24b70f22-703f-bf04-db60-bd110572f40d" version="1.0"
receiver="SBBOL_DBO">
<Incoming/>
<Sign>
<Issuer>CN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>74431C03FC68F0F54973</SN>
<Value>dnenujcvma20d0W4S98ucGOcXAmFUYeevq2SVUapKbY6JdjrsGE4gvN5u6myqSBiAXj
dSD3xK3ZDoF7ixWIRmg==</Value>
<PcPropHash>ECCB0C2EA8F72D3961A9BADFC5BF67A4C1E3154A59F2CC39A62F9EA6976
426481DE75A977F79BD00CDE82E059126EBAA2B496D2F5C4182EF91EB9798EF62B32E</PcPropH
ash>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; </TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-
DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
<DevicePrint>version%3D3.4.1.0_1%26pm_fpua%3DWin64%7C0%7Cx64%7Cru%7C01.005.00
%26pm_fpsc%3D32%7C1600%7C900%7C1600%26pm_fpsw%3Dabk%3D6%2C1%2C7601%2C17514
%7Cwnt%3D6%2C1%2C7601%2C18952%7Cdht%3D11%2C0%2C9600%2C18376%7Cie5%3D%7Cibe
%3D11%2C0%2C9600%2C18376%7Cieh%3D11%2C0%2C9600%2C18376%7Ciee%3D6%2C3%2C96
00%2C18376%7Cwmp%3D12%2C0%2C7601%2C19148%7Cobp%3D11%2C0%2C9600%2C18376%7
Coex%3D6%2C1%2C7601%2C17514%7Cvbs%3D5%2C6%2C0%2C8833%26pm_fptz%3D3%26pm_fpl
n%3Dlang%3Dru%7Csyslang%3Dru%7Cuserlang%3Dru%26pm_fpjv%3D0%26pm_fpco%3D0%26pm_f
pasw%3D%26pm_fpan%3DSBB%26pm_fpacn%3DSBB%26pm_fpol%3Dfalse%26pm_fposp%3D%26p
m_fpup%3D%26pm_fpsaw%3D1600%26pm_fpspd%3D32%26pm_fpsbd%3D%26pm_fpsdx%3D96%26
pm_fpsdy%3D96%26pm_fpslx%3D96%26pm_fpsly%3D96%26pm_fpsfse%3Dfalse%26pm_fpsui%3D%2
6pm_os%3DWindows%26pm_brmjv%3D01.005.00%26pm_br%3DSBB%26pm_inpt%3D%26pm_expt%
3D</DevicePrint>
</Fraud>
<Order>0</Order>
<SignDate>2016-08-22T13:12:25</SignDate>
</Sign>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; </TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-
DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
</Fraud>
</Request>
ШАГ 14:
В ответ веб-сервис УПШ сразу возвращает служебное сообщение (тикет), в
котором указывается присвоенный принятому xml-сообщению идентификатор.
Идентификатор сообщения позволяет в дальнейшем получить результат его
обработки в системе. Тикет возвращается сразу (до начала обработки
запроса). Такое сообщение не подписывается технологической подписью АС
СББОЛ, так как наложение ЭП сильно повлияет на время отклика и может
привести к ошибкам, связанным с превышением таймаута.
Пример ШАГа
14: Получение ответа
- идентификатор запроса;
sendRequestsSRPResponse
3dbd2341-b6b3-471e-a3e1-169038619f2b
2.6.2.9. Получение результатов обработки по отправленному
запросу
Для выгрузки готовых документов после отправки запроса на получение документов
используется следующая последовательность шагов:
ШАГ 15:
На стороне клиента выбирается последний из отправленных запросов на
получение документов (сообщений с элементом Request/Incoming), на который
получен ответ из Банка и по которым еще не было выгрузки документов. При
запросах с одинаковыми параметрами «период» и «счет» ответы по
содержанию будут идентичны.
Подпись после декодирования из Base64 необходимо побайтно перевернуть
(т.е. первый байт становится последним, второй предпоследним и т.д.), для
того чтобы подпись, созданная с помощью криптобиблиотеки, принималась
токеном. Подпись сначала переворачивается, затем кодируется в Base64 и
«прикладывается» к Request/Incoming, в такой последовательности. В этом
случае проверка соответствия ЭП имеющемуся открытому ключу проходит
успешно. При «переворачивании» следует обратить внимание на то, чтобы не
добавились символы переводы строки и каретки. Валидация подписи
происходит на стороне Банка. Данный алгоритм преобразования подписи
также распространяется на любой запрос Request.
Определяется соответствующее запросу ответное служебное сообщение
(тикет).
Тикет из списка передается в веб-сервис канала УПШ при вызове метода
getRequestStatusSRP.
Пример ШАГа 15: Отправка идентификатора запроса; getRequestStatusSRP
3dbd2341-b6b3-471e-a3e1-169038619f2b
ШАГ 16:
В ответ веб-сервис УПШ сразу возвращает ответ, содержание которого в
зависимости от ситуации может быть различно:
ШАГ 16А:
Если результат обработки исходного запроса на получение документов готов,
то в ответ веб-сервис УПШ возвращает все документы, предназначенные для
данного клиента. Документы передаются в составных элементах, каждому виду
документов соответствует свой составной элемент согласно схеме
response.xsd.
Пример ШАГа 16А: Получение выписки
<?xmlversion="1.0" encoding="UTF-8"?>
requestId="8f108043-ebfd-4844-9e3f-1aac71ac0812" responseId="a5f465fb-0098-4640-b976-
3b0aeadfd58f" receiver="Ромашка" sender="DBO"version="0.1"
xsi:schemaLocation="http://bssys.com/upg/responseresponse.xsd">
<Statements>
<Statement acc="40802810400001000001" accountName="40802810400001000001"
author="1621" beginDate="2013-03-31" bic="044525225" creditSum="1024" creditSumNat="1024"
debetSum="1718" debetSumNat="1718" docId="1530883d-191b-4e40-8028-72f28b659698"
docNum="1364908563791" endDate="2013-03-31" enterBal="5636" orgName="ФИРМА Web4"
outBal="4942" stmtDateTime="2013-04-02T17:16:03" stmtType="6">
<Docs>
<TransInfo bankNumDoc="88888888" branchCode="ОСБ4"
carryDate="2013-03-31T00:00:00" dc="1" docCurr="810" docDate="2013-03-31T00:00:00"
docId="dc258395-6666-48ff-b86a-4308090a0c9e" docNum="722215" docSum="158"
payeeAcc="40911810250000000000" payeeBankBic="040507601"
payeeBankCorrAcc="30101810800000000601" payeeBankName="ПРИМОРСКОЕОРК N 8635
ГВЛАДИВОСТОК" payeeINN="2222222222" payeeName="ПриморскоеОРК N8635
г.Владивосток//олейниковаеленаалександровна //г.вл-кснеговая 111/10// БЕГУН"
payerAcc="40802810400001000001" payerBankBic="044525225"
payerBankCorrAcc="30101810400000000225"
payerBankName="СБЕРБАНКРОССИИОАОГ.МОСКВА" payerINN="9999999999"
payerName="ЗАОБЕГУН" paymentOrder="6" paytKind="электронно" purpose="Платеж (расход)
насумму 158.00 рублей" receiptDate="2013-03-31" transKind="01">
<DepartmentalInfocbc="18210101011011000110"
docDate="2013-03-31" docNo="722215" drawerStatus="02" kpp102="272202001" kpp103="772601001"
okato="11114444444" taxPaytKind="АШ" taxPeriod="КВ.01.2011"/>
<DiffDoc docDateCard="2011-03-15" docNumberCard="28"
docShifr="01" numPaymentCard="0" sumRestCard="0"/>
</TransInfo>
<TransInfo branchCode="ОСБ4" carryDate="2013-03-31T00:00:00"
dc="1" docCurr="810" docDate="2013-03-31T00:00:00" docId="f1babea4-fab5-4465-8f1f-2bc8f53ed8ff"
docNum="684" docSum="723" payeeAcc="40802810400001000002" payeeBankBic="044525225"
payeeBankCorrAcc="30101810400000000225" payeeBankName="СБЕРБАНКРОССИИОАОг.
МОСКВА" payeeINN="7715325264" payeeName="ЗАО"Бегун""
payerAcc="40802810400001000001" payerBankBic="044583119"
payerBankCorrAcc="30101810600000000119" payerBankName="ОАО"ТЮЛЬПАНЫ" г.
МОСКВА" payerName="ЗабарчукСергейЕвгеньевичр/с 40817810200000011321
вОАО"ТЮЛЬПАНЫ" г.МОСКВА" paymentOrder="5" paytKind="электронно"
purpose="Платеж (расход) насумму 723.00 рублей" receiptDate="2013-03-31" transKind="16">
<DepartmentalInfocbc="04811201000010000120"
docDate="2013-03-31" docNo="684" drawerStatus="01" kpp103="772601001" okato="45296556000"
taxPaytKind="ГП" taxPeriod="КВ.04.2011"/>
<DiffDoc docDateCard="2011-03-15" docNumberCard="28"
docShifr="01" numPaymentCard="0" sumRestCard="0"/>
</TransInfo>
</Docs>
<Sign>
<ISSUER>ISSUER</ISSUER>
<SN>746573743031</SN>
<Value>EctLXJkOomv4WDNclbQx7QgcQi46ryn9HgpCN7YNF4l6SN2CUEnE1v/uQ8BaS7NDKZ
y5YgtTdR5Fq4/q/OqJrA==</Value>
</Sign>
</Statement>
</Statements>
</Response>
ШАГ 16B:
Если результат обработки исходного запроса на получение документов еще не
готов, то возвращается сообщение о том, что запрос еще не был обработан в
системе.
Пример ШАГа 16B: Ответ «Исходное сообщение еще не обработаноª
<!--NOT PROCESSED YET-->
2.6.2.10.
Получение
результатов
обработки
по
отправленному запросу
Если результат обработки исходного запроса на получение документов имеет
слишком большой объем (объем определяется на стороне СББОЛ), то СББОЛ
разбивает ответ на n-количество пакетов и посылает в УПШ ответ, который содержит
информацию
о
количестве
пакетов
(элемент
Response/Tickets/Ticket/OtherParams/Param/@value),
наименовании
параметра
(элемент Response/Tickets/Ticket/OtherParams/Param/@name) и номер уникального
идентификатора запроса. При получении ответа с элементом Response/Tickets/Ticket с
заполненным атрибутом @statusStateCode = "RESPONSE_DIVISION" для получения
документов необходимо произвести вызов метода getResponsePartSRP.
Для получения заархивированных документов, разбитых на пакеты, из банка
используется следующая последовательность шагов:
ШАГ 17
На стороне клиента формируется n-количество запросов (n ровно количеству
пакетов, поступивших в ответе
Response/Tickets/Ticket/OtherParams/Param/@value).
Все сформированные таким образом xml-сообщения (строки) передаются в
запросе веб-сервису УПШ при вызове метода getResponsePartSRP.
ШАГ 17A
Вызов метода getResponsePartSRP
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:upg="http://upg.sbns.bssys.com/">
<soapenv:Header/>
<soapenv:Body>
<upg:getResponsePartSRP>
<upg:request>3b8f3db2-8862-4933-b8f8-db10d0a92608</upg:request>
<upg:part>2</upg:part>
<upg:sessionId>358fg6b2-8662-4977-bj48-db1d8uj4gbi7</upg:sessionId>
<upg:orgId>je8h4jni-2642-2835-bie9-4h0v00wbbbxc</upg:orgId>
</upg:getResponsePartSRP>
</soapenv:Body>
</soapenv:Envelope>
Где:
request - uuid исходного реквеста;
part - номер пакета (нумеруется с 1);
sessionId - uuid текущей сессии;
orgId - uuid организации, от имени которой отправлялся запрос.
ШАГ 17B
Выгрузка ответа от СББОЛ
В ответ веб-сервис УПШ сразу возвращает ответ в элементе
Response/ResponsePartSRP. Ответ содержит номер пакета и архив во вложении
в Base64. Архивирование происходит по алгоритму zip, как и при репликации
справочников из СББОЛ в УС Клиента. Описание элемента представлено
ниже:
Элемент
Описание элемента
Тип
Описани
Версионнос
Мн.
е типа
ть
Response
Ответ, разбитый на пакеты
Актуально с
[1]
версии 27
1
ResponsePart
Часть ответа на запрос
ResponseP
Актуально с
[0..1]
art
версии 27
*.1
@patr
Номер пачки (нумеруется с
xs:int
Актуально с
[0..1]
1)
версии 27
*.2
Attachment
Заархивированная
часть
Attachment
Изменено в
ответа
[0..1]
версии 30
Вложение
*.1
AttachmentName
Имя файла вложения
xs:string
[1]
Изменено в
[min: 1, max:
[0..1]
версии 29
64]
*.2
Description
Пользовательское описание
xs:string
файла вложения
Актуально с
[min: 1, max:
[0..1]
версии 27
1024]
*.3
Body
В бинарном представлении
xs:base64Bi
[1]
Изменено в
в сжатом и несжатом виде
nary
[0..1]
версии 30
*.4
FileSize
Размер вложенного файла в
xs:long
Актуально с
байтах
[0..1]
версии 27
*.5
FileDate
Дата создания файла
xs:dateTime
Актуально с
[0..1]
версии 27
ШАГ 17C
В каждом из этих архивов лежит заархивированная часть исходного запроса.
Для получения полного xml необходимо последовательно разархивировать все
части, вложения из архивов преобразовать в строки и провести конкатенацию
частей.
2.6.2.11. Пакетная отправка документов
При необходимости передачи большого количества документов в Банк в короткий
промежуток времени, можно последовательно вызывать метод sendRequestsSRP и
передавать за раз по одному xml-сообщению, содержащему по одному документу,
или в одном вызове метода sendRequestsSRP последовательно передать до 100
xml-сообщений, содержащих по одному документу. Во втором случае минимизируется
количество обращений к УПШ и объем генерируемого трафика, вследствие чего
повышается общая производительность взаимодействия. Однако в обоих случаях
работа с xml-сообщеними происходит последовательно, что не позволяет улучшить
скорость записи документов в БД для их последующей обработки.
Метод sendRequestPackage предоставляет возможность записи большого пакета
документов в БД Банка целиком, значительно сокращая время начала его обработки.
Основные особенности метода sendRequestPackage:
Поддерживает передачу всех имеющихся документов и технологических
запросов УПШ;
Возможна передача разных типов запросов в одном пакете;
Каждый запрос внутри пакета, должен быть подписан в соответствии с
правилами подписания и форматом, предусмотренным текущей
документацией;
Предусмотрено использование в структуре холдинга;
По умолчанию установлено ограничение в 100 xml-сообщений внутри пакета.
При вызове метода sendRequestPackage нужно передать в УПШ массив запросов, ID
организации, GUID пакета, ID сессии. В ответе sendRequestPackageResponse будет
передан GUID пакета.
Входные элементы
Элемент
Назначение
Тип параметра
Мн.
Версионность
Массив запросов
(например,
Request/PayDocRu,
Актуально с
packageRequest
xs:string
[0..100]
Request/PayRequest)
версии 32
Request/PayDocCur и т.д.
Идентификатор
основной
Актуально с
orgId
UuidSeparated
[0..1]
организации в ДБО
версии 32
Актуально с
packageGuid
Идентификатор пакета
xs:string
[0..1]
версии 32
Актуально с
sessionId
Идентификатор сессии
UuidSeparated
[0..1]
версии 32
Пример
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:upg="http://upg.sbns.bssys.com/">
<soapenv:Header/>
<soapenv:Body>
<upg:sendRequestPackage>
<upg:packageRequest>
<![CDATA[
<Request
orgId='ea54da8f-8225-4f06-a53f-6f9a19531fe3'
requestId='992eef03-9e03-4393-97c0-840a8a72c855'
version='01.007.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<PayDocRu docExtId='992eef03-9e03-4393-97c0-840a8a72c855' sentForSign='0'>
<AccDoc
accDocNo='11'
docDate='2016-06-23'
docSum='153'
transKind='01'
paytKind='электронно' priority='5'х
<PurposeхНДС 18%</Purposeх
</AccDoc>
<Payer inn='7728179740' personalAcc='40702810138000039076'>
<NameхОбщество с ограниченной ответственностью Θquot;ЯМ Интернешнл
(СНГ)Θquot;</Name>
<Bank bic='044525225' correspAcc='30101810400000000225'>
<NameхПАО СБЕРБАНК</Nameх
<BankCityхМОСКВА</BankCityх
<SettlementTypeхГ</SettlementTypeх
</Bank>
</Payer>
<Payee inn='7769288474' personalAcc='40702810738040113970'>
<Nameхтестовый получсатель</Nameх
<Bank bic='044525225' correspAcc='30101810400000000225'>
<NameхПАО СБЕРБАНК</Nameх
<BankCityхГ. МОСКВА</BankCityх
<SettlementTypeхГ</SettlementTypeх
</Bank>
</Payee>
<Credit flagTargetAssignment='0' flagUseOwnMeans='0'/>
</PayDocRu>
<Sign>
<IssuerхCN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>74431C03FC68F0F54973</SN>
<Value>dnenujcvma20d0W4S98ucGOcXAmFUYeevq2SVUapKbY6JdjrsGE4gvN5u6myqSBiAXjdSD3xK3ZDoF7
ixWIRmg==</Value>
<PcPropHash>ECCB0C2EA8F72D3961A9BADFC5BF67A4C1E3154A59F2CC39A62F9EA6976426481DE75A977
F79BD00CDE82E059126EBAA2B496D2F5C4182EF91EB9798EF62B32E</PcPropHash>
<Fraud>
<LoginхТестовый Пользователь</Loginх
<TokenInfo> BCRYPT;;;;;</TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
<DevicePrint>version%3D3.4.1.0_1%26pm_fpua%3DWin64%7C0%7Cx64%7Cru%7C01.005.00%26pm_fpsc
%3D32%7C1600%7C900%7C1600%26pm_fpsw%3Dabk%3D6%2C1%2C7601%2C17514%7Cwnt%3D6%2C1%2C
7601%2C18952%7Cdht%3D11%2C0%2C9600%2C18376%7Cie5%3D%7Cibe%3D11%2C0%2C9600%2C18376%7
Cieh%3D11%2C0%2C9600%2C18376%7Ciee%3D6%2C3%2C9600%2C18376%7Cwmp%3D12%2C0%2C7601%2
C19148%7Cobp%3D11%2C0%2C9600%2C18376%7Coex%3D6%2C1%2C7601%2C17514%7Cvbs%3D5%2C6%2C
0%2C8833%26pm_fptz%3D3%26pm_fpln%3Dlang%3Dru%7Csyslang%3Dru%7Cuserlang%3Dru%26pm_fpjv%3
D0%26pm_fpco%3D0%26pm_fpasw%3D%26pm_fpan%3DSBB%26pm_fpacn%3DSBB%26pm_fpol%3Dfalse%2
6pm_fposp%3D%26pm_fpup%3D%26pm_fpsaw%3D1600%26pm_fpspd%3D32%26pm_fpsbd%3D%26pm_fps
dx%3D96%26pm_fpsdy%3D96%26pm_fpslx%3D96%26pm_fpsly%3D96%26pm_fpsfse%3Dfalse%26pm_fpsui%
3D%26pm_os%3DWindows%26pm_brmjv%3D01.005.00%26pm_br%3DSBB%26pm_inpt%3D%26pm_expt%3
D</DevicePrint>
</Fraud>
<Order>0</Order>
<SignDate>2016-08-22T13:12:25</SignDate>
</Sign>
<Fraud>
<LoginхТестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;;</TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
</Fraud>
</Request>
>]]>
</upg:packageRequest>
<upg:orgId>5e218ae3-1969-4411-a9cf-b10c9f730e5c </upg:orgId>
<upg:packageGuid>7f6ee024-75c6-4782-b16f-bc23e071b142</upg:packageGuid>
<upg:sessionId>8976a4eb-04d9-43cd-bcd8-71327b8b973d</upg:sessionId>
</upg:sendRequestPackage>
</soapenv:Body>
</soapenv:Envelope>
Исходящие элементы
Элемент
Назначение
Тип параметра
Мн.
Версионность
Актуально с
return
Идентификатор пакета
xs:string
[1]
версии 32
Пример
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<sendRequestPackageResponse xmlns="http://upg.sbns.bssys.com/">
<return>7f6ee024-75c6-4782-b16f-bc23e071b142</return>
</sendRequestPackageResponse>
</soap:Body>
</soap:Envelope>
getRequestStatusPackage
- используется для получения статусов обработки
пакетов. При вызове метода, нужно передать GUID пакетов, ID сессии, ID
организации. В ответе getRequestStatusPackageResponse будет передан массив с
деталями обработки пакетов.
Входные элементы
Элемент
Назначение
Тип параметра
Мн.
Версионность
Актуально с
packageGuid
Идентификатор пакета
UuidSeparated
[0..100]
версии 32
Актуально с
sessionId
Идентификатор сессии
UuidSeparated
[0..1]
версии 32
Идентификатор
основной
Актуально с
orgId
UuidSeparated
[0..1]
организации в ДБО
версии 32
Пример
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:upg="http://upg.sbns.bssys.com/">
<soapenv:Header/>
<soapenv:Body>
<upg:getRequestStatusPackage>
<upg:packageGuid>7f6ee024-75c6-4782-b16f-bc23e071b142</upg:packageGuid>
<upg:sessionId>30d7cccc-f77f-48dd-b773-81afd8c9461a</upg:sessionId>
<upg:orgId>1d01ee23-4d18-44de-beaf-b13478797a40</upg:orgId>
</upg:getRequestStatusPackage>
</soapenv:Body>
</soapenv:Envelope>
Исходящие элементы
Элемент
Назначение
Тип параметра
Мн.
Версионность
Массив,
содержащий
Актуально с
Packages
информацию
[0..100]
версии 32
обработки по
пакетам документов
PackageRespo
Актуально с
Package
Пакет документов
[0..1]
*.1
nse
версии 32
Дата и время
Актуально с
@createTime
формирования
xs:string
[0..1]
*.1
версии 32
ответа
Уникальный
Актуально с
@packageGuid
идентификатор
UuidSeparated
[0..1]
*.2
версии 32
пакета
@statusPackageStateC
Статус обработки
Актуально с
xs:string
[0..1]
*.3
ode
пакета
версии 32
Описание статуса
Актуально с
@msgFromBank
xs:string
[0..1]
*.4
обработки
версии 32
RequestTypeF
Актуально с
Request
Запрос УС к СББОЛ
orPackageStat
[0..100]
*.5
версии 32
usResponse
Уникальный
Актуально с
@requestId
идентификатор
UuidSeparated
[0..1]
*.1
версии 32
запроса
Актуально с
@status
Код ошибки
xs:string
[0..1]
*.2
версии 32
Актуально с
@message
Описание ошибки
xs:string
[0..1]
*.3
версии 32
Пример
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getRequestStatusPackageResponse xmlns="http://upg.sbns.bssys.com/">
<Packages>
<Package
packageGuid="7f6ee024-75c6-4782-b16f-bc23e071b142"
statusPackageStateCode="REQUEST_DUBLIC" msgFromBank="Запрос уже присутствует в системе"х
<Request requestId="03140119-14ae-4d9b-80ac-935042dd1210" status="REQUEST_DUBLIC"/>
</Package>
</Packages>
</getRequestStatusPackageResponse>
</soap:Body>
</soap:Envelope>
Таблица - статусы обработки пакетов документов
Передаваемый
Описание операции на стороне
№
Описание
Версионнос
статус пакета
Банка
п/п
статуса пакета
ть
Ошибка вставки всего пакета в
1.
FAIL
Ошибка обработки
очередь обработки запросов.
запроса
Возвращается с описанием
Актуально с
ошибки.
версии 32
(статус окончательный - не
успешно)
2.
DELIVERED
Доставлен
Пакет доставлен, разложен на
запросы, но не все запросы
обработаны. Если уже
Актуально с
присутствуют не успешно
версии 32
обработанные запросы, в ответе
будет соответствующая
информация.
3.
IMPLEMENTED
Исполнен
Все запросы пакета обработаны.
Это не значит, что документы
успешно исполнены на банке. В
ответ включаются ошибки
обработки конкретных запросов
Актуально с
и их requestId, по успешным
версии 32
созданным документам ничего
не возвращается.
(статус окончательный -
успешно)
4.
REQUEST_DUBLIC
Запрос уже
Запрос уже присутствует в
присутствует в
системе
Актуально с
системе
версии 32
(статус окончательный - не
успешно)
5.
NOT_PROCESSED_
Запрос еще не
Пакет еще не зарегистрирован
YET
обработан
на Банке, необходимо повторить
Актуально с
опрос статуса пакета через
версии 32
некоторое время
Для получения информации об этапах обработки документа из пакета, УС Клиента
направляет стандартный запрос Request/DocIds.
Чтобы получить значение @docId для запроса Request/DocIds, нужно вызвать метод
getRequestStatusSRP, c использованием RequestId соответствующего запроса,
который был успешно отправлен в пакете (Пакет получил @statusPackageStateCode=
IMPLEMENTED, в котором не возникло ошибки по данному запросу).
2.6.2.12. Типы связанных документов
Во многих документах, например, в рублевом, валютном платежном поручении,
поручениях на покупку и продажу валюты и т.д. есть возможность указывать и
передавать в СББОЛ связанные документы в элементе LinkedDocs/LDoc. При этом
требуется указать тип документа в параметре LinkedDocs/LDoc/@type. В таблице
ниже представлены значения, которые могут передаваться в качестве значения
атрибута LinkedDocs/LDoc/@type и соответствующие им типы документов.
Таблица - Типы документов
Тип документа
Значение LinkedDocs/LDoc/@type
Версионность
Ведомость банковского контроля
InternalControlStatement
Добавлено в версии 30
Входящее платежное требование
0401061
Актуально с версии 27
Выписка по бизнес-счету
BACSTM
Актуально с версии 27
Выписка по валютному счету
CURRAccount
Актуально с версии 27
Выписка по зарплатной карте
CRDSTM
Актуально с версии 27
Выписка по рублевому счету
RURAccount
Актуально с версии 27
Выписки по кредитному договору
CreditContrStmnt
Актуально с версии 27
Договор АДМ
AdmContract
Актуально с версии 27
Досылаемый документ
supplyDoc
Актуально с версии 27
Запрос выписки по бизнес-счету и картам
CorpCardExtStatementRequest
Актуально с версии 27
Запрос выписки по кредитному договору
CreditContractStmRequest
Актуально с версии 27
Запрос задолженности на дату
CredContrDebtsReq
Актуально с версии 27
Запрос информации ВК
CurrControlInfoReq
Актуально с версии 27
Запрос информации по кредитному договору
CreditContractInfoRq
Актуально с версии 27
Запрос на выписку по валютному счету
RequestOfCURAccount
Актуально с версии 27
Запрос на выписку по рублевому счету
RequestOfAccount
Актуально с версии 27
Запрос на конверсию поступивших средств в
RequestOfConv
Актуально с версии 27
валюту счета
Запрос на новый сертификат
CertificateAddRequest
Актуально с версии 27
Запрос на новый
CertificateAddRequestQualified
Изменено в версии 29
сертификат(Квалифицированный)
Запрос на отзыв документа по валютному
RevocationCURDocument
Изменено в версии 32
счету
Запрос на отзыв документа по рублевому
RevocationDocument
Изменено в версии 32
счету
Запрос на отзыв сертификата
CertificateRecallRequest
Изменено в версии 29
Запрос на перегенерацию сертификата
CertificateChangeRequest
Изменено в версии 29
Запрос на регистрацию или обновление
SalaryAgreementUpdateRequest
Актуально с версии 27
зарплатного договора
Запрос справки
InquiryOrder
Актуально с версии 27
Заявка на выпуск зарплатных карт
CorpCard
Актуально с версии 27
Заявка на инкассацию
Encashment
Актуально с версии 27
Заявка на таможенный платеж
AppForPayCustDoc
Актуально с версии 27
Заявление о внесении изменений в сведения о
ContractChangeApplication
Добавлено в версии 30
контракте
Заявление о закрытии паспорта сделки
DealPassClose
Актуально с версии 27
Заявление о переоформлении паспорта
DealPassRestruct
Изменено в версии 30
сделки
Заявление о присоединении к условиям
AppForDepositNew
размещения денежных средств в виде
Добавлено в версии 30
депозита
Заявление о присоединении к условиям
PermBalanceNew
Добавлено в версии 30
размещения денежных средств в виде НСО
Заявление об акцепте/отказе от акцепта
0401004
Актуально с версии 27
Инкассовое поручение
CollectionLetter
Актуально с версии 27
Информационные сведения Клиента -
ISKForIP
Актуально с версии 27
индивидуального предпринимателя
Информационные сведения Клиента -
ISKForUL
Актуально с версии 27
юридического лица
Информация о кредитном договоре
CreditContract
Актуально с версии 27
Исходящее Платежное требование
0401061Cl
Актуально с версии 27
Карточки договоров депозита
DepositTabbed
Добавлено в версии 30
Операция внесения средств
AdmOperation
Актуально с версии 27
Паспорт сделки из другого банка
DealPassOtherBank
Изменено в версии 29
Паспорт сделки по контракту 138-И
DealPassCon138I
Изменено в версии 29
Паспорт сделки по кредитному договору 138-И
DealPassCred138I
Изменено в версии 29
Письмо в Банк
MessageInBank
Актуально с версии 27
Письмо для целей ВК (в банк)
CCMessageToBank
Актуально с версии 27
Письмо для целей ВК (из банка)
CCMessageFromBank
Актуально с версии 27
Письмо из Банка
MessageFromBank
Актуально с версии 27
Платежное поручение
0401060
Актуально с версии 27
Поручение на конверсию валют
CurrConv
Актуально с версии 27
Поручение на перевод валюты
PayDocCur
Актуально с версии 27
Поручение на покупку валюты
CurrBuy
Актуально с версии 27
Поручение на продажу валюты
CurrSell
Актуально с версии 27
Распоряжение на перевод кредитных средств
CreditTransfer
Актуально с версии 27
Распоряжение об осуществлении
MandatorySale
Актуально с версии 27
обязательной продажи
Регистрация нового сертификата
BankCertificateAddRequest
Изменено в версии 29
Реестр задолженностей
DebtRegistry
Добавлено в версии 30
Реестр платежей
FeesRegistry
Добавлено в версии 30
Реестр по уволившимся сотрудникам
RegOfFiredRequest
Добавлено в версии 30
Реестр пополнения средств по зарплатным
RegOfCorpCards
Актуально с версии 27
картам
Сведения о валютной операции
CurrencyOperationDetails
Добавлено в версии 30
Сделки НСО
PermBalanceTabbed
Добавлено в версии 30
Сообщение о подтверждении сделки
DealConf
Актуально с версии 27
Справка о валютных операциях по 138-И
CurrDealInq_138I
Изменено в версии 30
Справка о подтверждающих документах 181-И
ConfDocInq_138I
Добавлено в версии 30
Справка о подтверждающих документах по
ConfDocInq_138I
Изменено в версии 30
138-И
Уведомление о зачислении (поступлении)
CurrencyNotices
иностранной валюты на транзитный валютный
Актуально с версии 27
счет
Электронный реестр (Зарплатная ведомость)
LetterOfReg
Актуально с версии 27
Электронный реестр на открытие счетов и
SalaryContractRequest
Актуально с версии 27
выпуск карт
Электронный реестр на увольнение
RegOfFiredRequest
Актуально с версии 27
сотрудников
2.6.2.13. Режимы работы канала УПШ
Канал УПШ может работать в нескольких режимах, от текущего режима зависит
перечень доступных для УС Клиента услуг. Определить в каком режиме, в данный
момент, работает УПШ, можно по значению последнего параметра <return>, который
возвращается в ответе preLoginResponse/preLoginSignResponse, возможные
значения параметра приведены в таблице «Режимы работы УПШ».
Режимы работы УПШ
Название
Название в Base64
Описание
Версионность
Актуально с
MAIN
TUFJTg==
Полнофункциональный режим
версии 30
«Технологическое
окно»
c
ограниченным набором услуг.
Изменено в
STANDIN_9999
U1RBTkRJTl85OTk5
В
НАСТОЯЩЕЕ
ВРЕМЯ,
версии 33
ДОСТУПЕН ВЕСЬ ФУНКЦИОНАЛ
УПШ
Примеры получаемых значений:
<preLoginResponse xmlns="http://upg.sbns.bssys.com/">
<return>MTg4NTMxMmZhMA==</return>
<return>UdDLEjjYMcJxMjUVW+aayK77AAxW5thpsGCVbewk22Q=</return>
<return>NTcwNjM1ZjgtMGZjZC00YjEwLWEwMDMtNDVhY2M3ZTkwNjZk</return>
<return>AA==</return>
<return>TUFJTg==</return>
</preLoginResponse>
<preLoginSignResponse xmlns="http://upg.sbns.bssys.com/">
<return/>
<return>KWNNGSnmM9K/fiItRSdpxT4yDs3YXfUbBar+Mwfe6xg=</return>
<return>M2E3OGQzZjktMDg0Zi00OWMzLTkyNDgtM2MxNjkxM2I1Yzg2</return>
<return>AA==</return>
<return>U1RBTkRJTl85OTk5</return>
</preLoginSignResponse>
Услуги доступные в режиме STANDIN_9999
Название соответствующего
№
Наименование услуги
запроса к УПШ
1
Входящее платежное требование
PayRequest
2
Запрос на выписку по рублевому счету
StmtReqType
3
Заявление на акцепт/частичный акцепт/отказ от акцепта
Accept
4
Исходящее Платежное требование
PayRequest
5
Письмо в Банк
LetterInBank
6
Письмо из Банка
LettersFromBank
7
Платежное поручение
PayDocRu
8
Реестр задолженностей
DebtRegistry
9
Реестр платежей
FeesRegistry
10
Электронный реестр (Зарплатная ведомость)
SalaryDoc
11
Электронный реестр на открытие счетов и выпуск карт
RegOfIssCards
2.7. Особенности взаимодействия УС холдинга с УПШ
В УПШ реализован механизм работы с холдингами. Под холдингом, в данном случае,
понимается двухуровневая структура организаций, в которой присутствует одна
Головная компания и одна или несколько Дочерних компаний.
Основные отличительные особенности данного механизма:
1) Только Головная компания может подключаться к УПШ (получать sessionID),
направлять в УПШ запросы и получать ответы;
2) Дочерняя компания может создавать и подписывать XML-запросы;
3) Головная компания может получать выписки и другие документы,
подготовленные на стороне Банка для Дочерней компании, в том случае, если
запрос подписан у.з. Дочерней компании, при подписании запроса у.з.
Головной компании, возможно получение только выписок и почтовых
сообщений Дочерней компании;
4) Головная организация не может подписывать электронные документы,
отвечающие за расходные операции по дочерним счетам.
Таким образом, все документы Головной и Дочерних компаний отправляются в УПШ
по каналу связи, открытому пользователем Головной компании.
ВАЖНО: пользователь головной компании, в структуре холдинга, для отправки/
получения документов по дочерним зависимым организациям холдинга и получения
информации о них, должен проходить аутентификацию по электронной
подписи(ЭП).
В остальном, аутентификация пользователя Головной компании происходит по
стандартным алгоритмам, описанным в разделе
«Аутентификация и
авторизацияª.
Отправка запросов и получение ответов для Головной компании происходит по
стандартным алгоритмам, описанным в разделе «Передача документов в Банкª.
При отправке запросов Дочерней компании в заголовке запроса указывается orgId
Дочерней компании и сам запрос подписывается сертификатом/ами
пользователей, привязанных к Дочерней компании, как если бы эти запросы
отправляла сама Дочерняя компания. Если у головной компании собственные
счета открыты в более чем одном подразделении Банка то необходимо
учитывать, что в СББОЛе регистрируется независимые друг от друга учетные
записи организации (с индивидуальным набором пользователей) для группы счетов
по каждому такому подразделению. Головная компания определяет только ОДНУ
из пула таких учетных записей организаций на роль ГК холдинга.
Отсюда возможны следующие варианты:
-
Организационный - Объединить собственный счета головной компании под
одним подразделением банка;
-
Технический1 - В СББОЛе остальные организации с собственными счетами
головной компании добавить в настройки Головной компании в качестве счетов
дочерних компаний и работать с ними как со счетами дочерних компаний из
под единой авторизации пользователя головной компании.
-
Технический2 - Работать по каждой организации с собственными счетами
головной компании как с отдельной организацией - в этом случае авторизацию
выполнять пользователем привязанным к конкретной организации.
2.7.1. Получение персональных данных организации
(обязательно к
реализации на стороне клиента)
При первом запросе информации об организации
1) Головная компания отправляет пустой Request/PersonalInfo со значением
orgId='00000000-0000-0000-0000-000000000000'. В ответ приходит тикет.
2) Необходимо вызвать метод getRequestStatusSRP, с использованием тикета,
полученного в п.1. В ответ вернется Response/OrganizationsInfo, в котором
содержатся идентификаторы Дочерних организаций
Response/OrganizationsInfo/OrganizationInfo/OrgData/HoldingOrgs/Org [1..n]
3) Запрашивается детальная информация о Дочерних организациях. Для каждой
Дочерней организации отправляется свой запрос. При этом, в каждом из
запросов указывается Request/PersonalInfo с @orgId соответствующей
Дочерней организации.
4) В ответе Response/OrganizationsInfo на метод getRequestStatusSRP, с
использованием соответствущего тикета, приходит информация о Дочерней
организации.
При последующих запросах информации об организации Головная компания может
запрашивать информацию о себе или своих Дочерних компаниях, указывая orgId той
компании, о которой нужно получить информацию
Пример взаимодействия
Головная компания:
<ShortName>ООО "ИП9"</ShortName>
<OrgId>225a02d4-c2f3-4759-9ba3-85f7268671c4</OrgId>
40702810338170018413
Дочерняя компания:
<ShortName>ООО "ИП6"</ShortName>
<OrgId>cbc48d9a-95ec-46ad-9c6c-9a8f05d57e9b</OrgId>
40702810338040105171
1) ЗАПРОС:
<Request xmlns='http://bssys.com/upg/request'
orgId='00000000-0000-0000-0000-000000000000'
requestId='d9e8774c-71ef-4edc-b787-84a1af6492a8'
version='03.000.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<PersonalInfo/>
</Request>
2) ОТВЕТ:
<Response
sender="DBO"
version="7"
requestId="d9e8774c-71ef-4edc-b787-84a1af6492a8"
responseId="9443e664-c9f4-4b45-b74a-08e60a8113fa" createTime="2016-02-19T15:50:59.382+03:00"
xmlns="http://bssys.com/upg/response">
<OrganizationsInfo>
<OrganizationInfo>
<OrgData>
<OrgId>225a02d4-c2f3-4759-9ba3-85f7268671c4</OrgId>
<ShortName>ООО "ИП9"</ShortName>
<FinancialName>ООО "ИП9"</FinancialName>
<FullName>Общество
с
ограниченной
ответственностью
"ИП9"</FullName>
<VkFullName>Общество с ограниченной ответственностью
"ИП9</VkFullName>
<Accounts>
<Account accNum="40702810338170018413" accountType="01"
accountId="f804dab8-5778-46cd-93a9-90d7ec492f77">
<Bank bic="044525225">
<Name>ДО
№1686 Московского банка
Сбербанка России ОАО</Name>
<BankName>ПАО СБЕРБАНК</BankName>
<BankCity>Г. МОСКВА</BankCity>
<SettlementType>Г</SettlementType>
</Bank>
«
</Account>
«
</Accounts>
«
<HoldingOrgs>
<Org>cbc48d9a-95ec-46ad-9c6c-9a8f05d57e9b</Org>
</HoldingOrgs>
<OrgDataVersion>18</OrgDataVersion>
</OrgData>
«
<Sign>
<Issuer>E
= casbrf@sberbank.ru,2.5.4.33
= Тестирующий Q,CN
=
ЛавринСВ-Тестовая печать-УЦ-9,OU
= Удостоверяющий центр СБ РФ (Тестовый),O
= ОАО
"Сбербанк России",C = RU</Issuer>
<SN>73962A41020BA7F60715</SN>
<Value>Q7DQ0A/Y0zChnwMgUb4dkJ9fpkbayv0G4JQD0Fmuj5RqYa5CgT5KoTzXaaHFqTAUhd
/lI0j44Zl/EMfqzOI1kw==</Value>
<DigestName>for_upg</DigestName>
<DigestVersion>1</DigestVersion>
</Sign>
</OrganizationInfo>
</OrganizationsInfo>
</Response>
3) ЗАПРОС:
<Request
orgId='cbc48d9a-95ec-46ad-9c6c-9a8f05d57e9b'
requestId='da88634c-0e6b-4749-a15a-887f0d2fa61e'
version='03.000.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<PersonalInfo contractAccessCode='---'/>
</Request>
4) ОТВЕТ:
<Response
sender="DBO"
version="7"
requestId="da88634c-0e6b-4749-a15a-887f0d2fa61e"
responseId="35152936-6aa6-4606-935d-84173728f89a" createTime="2016-02-19T16:51:10.266+04:00"
xmlns="http://bssys.com/upg/response">
<OrganizationsInfo>
<OrganizationInfo>
<OrgData>
<OrgId>cbc48d9a-95ec-46ad-9c6c-9a8f05d57e9b</OrgId>
<ShortName>ООО "ИП6"</ShortName>
<FinancialName>ООО "ИП6"</FinancialName>
<FullName>Общество
с
ограниченной
ответственностью
"ИП6"</FullName>
<VkFullName>Общество с ограниченной ответственностью
"ИП6"</VkFullName>
<Accounts>
<Account accNum="40702810338040105171" accountType="01"
accountId="ff940ba9-4f2b-4067-b338-44a45784a47b">
<Bank bic="044525225">
<Name>ДО
№1536 Московского банка
Сбербанка России ОАО</Name>
<BankName>ПАО СБЕРБАНК</BankName>
<BankCity>Г. МОСКВА</BankCity>
<SettlementType>Г</SettlementType>
</Bank>
«
</Account>
«
</Accounts>
«
</OrgData>
«
<Sign>
<Issuer>E
= casbrf@sberbank.ru,2.5.4.33
= Тестирующий Q,CN
=
ЛавринСВ-Тестовая печать-УЦ-9,OU
= Удостоверяющий центр СБ РФ (Тестовый),O
= ОАО
"Сбербанк России",C = RU</Issuer>
<SN>73962A41020BA7F60715</SN>
<Value>PlGO33vFy5p3mY5H8VEtVYh6tT7dt8dPhmEID0cB+rZGgXZKDo3zNt+EO12YVY1L6JS
cBX1VdyK/1iokl1kv7A==</Value>
<DigestName>for_upg</DigestName>
<DigestVersion>1</DigestVersion>
</Sign>
</OrganizationInfo>
</OrganizationsInfo>
</Response>
2.7.2. Запрос справочников
В УПШ реализован запрос справочников только для Головной компании. Для
получения справочников Головная компания отправляет запрос Request/Dict, указав
в заголовке запроса свой orId.
Пример взаимодействия
ЗАПРОС
<Request
orgId='225a02d4-c2f3-4759-9ba3-85f7268671c4'
requestId='44e08d8f-bbc8-42a5-b728-7b74a4fe6402'
version='03.000.00'
sender="Ромашка"
receiver='SBBOL_DBO'>
<Dict dictId='SwiftBic'/>
</Request>
ОТВЕТ:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<Response
sender='DBO'
version='7'
requestId='44e08d8f-bbc8-42a5-b728-7b74a4fe6402'
responseId='757ee397-9146-469a-b8d6-d4e1a4e3d61e' createTime='2016-02-19T18:08:09.405+03:00'
xmlns='http://bssys.com/upg/response'>
<Dict dictId='SwiftBic'>
<Step order='1' stepId='5472416' postFix='/download/4af40a44-10e5-488c-9e93-
da4bd309572f'>
<Sign>
<Issuer> E
= casbrf@sberbank.ru,2.5.4.33
= Тестирующий Q,CN =
ЛавринСВ-Тестовая печать-УЦ-9,OU
= Удостоверяющий центр СБ РФ (Тестовый),O
= ОАО
"Сбербанк России",C = RU </Issuer>
<SN>73962A41020BA7F60715</SN>
<Value>YrhXu1MEarA4Pjm0JtxJeOOmjIJRFnbok4rI+tIUXn4xRfmih8xvETdOdqeRTW2g9sIJh/c2
A0vwOvzWbrgqgw==</Value>
<DigestName>for_upg</DigestName>
<DigestVersion>1</DigestVersion>
</Sign>
</Step>
</Dict>
</Response>
2.7.3. Запрос на выпуск сертификата для пользователя Дочерней компании
По данным полученным в ответ на Request/PersonalInfo определяется пользователь
и
его
криптопрофиль
(учетная
запись,
Response/OrganizationsInfo
/OrganizationInfo/SignDevice/SignDeviceID & CryptoTypeName=Инфокрипт) в рамках
которого требуется создать, а затем и активировать сертификат. В некоторых случаях
Клиенту может потребоваться регистрация дополнительных пользователей в АС
СББОЛ*, если задействовать существующие сертификаты ЭП сотрудников ДЗО по
каким то причинам не представляется возможным. При отправке запроса на выпуск
сертификата Request/CertifRequest для пользователя Дочерней компании в
заголовке запроса указывается orgId Дочерней компании. Для инициирования
создания сертификата ЭП Головная компания отправляет в УПШ запрос
Request/PersonalInfo, в заголовке которого указывает orgId Дочерней компании, для
которой был отправлен запрос на выпуск сертификата.
При отправке запроса на активацию сертификата, выпущенного для пользователя
Дочерней компании, Request/ActivateCert в заголовке запроса указывается orgId
Дочерней компании. *- Важное замечание
К одной учетной записи пользователя организации в СББОЛ может быть
привязано несколько действительных сертификатов ЭП, но только один из них
может быть активным для данного пользователя, т.е. с помощью которого
могут проверяться ЭП документов либо проводиться процедура авторизации.
Если специфика интеграционного решения у Клиента требует создания
дополнительных сертификатов электронных подписей (ЭП) для одного и того же
физического лица организации (пользователя СББОЛ)
- то для удовлетворения
данной потребности пользователю СББОЛ возможно создать дополнительную
учетную запись в рамках которой Клиент инициирует создание и активизирует
сертификат ЭП. Уникальность обоих учетных записей достигается за счет
уникального логина пользователя в СББОЛ. нее новый сертификат.
Пример взаимодействия
<Request
orgId='cbc48d9a-95ec-46ad-9c6c-9a8f05d57e9b'
requestId='c7b8dac3-ee45-4684-b3c9-65e0c9527ab8'
version='03.000.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<CertifRequest requestId='c7b8dac3-ee45-4684-b3c9-65e0c9527ab8' docDate='2016-02-19'
docNum='01' idCrypto='b319d572-2cb6-4173-9c48-df7e27c458c5' docExtId='c7b8dac3-ee45-4684-b3c9-
65e0c9527ab8'>
<CommonName>Тест ДЗО </CommonName>
<Organization>ООО "ИП6"</Organization>
<OrganizationUnit>27</OrganizationUnit>
<Locality>Москва</Locality>
<Country>RU</Country>
<Email>123@mail.ru</Email>
<Position>ДЗО</Position>
<Docs>
<Doc type='sign'>
<Attachment>
<AttachmentName>A2VN001R.p10</AttachmentName>
<Body>LS0tLd1JBTFROU3F1dFg2am84b0lYd0dSMVV2Ymd0S1pvSnpZcnpHYWNPQmhaS2s3
RjN2aVhHYlo5L0Nx
TmgKLzBMVjd1QzZTMUovT2xKWnU2cE10VmYzSUE3S3V3PT0KLS0t
LS1FTkQgQ01TLS0tLS0=</Body>
</Attachment>
<Params>
<Param name='bicryptId' value='A2VN001RsТестДЗО'/>
</Params>
</Doc>
<Doc type='sign'>
<Attachment>
<AttachmentName>A000BA02.p10</AttachmentName>
<Body>LS0tLS1CRUdJTiBDTVMtLS0tLQpNSUlMM3dZSktvWklodmNOQVFjQ29JSUwwRENDQ
zh3Q0FRRXhE
REQnBRb1Npd0g5ZQp3QWMraUJBeGpLQjREbUdBK3VhSzg3aXZ4QT09Ci
0tLS0tRU5EIENNUy0tLS0t
</Body>
</Attachment>
<Params>
<Param name='bicryptId' value='A000BA02sИвановИИДир'/>
</Params>
</Doc>
</Docs>
</CertifRequest>
</Request>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response
sender="DBO"
version="7"
requestId="e1060558-def6-4937-9786-deafb7084913"
responseId="50ebea89-dab9-49d4-ab48-bc0c6a7ecfda" createTime="2016-02-19T16:50:41.764+04:00"
xmlns="http://bssys.com/upg/response">
<Tickets>
<Ticket createTime="2016-02-19T16:50:42.060+04:00" docId="f3157c02-73f0-49bf-8b4f-
9b01f3dcf8bc">
<Info
docExtId="c7b8dac3-ee45-4684-b3c9-65e0c9527ab8"
statusStateCode="PUBLISHED_BY_BANK">
<BankDate/>
<MsgFromBank author="">
<Message/>
</MsgFromBank>
<AddInfo/>
</Info>
<Sign>
<Issuer>E
= casbrf@sberbank.ru,2.5.4.33
= Тестирующий Q,CN
=
ЛавринСВ-Тестовая печать-УЦ-9,OU
= Удостоверяющий центр СБ РФ (Тестовый),O
= ОАО
"Сбербанк России",C = RU</Issuer>
<SN>73962A41020BA7F60715</SN>
<Value>IHSxqszkGlmcW3cQ3xvR7wpSfyMvcQ5ITEH/OlcKLyZgwIVk8CwAyZApkr339F+ChukoK
JzQuDp6aZFNsvtoZA==</Value>
<DigestName>for_upg</DigestName>
<DigestVersion>1</DigestVersion>
</Sign>
</Ticket>
</Tickets>
</Response>
<Request
orgId='cbc48d9a-95ec-46ad-9c6c-9a8f05d57e9b'
requestId='da88634c-0e6b-4749-a15a-887f0d2fa61e'
version='03.000.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<PersonalInfo contractAccessCode='---'/>
</Request>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response
sender="DBO"
version="7"
requestId="da88634c-0e6b-4749-a15a-887f0d2fa61e"
responseId="35152936-6aa6-4606-935d-84173728f89a" createTime="2016-02-19T16:51:10.266+04:00"
xmlns="http://bssys.com/upg/response">
<OrganizationsInfo>
<OrganizationInfo>
<OrgData>
<OrgId>cbc48d9a-95ec-46ad-9c6c-9a8f05d57e9b</OrgId>
<ShortName>ООО "ИП6"</ShortName>
«
<SignDevice>
<SignDeviceId>b319d572-2cb6-4173-9c48-
df7e27c458c5</SignDeviceId>
<Alias>1381</Alias>
<ProfileName>Тест ДЗО</ProfileName>
<Post>ДЗО</Post>
<CryptotypeId>fedcba00-0001-0004-0007-
123456789000</CryptotypeId>
<CryptoTypeName>Инфокрипт</CryptoTypeName>
<SignUse>1</SignUse>
<Certificates>
<Certificate valid="1" active="0" root="0" bank="0"
client="1"
cryptoTypeId="1"
signDeviceId="b319d572-2cb6-4173-9c48-
df7e27c458c5">LS0tLS1CRUdJTiBDRVJUSUZJQ0FU0t0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ
0K</Certificate>
<Certificate valid="1" active="0" root="0" bank="0"
client="1"
cryptoTypeId="1"
signDeviceId="b319d572-2cb6-4173-9c48-
df7e27c458c5">LS0tLS1CRUdJTiBDRVJUSUZJQ0vSTVxWHlStRU5EIENFUlRJRklDQVRFLS0tLS0NCg
==</Certificate>
</Certificates>
</SignDevice>
«
</AuthPersons>
<Sign>
<Issuer>E
= casbrf@sberbank.ru,2.5.4.33
= Тестирующий Q,CN
=
ЛавринСВ-Тестовая печать-УЦ-9,OU
= Удостоверяющий центр СБ РФ (Тестовый),O
= ОАО
"Сбербанк России",C = RU</Issuer>
<SN>73962A41020BA7F60715</SN>
<Value>PlGO33vFy5p3mY5H8VEtVYh6tT7dt8dPhmEID0cB+rZGgXZKDo3zNt+EO12YVY1L6JS
cBX1VdyK/1iokl1kv7A==</Value>
<DigestName>for_upg</DigestName>
<DigestVersion>1</DigestVersion>
</Sign>
</OrganizationInfo>
</OrganizationsInfo>
</Response>
<Request
orgId='cbc48d9a-95ec-46ad-9c6c-9a8f05d57e9b'
requestId='5447d4fd-327e-4e93-8d9c-3d21816501c2'
version='03.000.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<ActivateCert>
<Issuer>CN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>7419AF3BBD54C86CF9CB</SN>
</ActivateCert>
</Request>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response sender="DBO"
version="7"
requestId="5447d4fd-327e-4e93-8d9c-3d21816501c2"
responseId="ba9f6816-c001-4f7e-9b6b-48bff3679d5d" createTime="2016-02-19T19:08:07.589+04:00"
xmlns="http://bssys.com/upg/response">
<Tickets>
<Ticket createTime="2016-02-19T19:08:07.542+04:00">
<Info statusStateCode="ACCEPTED">
<MsgFromBank author="UPG Service"/>
</Info>
<Sign>
<Issuer>E
= casbrf@sberbank.ru,2.5.4.33
= Тестирующий Q,CN
=
ЛавринСВ-Тестовая печать-УЦ-9,OU
= Удостоверяющий центр СБ РФ (Тестовый),O
= ОАО
"Сбербанк России",C = RU</Issuer>
<SN>73962A41020BA7F60715</SN>
<Value>ZP5YlQ/Hd2EDlPnLiuR3mnMycZFmO871ee+NiArkdiozL6za67HqT10p6r6hZae8Emn0sx
/+iN7cM9Av5r7vuw==</Value>
<DigestName>for_upg</DigestName>
<DigestVersion>1</DigestVersion>
</Sign>
</Ticket>
</Tickets>
</Response>
2.7.4. Запрос на формирование выписки по счету Дочерней компании
Головная компания может отправлять запрос на формирование выписки
Request/StmtReq по счетам дочерней компании. При этом в заголовке запроса
указывается orgId Головной компании и сам запрос подписывается ЭП пользователя
Головной компании. В ответ УС получает квитанцию Response/Tickets/Ticket с
состоянием запроса на формирование выписки. В остальном запрос соответствует
клиентскому запросу выписки (подробнее в ч.3 документации АПИ УПШ раздел
«Клиентский запрос выписки»).
Пример взаимодействия
ЗАПРОС:
<Request
orgId='225a02d4-c2f3-4759-9ba3-85f7268671c4'
requestId='1a04d9d6-019c-48a8-8148-26af02c5311e'
version='03.000.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<StmtReq
docExtId='1a04d9d6-019c-48a8-8148-26af02c5311e'
createTime='2016-01-
28T12:49:53' beginDate='2016-01-28' endDate='2016-01-28' stmtType='101' orgName='ООО
"ИП9"'>
<Accounts>
<Account bic='044525225' docNum='1'>40702810338040105171</Account>
</Accounts>
</StmtReq>
<Sign>
<Issuer>CN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>73B0BB975A645A2BFE54</SN>
<Value>B7KfRpcBl+Uzb7nGm/BdnmqEdP8QMxX94wAcjfhHpsNhwoYhGZOsGkaiZJWzLGDl5D
eoGIibZfUYROtz5gi8Lw==</Value>
<PcPropHash>ECCB0C2E6EBAA2B496D2F5C4182EF91EB9798EF62B32E</PcPropHash>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; </TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-
DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
<DevicePrint>version%3D3.4.1.0_1%26pm_fpua%3DWin64%7C0%7Cx64%7Cru%7C01.005.00
%26pm_fpsc%3D32%7C1600%7C900%7C1600%26pm_fpsw%3Dabk%3D6%2C1%2C7601%2C17514
%7Cwnt%3D6%2C1%2C7601%2C18952%7Cdht%3D11%2C0%2C9600%2C18376%7Cie5%3D%7Cibe
%3D11%2C0%2C9600%2C18376%7Cieh%3D11%2C0%2C9600%2C18376%7Ciee%3D6%2C3%2C96
00%2C18376%7Cwmp%3D12%2C0%2C7601%2C19148%7Cobp%3D11%2C0%2C9600%2C18376%7
Coex%3D6%2C1%2C7601%2C17514%7Cvbs%3D5%2C6%2C0%2C8833%26pm_fptz%3D3%26pm_fpl
n%3Dlang%3Dru%7Csyslang%3Dru%7Cuserlang%3Dru%26pm_fpjv%3D0%26pm_fpco%3D0%26pm_f
pasw%3D%26pm_fpan%3DSBB%26pm_fpacn%3DSBB%26pm_fpol%3Dfalse%26pm_fposp%3D%26p
m_fpup%3D%26pm_fpsaw%3D1600%26pm_fpspd%3D32%26pm_fpsbd%3D%26pm_fpsdx%3D96%26
pm_fpsdy%3D96%26pm_fpslx%3D96%26pm_fpsly%3D96%26pm_fpsfse%3Dfalse%26pm_fpsui%3D%2
6pm_os%3DWindows%26pm_brmjv%3D01.005.00%26pm_br%3DSBB%26pm_inpt%3D%26pm_expt%
3D</DevicePrint>
</Fraud>
<Order>0</Order>
<SignDate>2016-01-28T12:49:56</SignDate>
</Sign>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; </TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-
DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
</Fraud>
</Request>
<sendRequestsSRPResponse xmlns="http://upg.sbns.bssys.com/">
<return>1a04d9d6-019c-48a8-8148-26af02c5311e</return>
</sendRequestsSRPResponse>
<getRequestStatusSRP xmlns="http://upg.sbns.bssys.com/">
<requests>1a04d9d6-019c-48a8-8148-26af02c5311e</requests>
<sessionId>e1fb8c0b-b94f-4abe-bae9-29958b4f22f5</sessionId>
<orgId>225a02d4-c2f3-4759-9ba3-85f7268671c4</orgId>
</getRequestStatusSRP>
<Response sender="DBO"
version="7"
requestId="1a04d9d6-019c-48a8-8148-26af02c5311e"
responseId="6baa1741-de17-4456-a560-6e03a87833c0" createTime="2016-01-28T12:51:53.556+03:00"
xmlns="http://bssys.com/upg/response">
<Tickets>
<Ticket createTime="2016-01-28T12:51:53.540+03:00" docId="1a04d9d6-019c-48a8-
8148-26af02c5311e">
<Info
docExtId="1a04d9d6-019c-48a8-8148-26af02c5311e"
statusStateCode="DELIVERED">
<MsgFromBank author="UPG Service"/>
</Info>
<Sign>
<Issuer> E
= casbrf@sberbank.ru,2.5.4.33
= Тестирующий Q,CN =
ЛавринСВ-Тестовая печать-УЦ-9,OU
= Удостоверяющий центр СБ РФ (Тестовый),O
= ОАО
"Сбербанк России",C = RU </Issuer>
<SN>73962A41020BA7F60715</SN>
<Value>YrhXu1MEarA4Pjm0JtxJeOOmjIJRFnbok4rI+tIUXn4xRfmih8xvETdOdqeRTW2g9sIJh/c2
A0vwOvzWbrgqgw==</Value>
<DigestName>for_upg</DigestName>
<DigestVersion>1</DigestVersion>
</Sign>
</Ticket>
</Tickets>
</Response>
ЗАПРОС:
<Request
orgId='225a02d4-c2f3-4759-9ba3-85f7268671c4'
requestId='7605f494-fe75-43bf-ad58-2df71ed75196'
version='03.000.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<DocIds>
<DocId docId='1a04d9d6-019c-48a8-8148-26af02c5311e'/>
</DocIds>
</Request>
ОТВЕТ:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response
sender="DBO"
version="7"
requestId="7605f494-fe75-43bf-ad58-2df71ed75196"
responseId="755ad9c2-dd1e-4fc7-90c0-af391fc9c72f"
createTime="2016-02-19T15:50:39.336+03:00"
xmlns="http://bssys.com/upg/response">
<Tickets>
<Ticket createTime="2016-02-19T15:50:39.445+03:00" docId="1a04d9d6-019c-48a8-
8148-26af02c5311e">
<Info
docExtId="1a04d9d6-019c-48a8-8148-26af02c5311e"
statusStateCode="ACCEPTED_BY_ABS">
<BankDate receiptDate="2016-01-28"/>
<MsgFromBank author="system">
<Message>Успешно:
1
из
1
Успешно:
1
из
1
</Message>
</MsgFromBank>
</Info>
</Ticket>
</Tickets>
</Response>
2.7.5. Запрос выписок и других документов для Дочерней компании
Головная организация может получать сформированные выписки по счетам Дочерней
компании, отправив запрос Request/Incoming без указания счетов или с указанием
счетов
Дочерней
компании
в
качестве
значений
элемента
Request/Incoming/Accounts/Account. При этом, если в заголовке запроса указан
orgId Дочерней компании и сам запрос подписан ЭП пользователя Дочерней
компании, то в ответ придут выписки и другие документы (Письма из Банка, Новости,
Идентификаторы документов, статусы которых могли измениться позднее, Настройки
организации и т.д.) Дочерней компании. Если в заголовке запроса указан orgId
Головной компании и сам запрос подписан ЭП пользователя Головной компании, то в
ответ
придут
выписки
по
запрошенным счетам,
указанным
в
Request/Incoming/Accounts либо по счетам Головной компании и другие документы
(Настройки организации, Письма из Банка, Новости, Настройки организации и т.д.)
Головной компании (подробное описание запроса находится в ч.3 документации АПИ
УПШ раздел «Запрос на получение ежедневной выписки и других документов,
сформированных на стороне СББОЛ»).
Пример взаимодействия
Запрос документов головной компании
<Request
orgId='225a02d4-c2f3-4759-9ba3-85f7268671c4'
requestId='223e010a-5bdf-43cb-b7d5-7e33f6289d66'
version='03.000.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<Incoming correspondentDictStepId='0' lastIncomingTime='2016-01-28T14:46:14'/>
<Sign>
<Issuer>CN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>73B0BB975A645A2BFE54</SN>
<Value>Jv5fzpFPy9wSZ1VyNrf3IkJui56zTe7OVqp8v+oyuv8INQsUkXrwxMk7YTPEal/f26oqpQ4S
+xIuCaZAr075pw==</Value>
<PcPropHash>ECCB0C2EA8F72D3961A9BADFC5BF67A4C1E3154A59F2CC39A62F9EA6976
426481DE75A977F79BD00CDE82E059126EBAA2B496D2F5C4182EF91EB9798EF62B32E</PcPropH
ash>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; </TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-
DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
<DevicePrint>version%3D3.4.1.0_1%26pm_fpua%3DWin64%7C0%7Cx64%7Cru%7C01.005.00
%26pm_fpsc%3D32%7C1600%7C900%7C1600%26pm_fpsw%3Dabk%3D6%2C1%2C7601%2C17514
%7Cwnt%3D6%2C1%2C7601%2C18952%7Cdht%3D11%2C0%2C9600%2C18376%7Cie5%3D%7Cibe
%3D11%2C0%2C9600%2C18376%7Cieh%3D11%2C0%2C9600%2C18376%7Ciee%3D6%2C3%2C96
00%2C18376%7Cwmp%3D12%2C0%2C7601%2C19148%7Cobp%3D11%2C0%2C9600%2C18376%7
Coex%3D6%2C1%2C7601%2C17514%7Cvbs%3D5%2C6%2C0%2C8833%26pm_fptz%3D3%26pm_fpl
n%3Dlang%3Dru%7Csyslang%3Dru%7Cuserlang%3Dru%26pm_fpjv%3D0%26pm_fpco%3D0%26pm_f
pasw%3D%26pm_fpan%3DSBB%26pm_fpacn%3DSBB%26pm_fpol%3Dfalse%26pm_fposp%3D%26p
m_fpup%3D%26pm_fpsaw%3D1600%26pm_fpspd%3D32%26pm_fpsbd%3D%26pm_fpsdx%3D96%26
pm_fpsdy%3D96%26pm_fpslx%3D96%26pm_fpsly%3D96%26pm_fpsfse%3Dfalse%26pm_fpsui%3D%2
6pm_os%3DWindows%26pm_brmjv%3D01.005.00%26pm_br%3DSBB%26pm_inpt%3D%26pm_expt%
3D</DevicePrint>
</Fraud>
<Order>0</Order>
<SignDate>2016-02-01T16:34:05</SignDate>
</Sign>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; </TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-
DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
</Fraud>
</Request>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response
sender="DBO"
version="7"
requestId="223e010a-5bdf-43cb-b7d5-7e33f6289d66"
responseId="3f408f13-2834-4bb4-a421-481ae60f92df" createTime="2016-02-01T17:34:12.758+04:00"
xmlns="http://bssys.com/upg/response">
<Statements>
<Statement
stmtType="6"
endDate="2016-01-28"
beginDate="2016-01-28"
outBalNat="77777.77"
outBal="77777.77"
enterBalNat="88888.88"
enterBal="88888.88"
acc="40702810338040105171" datePLast="2012-02-10" lastMovetDate="2012-02-10" bic="044525225"
stmtDateTime="2016-01-29T13:46:00+04:00"
docId="90f8ecbc-ddd8-4de4-bb3c-b7189fd5f88a"
creditSumNat="0" debetSumNat="34827.05" creditSum="0" debetSum="34827.05" orgName="ООО
"ИП6"" accountName="OOOTESTLT">
<Docs>
<TransInfo
payerBankBic="044525225"
payerBankCorrAcc="30101810400000000225" payerBankName="ПАО СБЕРБАНК" payeeKPP="0"
payeeName="Индивидуальный
предприниматель
Сумароков
Андрей
Валерьевич"
payeeAcc="40802810338060058263" payeeINN="010100142904" recDate="2016-01-29" dpp="2016-01-
29" receiptDate="2016-01-29" signDate="2016-01-29" chargeOffDate="2016-01-29" payerKPP="0"
payerName="ООО "ИП6"" payerAcc="40702810338040105171" payerINN="7749661426"
carryDate="2016-01-29T13:46:00+04:00" bankNumDoc="5" transKind="01" paytKind="электронно"
paymentOrder="6" branchCode="000002" purpose="VO12010PS65651651/1481/1132/6/0 For the
Horde! 18 % - 22.89" docSumNat="3460.82" docSum="3460.82" docCurr="810" docDate="2016-01-
29T00:00:00+04:00" docNum="5" dc="1" payeeBankBic="44525225">
<DepartmentalInfo kpp102="0" kpp103="0"/>
<DiffDoc/>
<Params>
<Param value="ПАО "Сбербанк России""
name="StampBankName"/>
<Param
value="Московский
банк
ОАО
"Сбербанка России"" name="StampBranch"/>
<Param value="Универсальный дополнительный офис
№1686" name="StampSubBranch"/>
<Param value="БИК044525225" name="StampBIC"/>
<Param value="ПРОВЕДЕНО" name="StampStatus"/>
<Param value="29.01.2016" name="StampDate"/>
</Params>
</TransInfo>
<TransInfo
payerBankBic="044525225"
payerBankCorrAcc="30101810400000000225" payerBankName="ПАО СБЕРБАНК" payeeKPP="0"
payeeName="Индивидуальный
предприниматель
Сумароков
Андрей
Валерьевич"
payeeAcc="40802810338060058263" payeeINN="010100142904" recDate="2016-01-29" dpp="2016-01-
29" receiptDate="2016-01-29" signDate="2016-01-29" chargeOffDate="2016-01-29" payerKPP="0"
payerName="ООО "ИП6"" payerAcc="40702810338040105171" payerINN="7749661426"
carryDate="2016-01-29T13:46:00+04:00" bankNumDoc="1" transKind="01" paytKind="электронно"
paymentOrder="6" branchCode="000002" purpose="VO12010PS65651651/1481/1132/6/0 For the
Horde! 18 % - 22.89" docSumNat="7140.23" docSum="7140.23" docCurr="810" docDate="2016-01-
29T00:00:00+04:00" docNum="1" dc="1" payeeBankBic="44525225">
<DepartmentalInfo kpp102="0" kpp103="0"/>
<DiffDoc/>
<Params>
<Param value="ПАО "Сбербанк России""
name="StampBankName"/>
<Param
value="Московский
банк
ОАО
"Сбербанка России"" name="StampBranch"/>
<Param value="Универсальный дополнительный офис
№1686" name="StampSubBranch"/>
<Param value="БИК044525225" name="StampBIC"/>
<Param value="ПРОВЕДЕНО" name="StampStatus"/>
<Param value="29.01.2016" name="StampDate"/>
</Params>
</TransInfo>
<TransInfo
payerBankBic="044525225"
payerBankCorrAcc="30101810400000000225" payerBankName="ПАО СБЕРБАНК" payeeKPP="0"
payeeName="Индивидуальный
предприниматель
Сумароков
Андрей
Валерьевич"
payeeAcc="40802810338060058263" payeeINN="010100142904" recDate="2016-01-29" dpp="2016-01-
29" receiptDate="2016-01-29" signDate="2016-01-29" chargeOffDate="2016-01-29" payerKPP="0"
payerName="ООО "ИП6"" payerAcc="40702810338040105171" payerINN="7749661426"
carryDate="2016-01-29T13:46:00+04:00" bankNumDoc="3" transKind="01" paytKind="электронно"
paymentOrder="6" branchCode="000002" purpose="VO12010PS65651651/1481/1132/6/0 For the
Horde! 18 % - 22.89" docSumNat="7307.47" docSum="7307.47" docCurr="810" docDate="2016-01-
29T00:00:00+04:00" docNum="3" dc="1" payeeBankBic="44525225">
<DepartmentalInfo kpp102="0" kpp103="0"/>
<DiffDoc/>
<Params>
<Param value="ПАО "Сбербанк России""
name="StampBankName"/>
<Param
value="Московский
банк
ОАО
"Сбербанка России"" name="StampBranch"/>
<Param value="Универсальный дополнительный офис
№1686" name="StampSubBranch"/>
<Param value="БИК044525225" name="StampBIC"/>
<Param value="ПРОВЕДЕНО" name="StampStatus"/>
<Param value="29.01.2016" name="StampDate"/>
</Params>
</TransInfo>
</Docs>
<InfoForStamp>
<BankName>ПАО "Сбербанк России"</BankName>
<BranchName>Московский
банк
ОАО
"Сбербанка
России"</BranchName>
<SubBranchName>Универсальный
дополнительный
офис
№1686</SubBranchName>
<SubBranchNum>Московский
банк
Сбербанка
России
ОАО</SubBranchNum>
</InfoForStamp>
<BlockedInfo/>
<OverAccInfo accountState="Открыт" restLimit="0" limit="0"/>
<Sign>
<Issuer>E
= casbrf@sberbank.ru,2.5.4.33
= Тестирующий Q,CN
=
ЛавринСВ-Тестовая печать-УЦ-9,OU
= Удостоверяющий центр СБ РФ (Тестовый),O
= ОАО
"Сбербанк России",C = RU</Issuer>
<SN>73962A41020BA7F60715</SN>
<Value>CmIeq/sNbrRe6DyUzWPerjSBkoz9VLnQrmJ0kAlueqBc+IdNBHzvPzjtA8c2B/HTv2s/WY
hE6Wr3aomGNwAhew==</Value>
<DigestName>for_upg</DigestName>
<DigestVersion>1</DigestVersion>
</Sign>
</Statement>
</Statements>
</Response>
Запрос документов дочерней компании
<Request
orgId='cbc48d9a-95ec-46ad-9c6c-9a8f05d57e9b'
requestId='223e010a-5bdf-43cb-b7d5-7e33f6289d67'
version='03.000.00'
sender='Ромашка'
receiver='SBBOL_DBO'>
<Incoming correspondentDictStepId='0' lastIncomingTime='2016-01-28T14:46:14'/>
<Sign>
<Issuer>CN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>73B0BB975A645A2BFE54</SN>
<Value>Jv5fzpFPy9wSZ1VyNrf3IkJui56zTe7OVqp8v+oyuv8INQsUkXrwxMk7YTPEal/f26oqpQ4S
+xIuCaZAr075pw==</Value>
<PcPropHash>ECCB0C2EA8F72D3961A9BADFC5BF67A4C1E3154A59F2CC39A62F9EA6976
426481DE75A977F79BD00CDE82E059126EBAA2B496D2F5C4182EF91EB9798EF62B32E</PcPropH
ash>
<Order>0</Order>
<SignDate>2016-02-01T16:34:05</SignDate>
</Sign>
</Request>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response
sender="DBO"
version="7"
requestId="223e010a-5bdf-43cb-b7d5-7e33f6289d67"
responseId="3f408f13-2834-4bb4-a421-481ae60f92df" createTime="2016-02-01T17:34:12.758+04:00"
xmlns="http://bssys.com/upg/response">
<Statements>
<Statement
stmtType="6"
endDate="2015-12-25"
beginDate="2015-12-25"
outBalNat="77777.77"
outBal="77777.77"
enterBalNat="88888.88"
enterBal="88888.88"
acc="40702810338170018413" datePLast="2012-02-10" lastMovetDate="2012-02-10" bic="044525225"
stmtDateTime="2016-01-29T13:46:00+04:00"
docId="2adc9a35-2f39-4c77-8c8d-ed4dc0038c46"
creditSumNat="0" debetSumNat="4392.51" creditSum="0" debetSum="4392.51" orgName="ООО
"ИП9"" accountName="OOOTESTLT">
<Docs>
<TransInfo
payerBankBic="044525225"
payerBankCorrAcc="30101810400000000225" payerBankName="ПАО СБЕРБАНК" payeeKPP="0"
payeeName="Индивидуальный
предприниматель
Сумароков
Андрей
Валерьевич"
payeeAcc="40802810338060058263" payeeINN="010100142904" recDate="2016-01-29" dpp="2016-01-
29" receiptDate="2016-01-29" signDate="2016-01-29" chargeOffDate="2016-01-29" payerKPP="0"
payerName="ООО "ИП9"" payerAcc="40702810338170018413" payerINN="7733794205"
carryDate="2016-01-29T13:46:00+04:00" bankNumDoc="1" transKind="01" paytKind="электронно"
paymentOrder="6" branchCode="000002" purpose="VO12010PS65651651/1481/1132/6/0 For the
Horde! 18 % - 22.89" docSumNat="4392.51" docSum="4392.51" docCurr="810" docDate="2016-01-
29T00:00:00+04:00" docNum="1" dc="1" payeeBankBic="44525225">
<DepartmentalInfo kpp102="0" kpp103="0"/>
<DiffDoc/>
<Params>
<Param value="ПАО "Сбербанк России""
name="StampBankName"/>
<Param
value="Московский
банк
ОАО
"Сбербанка России"" name="StampBranch"/>
<Param value="Универсальный дополнительный офис
№1686" name="StampSubBranch"/>
<Param value="БИК044525225" name="StampBIC"/>
<Param value="ПРОВЕДЕНО" name="StampStatus"/>
<Param value="29.01.2016" name="StampDate"/>
</Params>
</TransInfo>
</Docs>
<InfoForStamp>
<BankName>ПАО "Сбербанк России"</BankName>
<BranchName>Московский
банк
ОАО
"Сбербанка
России"</BranchName>
<SubBranchName>Универсальный
дополнительный
офис
№1686</SubBranchName>
<SubBranchNum>Московский
банк
Сбербанка
России
ОАО</SubBranchNum>
</InfoForStamp>
<BlockedInfo/>
<OverAccInfo accountState="Открыт" restLimit="0" limit="0"/>
<Sign>
<Issuer>E
= casbrf@sberbank.ru,2.5.4.33
= Тестирующий Q,CN
=
ЛавринСВ-Тестовая печать-УЦ-9,OU
= Удостоверяющий центр СБ РФ (Тестовый),O
= ОАО
"Сбербанк России",C = RU</Issuer>
<SN>73962A41020BA7F60715</SN>
<Value>L92wmEXLgbuqNS4NgUAWeKTbZsm5WPwzJEEfufaHCt4xBCWbCFAn1g/4xbmqnakF
2RPlrACBS1KOMYvB6tzY2Q==</Value>
<DigestName>for_upg</DigestName>
<DigestVersion>1</DigestVersion>
</Sign>
</Statement>
</Statements>
</Response>
2.8. Безопасность
2.8.1.Аутентификация и авторизация
2.8.1.1. Общие сведения
Аутентификация может быть выполнена с использованием одним из способов:
Сертификата ЭП
Пары логин-пароль
После успешной аутентификации в ответ должен возвращаться идентификатор
сессии sessionId, который затем будет использоваться при вызове методов передачи
запросов и получения результатов обработки (рисунок 5).
А: Аутентификация по паре логин-пароль
B: Аутентификация с использованием ЭП
1 шаг
УПШ
УС
Ответ (содержит SessionId)
2 шаг
Рисунок 5. Процесс аутентификации в УПШ
В канале УПШ запросы в УПШ должны обрабатываться только при наличии в них
активного идентификатора сессии sessionId. Сессия ограничивается:
временем неактивности;
максимальным временем сессии;
событием закрытия сессии, полученным от УС Клиента.
После получения активного sessionId УС Клиента имеет возможность:
Получать на стороне клиента:
o персональные данные организации;
o сертификаты ЭП;
o CRL (список отозванных сертификатов);
o справочники;
o квитанции (Response/Tickets);
o прошивку и бизнес-системы Токена;
Выполнять отправку в УПШ:
o запроса на выпуск нового сертификата;
o документов;
o запросов состояния документов;
o запросов документов, подготовленных на стороне АС СББОЛ для данной
организации.
Один пользователь может иметь только одну открытую сессию. Попытка открыть
новую сессию для того же пользователя приводит к закрытию старой сессии и
открытию новой;
Организация сессий не имеет.
В случае осуществления подряд 3-х неверных попыток аутентификации в УПШ в
течение 15 секунд с одного IP-адреса система отклоняет все последующие попытки
аутентификации с этого IP-адреса в течение 30 секунд. В случае осуществления
подряд 10-ти неверных попыток аутентификации в УПШ с одного IP-адреса в течение
60 секунд система отклоняет все последующие попытки аутентификации с этого IP-
адреса в течение 120 секунд. При отклонении УС Клиента получает соответствующее
сообщение. В случае аутентификации с использованием неверного пароля 6 раз
подряд (значение настраивается в АС СББОЛ) Учетная запись пользователя будет
заблокирована.
2.8.1.2. Формат взаимодействия
Для аутентификации в УПШ используются следующие методы:
1. Аутентификация по паре «логин-пароль»
1.1. preLogin
1.2. login
2. Смена пароля для аутентификации (при необходимости)
2.1. preChangePassword
2.2. changePassword
3. Аутентификация с использованием сертификата ЭП
3.1. preLoginSign
3.2. loginSign
4. Завершение сеанса работы
4.1. Logout
5. Передача свертки уникальных параметров транспортного компьютера
5.1. sendPcHash
6. Подтверждение аутентификации одноразовым паролем
6.1. verifySMSSession
2.8.1.3. Аутентификация по паре логин-пароль
Для подключения к УПШ Клиент должен обратиться в Банк, где ему заведут учетную
запись (логин) и сгенерируют пароль, который будет направлен по смс. По этому
логину/паролю должна выполняться первичная аутентификация в УПШ.
Аутентификация в УПШ для установления сессии должна проходить с
использованием протокола парольной аутентификации SRPv6a. Сессия не будет
установлена (метод не вернет sessionId) в следующих случаях:
учетная запись заблокирована;
организация заблокирована;
аутентификация прошла неуспешно (неверный логин или пароль).
В случае неуспешной аутентификации со стороны АС СББОЛ будет возвращен код
возврата, однозначно указывающий, что аутентификация неуспешна из-за неверной
пары логин-пароль.
Смена пароля может происходить по инициативе УС Клиента или АС СББОЛ (при
первом подключении либо после смены пароля в АС СББОЛ). Если для учетной
записи Клиента в АС СББОЛ установлен признак обязательной смены пароля, то
возвращаемый sessionId ограничен только возможностью смены пароля. При выборе
нового пароля, следует избегать кириллических символов.
Учетная запись пользователя будет заблокирована в случае аутентификации с
использованием неверного пароля 6 раз подряд (значение настраивается в АС
СББОЛ). Далее описаны методы, вызываемые при аутентификации по паре
логин/пароль.
preLogin - Аутентификация УС в СББОЛ по паре логин-пароль. При вызове
метода нужно передать в УПШ логин пользователя. В ответе для УС будет
передан список массивов байт [соль, B, ID сессии, код возврата, snew*, режим
работы сервера]. Значения закодированы в Base64. Режим работы сервера
может принимать значения TUFJTg==(MAIN) и
U1RBTkRJTjk5OTk=(STANDIN9999).
*- snew возвращается, если в методе preLogin передается параметр
changePassword=true. В этом случае необходимо рассчитать свертки старого
и нового паролей и передать в качестве параметров метода changePassword.
В случае передачи только свертки старого пароля вернется ошибка
BAD_CREDENTIALS
Входные параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
userLogin
Логин пользователя
xs:string
[0..1]
Актуально с версии 27
Флаг необходимости смены
changePassword
xs:boolean
[0..1]
Актуально с версии 27
пароля
Исходящие параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
Список массивов байт [соль, B, ID
сессии, код возврата, соль для расчета
свертки нового пароля (snew) (если во
Актуально с
return
xs:base64Binary
[0..n]
входных параметрах
версии 27
ChangePassword=true) и режим работы
сервера]
login - Аутентификация УС в СББОЛ по паре логин-пароль. При вызове метода
нужно передать в УПШ идентификатор сессии, полученный в методе preLogin,
рассчитанную свертку пароля и другие параметры для ФРОД-мониторинга. В
ответе для УС будут переданы параметр M2 для верификации сервера банка
уже на стороне клиента, код возврата, и sessionId. При возникновении ошибок
будет передан только код ошибки. Значения закодированы в Base64. Если
вернулся код возврата Ag== (Требуется смена пароля), необходимо изменить
пароль, используя методы preChangePassword и ChangePassword.
Входные параметры
Тип
Версионно
Параметр
Описание параметра
парамет
Мн.
сть
ра
1
sessionId
ID сессии
Актуально с
xs:string
[0..1]
версии 27
Список массивов байт [K, А]
clientAuthData
2
Алгоритм расчета свертки пароля приведен в п.
«Расчет свертки пароля»
xs:base6
Актуально с
[0..n]
M1 (состоит из двух значений - К и А) - сообщение
4Binary
версии 27
“доказательства” от клиента к серверу
(подробное описание алгоритма SRP можно найти в
спецификации https://tools.ietf.org/html/rfc2945)
3
FraudParams
Если на стороне Банка, в АС СББОЛ, в настройках
организации включен параметр «ФРОД-мониторинг»,
то для корректного приема документов УС Клиента
Актуально с
xs:string
[0..1]
должна передавать параметры ФРОД-мониторинга в
версии 27
составе элемента FraudParams.
Отпечаток устройства
DevicePrint
3.1
Правила формирования значения параметра
Актуально с
xs:string
[1]*
приведены в п. «Правила формирования значения
версии 27
параметра DevicePrint»
Индикатор канала
3.2
ChannelIndicat
Изменено в
Значение = UPGCOMMON SBB
xs:string
[1]*
or
версии 32
IP- и MAC-адрес должны передаваться через
3.3
IpMACAddress
разделитель «;»
es
Например, клиент имеет 3 ip-адреса. Два локальных
и один внешний. Первым должен передаваться
внешний, затем локальные адреса. За каждым
адресом идет mac адрес.
Если MAC адрес определить нельзя, то значение
пропускается, разделитель указывается.
Внешний ip = remoteIP
Внешний mac = remoteMac
Локальный 1 ip = ip1
Локальный 1 mac =mac1
Актуально с
Локальный 2 ip = ip2
xs:string
[1]*
версии 27
Локальный 2 mac = mac2
Должна получиться следующая строка:
remoteIP;remoteMac;ip1;mac1;ip2;mac2
В случае отсутствия какого-либо параметра
значение не вписывается, ставится разделитель.
(Аналогично формату csv).
Ip-адрес является локальным, если принадлежит к
одному из следующих диапазонов:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
В остальных случаях ip-адрес считается внешним.
Информация о геопозиции компьютера,
3.4
GeolocationInf
o
осуществляющего установку сеанса связи. Имеет
следующие параметры:
Longitude
Latitude
HorizontalAccuracy
Timestamp
Status
Statusможет принимать следующие значения:
0=success. Геопозиция получена
1=deny. У пользователя отсутствуют права
получения геопозиции
2 = location status not available. Геопозиция не
доступна
Актуально с
xs:string
[1]*
3=locationstatustimeout. Ответ о геопозиции не
версии 27
получен из-за истечения таймаута
4=locationstatusnotsupported. Получение геопозиции
не поддерживается.
Параметры должны передаваться в виде строки с
разделителями «;».
Формат:
Longitude;Latitude;HorizontalAccuracy;Timestamp;Statu
s
Пример значения:
32.54148224;35.16385756;75;201110622102211;0
В случае отсутствия какого-либо параметра
значение не вписывается, ставится разделитель.
(Аналогично формату csv).
Уникальные свойства компьютера,
3.5
PcProp
осуществляющего установку сеанса связи. Содержит
следующие параметры:
UUID
Идентификатор процессора
Серийный номер BIOS
Серийный номер жесткого диска.
Актуально с
Передаваться должны в виде строки разделенной
xs:string
[1]*
версии 27
«;».
Формат следующий: «UUID; Идентификатор
процессора; Серийный номер BIOS; Серийный
номер жесткого диска».
В случае отсутствия какого либо параметра значение
не вписывается, ставится разделитель. (Аналогично
формату csv).
Данные токена
TokenInfo
3.6
Отображение в запросе (разделитель «;»):
BCRYPT;;;;;
Отображение в интерфейсе:
Тип токена: TOKEN
Возможные значения:
TOKEN - обычный токен,
TOKEN_BU - токен с кнопкой,
TOKEN_SC - токен с экраном
BCRYPT - ПАК ФПСУ-IP или токен ФПСУ-IP (в этом
Актуально с
xs:string
[1]*
случае остальную информацию о конфигурации не
версии 27
заполнять)
SMS - при подтверждении операций кодом СМС (в
этом случае остальную информацию о конфигурации
не заполнять)
Информация о конфигурации токена:
IС1_A10D0010L_C1_VT01KA02
Дата конфигурации: 2012-04-13 09:44:59.003
Серийный номер токена: 00041485B
Номер сборки токена: 100
Список поддерживаемых естественных языков/
HttpAcceptLan
3.7
guage
Указывается локализация ОС компьютера, на
котором установлен ТК
Актуально с
Пример значения параметра:
xs:string
[1]*
версии 27
для английской локализации в качестве значения
атрибута указывается - en-US,
для русской локализации указывается - ru-RU.
*Если нет технической возможности предоставить данные раздела фрод - мониторинга, то
поле можно передавать со значением «null»
Исходящие параметры
Версионн
Параметр
Назначение
Тип параметра
Мн.
ость
Список массивов байт (M2 - Верификация
сервера на стороне клиента, Код возврата,
Актуально
xs:base64Binar
return
sessionId - Идентификатор сессии).
[0..n]
с версии
y
27
При использовании токена параметр М2
можно не использовать (на усмотрение
клиента) для взаимной проверки, т.к.
соединение с сервером устанавливается
через vpn/tls канал, который гарантирует
клиенту, что сервер принадлежит Сбербанку.
verifySMSSession - подтверждение сессии кодом СМС. Необходимо
выполнять, если в процессе авторизации получен код возврата Ew==. При
вызове метода из учетной системы в УПШ необходимо передать код СМС для
подтверждения сессии и идентификатор сессии. Код возврата закодирован в
Base64.
Входные параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
smsCode
Код СМС для подтверждения
xs:string [min: 1, max:
Актуально с версии
[1]
сессии
30]
27
sessionId
Идентификатор сессии
Актуально с версии
UuidSeparated
[1]
27
Исходящие параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
Актуально с версии
return
Код возврата
xs:base64Binary
[1]
27
Примечания
При обращении к УПШ через ФПСУ (у пользователя должен быть криптопрофиль
«Инфокрипт») подтверждение аутентификации с помощью кода СМС не
предполагается.
При обращении к УПШ напрямую из внешнего Интернета (у пользователя должен
быть только криптопрофиль OneTimePassword и не должно быть криптопрофиля
«Инфокрипт») подтверждение аутентификации с помощью кода СМС предполагается
и доступно при наличии соответствующей настройки подтверждения одноразовым
паролем в СББОЛ.
Перечень возможных кодов возврата в методе приведен в таблице «Перечень кодов
возвратов в методах preLoginSign, loginSign, verifySMSSession, preChangePassword и
changePassword».
preChangePassword - Смена пароля, используемого для аутентификации в
УПШ. При вызове метода нужно передать в УПШ идентификатор сессии,
полученный при вызове метода preLogin. В ответе для УС будет передан
массив байт - соль для расчета свертки нового пароля. Код возврата
закодирован в Base64
Входные параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
sessionId
Идентификатор сессии
xs:string
[0..1]
Актуально с версии 27
Исходящие параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
Массив байт - соль для расчета
return
xs:base64Binary
[0..n]
Актуально с версии 27
свертки нового пароля
changePassword - Смена пароля, используемого для аутентификации в УПШ.
При вызове метода нужно передать в УПШ идентификатор сессии, полученный
методом preLogin, а также 3 элемента newPasswordData: первые 2 элемента
- свертка старого пароля, 3-ий элемент - свертка нового пароля. В ответе для
УС будет передан код возврата с результатом смены пароля. Код возврата
закодирован в Base64. В случае если операция была выполнена успешно,
sessionId можно использовать в методах sendRequestsSRP и
getRequestStatusSRP.
Входные параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
sessionId
Идентификатор сессии
xs:string
[0..1]
Актуально с версии 27
newPasswordData
Данные нового пароля
xs:base64Binary
[0..n]
Актуально с версии 27
Исходящие параметры
Версионно
Параметр
Назначение
Тип параметра
Мн.
сть
Список массивов байт (M2 - Верификация
сервера на стороне клиента (Параметр можно
не использовать (на усмотрение клиента) для
взаимной проверки, т.к. соединение с
Актуально с
return
xs:base64Binary
[0..n]
сервером устанавливается через vpn/tls
версии 27
канал, который гарантирует клиенту, что
сервер принадлежит Сбербанку), Код
возврата, sessionId - Идентификатор сессии)
Перечень кодов возвратов в методах preLogin, login, verifySMSSession, preChangePassword и
changePassword
Код
Код
Версионн
возврата
возврата
Описание
Название
ость
в Base64
в HEX
Актуально
AA==
00
Операция выполнена успешно
SUCCESS
с версии 27
Неверный логин/пароль или
Актуально
AQ==
01
BAD_CREDENTIALS
учетная запись заблокирована
с версии 27
MUST_CHANGE_PASSWO
Актуально
Ag==
02
Необходимо сменить пароль
RD
с версии 27
Актуально
Aw==
03
Срок действия сертификата истек
CERTIFICATE_EXPIRED
с версии 27
Офис организации пользователя
Актуально
BA==
04
ORG_LOCKED
заблокирован
с версии 27
В аутентификации отказано ФРОД-
Актуально
BQ==
05
FRAUDMON_DENY
мониторингом
с версии 27
Актуально
Bg==
06
IP изменился
IP_CHANGED
с версии 27
Финансовый договор
CONTRACT_FINANCIAL_L
Актуально
Bw==
07
заблокирован
OCKED
с версии 27
SERVER_ACCESS_ERRO
Актуально
CA==
08
Ошибка доступа к серверу
R
с версии 27
Актуально
CQ==
09
Неспецифицированная ошибка
UNSPECIFIED_ERROR
с версии 27
Слишком частая ошибка входа в
TOO_FREQUENT_LOGIN_
Актуально
Cg==
0A
систему
FAILS
с версии 27
Актуально
Cw==
0B
Учетная запись отключена
ACCOUNT_DISABLED
с версии 27
ACCESS_POINT_NOT_AV
Актуально
DA==
0C
Точка входа недоступна
AILABLE
с версии 27
Актуально
DQ==
0D
Ожидается заключение договора
CONTRACT_SUSPENDED
с версии 27
Актуально
Dg==
0E
Договор закрыт
CONTRACT_TERMINATED
с версии 27
Доступ закрыт настройками
ACCESS_DENIED_BY_CLI
Актуально
Dw==
0F
клиента
ENT_RULES
с версии 27
У пользователя в настройках
ACCESS_POINT_UPG_NO
Актуально
EA==
10
отсутствует точка входа УПШ
T_AVAILABLE
с версии 27
У пользователя в настройках
ACCESS_POINT_UPG_HO
Актуально
EQ==
11
отсутствует точка входа
LDING_NOT_AVAILABLE
с версии 27
УПШ_Холдинг
Сертификат не найден в базе
CREDENTIALS_NOT_FOU
Актуально
Eg==
12
данных либо не привязан ни к
ND_BY_CERTIFICATE
с версии 27
одному пользователю
Установленная сессия требует
NEED_SMS_AUTHENTICA
Актуально
Ew==
13
подтверждения кодом СМС
TION
с версии 27
BAD_SMS_AUTHENTICATI
Актуально
FA==
14
Неверный код СМС
ON
с версии 27
OBSOLETE_SMS_AUTHE
Актуально
FQ==
15
Срок действия кода СМС истек
NTICATION
с версии 27
содержание .. 1 2 ..
////////////////////////////////////////// |
||
|
|
|