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

На главнуюedit


02. Функция «Верификация адреса электронной почты ФЛ»

CRM клиента желает верифицировать адрес электронной почты ФЛ.

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

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

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

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

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

1. См. п.1

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

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