Все примеры «персональных данных», представленные на данном портале, являются тестовыми (не реальными)! Примеры представлены разработчикам для тестирования ИТ-систем. Доступ к реальным данным осуществляется в соответствии с законами РФ согласно «Методическим рекомендациям». Подробнее.
Если у вас есть законные основания для подключения к Виду сведения, мы можем проконсультировать по техническим и организационным моментам подключения. Связаться с нами
Сервис сбора уведомлений из Госпочты
| Атрибут | Значение |
|---|---|
| Название | rpa-full-state-mail |
| Тип | Адаптер для взаимодействия с сервисом Госпочты |
| Наименование | Сервис сбора уведомлений из Госпочты |
| Версия | Реализовано 17.09.2025 |
Сервис сбора уведомлений из Госпочты — решение для автоматического сбора и скачивания уведомлений(писем) и документов от государственных ведомств и органов управления.
Интеграция с Госпочтой позволяет пользователям быстро получать все типы уведомлений.
Сервис является частью платформы Агредатор. Перед изучением данной документации ознакомьтесь со следующими обязательными документами по интеграции с платформой:
Сервис работает в асинхронном режиме.
Глоссарий
| Термин/Сокращение | Определение |
|---|---|
| Госпочта | Сервис, через который федеральные и другие органы направляют вам официальные уведомления и процессуальные документы (например, по исполнительным производствам ФССП). |
| Уведомления | Электронное уведомление, получаемое от государственных ведомств и органов управления. |
| Ведомства | Это государственные органы, министерства, службы и организации, отправляющие официальные электронные письма и уведомления напрямую в личный кабинет пользователя. |
| Сервис сбора уведомлений из Госпочты | Сервис, который автоматически опрашивает Госпочту, выгружает новые уведомления и публикует их в платформе Агредатор. |
Общая схема работы
- Ваша система настраивает подписку в
сервисе по сбору уведомлений из Госпочты(rpa-full-state-mail) и указывает, по каким ведомствам нужно опрашивать Госпочту. - Сервис
rpa-full-state-mailпо расписанию опрашивает Госпочту, получает новые уведомления и:- сохраняет файлы уведомлений (feed и вложения) в файловом хранилище Filator,
- регистрирует входящие события во внутреннем реестре входящих запросов (incomings) платформы Агредатор.
- Для доступа к этим входящим запросам и файлам ваша система использует REST‑API HTTP‑шлюза Агредатора по эндпоинтам
/api/v1/<service-name>/incomings….
Таким образом, сам сервис rpa-full-state-mail не предоставляет внешний REST‑API, а публикует входящие данные, к которым вы обращаетесь через HTTP-Шлюз Агредатора (Модели получения уведомлений).
Модели получения уведомлений
Получать уведомления Госпочты можно двумя способами:
- Pull‑модель (опрос через API)
Ваша система периодически опрашивает HTTP‑шлюз Агредатора:
GET /api/v1/<service-name>/incomings.json- список входящих запросов;GET /api/v1/<service-name>/incomings/{id}- детали одного входящего запроса;GET /api/v1/<service-name>/incomings/{id}/attachments/{uuid}- получение файла feed или вложения из уведомления.
- Push‑модель (callback/push со стороны Агредатора) HTTP‑шлюз Агредатора может по настройке отправлять HTTP POST‑запросы на указанный вами callback‑URL при появлении новых входящих запросов или изменении их статуса. Формат данных в таком callback‑уведомлении соответствует структуре сущности Incoming (см. раздел Структура входящего запроса (Incoming)) либо описанию в разделе Callback/Push общей документации Агредатора.
Доступ к уведомлениям через HTTP-Шлюз Агредатора
HTTP‑шлюз Агредатора предоставляет REST‑API для доступа к уведомлениям, которые сервис сбора уведомлений из Госпочты публикует во внутренний реестр входящих запросов.
Название сервиса во входящих запросах (часть пути после /api/v1/, например rpa-full-state-mail-in) зависит от настроек конкретного клиента и может отличаться.
Актуальное имя сервиса для вашей организации уточняйте у службы поддержки Агредатора.
Все запросы выполняются через HTTP‑шлюз Агредатора и требуют базовой авторизации:
curl -u "$USER_IDENTIFICATOR:$USER_SECRET" ...
USER_IDENTIFICATOR и USER_SECRET клиент получает у службы поддержки Агредатора.
Базовый URL (пример тестового контура):
http://agredator.ru/api/v1/<service-name>
где <service-name> - код сервиса входящих запросов вашего клиента (например, rpa-full-state-mail-in).
Конкретное значение <service-name> уточняйте у поддержки Агредатора. Для продуктивного контура URL отличается доменом (уточняйте у службы поддержки Агредатора).
Структура входящего запроса (Incoming)
Основной сущностью при работе с уведомлениями через HTTP-Шлюз Агредатора является объект Incoming - один входящий запрос, полученный в Агредатор от сервиса по сбору уведомлений из Госпочты (rpa-full-state-mail), содержащий данные об уведомлении.
{
"id": 204248,
"external_id": "2000011282946175",
"status": 100,
"client": "ff239af9a4c9c8a0bd40f7020e2ca5ea",
"service": "<service-name>",
"created_at": "2026-03-25T18:14:06.638+03:00",
"identifier": "43ed39ae-285d-11f1-b99f-3a53c2299f30-18501fec1dcd8ecd",
"request": {
"feed": {
"uuid": "dd43cc2e56590902700fc41e7a10ad217e039f540f16daa48d1",
"checksum": "060619159a2b63552f80b2eb705e19e31c36a04198e2e5c41fc6b6c9f19ece2e",
"filename": "feed.json",
"delete_at": "2026-04-24T15:14:06.014+00:00",
"mime_type": "application/json"
},
"client": "test_client",
"client_id": "6311196251",
"attachments": [
{
"uuid": "14bfffd0973b952ba52720a0320cae62f5a89f2645f4052a0922596d2403b516",
"checksum": "60859dd925161e8b437e08639e5ae09eed8f54be75a052773b39ddfdbd626ac8",
"filename": "piev_75451091143077.pdf",
"delete_at": "2026-04-24T15:14:04.589+00:00",
"mime_type": "application/pdf",
"external_id": 16600414739
}
// ...
]
},
"histories": [],
"responses": []
}
Ключевые элементы:
Incoming- «карточка» входящего уведомления (идентификаторы, статус, даты).request- данные, которые пришли от сервисаCбор уведомлений из Госпочтыпо данному уведомлению.request.feed- ссылка на файлfeed.jsonс полным описанием уведомления (метаданные ведомства, статусы доставки, текст письма и т.п.).request.attachments- ссылки на PDF/XML‑файлы прикрепленные к уведомлению в Госпочте.histories- история изменения статуса Incoming в Агредаторе.responses- попытки отправки callback‑уведомлений (если настроены).
Дальнейшие разделы детализируют элементы этого объекта: параметры запросов к API, структуры Feed и AttachmentInfo, статусы и histories/responses.
Принимаемые параметры
Параметры для настройки подписки (сервис сбора уведомлений из Госпочты)
| Параметр | Название | Обязательное | Пример |
|---|---|---|---|
| client_id | Идентификатор ЭП контейнера клиента | + | client_id |
| type | Тип действия. Допустимые значения: create, cancel |
+ | create |
| services | Сервисы, письма по которым будут обработаны и пересланы. Для подписки/отписки по всем сервисам используйте значение ALL. |
+ | ["ALL"] |
| with_chain | Режим сбора: с цепочкой сообщений или без неё. Только create, только true/false. По умолчанию true. |
- | false |
Сервис принимает запросы для конфигурации опроса писем.
Для создания/изменения подписки используются сообщения типа create.
Для отключения/прекращения опроса по сервисам используются сообщения типа cancel.
В списке services допустимо указание специального значения ALL, которое позволяет отписаться от всех сервисов или подписаться на все сразу.
Режим сбора with_chain
Параметр задаёт, что именно попадает в уведомления по этой подписке:
true(по умолчанию) — сбор с цепочкой: уведомление содержит всю цепочку сообщений письма, включая сообщения, полученные в ЕПГУ до создания подписки;false— сбор без цепочки: из письма передаются только сообщения, полученные в ЕПГУ начиная с даты старта подписки. Более ранние сообщения и их вложения не передаются; если в письме таких сообщений не осталось, уведомление по нему не отправляется.
Дата старта подписки определяется сервисом в момент обработки запроса create — отдельным параметром она не передаётся.
Параметр допускает только логические значения true/false. Строковое представление ("true"), число или null — ошибка валидации: подписка не создаётся и не изменяется. Если параметр не передан, используется true, поэтому поведение действующих подписок не меняется.
В запросе cancel параметр не требуется и не обрабатывается.
Изменить режим у действующей подписки нельзя. Для смены режима нужно отменить подписку (cancel), дождаться успешного ответа и создать новую (create) с нужным значением with_chain — у неё будет новая дата старта. Ранее переданные уведомления повторно не отправляются.
Параметры запросов к HTTP-Шлюзу Агредатора для работы с уведомлениями
Список входящих запросов содержащих информацию об уведомлениях
GET /api/v1/<service-name>/incomings.json
Эндпоинт поддерживает два режима работы с пагинацией:
- Пагинация по last_id (рекомендовано для потоковой обработки)
Также поддерживается режим постраничного обхода через last_id:
last_id- идентификатор последнего обработанного входящего запроса. При указанииlast_idсервис вернёт следующую «страницу» данных после этого идентификатора.
Пример:
curl -u "$USER_IDENTIFICATOR:$USER_SECRET" \
"http://agredator.ru/api/v1/<service-name>/incomings.json?last_id=204248" \
> inc_after_204248.json
Поле last_id в ответе отражает идентификатор последнего входящего запроса в текущей выборке.
- Постраничная пагинация
Вы можете явно указать номер страницы:
page- номер страницы (целое число, начиная с 1).
Пример:
curl -u "$USER_IDENTIFICATOR:$USER_SECRET" \
"http://agredator.ru/api/v1/<service-name>/incomings.json?page=2" \
> inc_page_2.json
Информация о текущей странице дополнительно возвращается в полях ответа:
current_page, per_page, has_next.
Фильтрация
Для ограничения выборки по статусу или сервису доступны следующие параметры:
filter[status]- фильтрация по полюstatusобъекта Incoming (целое число, например100или500);filter[service]- фильтрация по полюservice(строка, напримерrpa-full-state-mail-in).
Примеры:
# Все успешно обработанные входящие (status = 100)
curl -u "$USER_IDENTIFICATOR:$USER_SECRET" \
"http://agredator.ru/api/v1/<service-name>/incomings.json?filter[status]=100" \
> inc_ok.json
# Входящие только по сервису rpa-full-state-mail-in
curl -u "$USER_IDENTIFICATOR:$USER_SECRET" \
"http://agredator.ru/api/v1/<service-name>/incomings.json?filter[service]=rpa-full-state-mail-in" \
> inc_by_service.json
Детали одного входящего запроса содержащий информацию об уведмолении
GET /api/v1/<service-name>/incomings/{id}
| Параметр | Описание | Обязательный | Пример |
|---|---|---|---|
id |
Идентификатор входящего запроса в Агредаторе | + | 204248 |
Получение файла feed или вложения из уведомления
GET /api/v1/<service-name>/incomings/{id}/attachments/{uuid}
| Параметр | Описание | Обязательный | Пример |
|---|---|---|---|
id |
Идентификатор входящего запроса в Агредаторе | + | 204248 |
uuid |
UUID файла в файловом хранилище Агредатора (feed/вложение) | + | dd43cc2e56590902700fc41e7a10ad217e039f540f16daa48d1 |
Параметры ответа
Ответ на запрос с данными о подписке (от сервиса по сбору уведомлений из Госпочты)
| Параметр | Название | Обязательное | Пример |
|---|---|---|---|
| status | Статус результата | + | Может быть только значение ok |
Данные о полученном уведомлении (общая структура сообщений)
Сервис периодически, на основании данных о подписках, проверяет наличие новых писем (уведомлений) в Госпочте. При получении новых уведомлений или обновлений сервис отправляет сообщения следующей структуры во внутренние системы Агредатора и внешний адаптер (если используется):
| Параметр | Название | Обязательное | Пример |
|---|---|---|---|
| feed | Данные о полученном уведомлении | + | Составной элемент Feed |
| attachments | Данные о файлах, приложенных к уведомлению | + | Последовательность элементов AttachmentInfo |
Структура элемента Feed
Элемент feed всегда расположен внутри поля request объекта Incoming.
Содержит данные об уведомлении ведомства (само «письмо»/уведомление и связанные сообщения). Данные уведомления загружаются в файловое хранилище Агредатора.
| Параметр | Название | Обязательное | Пример |
|---|---|---|---|
| uuid | Идентификатор файла в файловом хранилище Агредатора | + | 18618329d2ae469e7cc859deb8f2c98c5c9a87f37e8febf6b6ab47cc451528ec |
| filename | Имя файла | + | feed.json |
| delete_at | Время, когда файл будет удалён из файлового хранилища | + | 2025-10-31T13:23:07.302+00:00 |
| mime_type | MIME‑тип файла | + | application/json |
| checksum | Контрольная сумма по алгоритму SHA‑256 | + | cb7ca899d4a652e0f82a21e604c910eaaf5f90c49df6f6e668476a5ae39b4623 |
Структура элемента AttachmentInfo
Каждый элемент массива attachments[] внутри request объекта Incoming описывает один файл, связанный с уведомлением (PDF/XML и т.п.).
| Параметр | Название | Обязательное | Пример |
|---|---|---|---|
| external_id | Идентификатор вложения во внешней системе | + | 14704181678 |
| uuid | Идентификатор файла в файловом хранилище Агредатора | + | c61693ca11c9398ae96c674d819845ab7a7715c5185a40c8223ffc55bf70fdea |
| filename | Имя файла | + | piev_45221591027240.pdf |
| delete_at | Время, когда файл будет удалён из файлового хранилища | + | 2025-10-31T13:23:04.593+00:00 |
| mime_type | MIME‑тип файла | + | application/pdf |
| checksum | Контрольная сумма по алгоритму SHA‑256 | + | 840175c3e48a16a9d28cdaead3e95b7e6fccfd61b5cd1eeaa6cccf39ad777927 |
Формат ответов по входящим запросам
Список входящих запросов
Ответ содержит массив объектов Incoming в поле collection:
{
"has_next": true,
"current_page": 1,
"per_page": 15,
"collection": [
{
"id": 203942,
"external_id": "6000008156654115",
"status": 100,
"client": "ff239af9a4c9c8a0bd40f7020e2ca5ea",
"info": null,
"service": "rpa-full-state-mail-in",
"created_at": "2026-02-13T15:41:21.342+03:00",
"identifier": "9bb70684-08d6-11f1-9ab6-04d4c4928ed2-06ed2c860a832c9f",
"request": {
"feed": {
"uuid": "dd43cc2e56590902700fc41e7a10ad217e039f540f16daa48d1",
"checksum": "2139cc4767b8ff02a30adef8d32f9524cc907ec84004f42b52d6c9",
"filename": "feed.json",
"delete_at": "2026-03-15T12:22:05.207+00:00",
"mime_type": "application/json"
},
"client": "test_client",
"client_id": "23123123196251",
"attachments": [
{
"uuid": "aa773f59d4770fcfa4c19a34ab210fc0f849688c47287ace551cd9",
"checksum": "ff1270f379f4ceae34f4480fb5a50020b855ca9872206",
"filename": "piev_2341358.xml",
"delete_at": "2026-03-15T12:21:54.831+00:00",
"mime_type": "application/xml",
"external_id": 22221571112
}
// ...
]
},
"histories": [],
"responses": []
}
// ...
],
"last_id": 204248
}
Ключевые поля объекта Incoming перечислены в разделе Структура входящего запроса (Incoming).
Детали одного входящего запроса
Ответ по GET /incomings/{id} возвращает один объект Incoming (см. Структура входящего запроса (Incoming)).
Ответ при получении файла
По GET /incomings/{id}/attachments/{uuid} тело ответа - содержимое файла по указанному uuid, Content-Type соответствует mime_type файла в request.feed или request.attachments.
Для uuid из request.feed будет возвращён JSON вида feed_example.json с полной структурой уведомления ведомства (метаданные, статусы доставки, сообщения, вложения и т.п.).
Статусы, histories и responses
Поле status объекта Incoming отражает текущий статус обработки входящего запроса в платформе Агредатор.
Часто используемые значения (по данным примеров):
| Значение | Описание |
|---|---|
100 |
Успешная обработка входящего уведомления. |
500 |
Ошибка при обработке или отправке ответа (например, «Unable to send response»). |
Конкретный перечень статусов может быть расширен; при интеграции рекомендуется:
- ориентироваться на
status = 100как на «успех»; - анализировать
historiesиresponsesдля диагностики ошибок при статусах500.
Поле histories
histories содержит историю изменения статусов входящего запроса в Агредаторе. Каждый элемент включает:
from/to- исходный и новый статус,message- текст пояснения (например,Unable to send response),created_at/updated_at- время изменения,historyable_type,historyable_id- ссылки на сущность (Incoming или IncomingResponse).
Используйте histories, чтобы:
- понять, сколько раз и когда пытались отправить ответ,
- диагностировать причины ошибок (например, сторонний endpoint не принимает callback).
Поле responses
responses описывает попытки отправки callback‑ответов по входящему запросу (если для клиента настроен callback‑URL).
Элемент responses обычно содержит:
id- идентификатор попытки ответа,status- статус попытки (например,500при ошибке доставки),info- текстовое описание (например,Unable to send response),callback_incoming_url- URL, на который пытались отправить ответ,- вложенный
histories- история изменения статуса попытки ответа.
Это поле удобно использовать для мониторинга интеграции:
- убедиться, что ваша система корректно принимает callback‑уведомления,
- отслеживать, не «падает» ли внешний endpoint.
Примеры
Примеры запросов к сервису по сбору уведомлений из Госпочты (подписка)
Создание подписки
{
"client_id": "client_id",
"type": "create",
"services": [
"ALL"
]
}
Подписка без цепочки сообщений — передаются только сообщения, полученные в ЕПГУ начиная с даты старта подписки:
{
"client_id": "client_id",
"type": "create",
"services": [
"ALL"
],
"with_chain": false
}
Отключение подписки
{
"client_id": "client_id",
"type": "cancel",
"services": [
"ALL"
]
}
Ответ на изменение/отключение подписки
{
"status": "ok"
}
Пример сообщения с данными об уведомлении (от сервиса по сбору уведомлений из Госпочты)
{
"client": "test_client",
"client_id": "client_id_rnds",
"feed": {
"uuid": "dd43cc2e56590902700fc41e7a10ad217e039f540f16daa48d1",
"checksum": "cb7ca899d4a652e0f82a21e604c910eaaf5f90c49df6f6e668476a5ae39b4623",
"filename": "feed.json",
"delete_at": "2025-10-31T13:23:07.302+00:00",
"mime_type": "application/json"
},
"attachments": [
{
"uuid": "674d819845ab7a7715c5185a40c8223ffc55bf70fdea",
"checksum": "840175c3e48a16a9d28cdaead3e95b7e6fccfd61b5cd1eeaa6cccf39ad777927",
"filename": "piev_45221591027240.pdf",
"delete_at": "2025-10-31T13:23:04.593+00:00",
"mime_type": "application/pdf",
"external_id": 14704181678
},
{
"uuid": "485dcaa476b8357cbf1a27cfeb8eb93cec84201bd3d87dfa63fa3",
"checksum": "10b5d838b5e10e7901530d0985ff9d831f54dc8380dd2b8d5777983e4c5244b9",
"filename": "piev_45221591027240.xml",
"delete_at": "2025-10-31T13:23:07.286+00:00",
"mime_type": "application/xml",
"external_id": 14704181677
}
]
}
Пример файла вложения с данными уведомления - реальные данные изменены и могут быть невалидными; задача файла - показать структуру данных уведомления, отправленного от ведомства ФССП в Госпочте.
Примеры запросов для работы с уведомлениями
Список входящих запросов содержащих информацию об уведомлениях
curl -u "$USER_IDENTIFICATOR:$USER_SECRET" \
"http://agredator.ru/api/v1/<service-name>/incomings.json" \
> inc.json
Детали одного входящего запроса содержащий информацию об уведмолении
curl -u "$USER_IDENTIFICATOR:$USER_SECRET" \
"http://agredator.ru/api/v1/<service-name>/incomings/204248" \
> inc_request.json
Получение файла feed.json из уведомления
curl -u "$USER_IDENTIFICATOR:$USER_SECRET" \
"http://agredator.ru/api/v1/<service-name>/incomings/204248/attachments/dd43cc2e56590902700fc41e7a10ad217e039f540f16daa48d1" \
> inc_request_request_feed_attach.json