IoT Stadium

API Documentation

Widget

Widget - POST Add Map Widget

Add a map widget to visualize device locations or telemetry with your layout

Post
https://api.iotstadium.com/ext/dashboards/:dashboardId/widgets
{
	"key": "Content-Type",
	"value": "application/json"
},
{
	"key": "Authorization",
	"value": "Bearer {{token}}"
},

Parameter

Field Type Description
widget_name String

Name of the widget

description String

Description of the widget

width Integer

Width in grid units (2–12). Corresponds to % layout width.

height Integer

Height in px. Min: 150, Max: 600

widget_type String

Must be "map" for this case

map[x_size] Float

Width of the map in pixels

map[y_size] Float

Height of the map in pixels

map[map_background] file(image)

Background image for the map

map[layers][i][name] String

Name of the layer

map[layers][i][object_type] String

"circle" / "rectangle" / "polygon" etc.

map[layers][i][marker_device_type] String

"telemetry" or others

map[layers][i][value_type] String

"device" or other values

map[layers][i][device] Integer

Device ID (optional)

map[layers][i][location] String

Custom location value (optional)

map[layers][i][device_telemetry_key] String or Array of Strings

Telemetry key(s) (optional)

map[layers][i][location_custom_field] String

Optional custom field

map[layers][i[with_automation] Boolean (true/false)

Enable automation logic

map[layers][i][marker_telemetry_key] String

Telemetry key used for marker tracking

map[layers][i][device_actuator_id] Integer or Array of Integers

Actuator ID(s) (optional)

map[layers][i][is_show_telemetry_key] Boolean

Show telemetry values on map marker

map[layers][i][layer_setting][index] Integer

Index of the circle layer (optional)

map[layers][i][layer_setting][latlng][lat] Float

Latitude of circle center

map[layers][i][layer_setting][latlng][lng] Float

Longitude of circle center

map[layers][i][layer_setting][radius] Float

Radius of the circle in pixels or meters

map[layers][i][layer_setting][default_color] String

Default color for the circle (hex code).

map[layers][i][layer_setting][ack_color] String

Acknowledged alert color

map[layers][i][layer_setting][alert_color] String

Alert color when condition is met

map[layers][i][layer_setting][latlng][j][k][lat] Float

Latitude of corner point

map[layers][i][layer_setting][latlng][j][k][lng Float

Longitude of corner point

map[layers][i][layer_setting][default_color] String

Default fill color of shape

map[layers][i][layer_setting][ack_color] String

Acknowledged alert color

map[layers][i][layer_setting][alert_color] String

Alert fill color

map[layers][i][layer_setting][alert_style][threshold_alert] String

Alert condition operator

map[layers][i][layer_setting][alert_style][normal][color] String

Color for normal state

map[layers][i][layer_setting][alert_style][warning][color] String

Warning color

map[layers][i][layer_setting][alert_style][warning][threshold_value] Integer

Value that triggers warning state

map[layers][i][layer_setting][alert_style][alert][color] String

Alert color

map[layers][i][layer_setting][alert_style][alert][threshold_value] Integer

Threshold value that triggers alert state

map[layers][i][layer_setting][alert_style][first_state][opacity Integer

Opacity for first state (0–100).

map[layers][i][layer_setting][alert_style][second_state][opacity] Integer

Opacity for second state (0–100)

'widget_name="test map layer postman"' \
'description=" "' \
'width="6"' \
'height="300"' \
'widget_type="map"' \
'map[x_size]="535.5191256830601"' \
'map[y_size]="500"' \
'map[map_background]=@"/C:/Users/Alwi/Downloads/teras.jpg"' \
'map[layers][0][name]="new circle 2"' \
'map[layers][0][object_type]="circle"' \
'map[layers][0][marker_device_type]="telemetry"' \
'map[layers][0][value_type]="device"' \
'map[layers][0][device]=""' \
'map[layers][0][location]=""' \
'map[layers][0][device_telemetry_key]=""' \
'map[layers][0][location_custom_field]=""' \
'map[layers][0][with_automation]="false"' \
'map[layers][0][marker_telemetry_key]=""' \
'map[layers][0][device_actuator_id]=""' \
'map[layers][0][layer_setting][index]="2"' \
'map[layers][0][layer_setting][latlng][lat]="117.72915649414062"' \
'map[layers][0][layer_setting][latlng][lng]="-139.70604242990612"' \
'map[layers][0][layer_setting][radius]="26.140975795853873"' \
'map[layers][0][layer_setting][default_color]="\#0F3A6D"' \
'map[layers][0][layer_setting][ack_color]="\#FFAF50"' \
'map[layers][0][layer_setting][alert_color]="\#EF3F3F"' \
'map[layers][1][name]="testing"' \
'map[layers][1][object_type]="rectangle"' \
'map[layers][1][marker_device_type]="telemetry"' \
'map[layers][1][value_type]="device"' \
'map[layers][1][device]="617"' \
'map[layers][1][location]=""' \
'map[layers][1][device_telemetry_key][0]="gateway_id"' \
'map[layers][1][location_custom_field]=""' \
'map[layers][1][with_automation]="true"' \
'map[layers][1][marker_telemetry_key]="gateway_id"' \
'map[layers][1][is_show_telemetry_key]="0"' \
'map[layers][1][device_actuator_id][0]="162"' \
'map[layers][1][layer_setting][index]="1"' \
'map[layers][1][layer_setting][latlng][0][0][lat]="-5.60418701171875"' \
'map[layers][1][layer_setting][latlng][0][0][lng]="-60.35041971911005"' \
'map[layers][1][layer_setting][latlng][0][1][lat]="27.729156494140625"' \
'map[layers][1][layer_setting][latlng][0][1][lng]="-60.35041971911005"' \
'map[layers][1][layer_setting][latlng][0][2][lat]="27.729156494140625"' \
'map[layers][1][layer_setting][latlng][0][2][lng]="-0.33356990241099993"' \
'map[layers][1][layer_setting][latlng][0][3][lat]="-5.60418701171875"' \
'map[layers][1][layer_setting][latlng][0][3][lng]="-0.33356990241099993"' \
'map[layers][1][layer_setting][default_color]="\#0F3A6D"' \
'map[layers][1][layer_setting][ack_color]="\#FFAF50"' \
'map[layers][1][layer_setting][alert_color]="\#EF3F3F"' \
'map[layers][1][layer_setting][alert_style][threshold_alert]="gt"' \
'map[layers][1][layer_setting][alert_style][normal][color]="green"' \
'map[layers][1][layer_setting][alert_style][warning][color]="yellow"' \
'map[layers][1][layer_setting][alert_style][warning][threshold_value]="50"' \
'map[layers][1][layer_setting][alert_style][alert][color]="red"' \
'map[layers][1][layer_setting][alert_style][alert][threshold_value]="100"' \
'map[layers][1][layer_setting][alert_style][first_state][action]=""' \
'map[layers][1][layer_setting][alert_style][first_state][opacity]="100"' \
'map[layers][1][layer_setting][alert_style][second_state][action]=""' \
'map[layers][1][layer_setting][alert_style][second_state][opacity]="50"'                                            
{
    "message": "dashboard created",
    "data": {
        "id": "814"
    },
    "code": 200
}
{
    "message": "Invalid Message",
    "code": 400,
    "errors": [
        {
            "field": "widget_name",
            "message": "The widget name field is required.."
        }
    ]
}