Skip to content

Проверка телефона или email ​

Данный функционал позволяет отправить проверочный код и сохранять факт проверки телефона и/или эл. почты.

Инициализация проверки ​

POST api/verification/init

Request:

FieldRequiredTypeDescription
type✅stringТип проверки: email, phone
mobilePhoneЕсли type = phonestringНомер телефона
emailЕсли type = emailstringЭл. Почта
entities❌arrayМассив связанных сущностей. Например: client: 123, lead: 5. Используется для дальнейшего поиска
entities.*.type✅stringТип сущности: client, lead, loanApp итд
entities.*.id✅stringИдентификатор сущности
verificationUrl❌stringURL для отправки в теле письма. Если не указан, то отправится ссылка на микросервис

INFO

Если необходимо клиенту отправлять ссылку на ваш сайт, то в verificationUrl необходимо прописать поля {uuid} и {hash}. Это поля, при формировании письма, заменятся на актуальные.

Пример: https://google.com/verify/{uuid}?hash={hash}

Response:

json
{
  "status": "ok",
  "timestamp": 1679497353000,
  "data": {
    "uuid": "98bfd84d-c3b3-438b-95f8-3199c2730b97"
    // Данный uuid используется для отправки кода на проверку
  }
}

:::caution Проверка осуществляется на основе модуля OTP.

Для использования данного функционала, необходимо создать challenge с названиями email-verification и phone-verification :::

Прикрепление к сущности ​

INFO

Иногда есть необходимость проверить email перед созданием клиента. Для таких сценариев, можно сначала проверить контакт, потом, после создания сущности, через uuid прикрепить ее к проверке.

PUT api/verification/{uuid}/attach

Request:

FieldRequiredTypeDescription
entities✅arrayМассив связанных сущностей. Например: client: 123, lead: 5. Используется для дальнейшего поиска
entities.*.type✅stringТип сущности: client, lead, loanApp итд
entities.*.id✅stringИдентификатор сущности

Response:

json
{
  "status": "ok",
  "timestamp": 1679562151000,
  "data": {
    "uuid": "98bfd84d-c3b3-438b-95f8-3199c2730b97",
    "verified": true,
    "verified_at": "2023-03-23T09:02:31+00:00"
  }
}

Проверка кода ​

Проверка на стороне микросервиса ​

Если при инициализации запроса на подтверждения не был отправлен параметр verificationUrl, то система автоматически сформирует временную ссылку для подтверждения email на стороне микросервиса.

Проверка по api запросу ​

POST /api/verification/{uuid}/verify

Request:

FieldRequiredTypeDescription
hash✅stringКод, отправленный в письме

Response:

json
{
  "status": "ok",
  "timestamp": 1679562151000,
  "data": {
    "uuid": "98bfd84d-c3b3-438b-95f8-3199c2730b97",
    "verified": true,
    "verified_at": "2023-03-23T09:02:31+00:00"
  }
}

Наличие проверки ​

GET {type}/{entityType}/{entityId}/exists

где,

  • type - email, phone
  • entityType - Тип сущности. Пример (client)
  • entityId - ID сущности

Параметры:

  • email - Обязательно, если type = email
  • phone - Обязательно, если type = phone

Response:

json
{
  "status": "ok",
  "timestamp": 1679562151000,
  "data": {
    "found": true
  }
}

Поиск проверок ​

GET {type}/{entityType}/{entityId}

где,

  • type - email, phone
  • entityType - Тип сущности. Пример (client)
  • entityId - ID сущности

Параметры:

  • email - Обязательно, если type = email
  • phone - Обязательно, если type = phone

Response:

json
{
  "status": "ok",
  "timestamp": 1679562151000,
  "data": {
    "uuid": "98bfd84d-c3b3-438b-95f8-3199c2730b97",
    "verified": true,
    "verified_at": "2023-03-23T09:02:31+00:00"
  }
}