ЗакупВарта / ZakupVarta

August 13, 2026 · View on GitHub

Незалежний Telegram-сервіс, що стежить за публічним API Prozorro, знаходить закупівлі за ключовими словами, регіоном і бюджетом та повідомляє про істотні зміни.

Це робочий MVP. Він не гарантує дохід і не є офіційним сервісом Prozorro.

Монетизація

  • Free: один фільтр.
  • Premium: 25 фільтрів на 30 днів.
  • Оплата цифрової послуги через Telegram Stars (/buy).
  • Початкова ціна: 250 Stars. Змінюється через PREMIUM_STARS.

Перевага над звичайними каталогами: сповіщення не лише про нові закупівлі, а також про зміну бюджету, дедлайну, статусу та появу документів.

Запуск

Потрібен Node.js 20 або новіший.

  1. У Telegram відкрийте @BotFather, виконайте /newbot і отримайте токен.
  2. Запустіть безпечний локальний майстер і вставте токен у його запит:
npm run setup
  1. Відкрийте створеного бота, надішліть показану майстром команду /claim_admin ..., а потім запустіть:
npm test
npm start

Зовнішні npm-пакети не потрібні. .env читається автоматично.

Команди бота

  • /start або /help — довідка.
  • /watch генератори, електростанції | Київська | 100000 — фільтр.
  • /list — список фільтрів.
  • /remove 1 — видалення фільтра.
  • /scan — ручна перевірка 100 останніх оновлень.
  • /plan — тариф.
  • /buy — Premium через Telegram Stars.
  • /setup — запит персонального налаштування.
  • /partner — партнерство для консультантів.
  • /digest — добровільний щотижневий огляд.
  • /ref — персональне запрошення з бонусом після першої оплати запрошеного.
  • /admin — статистика для ADMIN_CHAT_ID.
  • /terms — короткі умови.
  • /support і /paysupport — підтримка та оплати.
  • /delete_me — видалення даних користувача.

Демо без Telegram

npm run demo -- генератор

Команда звертається до production API Prozorro і показує до трьох збігів.

Розгортання

Найпростіший старт: будь-який Node.js VPS або сервіс із постійним процесом і постійним диском. Запускати один екземпляр, оскільки Telegram long polling і JSON-сховище не розраховані на горизонтальне масштабування.

$env:TELEGRAM_BOT_TOKEN="..."
$env:ADMIN_CHAT_ID="..."
npm start

Для production після перших платних користувачів:

  1. Перенести користувачів, фільтри й платежі з JSON у PostgreSQL.
  2. Додати резервне копіювання та моніторинг процесу.
  3. Опублікувати умови, політику приватності й контакти підтримки.
  4. Узгодити податкову модель і виплати Telegram Stars у своїй країні.
  5. Не розсилати рекламу контактам із тендерів без згоди.

Готові варіанти розгортання: Dockerfile, compose.yaml і render.yaml. План залучення перших користувачів знаходиться в LAUNCH.md.

Резервна копія стану:

npm run backup

Дані й API

  • Джерело: Prozorro public API.
  • Читання публічних тендерів не потребує API-ключа.
  • Курсор API та профілі на Windows за замовчуванням зберігаються у %LOCALAPPDATA%/TenderPulse/state.json, поза OneDrive. Шлях можна змінити через DATA_FILE.
  • API може віддавати повторні ID після змін; обробка ідемпотентна в межах збережених snapshots.

Перевірка

npm run check

Важливі обмеження

  • Це інформаційний сервіс, а не тендерний майданчик і не юридична порада.
  • Telegram Stars доступні та виплачуються за правилами Telegram, які можуть змінюватися.
  • Перед публічним продажем потрібні актуальні умови користування, політика приватності та перевірка вимог оподаткування.