API Integration
The portals talk to one service for all data operations: the UI Backend REST API, reached at
/iot-webservice/ through the container’s own Nginx proxy.
Backend base URL
ApiService (@ft/common/services) builds every request from the runtime configuration:
const url = AppConfigService.settings.server.api + 'iotw/' + path;
server.api is patched to the relative path /iot-webservice/ at container start, so the deployed
requests look like /iot-webservice/iotw/<path> on the portals origin, and Nginx proxies them to
FT_UI_BACKEND_URL. When running from source, server.api holds an absolute development URL and
the browser calls the backend directly. See
Configuration.
HTTP client setup
| Piece | Behaviour |
|---|---|
|
|
|
Adds |
|
Catches HTTP failures, dispatches an error notification into the store, and handles authentication errors centrally (including the aborted-request code |
Request flow
-
Feature code dispatches NgRx actions; effects call the backend through
ApiServiceand feed results back into the store (see State & Data Flow). -
All data operations — authentication, session, platform APIs — go through this single base URL.
-
Uploads (firmware, configuration files) use the same origin; the proxy allows request bodies up to 1000 MB and 300-second timeouts.
Other proxied upstreams
| Path | Used by |
|---|---|
|
|
|
The embedded Grafana dashboards on the Management Portal system-overview pages. The dashboard
URLs come from backend settings, and the frames are marked trusted with Angular’s
|
Portal permissions
On startup the portals container uploads a permissions configuration per portal to the backend
(sc / mc). This governs what user groups can do and is applied server-side. See
Installation & Deployment.