Стратегии завершения

Параметр completionStrategy в теле batch‑запроса управляет моментом принудительного завершения верификации и отправки финального результата.

"completionStrategy": {
  "type": "forceFirst",
  "modules": ["passportVerification"]
}

Типы стратегий

Поддерживаются три типа стратегий:

  • WaitForAll — дождаться завершения всех включённых источников;
  • WaitForCriticalOnly — завершить по настраиваемому списку критичных источников (modules обязательно);
  • ForceFirst — завершить при первом успешном ответе от источника (если указан список modules, учитываются только они).

WaitForAll

  • Верификация считается завершённой, когда все активированные проверки отработали;
  • Подходит для сценариев, где важен полный набор результатов.

WaitForCriticalOnly

  • В modules задаётся список проверок, критичных для принятия решения;
  • Верификация завершается, когда все из списка modules вернули результат;
  • Остальные проверки могут продолжать выполняться и дополнять результат.

ForceFirst

  • Верификация завершается при первом успешном ответе от источника;
  • По умолчанию используется именно forceFirst;
  • При указании modules рассматриваются только они.

Общие правила

  • В modules нельзя передавать несуществующий или неактивный источник;
  • Верификация может быть завершена принудительно, когда все источники отработают, независимо от выбранной стратегии;
  • Callback вызывается в момент, когда срабатывает стратегия и запрос считается завершённым; при этом источники могут продолжать работу и доносить данные в итоговый результат.

Условия принудительного завершения для отдельных проверок

Для некоторых проверок определены специальные условия «успешного» завершения:

  • esiaAccountVerification — найден oid и статус Trusted или verified;
  • passportVerification — статус проверки паспорта равен Valid;
  • для остальных источников пока считается, что достаточно факта выполнения (статус Completed без детального анализа результата).