Для получения данных система обращается к одному или нескольким источникам. Состав источников фиксирован для каждого типа отчёта, определяется при заключении договора и не может быть изменён пользователем. Процессы запроса к каждому источнику не зависят друг от друга.
Время генерации отчёта ограничено. По истечении установленного времени API предоставляет отчёт, содержащий все данные, которые успели предоставить источники. Если ответ от источника не был получен, источнику в отчёте устанавливатся статус ERROR
.
Информация о составе и статусах опрошенных источников всегда доступна в отчёте. Отчёт содержит два блока, описывающих состояние источников:
Значения переменных блока:
progress_ok
— количество источников со значением статуса OK
в переменной state.sources[].state
;progress_error
— количество источников со статусом ERROR
в переменной state.sources[].state
.Для каждого источника указываются его краткий и расширенный статус:
state.sources[]._id
— идентификатор источника;state.sources[].state
— краткая информация о статусе запроса к источнику;state.sources[].extended_state
— расширенная информация о статусе запроса к источнику.В процессе получения данных запрос к источнику может переходить в следующие состояния:
Значение переменной state.sources[].extended_state |
Значение переменной state.sources[].state |
Описание |
---|---|---|
SKIP |
OK |
Выполнение запроса к источнику было пропущено |
OK |
OK |
Запрос к источнику и обработка ответа успешно завершены. Выставляется даже в том случае, если получен пустой ответ |
INTERNAL_ERROR |
ERROR |
Во время работы с источником произошла внутренняя ошибка системы |
CANCEL |
ERROR |
Выполнение запроса к источнику было отменено. Используется в случае отсутствия данных, необходимых для выполнения запроса |
ERROR |
ERROR |
Произошла ошибка на стороне источника. Источник не ответил за положенное время, получен некорректный ответ или получена ошибка |
{
"progress_ok": 1,
"progress_error": 1,
"state": {
"sources": [
{
"_id": "base",
"state": "OK",
"extended_state": "OK"
},
{
"_id": "references.base",
"state": "ERROR",
"extended_state": "CANCEL"
}
]
}
}
Значения переменных блока:
progress_ok
— количество источников со значениями статуса OK
, SKIP
и REJECT
в переменной state.sources[].state
;progress_error
— количество источников со значениями статуса ERROR
, CANCEL
, INTERNAL_ERROR
и NONE
в переменной state.sources[].state
.Для каждого источника указывается его статус:
state.sources[]._id
— идентификатор источника;state.sources[].state
— статус запроса к источнику;state.sources[].data
— дополнительные данные о запросе к источнику.{
"progress_ok": 1,
"progress_error": 1,
"state": {
"sources": [
{
"_id": "check_person/pledge",
"state": "OK",
"data": {}
},
{
"_id": "check_person/executive_proceeding_base",
"state": "OK",
"data": {
"reason": "owner's array is null or empty"
}
}
],
"data": {}
}
}