48 KiB
Техническая справка: Парсер ЕИС Закупок (zakupki.gov.ru)
Версия: 2.0
Дата: 26 марта 2026
Статус: Production-ready
Содержание
- Что именно забирается с zakupki.gov.ru
- Регламент получения данных
- Структура собираемых данных
- Описание базы данных понятным языком
- Поддерживаемые законы
- Отличия от 94-ФЗ
- Реестр недобросовестных поставщиков РНП
- Технические детали
1. Что именно забирается с zakupki.gov.ru
1.1. Источник данных
Официальное название: Единая информационная система в сфере закупок (ЕИС)
Домен: zakupki.gov.ru
SOAP API: https://int44.zakupki.gov.ru/eis-integration/services/getDocsIP
1.2. Типы забираемых данных
С системы забираются извещения о закупках — это официальные публикации о планируемых государственных и коммерческих закупках.
Конкретные данные:
| Тип данных | Что это | Пример |
|---|---|---|
| Извещения об электронных аукционах | Публикации о начале приёма заявок на участие в электронных торгах | «Поставка офисной бумаги для нужд министерства» |
| Извещения об открытых конкурсах | Публикации о конкурсах с оценкой не только цены, но и квалификации участников | «Выполнение работ по разработке проектной документации» |
| Извещения о запросах котировок | Публикации о закупках с упрощённой процедурой для небольших сумм | «Закупка канцелярских товаров» |
| Извещения о запросах предложений | Публикации о закупках, где важны не только цена, но и другие критерии | «Оказание услуг по техническому обслуживанию» |
| Планы закупок | Документы с информацией о планируемых закупках на год | «План закупок министерства образования на 2026 год» |
| Информация о контрактах | Сведения о заключённых контрактах по итогам закупок | «Контракт № 44-123 от 15.03.2026» |
1.3. Объём данных
По 44-ФЗ (государственные закупки):
- Извещения о проведении электронных процедур
- Извещения о проведении конкурсов
- Извещения о запросах котировок
- Планы-графики закупок
- Сведения о контрактах
По 223-ФЗ (закупки госкомпаний):
- Извещения о закупках товаров, работ, услуг
- Планы закупок госкомпаний
- Сведения о договорах
Дополнительно:
- Реестр недобросовестных поставщиков (РНП)
- Информация о заказчике (наименование, ИНН, КПП, ОГРН)
- Начальная цена контракта (НМЦ)
- Сроки подачи заявок
- Статус процедуры
2. Регламент получения данных
2.1. Способ получения
Основной метод (с 1 января 2025): SOAP API через интеграционный шлюз
| Параметр | Значение |
|---|---|
| Протокол | SOAP 1.2 over HTTPS |
| URL API | https://int44.zakupki.gov.ru/eis-integration/services/getDocsIP |
| Формат запроса | XML в SOAP-конверте |
| Формат ответа | XML с ссылкой на ZIP-архив |
| Формат данных | XML файлы в ZIP-архивах |
| Авторизация | Токен через Госуслуги (ЕСИА) |
Устаревший метод (до 1 января 2025): FTP доступ к открытым данным
- Статус: Закрыт с 01.01.2025
- Причина: Переход на защищённый SOAP API
2.2. Процесс получения данных
┌─────────────────────────────────────────────────────────────┐
│ Шаг 1. Авторизация │
│ Получение токена через Госуслуги │
│ URL: https://zakupki.gov.ru/pmd/auth/welcome │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Шаг 2. Формирование SOAP-запроса │
│ Параметры: │
│ - Код региона (например, "77" = Москва) │
│ - Тип закона (44-ФЗ или 223-ФЗ) │
│ - Тип документа (аукцион, конкурс, котировки) │
│ - Период (год, месяц, день) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Шаг 3. Отправка запроса │
│ POST запрос на SOAP API │
│ Заголовок: individualPerson_token = <ваш токен> │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Шаг 4. Получение ссылки на архив │
│ Ответ содержит URL для скачивания ZIP-архива │
│ Пример: https://zakupki.gov.ru/opendata/download/... │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Шаг 5. Скачивание архива │
│ Загрузка ZIP-архива с XML-файлами │
│ Требуется тот же токен в заголовке │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Шаг 6. Распаковка и парсинг │
│ Распаковка ZIP-архива │
│ Чтение и обработка XML-файлов │
│ Извлечение данных о закупках │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Шаг 7. Сохранение в базу данных │
│ Запись данных в таблицу parsers_procurement │
│ Связывание с организациями по ИНН/ОГРН │
│ Фиксация в журнале загрузок │
└─────────────────────────────────────────────────────────────┘
2.3. Периодичность обновления
Автоматическая синхронизация:
- Расписание: Ежедневно в 02:00 (через Celery Beat)
- Режим: Инкрементальная загрузка
- Логика: Загрузка данных месяц за месяцем до текущей даты
- Остановка: После 2 месяцев без новых данных
Ручная загрузка:
- По запросу пользователя через API
- С указанием конкретного региона и периода
- С возможностью точечного запроса по номеру закупки
2.4. Требования к доступу
| Требование | Описание |
|---|---|
| Учётная запись | Действующая учётная запись Госуслуги (ЕСИА) |
| Токен | individualPerson_token (получается после авторизации) |
| HTTPS | Обязательное защищённое соединение |
| IP-адрес | Желательно статический (для production) |
| Прокси | Опционально (для обхода ограничений) |
3. Структура собираемых данных
3.1. Основная структура (понятным языком)
Представьте себе большую таблицу, где:
- Каждая строка — это одна закупка
- Каждый столбец — это характеристика закупки (номер, название, заказчик, цена и т.д.)
Основные столбцы этой таблицы:
| Столбец | Что означает | Пример значения |
|---|---|---|
| Реестровый номер | Уникальный номер закупки в системе | 0888200000224000038 |
| Наименование | Что именно закупают | «Поставка офисной бумаги» |
| Заказчик | Кто покупает | ПАО СБЕРБАНК |
| ИНН заказчика | Налоговый номер заказчика | 7707083893 |
| Цена контракта | Максимальная сумма | 1 500 000 руб. |
| Дата публикации | Когда объявили закупку | 15.03.2025 |
| Дата окончания | До когда можно подать заявку | 25.03.2025 |
| Статус | Текущее состояние | «Приём заявок» |
| Закон | По какому закону проводится | 44-ФЗ или 223-ФЗ |
3.2. Техническая структура данных
DTO (Data Transfer Object) — промежуточный формат:
Procurement (Закупка)
├── purchase_number: str # Реестровый номер
├── purchase_name: str # Наименование закупки
├── customer_inn: str # ИНН заказчика
├── customer_kpp: str # КПП заказчика
├── customer_ogrn: str # ОГРН заказчика
├── customer_name: str # Наименование заказчика
├── max_price: str # Начальная цена (строка)
├── currency_code: str # Код валюты (RUB)
├── placement_method: str # Способ определения поставщика
├── publish_date: str # Дата публикации
├── end_date: str # Дата окончания приёма заявок
├── status: str # Статус процедуры
├── law_type: str # Тип закона (44-ФЗ / 223-ФЗ)
├── purchase_object_info: str # Детальное описание объекта
└── href: str # Ссылка на страницу в ЕИС
3.3. Формат хранения
Исходный формат: XML файлы в ZIP-архивах
Пример XML структуры:
<notification>
<purchaseNumber>0888200000224000038</purchaseNumber>
<purchaseObjectInfo>Поставка офисной бумаги</purchaseObjectInfo>
<customer>
<organizationInfo>
<INN>7707083893</INN>
<KPP>770701001</KPP>
<OGRN>1027700034460</OGRN>
<name>ПАО СБЕРБАНК</name>
</organizationInfo>
</customer>
<lot>
<lotData>
<maxPrice>1500000.00</maxPrice>
<currencyCode>RUB</currencyCode>
</lotData>
</lot>
<publishDate>2025-03-15</publishDate>
<endDate>2025-03-25T18:00:00</endDate>
<state>Подача заявок</state>
</notification>
Целевой формат: Реляционная база данных PostgreSQL
4. Описание базы данных понятным языком
4.1. Общая концепция
Представьте библиотеку с несколькими книжными полками:
Каждая «полка» (таблица) хранит определённый тип информации:
| Полка (таблица) | Что хранит | Аналогия |
|---|---|---|
| parsers_procurement | Все закупки | Каталог карточек о закупках |
| parsers_load_log | История загрузок | Журнал учёта поступлений |
| registers_organization | Организации | Картотека компаний |
| core_backgroundjob | Фоновые задачи | Список текущих дел |
4.2. Таблица «Закупки» (parsers_procurement)
Назначение: Хранение информации о всех загруженных закупках
Структура (основные поля):
| Поле | Простое объяснение | Пример |
|---|---|---|
| id | Внутренний номер записи | 12345 |
| реестровый номер | Официальный номер закупки | 0888200000224000038 |
| наименование | Что закупают | «Поставка офисной бумаги» |
| ИНН заказчика | Налоговый номер того, кто покупает | 7707083893 |
| КПП заказчика | Код причины постановки на учёт | 770701001 |
| ОГРН заказчика | Основной регистрационный номер | 1027700034460 |
| название заказчика | Полное название организации | ПАО СБЕРБАНК |
| цена контракта (строка) | Сумма как текст (символы, пробелы) | «1 500 000 руб.» |
| цена контракта (число) | Сумма как число (для расчётов) | 1500000.00 |
| валюта | В чём измеряется цена | RUB |
| способ определения | Как выбирают поставщика | Электронный аукцион |
| дата публикации | Когда объявили | 15.03.2025 |
| дата окончания | До когда подавать заявку | 25.03.2025 |
| статус | Что сейчас происходит | Приём заявок |
| тип закона | 44-ФЗ или 223-ФЗ | 44-ФЗ |
| объект закупки | Подробное описание | «Бумага офисная формата А4, 80 г/м²» |
| ссылка | Адрес страницы в интернете | https://zakupki.gov.ru/... |
| код региона | Где происходит закупка | 77 (Москва) |
| год данных | За какой год данные | 2025 |
| месяц данных | За какой месяц данные | 3 (март) |
| организация из реестра | Ссылка на карточку организации | 456 |
| дата создания | Когда запись добавили | 26.03.2026 10:30 |
| дата обновления | Когда последний раз меняли | 26.03.2026 12:45 |
Правила хранения:
- Уникальность: Реестровый номер не может повторяться
- Связи: Запись может быть связана с организацией из справочника
- Индексы: Для быстрого поиска по ИНН, номеру, дате
4.3. Таблица «Журнал загрузок» (parsers_load_log)
Назначение: Учёт всех операций по загрузке данных
Простое объяснение: Это как дневник, куда записывается:
- Когда была загрузка
- Откуда загружали
- Сколько записей добавили
- Успешно или с ошибкой
| Поле | Объяснение | Пример |
|---|---|---|
| batch_id | Номер партии загрузки | 123 |
| источник | Откуда грузили | procurements (закупки) |
| количество | Сколько записей добавили | 150 |
| статус | Как прошло | success (успешно) |
| ошибка | Что пошло не так (если было) | (пусто, если успешно) |
| дата создания | Когда загружали | 26.03.2026 02:00 |
Источники данных:
procurements— Госзакупки (ЕИС)industrial— Сертификаты промышленного производстваmanufactures— Реестр производителейinspections— Реестр проверокfns_reports— Бухгалтерская отчётность ФНС
4.4. Таблица «Организации» (registers_organization)
Назначение: Справочник организаций (заказчиков, поставщиков)
Связь с закупками: Одна организация может быть указана во многих закупках
| Поле | Объяснение | Пример |
|---|---|---|
| ИНН | Налоговый номер | 7707083893 |
| ОГРН | Регистрационный номер | 1027700034460 |
| Название | Полное наименование | ПАО СБЕРБАНК |
| Тип | Заказчик / Поставщик | Заказчик |
4.5. Таблица «Фоновые задачи» (core_backgroundjob)
Назначение: Отслеживание длительных операций
Простое объяснение: Как список дел с отметками о выполнении
| Поле | Объяснение | Пример |
|---|---|---|
| ID задачи | Уникальный номер | abc-123-def |
| Название | Что делаем | parse_procurements |
| Статус | В процессе / Готово / Ошибка | in_progress |
| Прогресс | Сколько сделано (%) | 50 |
| Сообщение | Комментарий | «Загрузка за март 2025...» |
| Результат | Итог работы | {"saved": 150} |
4.6. Взаимосвязь таблиц
┌─────────────────────────┐
│ parsers_procurement │
│ (Закупки) │
│ │
│ customer_inn ────────┐ │
│ customer_ogrn ────┐ │ │
│ registry_org_id ─┐│ │ │
└────────────────────┼──┼──┼─┘
│ │ │
│ │ │
┌────────────┘ │ │
│ │ │
▼ │ │
┌───────────────────┐ │ │
│ registers_ │ │ │
│ organization │◄──┘ │
│ (Организации) │◄────┘
│ │
│ inn │
│ ogrn │
│ name │
└───────────────────┘
┌─────────────────────────┐
│ parsers_load_log │
│ (Журнал загрузок) │
│ │
│ batch_id ─────────────►│ связывается с
│ source │ закупками по номеру
└─────────────────────────┘
┌─────────────────────────┐
│ core_backgroundjob │
│ (Фоновые задачи) │
│ │
│ task_id │ отслеживает выполнение
│ status │ загрузок
│ progress │
└─────────────────────────┘
5. Поддерживаемые законы
5.1. 44-ФЗ — Федеральный закон «О контрактной системе»
Полное название: Федеральный закон от 05.04.2013 № 44-ФЗ
Официальное название: «О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд»
Кто закупает:
- Государственные органы (министерства, ведомства)
- Бюджетные учреждения (школы, больницы, университеты)
- Муниципальные образования (городские администрации)
- Государственные корпорации и компании
Что регулирует:
- Планирование закупок (планы-графики)
- Размещение извещений о закупках
- Проведение конкурентных процедур (аукционы, конкурсы)
- Заключение контрактов
- Исполнение контрактов
- Мониторинг и аудит закупок
- Отчётность заказчиков
Основные процедуры:
- Электронный аукцион (наиболее распространённый)
- Открытый конкурс
- Запрос котировок (для небольших сумм)
- Запрос предложений
- Закрытые процедуры (для гостайны)
Финансирование:
- Федеральный бюджет
- Региональные бюджеты
- Местные бюджеты
- Внебюджетные средства государственных организаций
5.2. 223-ФЗ — Федеральный закон о закупках госкомпаний
Полное название: Федеральный закон от 18.07.2011 № 223-ФЗ
Официальное название: «О закупках товаров, работ, услуг отдельными видами юридических лиц»
Кто закупает:
- Государственные корпорации (Росатом, Ростех)
- Компании с государственным участием (Газпром, Роснефть)
- Субъекты естественных монополий (РЖД, Транснефть)
- Бюджетные учреждения за счёт грантов и пожертвований
- Организации, осуществляющие регулируемые виды деятельности
Что регулирует:
- Планирование закупок (планы закупок)
- Размещение извещений
- Выбор поставщика
- Заключение договоров
- Отчётность о закупках
Особенности:
- Больше свободы в выборе процедуры
- Меньше жёстких требований по сравнению с 44-ФЗ
- Заказчики сами утверждают положение о закупке
5.3. Сравнение законов
| Критерий | 44-ФЗ | 223-ФЗ |
|---|---|---|
| Заказчики | Госорганы, бюджетники | Госкомпании, естественные монополии |
| Финансирование | Бюджет | Собственные средства |
| Жёсткость | Жёсткое регулирование | Более гибкий |
| Процедуры | Строго определённые | Заказчик выбирает сам |
| Планирование | Планы-графики | Планы закупок |
| Отчётность | В ЕИС | В ЕИС (сокращённая) |
| Контроль | ФАС, Казначейство | Внутренний контроль |
6. Отличия от 94-ФЗ
6.1. Историческая справка
94-ФЗ — Федеральный закон от 21.07.2005 № 94-ФЗ
Действовал: с 1 января 2006 по 31 декабря 2013
Заменён: 44-ФЗ с 1 января 2014
6.2. Ключевые отличия
| Аспект | 94-ФЗ (2006–2013) | 44-ФЗ (с 2014) |
|---|---|---|
| Область регулирования | Только размещение заказов (закупки) | Полный цикл контрактной системы |
| Планирование | Не было обязательного | Планы-графики обязательны |
| Нормирование | Отсутствовало | Нормативы затрат обязательны |
| Мониторинг | Не был регламентирован | Система мониторинга |
| Аудит | Выборочный | Обязательный аудит |
| Реестр контрактов | Частичный | Полный реестр контрактов |
| Электронные процедуры | Начинали внедряться | Полностью электронные |
| Акты приёмки | Не отслеживались | Электронное актирование |
| Реестр недобросовестных поставщиков | Был | Расширен и усовершенствован |
6.3. Эволюция законодательства
94-ФЗ (2006–2013)
│
│ Только закупки
│ Минимум планирования
│ Бумажные процедуры
│
▼
44-ФЗ (2014–настоящее время)
│
│ Полный цикл:
│ 1. Планирование (планы-графики)
│ 2. Размещение извещений
│ 3. Проведение процедур
│ 4. Заключение контракта
│ 5. Исполнение контракта
│ 6. Актирование приёмки
│ 7. Мониторинг исполнения
│
│ Полностью электронные процедуры
│ Интеграция с другими системами
│
▼
Развитие (постоянные изменения)
│
│ Усиление контроля
│ Цифровизация
│ Интеграция с ГИС
6.4. Почему 44-ФЗ называют «контрактной системой»
44-ФЗ регулирует весь жизненный цикл:
-
Планирование
- Заказчик составляет план закупок на 3 года
- Формирует план-график на год
- Обосновывает необходимость закупки
-
Размещение извещения
- Публикация в ЕИС
- Указание всех требований
- Свободный доступ для всех участников
-
Проведение процедуры
- Подача заявок в электронном виде
- Рассмотрение первых частей
- Проведение аукциона/оценка конкурсов
- Рассмотрение вторых частей
-
Заключение контракта
- Подписание в электронной форме
- Размещение в реестре контрактов
- Обеспечение исполнения
-
Исполнение контракта
- Поставка товаров/выполнение работ
- Приёмка комиссией
- Оплата
-
Актирование
- Электронные акты приёмки
- Интеграция с системой «Электронный бюджет»
-
Мониторинг
- Контроль сроков исполнения
- Отслеживание платежей
- Выявление нарушений
94-ФЗ регулировал только этапы 2–4 (размещение, проведение, заключение).
7. Реестр недобросовестных поставщиков (РНП)
7.1. Что такое РНП
Официальное название: Реестр недобросовестных поставщиков (подрядчиков, исполнителей)
Назначение: Список организаций и ИП, которые уклонились от заключения контракта или расторгли контракт в одностороннем порядке
URL: https://zakupki.gov.ru/epz/dishonestsupplier/search/results.html
7.2. Основания для включения в РНП
| Основание | Описание |
|---|---|
| Уклонение от заключения контракта | Победитель не подписал контракт в срок |
| Непредоставление обеспечения | Не предоставил обеспечение исполнения контракта |
| Расторжение по инициативе поставщика | Поставщик сам расторг контракт (через суд) |
| Существенное нарушение контракта | Нарушение условий, выявленное заказчиком |
7.3. Последствия включения в РНП
Срок действия: 2 года с даты включения
Ограничения:
- Нельзя участвовать в государственных закупках по 44-ФЗ
- Нельзя участвовать в закупках по 223-ФЗ (для многих заказчиков)
- Ограничения при участии в концессионных соглашениях
7.4. Поддерживаемые законы в РНП
РНП включает информацию о недобросовестных поставщиках по:
| Закон | Описание |
|---|---|
| 44-ФЗ | Государственные и муниципальные заказчики |
| 223-ФЗ | Госкомпании и субъекты естественных монополий |
| ПП РФ-615 | Постановление Правительства о капитальном ремонте |
7.5. Структура данных РНП
Поля для загрузки:
| Поле | Описание | Пример |
|---|---|---|
| Номер записи | Уникальный номер в реестре | 0123456789 |
| Дата включения | Когда внесли в реестр | 15.03.2025 |
| Наименование организации | Название компании | ООО «Ромашка» |
| ИНН | Налоговый номер | 7701234567 |
| ОГРН | Регистрационный номер | 1027700123456 |
| Основание | Почему включили | Уклонение от заключения контракта |
| Заказчик | Кто инициировал включение | Министерство образования |
| Номер закупки | По какой закупке уклонились | 0888200000224000038 |
| Срок действия | До когда действует запись | 15.03.2027 |
| Закон | 44-ФЗ / 223-ФЗ / ПП-615 | 44-ФЗ |
7.6. Интеграция с основной системой
Связь с закупками:
- По ИНН организации
- По номеру закупки
- По дате включения
Использование:
- Проверка контрагентов перед участием в закупке
- Исключение недобросовестных поставщиков из списка потенциальных
- Анализ рисков при выборе поставщика
8. Технические детали
8.1. Архитектура системы
┌─────────────────────────────────────────────────────────────┐
│ Пользовательский интерфейс │
│ (REST API / Django Admin) │
└─────────────────────────────────────────────────────────────┘
│
│ HTTP запрос
▼
┌─────────────────────────────────────────────────────────────┐
│ Celery (фоновые задачи) │
│ parse_procurements │ sync_procurements │
│ └──────┬────────────┴────────────┬────────────────────────┤
│ ▼ ▼ │
│ BackgroundJob (прогресс) │ │
│ ParserLoadLog (аудит) │ │
└─────────────────────────────────────────────────────────────┘
│
│ Вызов сервиса
▼
┌─────────────────────────────────────────────────────────────┐
│ Сервисный слой │
│ ProcurementService │
│ - сохранение закупок (пакетная загрузка) │
│ - поиск последней даты загрузки │
│ - поиск по ИНН, по номеру закупки │
│ │
│ RegistryOrganizationResolver │
│ - поиск организаций по ИНН/ОГРН │
└─────────────────────────────────────────────────────────────┘
│
│ Запрос данных
▼
┌─────────────────────────────────────────────────────────────┐
│ Клиентский слой │
│ ZakupkiClient │
│ - SOAP API запросы │
│ - скачивание ZIP-архивов │
│ - парсинг XML │
│ - нормализация данных │
│ │
│ BaseHTTPClient │
│ - HTTP запросы │
│ - поддержка прокси │
└─────────────────────────────────────────────────────────────┘
│
│ SOAP API / HTTPS
▼
┌─────────────────────────────────────────────────────────────┐
│ zakupki.gov.ru │
│ SOAP API: int44.zakupki.gov.ru │
│ Веб-сайт: zakupki.gov.ru │
│ Токен: через Госуслуги (ЕСИА) │
└─────────────────────────────────────────────────────────────┘
8.2. Файловая структура проекта
src/apps/parsers/
├── clients/
│ ├── base.py # Базовый HTTP-клиент
│ └── zakupki/
│ ├── __init__.py # ZakupkiClient (основной клиент)
│ └── schemas.py # DTO схемы данных
├── models.py # Django модели (таблицы БД)
├── services.py # Бизнес-логика
├── tasks.py # Celery задачи
├── views.py # REST API endpoints
├── serializers.py # Сериализаторы для API
├── admin.py # Django Admin интерфейс
└── migrations/
├── 0006_add_procurement_model.py
├── 0010_link_registry_organizations.py
└── 0011_add_normalized_date_and_amount_fields.py
8.3. API endpoints
Базовый URL: /api/v1/zakupki/
| Метод | Endpoint | Описание |
|---|---|---|
| GET | /api/v1/zakupki/ |
Список закупок (с фильтрами) |
| GET | /api/v1/zakupki/{id}/ |
Детали закупки |
Параметры фильтрации:
customer_inn— фильтр по ИНН заказчикаcustomer_ogrn— фильтр по ОГРН заказчикаpurchase_number— фильтр по номеру закупкиlaw_type— тип закона (44-FZ / 223-FZ)status— статус закупкиregion_code— код регионаdata_year— год данныхdata_month— месяц данныхsearch— поиск по названию/номеру/заказчику
8.4. Конфигурация
Переменные окружения:
# Токен ЕИС (получается через Госуслуги)
ZAKUPKI_TOKEN=<ваш токен>
# Прокси (опционально)
PARSER_PROXIES=http://user:pass@proxy1:8080,http://user:pass@proxy2:8080
# PostgreSQL
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=mostovik
POSTGRES_USER=postgres
POSTGRES_PASSWORD=<пароль>
# Redis (очередь задач)
CELERY_BROKER_URL=redis://localhost:6379/0
8.5. Периодические задачи
Celery Beat расписание:
| Задача | Расписание | Параметры |
|---|---|---|
sync_procurements |
Ежедневно в 02:00 | region_code="77", law_type="44" |
8.6. Мониторинг и логирование
Журнал загрузок (ParserLoadLog):
- Фиксация каждой загрузки
- Количество сохранённых записей
- Статус выполнения (успех/ошибка)
- Сообщение об ошибке (если была)
Фоновые задачи (BackgroundJob):
- Отслеживание прогресса (0–100%)
- Статус задачи (в процессе/завершено/ошибка)
- Результат выполнения
- Время начала и завершения
Приложения
Приложение А. Коды регионов РФ
| Код | Регион | Код | Регион |
|---|---|---|---|
| 01 | Республика Адыгея | 77 | Москва |
| 02 | Республика Башкортостан | 78 | Санкт-Петербург |
| 03 | Республика Бурятия | 79 | Еврейская АО |
| ... | ... | 99 | Все регионы |
Приложение Б. Типы документов 44-ФЗ
| Тип документа | Код в системе | Описание |
|---|---|---|
| Электронный аукцион | epNotificationEF2020 | Извещение о проведении электронного аукциона |
| Открытый конкурс | epNotificationOK2020 | Извещение о проведении открытого конкурса |
| Запрос котировок | epNotificationZK2020 | Извещение о проведении запроса котировок |
| Запрос предложений | epNotificationEP2020 | Извещение о проведении запроса предложений |
Приложение В. Статусы закупок
| Статус | Описание |
|---|---|
| Планирование | Формирование плана-графика |
| Публикация извещения | Размещение извещения в ЕИС |
| Подача заявок | Приём заявок от участников |
| Рассмотрение заявок | Оценка первых частей |
| Проведение аукциона | Торги на электронной площадке |
| Заключение контракта | Подписание контракта |
| Исполнение | Поставка товаров, выполнение работ |
| Завершено | Контракт исполнен полностью |
| Отменено | Закупка отменена заказчиком |
Приложение Г. Примеры использования
Пример 1: Получение всех закупок заказчика по ИНН
curl -X GET "http://localhost:8000/api/v1/zakupki/?customer_inn=7707083893" -H "Authorization: Bearer <token>"
Пример 2: Поиск закупок по региону и закону
curl -X GET "http://localhost:8000/api/v1/zakupki/?region_code=77&law_type=44-FZ" -H "Authorization: Bearer <token>"
Пример 3: SQL-запрос для получения статистики
-- Сумма закупок по регионам за 2025 год
SELECT
region_code,
COUNT(*) as количество,
SUM(max_price_amount) as общая_сумма
FROM parsers_procurement
WHERE data_year = 2025
GROUP BY region_code
ORDER BY общая_сумма DESC;
Контакты для вопросов:
- Документация:
docs/Техническая справка ЕИС Закупки - 2.md - Код:
src/apps/parsers/ - Тесты:
tests/apps/parsers/
Дата актуализации: 26 марта 2026