Статусы источников

Для получения данных система обращается к одному или нескольким источникам. Состав источников фиксирован для каждого типа отчёта, определяется при заключении договора и не может быть изменён пользователем. Процессы запроса к каждому источнику не зависят друг от друга.

Время генерации отчёта ограничено. По истечении установленного времени API предоставляет отчёт, содержащий все данные, которые успели предоставить источники. Если ответ от источника не был получен, источнику в отчёте устанавливатся статус ERROR.

Информация о составе и статусах опрошенных источников всегда доступна в отчёте. Отчёт содержит два блока, описывающих состояние источников:

  1. Сводный блока статуса генерации отчёта. В нём указываются две переменных: количество успешно отработавших источников и количество источников, по которым запрос выполнился с ошибкой.
  2. Блок статусов ответа источников содержит данные о состоянии запроса по каждому источнику.

Статусы источников в отчёте по транспортному средству

Сводный блок статуса генерации отчёта

Значения переменных блока:

  • 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": {}
  }
}