# Упрощенная идентификация

# Схема взаимодействия

Упрощенная идентификация физического лица представляет собой процедуру по подтверждению достоверности данных физического лица. Включает в себя две проверки, которые выполняются параллельно, и каждая из которых имеет свой статус.

  1. Проверка имени, отчества, фамилии, серии и номера паспорта, СНИЛС/ИНН (один из двух) производится через СМЭВ.
  2. Проверка номера мобильного телефона выполняется с помощью отправки СМС-кода.

Обе проверки занимают некоторое время. Сразу после инициализации булевы параметры personVerificationFinished и phoneVerificationFinished имеют значения false. По завершении проверки персональных данных personVerificationFinished принимает значение true, по окончании проверки номера телефона phoneVerificationFinished тоже становится равным true.

Когда проверка соответствующих данных завершена, булев параметр personVerified указывает на правильность персональных данных, булев параметр phoneVerified - на правильность номера мобильного телефона. Если оба параметра приняли значение true, то упрощенная идентификация считается пройденной.

Запросы упрощенной идентификации используют стандартный для Mandarin способ аутентификации. Запросы как с боевыми, так и с тестовыми аутентификационными данными всегда включают в себя запрос в СМЭВ с реальными персональными данными, и реальную отправку СМС, и следовательно, являются боевыми.

ВАЖНО!

По умолчанию, функционал упрощенной идентификации отключен. Напишите в Cлужбу поддержки(opens new window) для получения доступа к упрощенной идентификации.
Первые 50 запросов по упрощенной идентификации являются бесплатными. Все последующие запросы тарифицируются.
Система СМЭВ предоставляет результат проверки, как правило, в пределах 10 минут. Но время проверки может увеличиться по причинам, не зависящим от Mandarin. Если проверка СМЭВ заняла более 300 минут (5 часов), то данный запрос не тарифицируется.

Simplified Identification Diagram

# Инициализация процесса идентификации

Запрос на инициализацию процесса идентификации может быть отправлен с двумя наборами параметров (вариант со СНИЛС или вариант с ИНН). В качестве серии и номера паспорта можно передать только данные паспорта гражданина РФ.

В случае успешной регистрации запроса вы синхронно получите идентификатор сессии id, который необходимо использовать в следующих запросах. На указанный в параметре phone мобильный номер будет отправлено СМС-сообщение с кодом для подтверждения номера телефона.

Параметр Тип Обязателен Описание
firstName string Да Имя.
patronymic string Да Отчество.
lastName string Да Фамилия.
passportSeries string Да Серия паспорта РФ.
passportNumber string Да Номер паспорта РФ.
snils string Да Номер СНИЛС.
inn string Нет Номер ИНН.
phone string Да Мобильный номер,
в формате +79001234567.

Запрос на идентификацию по СНИЛС

POST https://secure.mandarinpay.com/api/personidentification
{
	"firstName": "Иван",
	"patronymic": "Иванович",
	"lastName": "Иванов",
	"passportSeries": "1111",
	"passportNumber": "111111",
	"snils": "19033603123",
	"phone": "+79001234567"
}

Запрос на идентификацию по ИНН

POST https://secure.mandarinpay.com/api/personidentification
{
	"firstName": "Иван",
	"patronymic": "Иванович",
	"lastName": "Иванов",
	"passportSeries": "1111",
	"passportNumber": "111111",
	"snils": "",
	"inn": "501716749325",
	"phone": "+79001234567"
}

Ответ в случае успешного создания запроса (200 ОК)

{
	"id": "794d3cc7-a2b4-4579-9173-bafc7d7dc29d"
}

Ответ в случае, если запрос не создан (400 Bad request)

{
	"error": "Invalid request" 
}

# Передача СМС-кода

Запрос на передачу СМС-кода на проверку включает в себя id сессии (в адресе), полученный в предыдущем запросе, и СМС-код (в теле запроса). В случае успешной регистрации запроса вы синхронно получите тот же самый идентификатор сессии id.

В случае, если пользователь неправильно ввел СМС-код, то на этапе проверки статуса вы получите "phoneVerified": false. Тогда вы можете повторять отправку данного запроса, передав тот же id и новый СМС-код, введенный пользователем, до тех пор, пока не получите "phoneVerified": true.

ВАЖНО!

Текущая версия протокола позволяет использовать до 5 (включительно) попыток передачи СМС-кода. Если лимит превышен, то необходимо инициализировать процесс идентификации заново.

Параметр Тип Обязателен Описание
smsCode string Да СМС-код.

Запрос с передачей СМС-кода на проверку

PUT https://secure.mandarinpay.com/api/personidentification/{id}
{
	"smsCode": "123456"
}

Ответ в случае успешного создания запроса (200 ОК)

{
	"id": "794d3cc7-a2b4-4579-9173-bafc7d7dc29d"
}

Ответ в случае ошибки (400 Bad request)

{
	"error": "Invalid request" 
}

# Проверка статуса идентификации

Запрос по проверке статуса идентификации включает в себя id сессии (в адресе).

Ответ содержит идентификатор сессии, индикаторы окончания обеих проверок и индикаторы правильности предоставленных данных.

Запрос статуса идентификации

GET https://secure.mandarinpay.com/api/personidentification/{id}

Ответ в случае успешного завершения запроса (200 ОК)

{
	"id": "794d3cc7-a2b4-4579-9173-bafc7d7dc29d",
	"phoneVerified": true,
	"phoneVerificationFinished": true,
	"personVerified": true,
	"personVerificationFinished": true,
	"personVerificationError": ""
}

Ответ в случае ошибки (400 Bad request)

{
	"error": "Invalid request" 
}

Описание структуры ответа

Синхронный ответ содержит следующую информацию:

Параметр Описание
id Идентификатор сессии.
phoneVerificationFinished true - проверка СМС-кода завершена,
false - проверка СМС-кода не завершена.
phoneVerified На телефон пользователя было выслано СМС-сообщение с кодом.
null - пользователь не вводил код,
true - пользователь ввел верный код,
false - пользователь ввел неверный код.
personVerificationFinished true - проверка персональных данных завершена,
false - проверка персональных данных не завершена.
personVerified null - проверка персональных данных не завершена,
true - персональные данные верны,
false - персональные данные не верны.
personVerificationError Строка-описание ошибки из СМЭВ в случае ее наличия.
При отсутствии ошибок является пустой.