DOU Проектор: OpenDataUABot — сервис мониторинга регистрационных данных компаний
В рубрике DOU Проектор все желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. .
Идея
908 — продуктовая компания, мы создаем проекты, которые упрощают жизнь людей и зарабатываем на этом деньги. Один из проектов, на котором мы сейчас сфокусированы — это Stickerpipe, проект, который позволяет добавить стикеры в любой мессенджер. Проекты для мессенджеров — это то, чем нам интересно сейчас заниматься.
Идея сервиса OpenDataUABot возникла у нас тогда, когда мы столкнулись с рейдерским захватом одного из наших бизнесов. В основном все захваты происходят по одной схеме — смена учредителей и директоров по подложным документам, вывод активов (IP, недвижимость, оборотные средства) из компании и дальнейшее банкротство. Главная задача бота — уведомлять собственников бизнеса про смену директоров и учредителей для защиты компаний.
До апреля 2016 года мы не могли создать подобный проект, так как реестр компаний был защищен каптчей. После того, как Минюст первый раз выложил дамп своей базы в CSV, мы за 4 дня сделали и зарелизили первую версию бота.
Анализ экспорта данных Минюста показал, что ОКПО — это не первичный ключ для украинских компаний. По одному ОКПО может быть несколько записей по компании, если она меняла форму собственности. К сожалению, в базе есть и дубликаты, 67 компаний в Украине имеют статус «зарегистрировано» и разные директора и адреса. Судя по всему, редактируется то одна, то другая запись про компанию и контроля консинстестности базы нет.
В дальнейшем Минюст перешел на XML экспорт своей базы, что добавило хлопот при ее обновлении. Помогла библиотека PHP XMLParser, одна из самых старых, которая позволяет потоково парсить XML любого размера.
Реализация
Технологически бот работает так: сообщения от пользователей через webhook попадают на PHP бекенд (Phalcon 2.0) и ставятся в очередь BeanStalk. Несколько воркеров разргебают эту очередь (сейчас достаточно
Первое, с чем мы столкнулись — это ограничение Telegram до трех потоков на webhook. Таким образом, если бекенд обрабатывает запрос от трех пользователей, четвертый будет ждать очереди и бекенд не получит от него запрос. Мы решили это переходом на очереди, и сейчас бекенд отвечает на web-hook запрос за
Второе — это построение интерфейса бота. Мы должны понимать, что ищет пользователь (ФОП по имени или компанию по адресу), не перегружать интерфейс и давать результать как можно быстрее.
Сейчас мы запускаем бота по Skype и Facebook, хотим таким образом быть на каждой бот-платформе.
Результаты
Аудитория бота — 4200 пользователей, ежедневно им пользуется до 1000 человек. После каждого релиза мы сразу получаем обратную связь, в ботах это очень просто. По результатам общения с пользователями (а в основном это юристы и владельцы бизнесов) мы добавили функциональность по подпискам на новые решения на судебном реестре, аналитику по адресу компании, поиск по частным предпринимателям.
Последний наш релиз — это подписки на статусы частных предпринимателей. Нередки случаи, когда ФОП или закрывается без уведомления предпринимателя по решению суда, либо его закрытие происходит без соответствующих изменений реестра. Таким образом можно следить за статусом и видами деятельности вашего ФОП.
Команда победила на хакатоне EGAP, посвященному созданию проектов для взаимодействия бизнеса и государства.
Мы получаем много запросов по работе с другими реестрами, поэтому мы переименовали бота, как проект, который работает с открытыми государственными данными.
Над проектом работают как разработчики 908, так и волонтеры. Мы очень благодарны им за помощь. Надеемся, что создав удобный инструмент для украинского бизнеса, мы также поможем создавать новых полезных ботов.