Клиент для сервиса отдачи информации и документов ЕИС
Сервис отдачи информации и документов (СОИ) - это сервис для доступа к документам, размещенным в единой информационной системе (ЕИС) в сфере закупок https://zakupki.gov.ru.
Описание взаимодействия приведено в разделе 2.9.20 документа ЕИС Альбом ТФФ 15 (ссылка).
Данный проект является клиентской библиотекой для взаимодействия с СОИ.
Реализованные методы:
- getNsiRequest – запрос в хранилище документов (ХД) данных справочника
- getDocsByReestrNumberRequest – запрос формирования в ХД архивов с документами по реестровому номеру
- getDocsByOrgRegionRequest - запрос архивов по региону заказчика и типу документа
Файлы загружаются из СОИ в файловую систему или S3.
Подготовка к работе
Перед началом использования клиента Вам понадобится персональный токен.
Токен можно получить после регистрации в ЕИС в соответствии с разделом 3
инструкции docs/Инструкция_по_использованию_сервисов_отдачи_информации_с_регистрацией.pdf.
Установка и конфигурация
Установка
pip install dars
Конфигурация
dars config edit
Пример файла конфигурации (~/.config/dars/config.toml)
token = "secret"
[fz44]
[fz223]
[s3]
Загрузка файлов
По умолчанию, файлы загружаются в S3 и копии остаются в директории загрузки файловой системы.
Директория загрузки задается параметром download_dir.
Доступ к S3 осуществляется в соовтетствии с секцией [s3].
Для отмены загрузки файлов в S3 в командах необходимо указать опцию --no-upload.
Примеры
Загрузка справочников
dars getnsirequest \
--base=fz44 \
--nsicode=nsiAllList \
--prefix=nsi/fz44
dars getnsirequest \
--base=fz44 \
--nsicode=nsiOrganization \
--prefix=nsi/fz44/nsiOrganization
dars getnsirequest \
--base=fz44 \
--nsicode=nsiDocumentTypes \
--prefix=nsi/fz44/nsiDocumentType
dars getnsirequest \
--base=fz223 \
--nsicode=nsiOrganization \
--prefix=nsi/fz223/nsiOrganization
dars getnsirequest \
--base=fz223 \
--nsicode=nsiDocumentTypes223 \
--prefix=nsi/fz223/nsiDocumentType
Запрос документов по реестровому номеру
dars getdocsbyreestrnumberrequest \
--subsystem-type=RPGZ \
--reestr-number=202403732000688001 \
--prefix=public/fz44/tenderplans
dars getdocsbyreestrnumberrequest \
--subsystem-type=PRIZ \
--reestr-number=0338100003724000064 \
--prefix=public/fz44/purchases
Использование в качестве модуля
import dars
s3 = {
"access_key": "key",
"secret_key": "secret",
"endpoint_url": "http://localhost:9002",
"bucket": "drs",
"region": "ru-1"
}
client = dars.client(sender='myapp', s3=s3)
keys = client.getNsiRequest(
base='fz44',
nsicode='nsiOrganization',
prefix='fz44/nsi/nsiOrganization'
)
Типы подсистем и документов
Типы подсистем и документов, используемых в аргументах команды, приведены
в приложениях 1 и 2 инструкции docs/Инструкция_по_использованию_сервисов_отдачи_информации_с_регистрацией.pdf