Как мы организовали автоматическую отправку обращений в государственные органы

в 11:03, , рубрики: Веб-разработка, государственные органы, Социальные сети и сообщества

Как мы организовали автоматическую отправку обращений в государственные органы

Всем привет! Я работаю в команде проекта «Сердитый гражданин». Хотел бы рассказать, как у нас организована коммуникация с государственными организациями.

Существуют 3 вида сотрудничества:

  • Согласно статье второй Федерального закона от 02.05.2006 г. N 59-ФЗ «О порядке рассмотрения обращений граждан Российской Федерации»;
  • Согласно подписанному соглашению;
  • На основе системы «Довольный гражданин».


Весь процесс от создания заявления и до ответа от организации можно разделить на 3 этапа:

  • Заполнение формы и создание заявления;
  • Отправка сообщения государственным организациям;
  • Получение ответа от организации.
Заполнение формы и создание заявления

Как мы организовали автоматическую отправку обращений в государственные органы

В рубрикаторе портала «Сердитый гражданин» около 500 разных категорий проблем и каждая категория имеет свою специфическую форму для содзания обращений. Это небольшой механизм под названием AngryForm. Кстати, пишем мы его на PHP. Он содержит метаданные форм и умеет их обрабатывать. AngryForm знает как из заполненной формы нужно сформировать обращение и кому нужно направить его. Возможно, об AngryForm я подробно напишу в отдельной статье. Итак, пользователь ищет свою категорию проблем и заполняет форму по ней. Генерируется заявления по полученным от пользователя данным.

Отправка обращения

После того, как обращение сгенерировано, нужно его кому-то отправить. У нас есть база организаций и всяческие методы коммуникации с ними. Организации привязаны к определенным проблемам и в зависимости от выбранной категории и региона обращение направляется в конкретное представительство этой организации.

Как только организация получила обращение, у нее есть определенный срок, в течении которого она должна дать ответ заявителю, и если она в этот срок не укладывается, то пользователь может направить жалобу в прокуратуру — также через наш сервис.

Существует несколько каналов коммуникации с организациями:

  • Электронная почта;
  • Факс;
  • API порталов.

В зависимости от канала связи, который доступен в нужном нам представительстве, отправка происходит по-разному. Кратко расскажу про факс и API порталов.

Доставка обращений по факсу

Как мы организовали автоматическую отправку обращений в государственные органы

Здесь все просто, обращение отправляется через API на факс ответственной организации. К обращениям, которые отправились факсом, создается уникальный адрес электронной почты на AngryMail (о нем ниже), где он ожидает ответ от организации. Ответ от организации приходит по каналу AngryMail.

Доставка обращений через API государственных порталов

Как мы организовали автоматическую отправку обращений в государственные органы

Сейчас у нас имеется интеграция с несколькими порталами такими, как gorod.mos.ru и openregion71.ru. Если эти порталы попадают под условия, которые выбрал пользователь, то обращения поступают, помимо нашего сервиса, еще и на эти порталы. Получив ответ на эти обращения, они также появляются и на нашем портале. В течении всего времени мы опрашиваем сервера этих порталов на наличие ответов по нашим заявлениям. И если ответ найден, то он попадает в таймлайн нашего портала.

Доставка обращений при помощи электронной почты

Как мы организовали автоматическую отправку обращений в государственные органы

Здесь уже по интереснее. Вместе с созданием обращения создается и цепочка переписки между пользователем и представительством организации. После создания обращения и цепочки оно попадает в очередь отправки обращений. В качестве очередей мы используем RabbitMQ. Из очереди обращение направляется в AngryMail.

AngryMail — это приложение написанное на Java, которое занимается обработкой входящих и исходящих сообщений по электронной почте. AngryMail присваивает цепочке идентификатор и генерируется обратный email в формате {id}@angrymail.ru, на который будет ждать ответ.

Организация отвечает на сгенерированный адрес электронной почты({id}@angrymail.ru), как правило, с прикрепленными документами со всеми печатями и подписями. Как только AngryMail получает подобное письмо, оно отдает его в сервис AngryCitizen. Ответ прикрепляется в таймлайн обращения на портале и высылается уведомление пользователю.

Если очень кратко, то так. На этом работа нашего сервиса не заканчивается, но это уже другая история.

Спасибо, что дочитали статью до этого места.

Если интересно, буду дальше рассказывать о жизни в нашем проекте вместе с техническими тонкостями.

Автор: Fr05t1k

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js