Функциональная декомпозиция приложения

На главнуюedit


01. Функция «Верификация телефонного номера ФЛ»

CRM клиента желает верифицировать номер телефона ФЛ.

Сценарий верификации №1 (через оператора):

1. CRM отправляет API-запрос с указанием номера телефона и параметров верификации (текст сообщения, количество допустимых попыток, интервалы между попытками);
• сервис проводит авторизацию запроса и проверку параметров;
• если сервис отказывается обрабатывать запрос - он возвращает ошибку (авторизации, ...);
• сервис отправляет SMS и по ответу определяет успешность операции;
• сервис получает UID запроса на привязку + создает запись в БД + записывает промежуточное состояние + возвращает ответ на запрос;

2. Если запрос прошел успешно, то:
• ФЛ через некоторое время получит код в SMS;
• ФЛ СООБЩАЕТ КОД ОПЕРАТОРУ (лично или по телефону);
• оператор вводит код в CRM.

3. CRM, после ввода кода отправляет второй запрос на проверку кода подтверждения:
• сервис проводит авторизацию запроса и проверку параметров;
• если сервис отказывается обрабатывать запрос - он возвращает ошибку (авторизации, ...);
• сервис регистрирует этот запрос в ранее созданной записи БД и в зависимости от условий возвращает ответ (прошла верификация или нет).

Сценарий верификации №2 (через сайт сервиса):

1. См. п.1

2. Если запрос прошел успешно, то:
• ФЛ через некоторое время получит код в SMS (но не может сообщить код оператору);
• он заходит на сайт сервиса по ссылке из SMS и вводит код подтверждения самостоятельно;
• сервис проводит авторизацию запроса и проверку параметров;
• сервис делает отметку в учетной записи в любом случае (код верный, неверный, отказ в авторизации);

3. CRM с заданной периодичностью отправляет API-запрос и проверяет статусы учетных записей.