Полная идентификация¶
Полную идентификацию клиент проходит очно — в офисе банка или банковского платёжного агента QIWI (далее по тексту БПА). При необходимости партнёр может сам стать БПА. Для уточнения списка доступных офисов или получения роли БПА обратитесь к вашему курирующему менеджеру.
Список необходимых для полной идентификации документов:
Процесс состоит из двух этапов:
- очная идентификация в офисе;
- подтверждение идентификации в интерфейсе.
Очная идентификация в офисе¶
Клиент посещает офис БПА и предоставляет документы. БПА передаёт заявку с полученными данными в сервис идентификации QIWI. После валидации и выполнения ряда внутренних проверок QIWI c помощью оператора сотовой связи отправляет клиенту SMS-сообщение с результатом обработки заявки.
Успешный сценарий очной идентификации изображён на диаграмме ниже.
%%{init: {
"sequence" : {
"wrap":true,
"messageFontSize":13,
"noteFontSize":12,
"actorMargin":
75 }}}%%
sequenceDiagram
participant С as Клиент
participant A as БПА
participant I as Ident Service
С->>A: Документы
A->>+I: Запрос на создание заявки
Note over A,I: bankId, productId, desiredIdentificationLevel, documentData, mobilePhoneNumber
I->>I: Валидация (полнота данных и т.д.)
I-->>-A: Ответ на запрос создание заявки
Note over A,I: applicationStatus:IN_PROGRESS, identificationLevel:NOT_VERIFIED, applicationId
I->>I: Проверки (действительность основного документа и т.д.)
I->>I: identificationLevel -> AWAITING_PASSPORT_CONFIRMATION
I->>С: SMS
Note left of I: Заявка принята, требуется подтверждение
Важная информация
При посещении клиентом офиса должны быть учтены существующие правила и ограничения.
Подтверждение идентификации в интерфейсе¶
Успешный сценарий подтверждения идентификации описан и изображён ниже.
- Клиент открывает страницу или раздел интерфейса.
- Партнёр отправляет запрос к Identification API на поиск заявок клиента, по которым ожидается подтверждение основного документа.
- Identification API возвращает список заявок на идентификацию в статусе
AWAITING_PASSPORT_CONFIRMATION
, найденных по указанному номеру телефона. -
Партнёр отображает наличие заявки, требующей подтверждения.
Обратите внимание
- Партнёр может самостоятельно выбрать заявку для подтверждения, а может предоставить выбор клиенту. Подробности см. в статье «Правила и ограничения».
- Клиенту можно отобразить лишь некоторые данные заявки. Подробности см. в статье «Правила и ограничения».
-
Клиент вводит 4 последних знака номера документа и подтверждает их корректность.
-
Партнёр отправляет запрос к Identification API на подтверждение заявки по 4 знакам номера документа.
Обратите внимание
На подтверждение даётся фиксированное количество попыток. Подробности см. в статье «Правила и ограничения».
-
Identification API возвращает информацию о том, что требуется подтверждение SIM-карты (
applicationStatus:AWAITING_SIM_CONFIRMATION
). -
Партнёр инициирует отправку SMS-сообщения с OTP — совершает запрос к Identification API на создание сессии подтверждения SIM-карты.
Важная информация
- Ознакомьтесь с правилами и ограничениями для подтверждения идентификации в интерфейсе.
- Для повторной отправки SMS-сообщения используйте запрос на повторную отправку OTP.
-
Сервис идентификации c помощью оператора сотовой связи отправляет клиенту SMS-сообщение с OTP.
-
Клиент получает SMS-сообщение, вводит OTP в интерфейсе и подтверждает его корректность.
-
Партнёр передает полученный OTP в запросе к Identification API на подтверждение SIM-карты. Запрос выполняется в рамках созданной в п.8 сессии.
Обратите внимание
На подтверждение даётся фиксированное количество попыток. Подробности см. в статье «Правила и ограничения».
-
Identification API возвращает информацию о том, что подтверждение выполнено успешно и заявка на идентификацию приобрела финальный статус — работа с ней завершена (
applicationStatus:PROCESSING_FINISHED
).
После успешного подтверждения:
- QIWI присваивает
personId
клиента уровень «Полностью идентифицированный» в определённом банке (текущий уровень можно получить в ответе на запрос поиска заявок); - партнёр может получить персональные данные клиента с помощью соответствующего запроса к Identification API, передав в нём
personId
клиента.
%%{init: {
"sequence" : {
"wrap":true,
"messageFontSize":14,
"noteFontSize":13,
"actorMargin":
101 }}}%%
sequenceDiagram
participant С as Клиент
participant P as Партнёр
participant I as Ident Service
С->>P: Переход на страницу интерфейса
P->>+I: Запрос на поиск заявок
Note over P,I: productId, mobilePhoneNumber, applicationStatus:AWAITING_PASSPORT_CONFIRMATION
I-->>-P: Ответ на запрос поиска заявок
Note over P,I: mobilePhoneNumber, personData, identificationDataSource, applicationId, applicationStatus:AWAITING_PASSPORT_CONFIRMATION
P->>С: Коммуникация с клиентом
Note left of P: Подтвердить заявку, завершить идентификацию
С->>P: 4 последних знака номера основного документа
P->>+I: Запрос на подтверждение заявки
Note over P,I: productId, applicationId, personId, passportNumberLast4Characters
I-->>-P: Ответ на запрос подтверждения
Note over P,I: applicationStatus:AWAITING_SIM_CONFIRMATION
P->>С: Коммуникация с клиентом
Note left of P: Ввести код подтверждения из SMS
P->>+I: Запрос на создание сессии подтверждения SIM
Note over P,I: productId, applicationId, confirmationSessionId, personId, mobilePhoneNumber
I-->>-P: Ответ на запрос создания сессии
Note over P,I: resendAttemptsLeft, resendDelay
I->>С: SMS с OTP
С->>P: OTP
P->>+I: Запрос на подтверждение SIM
Note over P,I: productId, applicationId, confirmationSessionId,personId, confirmationCode
I-->>-P: Ответ на запрос подтверждения
Note over P,I: applicationStatus:PROCESSING_FINISHED
P->>С: Коммуникация с клиентом
Важная информация
При реализации данного сценария необходимо учитывать существующие правила и ограничения.
Запросы описаны в документации Identification API.
Жизненный цикл заявки на идентификацию¶
В этом разделены описаны переходы заявки на полную идентификацию из одного состояния в другое. Полный список состояний (статусов) см. в документации Identification API.
Сокращения и обозначения:
- ПИ — полная идентификация;
- pез-т — результат.
stateDiagram-v2
[*] --> IN_PROGRESS: Данные ОК
[*] --> PROCESSING_FINISHED: Данные не ОК
note left of [*]
Получены данные
end note
IN_PROGRESS --> AWAITING_PASSPORT_CONFIRMATION: Проверки пройдены
IN_PROGRESS --> PROCESSING_FINISHED: Проверки не пройдены
AWAITING_PASSPORT_CONFIRMATION --> PROCESSING_FINISHED: Нет подтверждения
state fork_state1 <<fork>>
AWAITING_PASSPORT_CONFIRMATION --> fork_state1: Подтверждение
fork_state1 --> AWAITING_SIM_CONFIRMATION: Успешно
fork_state1 --> PROCESSING_FINISHED: Неуспешно, попытки исчерпаны
AWAITING_SIM_CONFIRMATION --> PROCESSING_FINISHED: Нет подтверждения
state fork_state2 <<fork>>
AWAITING_SIM_CONFIRMATION --> fork_state2: Подтверждение
fork_state2 --> IN_PROGRESS: Успешно, ждём рез-т ПИ
fork_state2 --> PROCESSING_FINISHED: Неуспешно, попытки исчерпаны
IN_PROGRESS --> PROCESSING_FINISHED: Есть рез-т ПИ
PROCESSING_FINISHED --> [*]
БПА передаёт документы клиента в QIWI. Если они прошли проверки формата и могут быть сохранены, в сервисе идентификации создаётся заявка в одном из состояний:
IN_PROGRESS
— когда получен полный набор данных и данные прошли валидацию;PROCESSING_FINISHED
— когда получен неполный набор данных или данные невалидны.
Из статуса IN_PROGRESS
заявка переходит в:
AWAITING_PASSPORT_CONFIRMATION
— когда данные прошли внутренние проверки и ожидается подтверждение основного документа;PROCESSING_FINISHED
— когда данные не прошли внутренние проверки (например на действительность основного документа).
После попытки подтвердить основной документ из AWAITING_PASSPORT_CONFIRMATION
заявка переходит в одно из состояний:
AWAITING_SIM_CONFIRMATION
— когда подтверждение основного документа завершилось успешно и ожидается подтверждение SIM-карты;PROCESSING_FINISHED
— когда подтвердить основной документ не удалось (переданы неверные данные) и использованы все возможные попытки. В этом случае сервис вернёт уровень идентификации клиентаNOT_VERIFIED
с кодом причиныpassport.confirmation.attempts.exceeded
.
Обратите внимание
- Заявка может находиться в статусе
AWAITING_PASSPORT_CONFIRMATION
илиAWAITING_SIM_CONFIRMATION
не более одного месяца. По истечении этого срока она переходит в статусPROCESSING_FINISHED
. - Если попытка подтверждения основного документа или SIM-карты неуспешна, но общее количество доступных попыток ещё не исчерпано, статус заявки не меняется — остаётся
AWAITING_PASSPORT_CONFIRMATION
/AWAITING_SIM_CONFIRMATION
до тех, пока попытки не закончатся.
После попытки подтвердить SIM-карту из AWAITING_SIM_CONFIRMATION
заявка переходит в одно из состояний:
IN_PROGRESS
— когда подтверждение SIM-карты завершилось успешно и данные проходят повторные внутренние проверки;PROCESSING_FINISHED
— когда подтвердить SIM-карту не удалось (переданы неверные данные) и использованы все возможные попытки. В этом случае уровень идентификации клиента принимает значениеNOT_VERIFIED
, а код причины — значениеsim.confirmation.attempts.exceeded
.
После успешного прохождения повторных внутренних проверок заявка из статуса IN_PROGRESS
переходит в PROCESSING_FINISHED
. В этом случае уровень идентификации клиента принимает значение FULL
.
Чтобы узнать текущий уровень клиента и причину полученного уровня, необходимо выполнить запрос на получение персональных данных. Уровень хранится в атрибуте productIdentificationLevel
, причина — в атрибуте productIdentificationLevelReason
.