Проверка телефона или email
Данный функционал позволяет отправить проверочный код и сохранять факт проверки телефона и/или эл. почты.
Инициализация проверки
POST api/verification/init
Request:
Field | Required | Type | Description |
---|---|---|---|
type | ✅ | string | Тип проверки: email, phone |
mobilePhone | Если type = phone | string | Номер телефона |
Если type = email | string | Эл. Почта | |
entities | ❌ | array | Массив связанных сущностей. Например: client: 123, lead: 5. Используется для дальнейшего поиска |
entities.*.type | ✅ | string | Тип сущности: client, lead, loanApp итд |
entities.*.id | ✅ | string | Идентификатор сущности |
verificationUrl | ❌ | string | URL для отправки в теле письма. Если не указан, то отправится ссылка на микросервис |
Если необходимо клиенту отправлять ссылку на ваш сайт, то в 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:
Field | Required | Type | Description |
---|---|---|---|
entities | ✅ | array | Массив связанных сущностей. Например: client: 123, lead: 5. Используется для дальнейшего поиска |
entities.*.type | ✅ | string | Тип сущности: client, lead, loanApp итд |
entities.*.id | ✅ | string | Идентификатор сущности |
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:
Field | Required | Type | Description |
---|---|---|---|
hash | ✅ | string | Код, отправленный в письме |
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 = emailphone
- Обязательно, если type = phone
Response:
{
"status": "ok",
"timestamp": 1679562151000,
"data": {
"found": true
}
}
Поиск проверок
GET {type}/{entityType}/{entityId}
где,
- type - email, phone
- entityType - Тип сущности. Пример (client)
- entityId - ID сущности
Параметры:
email
- Обязательно, если type = emailphone
- Обязательно, если 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"
}
}