Мета:
Создать единый, полностью автоматизированный поток уведомлений в Telegram, который агрегирует релевантные тендеры и проекты из двух абсолютно разных источников: украинского государственного портала Prozorro и международного API Всемирного банка.
Ключевые требования:
Параллельная обработка: Одновременный мониторинг национальных и международных источников.
Трансформация данных: Преобразование сложных и разнородных данных в единый, стандартизированный формат.
Мгновенные уведомления: Оперативная доставка отформатированных отчетов в Telegram.
Масштабируемость: Архитектура, готовая к легкому подключению новых API в будущем.
Мой Вклад:
Проект начался с вызова: информация о релевантных тендерах была разбросана по изолированным государственным и международным порталам, каждый из которых имел уникальную структуру API, формат данных и правила доступа. Прямая агрегация была невозможна без комплексной обработки.
Мой вклад заключался в проектировании и разработке "с нуля" единой архитектуры на self-hosted n8n, которая объединила эти разнородные потоки данных в один мощный инструмент.
Анализ и интеграция разнородных API: Я провел глубокий анализ двух абсолютно разных API — Prozorro и World Bank. Это включало изучение документации, определение правильных эндпоинтов, параметров запроса и, что самое важное, — структуры их ответов.
Трансформация сложных данных: API Всемирного банка возвращало данные в крайне нетипичной структуре (объект объектов вместо массива). Для решения этой проблемы я написал кастомный скрипт на JavaScript в узле Code, который парсил эту структуру, нормализовал ее и преобразовывал в стандартизированный формат, готовый к дальнейшей обработке.
Построение параллельного воркфлоу: Я разработал единый рабочий процесс, который запускается по расписанию и выполняет две параллельные ветки для каждого источника. Система управляет полным циклом:
Автоматическое получение списков тендеров и проектов.
Итеративная обработка: Получение детальной информации для каждой записи отдельно.
Динамическое форматирование данных в читабельные сообщения с помощью узла Code.
Объединение потоков через узел Merge для создания единой очереди уведомлений.
Результат:
Создан полностью автономный "радар" для отслеживания тендеров, работающий 24/7.
Единый информационный канал: Клиент получает уведомления из украинских и международных источников в одном Telegram-чате.
Экономия времени: Система полностью автоматизирует ручной процесс мониторинга нескольких сайтов.
Высокая масштабируемость: Архитектура с параллельными ветками и узлом Merge позволяет легко добавлять новые источники (например, TED, UNGM) без необходимости перестраивать всю логику.
Надежность: Решение работает на собственном экземпляре n8n, что гарантирует полный контроль, безопасность и отсутствие сторонних ограничений.
#n8n #API #APIIntegration #Automation #Prozorro #WorldBank #Telegram #TelegramBot #NoCode #JavaScript #WorkflowAutomation #DataParsing #BusinessAutomation #Автоматизация #ЧатБот
Создать единый, полностью автоматизированный поток уведомлений в Telegram, который агрегирует релевантные тендеры и проекты из двух абсолютно разных источников: украинского государственного портала Prozorro и международного API Всемирного банка.
Ключевые требования:
Параллельная обработка: Одновременный мониторинг национальных и международных источников.
Трансформация данных: Преобразование сложных и разнородных данных в единый, стандартизированный формат.
Мгновенные уведомления: Оперативная доставка отформатированных отчетов в Telegram.
Масштабируемость: Архитектура, готовая к легкому подключению новых API в будущем.
Мой Вклад:
Проект начался с вызова: информация о релевантных тендерах была разбросана по изолированным государственным и международным порталам, каждый из которых имел уникальную структуру API, формат данных и правила доступа. Прямая агрегация была невозможна без комплексной обработки.
Мой вклад заключался в проектировании и разработке "с нуля" единой архитектуры на self-hosted n8n, которая объединила эти разнородные потоки данных в один мощный инструмент.
Анализ и интеграция разнородных API: Я провел глубокий анализ двух абсолютно разных API — Prozorro и World Bank. Это включало изучение документации, определение правильных эндпоинтов, параметров запроса и, что самое важное, — структуры их ответов.
Трансформация сложных данных: API Всемирного банка возвращало данные в крайне нетипичной структуре (объект объектов вместо массива). Для решения этой проблемы я написал кастомный скрипт на JavaScript в узле Code, который парсил эту структуру, нормализовал ее и преобразовывал в стандартизированный формат, готовый к дальнейшей обработке.
Построение параллельного воркфлоу: Я разработал единый рабочий процесс, который запускается по расписанию и выполняет две параллельные ветки для каждого источника. Система управляет полным циклом:
Автоматическое получение списков тендеров и проектов.
Итеративная обработка: Получение детальной информации для каждой записи отдельно.
Динамическое форматирование данных в читабельные сообщения с помощью узла Code.
Объединение потоков через узел Merge для создания единой очереди уведомлений.
Результат:
Создан полностью автономный "радар" для отслеживания тендеров, работающий 24/7.
Единый информационный канал: Клиент получает уведомления из украинских и международных источников в одном Telegram-чате.
Экономия времени: Система полностью автоматизирует ручной процесс мониторинга нескольких сайтов.
Высокая масштабируемость: Архитектура с параллельными ветками и узлом Merge позволяет легко добавлять новые источники (например, TED, UNGM) без необходимости перестраивать всю логику.
Надежность: Решение работает на собственном экземпляре n8n, что гарантирует полный контроль, безопасность и отсутствие сторонних ограничений.
#n8n #API #APIIntegration #Automation #Prozorro #WorldBank #Telegram #TelegramBot #NoCode #JavaScript #WorkflowAutomation #DataParsing #BusinessAutomation #Автоматизация #ЧатБот