Идентификаторы закупок и контрактов (ЕИС)
Зачем и для кого
Инструкция для аналитиков и разработчиков, которые собирают собственный регистр из XML-выгрузок ЕИС, стыкуют витрину с Clearspending или разбирают колонки идентификаторов в CSV. Здесь — логика сущностей и ключей; точные имена XML-элементов и строковые форматы задаются актуальными XSD и методичкой на портале ЕИС и меняются вместе с регламентом оператора.
Входные данные
- Поток документов — извещения, протоколы, контракты, планы-графики (перечень типов — в сведениях о закупках).
- Поля идентификаторов из выбранной схемы XML или экспорта: как минимум различите идентификатор закупки / извещения / процедуры и идентификатор контракта (в т.ч. реестровый номер контракта в смысле витрины ЕИС).
- Признак правового режима — 44-ФЗ vs 223-ФЗ; в смешанных архивах без отбора агрегаты искажаются.
Инструменты
- Документация и XSD на
zakupki.gov.ru(см. XML-выгрузки). - XML-парсер (Python
lxml,xml.etreeи т.д.) или SQL после загрузки в таблицы. - Для точечных проверок без сборки архивов — REST API Clearspending с параметром
regnum(не официальный дубль ЕИС, удобен для валидации).
Шаги
- Зафиксируйте правовой режим по полям схемы или пути файла (44 / 223); отфильтруйте поток до склейки таблиц.
- Постройте модель связей: извещение и протоколы относятся к процедуре закупки; контракт подписывается по результатам процедуры — в XML связь выражена ссылками и общими идентификаторами в логике той версии схемы, которую вы парсите (сверьте с XSD).
- Реестровый номер контракта используйте как стабильный публичный ключ контракта на витрине в паре с версией документа, если схема предусматривает версионирование — иначе при обновлении карточки возможны дубликаты или «расхлопывание» одного договора.
- Не смешивайте внутренние идентификаторы веб-карточки (например, параметры
contractInfoIdв URL портала) с реестровым номером без проверки по XSD/выгрузке: для интеграций опирайтесь на поля XML, а не на устойчивость формата URL. - Стыковка с бюджетом — по КБК, ИНН, КПП и иным полям если они есть в конкретном типе документа; отсутствие КБК в XML не заполняется «из головы».
- Для организаций нормализуйте реквизиты по ИНН, КПП, ОГРН.
Воспроизводимый пример
Извлечь query-параметры из URL карточки на портале (удобно для ручной трассировки; не замена полям XML):
from urllib.parse import parse_qs, urlparse
def url_query_keys(url: str) -> dict[str, list[str]]:
return parse_qs(urlparse(url.strip()).query)
# Подставьте URL из адресной строки браузера — имена параметров меняются между разделами портала
sample = "https://zakupki.gov.ru/epz/contract/contractCard/common-info.html?contractInfoId=1234567890"
print(url_query_keys(sample))
# {'contractInfoId': ['1234567890']}
Запрос одного контракта через публичный API Clearspending по regnum (тот же идентификатор, что в примере how-to Clearspending; подставьте актуальный номер из своей выборки):
curl -sS -G "https://openapi.clearspending.ru/restapi/v3/contracts/get/" \
--data-urlencode "regnum=0173100000414000011" \
-H "User-Agent: Mozilla/5.0 (compatible; eis-id-check/1.0)" | head -c 500
Проверка результата
- После сборки регистра контрактов нет неожиданных дубликатов одного реестрового номера с разными суммами без объяснения версий или исправлений.
- Доля документов без известного ключа связи к процедуре согласована с ожидаемыми типами файлов в архиве (часть сведений публикуется отдельными комплектами).
- Выборки по 44-ФЗ и 223-ФЗ не смешаны в одном отчёте без явной метки режима.
Ограничения и типовые ошибки
- Один реестровый номер в гражданском API и в XML должен совпадать по смыслу, но юридически значимая редакция документа — на ЕИС; зеркала могут отставать.
- Игнорирование 223-ФЗ в общем потоке — завышение объёмов «госзакупок» в смысле 44-ФЗ.
- Путаница ОГРН организации с номером контракта или внутренним
uuidв стороннем API — разные пространства идентификаторов. - Жёсткая привязка кладки URL портала в продакшен-пайплайне — ломается при смене маршрутов; для массовой обработки используйте официальные XML/СОИ (см. карточку ЕИС).
Связанные страницы
- Сведения о закупках и контрактах (ЕИС) — концептуальный вход и смешение 44/223.
- XML-выгрузки ЕИС — сырые комплекты и типичные ключи связи.
- ЕИС в сфере закупок — оператор, СОИ, ограничения.
- 44-ФЗ и 223-ФЗ — правовые границы выборок.
- REST API Clearspending — параметр
regnumи поиск по ИНН. - ИНН, КПП, ОГРН и ОКТМО в выгрузках — нормализация сторон контракта.
- Отчётность по контрактам — формы, смежные с реестрами.
- Расшифровка КБК — если в контракте или плане есть поле КБК.