Перед тобой поставлена задача дополнить данные о контрагентах результатами проверок.
Тебе нужно помочь компании упростить проверку клиентов перед заключением договоров - особенно важно предотвратить сотрудничество с неблагонадежными организациями - теми, которые находятся в состоянии банкротства или счета которых заблокированы.
Итак, тебе нужно дополнить данные клиентов-юридических лиц на основе уже имеющихся сведений, добавив из портала открытых данных информацию об их руководителях, ИНН и ОКВЭД, признаки банкротства или блокировки счетов.
Получить эти данные можно через api ФНС
https://api-fns.ru/api_help#section_checkСейчас для большинства компаний эта информация не заполнена и при заключении договора приходится тратить время на проверки и запросы.
Изменения в структуру таблиц должны вноситься кодом, язык программирования на твое усмотрение, использовать ORM или нет - решать тебе.
Должно быть реализовано подробное логирование.
Мы подготовили для тебя тестовую базу в docker контейнере, скачать можно по ссылке (тут будет ссылка), для запуска выполни в директории проекта
docker compose up
База данных будут доступна по адресу 127.0.0.1:3306, логин admin, пароль admin.
Мы рекомендуем дополнительно реализовать простой API или пару веб-страниц для демонстрации результатов:
- для получения списка всех контрагентов с отметками о блокировках счета и банкротстве;
- для получения полных сведений о результате проверки конкретного контрагента по его id в БД.
У вас есть часть выгрузки клиентов компании - таблица с полями:
a. Название компании
b. Адрес
c. ИНН
d. ОКВЭД
e. Фио Директора
f. Должность директора
Название компании и адрес заполнены всегда. Остальные поля могут быть заполнены или не заполнены.
Ваша задача - получить через API с портала открытых данных недостающие данные для этих компаний. Выполните проверку полученных с помощью API внешних данных на корректность, а также проверьте, не существует ли уже эта информация в таблице. Если она существует и выглядит соответственно нужному формату, то такую информацию перезаписывать нельзя. Если информация не существует или явно некорректна (слишком мало символов, не те символы), то ее нужно перезаписать. По итогам работы вашей программы должен создаваться подробный файл лога, отражающий количество найденных и ненайденных сведений, возможные ошибки.
Артефакты проекта: API открытых данных юр.лиц -
https://api-fns.ru/api_help#section_poiskВводный датасет тут.