# API-интеграция

API от InGO позволяет обрабатывать данные пользователей и документы, представленные для проверки, через RESTful API.

Пожалуйста, заранее свяжитесь с нами перед выбором этого способа интеграции, так как он может быть достаточно сложным для самостоятельной реализации и может приводить к нежелательным ситуациям, которые наши WebSDK и MobileSDK обрабатывают автоматически.

# Введение

Все упомянутые здесь эндпоинты подробно описаны в разделе API-запросы. Цель этой страницы — дать общее представление о том, как должен выглядеть процесс интеграции, и на что стоит обратить особое внимание.

Внимание:

  • Все запросы к API должны выполняться через HTTPS — обычный HTTP отклоняется.
  • Ответы API возвращаются в формате JSON (если не указано иное). Когда необходимо передать данные, они должны быть предоставлены в формате корректного JSON (если не указано иное) с установленным заголовком Content-Type: application/json.

# API-запросы

Прежде чем начать работу с API IDnGO, все клиенты должны пройти аутентификацию, как это описано в разделе Начало работы.

Настройте шаги, выберите допустимые для верификации документы и определите порядок прохождения проверок в настройках уровня в Дешборде. Подробнее о шагах проверки и поддерживаемых документах см. здесь.

Схема и порядок верификации пользователя подробно описана в разделе О верификации. Ниже описан порядок ваших действий, для того чтобы пользователь был обработан системой корректно.

# Порядок действий для верификации пользователя

# 1. Создайте анкету пользователя

При создании анкеты пользователя её статус становится init.

Передайте данные о пользователе, которые у вас уже есть (например, email, телефон и т. д.). Это поможет сделать антифрод-проверки точнее.
Создание анкеты пользователя: POST /resources/applicants?levelName={levelName}

# 2. Загрузите документы пользователя

Загрузите все необходимые изображения и данные:

Если вы передаёте данные пользователя для сверки с данными из документов, убедитесь, что предоставляете пользователю возможность исправить их на вашей стороне. Мы отправим тег отказа PROBLEMATIC_APPLICANT_DATA, если данные, предоставленные пользователем, отличаются от данных в документах.

3. Запросите проверку пользователя:

Автоматическое изменение статуса на pending работает только в наших SDK, поэтому как только все необходимые документы и данные будут загружены в анкету, сообщите системе, что пользователь готов к верификации.
Переведите анкету в статус pending:
Запрос проверки пользователя: POST /resources/applicants/{applicantId}/status/pending

Внимание:

Пользователь получит отказ и не пройдет проверку, если документы будут загружены неправильно или не полностью.

4. Получите результаты верификации:

После завершения проверки пользователя статус анкеты изменится на completed.

Основной рекомендованный способ получения результатов верификации - вебхуки. Их можно настроить в разделе «Вебхуки» в Дешборде.

Передайте пользователю сообщение с результатом его верификации:

  • GREEN — проверка прошла успешно.
  • RED:FINAL — окончательный отказ, пользователь не может загрузить новые фотографии.
  • RED:RETRY — временный отказ, пользователь может загрузить новые фотографии/данные.

Внимание:

У вас должна быть возможность реагировать на изменение статуса проверки. Например, если пользователя одобрили, а через неделю он попал в чёрный список, мы отправим новый результат RED на ваш вебхук-эндпоинт, и ваша система должна отреагировать соответствующим образом.

Чтобы получить информацию о пользователе, которая была распознана из документов в результате проверки, используйте этот API-запрос:
Получение данных о пользователе:
GET /resources/applicants/{applicantId}/one или GET /resources/applicants/-;externalUserId={externalUserId}/one

5. Повторный запрос документов:

Временный отказ RED:RETRY позволяет загрузить изображения для повторной проверки. Если во время проверки была обнаружена проблема только с частью загруженных изображений, то не нужно заставлять пользователя проходить все шаги верификации заново и загружать все документы. Нужно загрузить только те изображения/данные, в которых были обнаружены проблемы:

  1. Получите список проблемных изображений и подробную информацию о проверке.
    Получение статусов для отдельных шагов верификации (API): GET /resources/applicants/{applicantId}/requiredIdDocsStatus
  2. В поле moderationComment указывается комментарий, который можно сообщить пользователю (например: «Текст на вашем документе, удостоверяющем личность, виден нечетко. Пожалуйста, загрузите новую фотографию.»).
  3. Повторно загрузите новые изображения в ту же анкету пользователя, а затем переведите его в статус pending и дождитесь новых результатов проверки.

# Важные детали для успешной API-интеграции

  • Если у вас нет особенных требований к документам, рекомендуется:
    • отправлять 1 изображение главного разворота для документа в виде книжки: паспорт, вид на жительство и т. д.;
    • отправлять 2 изображения для документа в виде карты: id-карта, водительское удостоверение и т. д.
  • Для проверки селфи убедитесь, что пользователь знает о необходимости держать удостоверение личности в кадре, а также чтобы документ было хорошо видно.