Сервис по доставке заявлений застрахованных лиц в Пенсионный Фонд России - NPF.EKEY.RU
Вернуться к списку-
Тип проекта:Корпоративный сайт
-
Тематика сайта:Государственные организации
-
Редакция продукта:Стандарт
-
Сайт:
-
Партнер:
Мы работали с компанией ранее по проекту ORDER.EKEY.RU и делали автоматизированный интернет сервис по выпуску и продаже сертификатов электронной подписи и электронных лицензий, и к нам обратились с задачей по обновлению сервиса NPF – сервиса по доставке заявлений застрахованных лиц в пенсионный фонд России.
С помощью этого сервиса негосударственные пенсионные фонды передают заявления от физических лиц на перевод пенсионных отчислений из пенсионного фонда России к себе, а также переводы между собой.
ВОЗМОЖНОСТИ:
- Авторизация пользователей с помощью ЭЦП
- Интеграция с внешними сервисами (загрузка документов, генерация заявлений для ПФР, SMS-сервис и т.д.)
- Работа в интерфейсе, построенном на пользовательских сценариях
- Взаимодействие сторонних продуктов с сервисом посредством API
ГЛОССАРИЙ
В связи с тем, что проект является профессиональным и узконаправленным, добавляем расшифровку основных аббревиатур, используемых в тексте:
- НПФ - Негосударственный Пенсионный Фонд
- ПФР - Пенсионный Фонд России
- ЭЦП - Система Электронной Цифровой Подписи. Позволяет однозначно идентифицировать подпись физического или юридического лица в сети Интернет. ЭЦП официально является разрешенным методом подписи документов согласно законодательству Российской Федерации
- NPF - Продукт компании Ekey, который позволяет взаимодействовать Негосударственным пенсонным фондам с Пенсионным фондом России с помощью запросов, подписанных ключами Электронной Цифровой Подписи
ЗАДАЧА
Реализовать на платформе 1С-Битрикс: Управление сайтом сервис NPF, Реализовать авторизацию операторов НПФ с помощью ключей ЭЦП, организовать генерацию сертификатов для ПФР и сделать новую версию API для клиентских приложений, оставив обратную совместимость с старыми продуктами, работающими с сервисом NPF.
Первая версия проекта была написана на языке Python и выполняла основные задачи по автоматизации передачи заявлений физических лиц от негосударственных пенсионных фондов в пенсионный фонд России. Заявления подтверждались электронной подписью с помощью РУТОКЕН, имеющегося у каждого НПФ, имела своё API, но была неудобна в работе в связи с особенностями поддержки проекта на языке Python и развитием технологий в IT индустрии, поэтому было принято решение реализовать проект на более популярной платформе с более распространенным языком программирования.
Для создания проекта была выбрана платформа «1С-Битрикс» версии Стандарт, для которой требовалось реализовать следующий функционал:
-
Реализовать функционал уже работающей системы
-
Подготовить формы для оператора НПФ и для оператора ЕКЕЙ
Реализовать формы для каждого шага процесса от составления заявки в НПФ до передачи информации в Пенсионный Фонд России и получения ответа
Подготовить API с возможностью расширения своего функционала, но имеющий обратную совместимость со старыми версиями.
Реализовать взаимодействие с ключами электронной подписи РУТОКЕН (в т.ч. авторизацию по Рутокен)
Реализовать проверки на правильность ввода основных полей
Организовать генерацию PDF-файлов с введенными данными
Реализовать функционал взаимодействия с SMS сервисом SMS.RU для подтверждения пользователем производимых действий.
Реализовать административный интерфейс, в рамках которого оператор ЕКЕЙ сможет добавлять / изменять / удалять заявки, вносить данные о новых НПФ, корректировать доступы в систему. Вход в административную систему должен быть возможен как по РУТОКЕН, так и по паре логин-пароль.
РЕАЛИЗАЦИЯ
Задача получилась функционально насыщенной и очень интересной для нас. Мы взялись за дело.
Мы начали сбор информации у клиента о том, как работает продукт, а также о его основных алгоритмах, пользовательских сценариях и ожидаемых результатах работы.
Параллельно, для реализации проекта был предоставлен исходный код первой версии системы, на языке Python. Наши программисты внимательно его изучали для понимания технических нюансов работы сервиса, который нам предстояло заново создать.
В результате работы по сбору логической и технической информации, мы составили основной алгоритм работы главного модуля, а также наборы действий для работы дочерних модулей приложения, и все действия пользовательских сценариев вывели в виде прототипов.
Для прототипирования использовался продукт от Axure, который позволяет делать динамические прототипы. С его помощью можно быстро и удобно воссоздать логическое представление проекта.
В рамках динамического прототипирования, каждый шаг работы оператора НПФ корректировался и совершенствовался до получения удобной и функциональной рабочей модели. Разработка происходила с учетом пользовательского опыта, собранного командой EKEY.RU в процессе использования первой версии.
Прототип главной страницы проекта сделан максимально легким в плане функциональности.
После успешного проектирования началась разработка дизайна для проекта.
Каждый макет обсуждался с клиентом на предмет легкой и удобной верстки, для максимального облегчения выполнения задачи оператором системы. Обязательные для ввода поля получили проверку на правильность введенных данных, необязательные поля проверяются только на соответствие типа данных.
Для SMS-подтверждения были написаны тексты сообщений на несколько видов событий.
Для хранения данных были созданы highload-блоки. В них хранится информация о всех заявлениях и клиентах.
Из составленных блок-схем был разработан уникальный код, который был интегрирован в платформу 1С-Битрикс: Управление сайтом.
Для написания элемента «авторизация в системе», нашей команде потребовалось изучить принципы работы Ключей ЭЦП, а также разобрать API системы РУТОКЕН. Вход на сайте NPF должен происходить с помощью физического usb-носителя – «токена», на котором находится сертификат для авторизации. Это решение позволяет увеличить удобство для оператора, которому не требуется вводить стандартную пару «логин-пароль». Для входа в систему по физическому токену необходимо знать его PIN, т.е. в случае кражи токена, злоумышленник не сможет попасть в систему, если он не знает нужную комбинацию.
Были разработаны формы для работы с данными, которые становятся доступны только после авторизации.
Для операторов было создано несколько прототипов – «шагов» для формирования заявки в ПФР.
Формирование заявления
Прототип страницы, позволяющий оператору заполнить заявку на перевод клиента из ПФР в НПФ или из одного НПФ в другой, в который пришел пользователь.
У каждого оператора свой набор НПФ, от лица которых он может отправлять на переоформление пользователя.
При вводе полей СНИЛС и ИНН проверяется не только формат заполнения, но и контрольная сумма. В случае, если в полях контрольная сумма не сходится – оператор видит сообщение о ошибке.
Некоторые поля обязательны для подтверждения и без них сохранение формы будет невозможно.
Заполнение полей E-mail и номер телефона проверяется в соответствии с правилами заполнения этих полей. В поле e-mail учтена ситуация, когда логин (до @) может состоять из одного символа.
Файлы документов загружаются особым образом – на отдельный сервер и посредством своего API.
Форма «Список заявлений»
Все заполненные заявления попадают сюда. Отсюда можно сформировать PDF-файл, который передается в Пенсионный Фонд России. Формирование возможно только в случае полного и корректного заполнения всех полей, а также подтверждения операции по SMS, отправляемой на телефон физического лица – заявителя.
Фильтр реализован по ряду критериев, состоящих из полей формы заявления, которые можно использовать как вместе, так и по отдельности. В списке выводятся все заявки, сделанные оператором под определенным токеном, а также текущий статус заявки и другая полезная информация.
Также команда Itees настроила серверное оборудование, на котором установлен 1С-Битрикс с функционалом NPF. Для качественной работы была установлена ОС на базе ядра LINUX, установлены необходимые для работы Web-сервиса пакеты. Для генерации сертификатов был установлен пакет openSSL и подключены плагины, позволяющие производить шифрование алгоритмами, указанными в ГОСТ.
API
Клиентские приложения NPF используют API, которое было создано и входило в состав сервиса, написанного на Python, а поскольку клиент решил отказаться от Python и при этом нельзя было потерять эту функциональность, то перед нами встала задача реализовать API на 1С-Битрикс: Управление сайтом, причем организовав обратную совместимость со старыми приложениями, и дать возможность развития для новых продуктов.
Мы собрали информацию о работе в API старого продукта, и начали реализацию сервиса. Мы воссоздали сценарий авторизации, добавили определение версии, оставили все текущие поля для обратной совместимости со старой версией, и добавили новые для расширения возможностей. API научилось отвечать как в формате XML, так и в JSON. У него появились функции добавления и обновления данных о клиенте, а также модификации списка клиентов.
Также для удобства работы был подготовлен список НПФ с идентификаторами, для облегчения работы с запросами. Субъекты РФ были представлены в форме автомобильных кодов регионов. Республика Крым получила код 91, а город Севастополь – 92.
РЕЗУЛЬТАТЫ
Создание новой системы управления позволило упростить работу пользователей системы. Новая система стала легкой как с точки зрения повседневного использования, так и её дальнейшего развития. Мы полностью перенесли весь необходимый функционал и сделали красивую оболочку.
Десятки операторов НПФ подают сотни заявок для перевода пенсионных накоплений граждан из ПФР в НПФ посредством удобного сервиса с Web-интерфейсом. Проверка прав доступа осуществляется с помощью ключей РУТОКЕН, что позволяет обезопасить личные данные граждан от несанкционированного доступа. И главное: мы решили проблему клиента, связанную с невозможностью дальнейшего развития сервиса и с наличием неудобств в работе с существующим сервисом. Система 1С-Битрикс позволила улучшить производительность работы сервиса и упростить развитие продукта, давая новые возможности для увеличения доходов компании.