Перейти к основному содержимому

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

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

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

POST api/verification/init

Request:

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

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

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

Response:

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

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

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

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

к сведению

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

PUT api/verification/{uuid}/attach

Request:

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

Response:

{
"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
hashstringКод, отправленный в письме

Response:

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

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

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