Skip to main content

Developer Guide


Introduction for Developers

The Developer Guide is intended for advanced users, solution integrators, and developers who want to extend, automate, or integrate IoTRoutes beyond its standard configuration.

It provides the necessary technical details to work with the platform’s APIs, Workflows, Attribute Interpreters, Expression Engine, and Messaging Structure (PMS).

Audience

This guide is for:

  • System Integrators who connect IoTRoutes to external systems or devices.

  • Workflow Developers who automate message processing, normalization, and device communication.

  • API Consumers who retrieve or send data using the IoTRoutes REST endpoints.

  • Analysts and Engineers who build custom reports, data pipelines, or integrations.

Scope

The documentation covers:

  • Accessing and using the IoTRoutes REST APIs.

  • Developing and debugging Workflows and Actions.

  • Creating and using Formula Expressions.

  • Writing and deploying Attribute Interpreters.

  • Understanding the Platform Message Structure (PMS) and message conversion process.

  • Generating dynamic reports and using the File Bucket for templates and file storage.

Before starting, it is recommended to review the Architecture Overview section to understand the main components and data flow of the IoTRoutes platform.


Architecture for Developers

IoTRoutes follows a modular and layered architecture, designed to separate device communication, business logic, and user interfaces while remaining highly extensible for integrators.

1. Layers Overview

LayerDescriptionTechnologies / Components
Presentation LayerUser interface for dashboards, device management, workflows, and settings.Angular
Application Layer (AOS)Core logic of the platform. Hosts APIs, workflows, interpreters, and automation rules..NET Core Web API
Data LayerStores devices, attributes, PMS messages, and ledger entries.Mongodb/ GridFS
Message Broker LayerHandles real-time message exchange between IoTRoutes and connected devices.MQTT / AMQP
File Bucket LayerManages binary files, report templates, and user-generated content.AOS Storage Service
Security LayerHandles authentication, authorization, and API token management.JWT Tokens, Role-based Access

2. Developer Interaction Points

Developers primarily work with the Application Layer (AOS) and its exposed interfaces:

  1. REST APIs — for integration, automation, and data exchange with external systems.

  2. Workflow Engine — for implementing inbound/outbound message handling, calculations, Reports or automation rules.

  3. Expression Engine — for dynamic formulas, conditional logic, and variable assignments.

  4. Attribute Interpreters — for real-time evaluation and semantic classification of received data.

  5. File Bucket API — for storing templates and managing generated files (e.g., Word/Excel reports).


3. Typical Data Flow

  1. Incoming messages are received through the broker and processed by Inbound Workflows.

  2. These workflows convert raw messages into a unified format called the Platform Message Structure (PMS).

  3. The PMS is then interpreted and normalized into the Attributes Ledger, where attribute values are stored.

  4. Outbound Workflows can generate new messages from PMS, to send commands or notifications to devices.

  5. APIs and Dashboards allow users to visualize data, trigger workflows, or retrieve device information.


4. Security Context

All developer operations (API calls, workflow triggers, file uploads, etc.) are protected by JWT-based authentication.
Access to features and endpoints is further filtered by user roles defined in the platform (e.g., System Admin, Functional User, Security Admin).


5. Extension Points

IoTRoutes is designed to be extensible. Developers can:

  • Create custom workflows to handle specific data transformation or automation scenarios.

  • Add new workflow actions for specialized integrations.

  • Define custom attribute interpreters for advanced data analytics.

  • Extend dashboards with custom KPIs or data visualizations.

 

 

Recent Posts