Multi-channel tender monitoring system

AI & Machine Learning 90 USD
Job 12 of 31
Goal:
Create a single, fully automated notification flow in Telegram that aggregates relevant tenders and projects from two completely different sources: the Ukrainian state portal Prozorro and the international API of the World Bank.

Key Requirements:

Parallel Processing: Simultaneous monitoring of national and international sources.

Data Transformation: Converting complex and heterogeneous data into a single, standardized format.

Instant Notifications: Prompt delivery of formatted reports in Telegram.

Scalability: Architecture ready for easy integration of new APIs in the future.

My Contribution:
The project started with a challenge: information about relevant tenders was scattered across isolated state and international portals, each with a unique API structure, data format, and access rules. Direct aggregation was impossible without comprehensive processing.

My contribution was in designing and developing "from scratch" a unified architecture on self-hosted n8n that combined these heterogeneous data streams into one powerful tool.

Analysis and Integration of Heterogeneous APIs: I conducted an in-depth analysis of two completely different APIs — Prozorro and World Bank. This included studying documentation, identifying the correct endpoints, query parameters, and, most importantly, the structure of their responses.

Transformation of Complex Data: The World Bank API returned data in an extremely atypical structure (an object of objects instead of an array). To address this issue, I wrote a custom script in JavaScript in the Code node that parsed this structure, normalized it, and transformed it into a standardized format ready for further processing.

Building a Parallel Workflow: I developed a single workflow that runs on a schedule and executes two parallel branches for each source. The system manages the full cycle:

Automatic retrieval of lists of tenders and projects.

Iterative processing: Obtaining detailed information for each record separately.

Dynamic formatting of data into readable messages using the Code node.

Merging streams through the Merge node to create a single notification queue.

Result:
A fully autonomous "radar" for tracking tenders has been created, operating 24/7.

Single Information Channel: The client receives notifications from Ukrainian and international sources in one Telegram chat.

Time Savings: The system fully automates the manual process of monitoring multiple websites.

High Scalability: The architecture with parallel branches and the Merge node allows for easy addition of new sources (e.g., TED, UNGM) without the need to rebuild the entire logic.

Reliability: The solution runs on its own instance of n8n, ensuring complete control, security, and absence of third-party limitations.

#n8n #API #APIIntegration #Automation #Prozorro #WorldBank #Telegram #TelegramBot #NoCode #JavaScript #WorkflowAutomation #DataParsing #BusinessAutomation #Automation #ChatBot
Details
  • Added:
231

Freelancer

  • Projects 11
  • Rating 4.9
  • Rating 1 627
Register

If you have an account, log in

Indicators

  • Last visit: 13 hours 57 minutes ago