7.5 Стандарт Банка России. Получение сообщения ФП
Получение ФП ЭС из ТШ КБР осуществляется посылкой HTTP-запроса (HTTP request) методом GET по протоколу HTTP 1.1 [RFC 2616] на URL https://хост:8888/<суффикс>/get.
Заголовки HTTP-запроса должны содержать следующие обязательные значения:
Authorization
|
Authorization: Basic xxxxxxxxxxxxxxxxxxx, где xxxxxxxxxxxxxxxxxxx - данные ФП.
Данные ФП формируются следующим образом:
а) логин и пароль, разделенные двоеточием, пример: aladdin:opensesame;
б) результирующая строка, закодированная в Base64 (RFC4648) пример: YWxhZGRpbjpvcGVuc2VzYW11
При отсутствии данного заголовка ТШ КБР посылает HTTP-ответ (HTTP response) с телом служебного сообщения и кодом ответа 401 требования аутентификации
|
Connection
|
Connection: keep-alive
|
Максимальное время ожидания ответа на запрос ФП составляет 2 секунды с момента направления ФП запроса.
Следующий запрос на получение сообщения должен быть направлен ФП сразу после получения ответа на предыдущий запрос.
При осуществлении взаимодействия в тестовом контуре направление запросов на получение сообщений от ТШ КБР осуществляется не более, чем в 10 потоков.
В ответ на запрос ТШ КБР возвращает HTTP-ответ (HTTP response) с телом, содержащим ЭС (при его наличии) и кодом ответа:
а) 20X, как факт успешной обработки запроса:
1) 200 - сообщение обработано успешно
2) 204 - нет сообщений
б) 30X, перенаправления сообщения:
1) 302 - следующий запрос направлять на другой узел, указанный в заголовке ответа в поле Location:
в) 40X - требования к пользовательским действиям (требование аутентификации или сообщение об отсутствии сообщений в очереди):
1) 401 - необходима аутентификация
2) 404 - неправильный запрос
г) 50X - ошибки системы:
1) 501 - внутренняя ошибка
В случае успешной обработки запроса ФП (код 200), заголовок HTTP-ответа содержит следующие значения (но не ограничивается ими):
Content-type
|
Content-type - идентификатор сообщения ЦР: application/xml. Не кодируется в Base64.
|
InstanceID
|
InstanceID - идентификатор, принимаемого сообщения. Используется для идентификации сообщения (формат random UUID). Не кодируется в Base64.
|
Тело сообщения содержит XML сообщение - не кодируется в Base64. XML сообщение оформлено в соответствии с документом [5].