REST API Dokumentation

REST API

Die LineMetrics REST API bietet die Möglichkeit Daten via REST JSON API auszulesen bzw. Objekte in der Objektstruktur zu erstellen.

Alle REST API Endpunkte sowie Beschreibung der einzelnen Endpunkte finden Sie in unserer Postman Collection welche sich im Anhang befindet.
Weitere Informationen finden sie auch unter https://rest-api-doc.linemetrics.com/v2

Authentifizierung

Für den Zugriff auf die REST API Services, muss über den Endpunkt https://restapi.linemetrics.com/oauth/access_token ein Access - Token angefordert werden.

Für das Einrichten eines API Zugangs pro Account nehmen Sie bitte Kontakt mit dem LineMetrics Support auf. Sie bekommen dann vom LineMetrics Support eine CLIENT_ID sowie ein CLIENT_SECRET übermittelt, welches für die Authentifizierung erforderlich ist.

 Endpunkt
Methode
 Post
 Request Body
{
    "client_id": "{client_id}",
    "client_secret": "{client_secret}",
    "grant_type": "client_credentials"
}
 Response
{
    "token_type": "Bearer",
    "expires_in": 43200,
    "access_token": "asdfasdölfkjasdflkjCXASDFdfasdgdgdfasdfJjMzdkMGViYWJiZDQwOWUwIn0.eyJhdWQiOiJhcGlfMTk5NGM0ZmYzMTQ1IiwianRpIjoiNWU4OTZiNmMzNzM4NmNlNDAwYjUwNjk0MDhkOTEwYTBmMDNhMmQ2N2YyMDAzMDY5OTg1MTI5ZmE2MDVkNTA0YmMzN2QwZWJhYmJkNDA5ZTAiLCJpYXQiOjE3MjMwMTgwOTksIm5iZiI6MTcyMzAxODA5OSwiZXhwIjoxNzIzMDYxMjk5LCJzdWIiOiIiLCJzY29wZXMiOltdfQ.le11OJdysKth_unm-pWEClT9Kv-MK4oLwsuxi7QPgZwou6EGJ8mzoSXYqM1BDlKXXr4EZAufFH1gvQ23iZxY0vHhdf7SR5Ck9gLyzeEHLdkW0VAMldFBzyrMcRtPsWkjCup2fzmr3-Oub3F0q_7Is0EfA_Sk9Z9flEtI8WRU9RVW3dZt9IFXHG-bdxrPi4M0Yewe_5l6ctn-2fGWlIpT4gBiV_4c-FnpVxbQZ1y7phnzRekWNOMimDLIG_7MC1KW1TXEaLr8myP3Q2ZMIEX83m-PUTCm7iOChnmxCxwhBbtn50EDDiQM4ZjJ5G3Y_BhOCsl4zg7oVrNiiLJcMuOdsqJol6q6rcMKBhmBIw_Y6hUZaU5kDmT3a7GVEsvhARpVgwN5U91-DesRaKByYi4xL6mrtzQG4FgVsCiPSQ6aAyZHw6bO8ONvoJHDXGVcpZaBLIGPNSdgAAnujZinDE4MLb_emwStGc6PPhqef8zmW8v10VF7PrlDHRQGndWSfSdx82bkDdcue2MvBB6vOuw3eEgjcWAyFw4aROBIWOob8rYo8Lz_mxh9G1i_OLpSvy_wQtlYp7BeWKUm_9NBKtCPpoAlyP3TZWmaMooa-qBLpBDGGrJEy6qGQLXmf3AGPbRugp7sUZsfgoIqadK-B3s_Jd4F1Cmo61-ny8Ven9O3-QU"
}

Device Model

Das Device Model bietet REST JSON Endpunkte, um alle Devices eines Accounts, Informationen zu Eingängen von spezifischen Devices oder Messwerte eines bestimmten Eingangs für einen bestimmten Zeitraum zu lesen.

In der Postman Collection finden Sie zu den einzelnen Endpunkte auch noch die Dokumentation (-> 'View documetation' im Postman).
Alle Devices 

 Endpunkthttps://restapi.linemetrics.com/v2/devices/all
Methode Get
 Header
Authorization Bearer {{access_token}}
 Response
{
    "2c462d000624252d3a2cd712e27cfe967": {
        "id": "2c462d000624252d3a2cd712e27cfe967",
        "lmId": "32422",
        "title": "HQ Demo LoRa CO2 Sensor Sales Office",
        "type": "LoraSensor",
        "parentId": "9889f634242424f46b0e2ef5cdc148aac",
        "parentLmId": "17240"
    },
    "b26c908242415vb78e749d54a4830529": {
        "id": "b26c908242415vb78e749d54a4830529",
        "lmId": "42422",
        "title": "HQ Demo LoRa Sound Sensor Sales Office",
        "type": "LoraSensor",
        "parentId": "9889f634242424f46b0e2ef5cdc148aac",
        "parentLmId": "17240"
    },
......
}

Inputs zu einem Device

Zum Abfragen von Informationen zu einem Device gibt es 3 mögliche Varianten:

 Endpunkt

Methode Get
 HeaderAuthorization Bearer {{access_token}}
 Response
{
    "data": [
        {
            "id": "2c462d00063623434a2cd712e27cfe967",
            "type": "LoraSensor",
            "attributes": {
                "description": "",
                "title": "HQ Demo LoRa CO2 Sensor Sales Office",
                "lmId": "25146",
                "parentDeviceId": "983434f63908b14f46b0e2ef5cdc148aac"
            },
            "relationships": {
                "inputs": {
                    "data": [
                        {
                            "id": "d6603173535c343fbbb22151e61dff63c",
                            "dataSourceId": "7fa50435203c44cb9d832eef93a5b24b",
                            "type": "Input_LoRa_System"
                        },
                        {
                            "id": "2b2fcc78fa69436185bab3541bb0102",
                            "dataSourceId": "0c2e1c5d814e43eab355583c2cb98e",
                            "type": "Input_LoRa_Analog"
                        },
          ......
                    ]
                }
            }
        }
    ],
    "included": [
        {
            "id": "d660317cf5c343222bb22151e61dff63c",
            "type": "Input_LoRa_System",
            "attributes": {
                "title": "Online Status",
                "alias": "presence"
            }
        },
        {
            "id": "2b2fcc78fa693535185bab2a341bb0102",
            "type": "Input_LoRa_Analog",
            "attributes": {
                "title": "CO2",
                "alias": "co_2"
            }
        },
    .....
        },
        {
            "id": "faf3db18103f4a5b99fa342279d5e673",
            "type": "Input_LoRa_DeviceSystem",
            "attributes": {
                "title": "Battery Level",
                "alias": "battery"
            }
        }
    ]
}

Messwerte zu einem Input

Zum Abfragen von Messwerten zu einem bestimmten Eingang eines Devices können die Zeitbereiche 'time_from' und 'time_to' als Request - Parameter übergeben werden. Zusätzliche muss die Granularität (Format nach ISO 8601) sowie die Timezone übergeben werden.

Endpunkt
Methode Get
 HeaderAuthorization Bearer {{access_token}}
 Response
[
    {
        "val": 21.13333333333333,
        "min": 21.1,
        "max": 21.2,
        "ts": 1680300000000
    },
    {
        "val": 21.025000000000002,
        "min": 21.0,
        "max": 21.1,
        "ts": 1680303600000
    },
    {
        "val": 20.958333333333336,
        "min": 20.9,
        "max": 21.0,
        "ts": 1680307200000
    },
    {
        "val": 21.025000000000002,
        "min": 20.9,
        "max": 21.4,
        "ts": 1680310800000
    },
.....
]

Um Raw Daten zu lesen, muss der Parameter 'funciton=RAW' beim Aufruf hinterlegt werden.

Endpunkt
https://restapi.linemetrics.com/v2/device-inputs/3323caf96de14357a7fdaee42d0a5b88/data?time_from=1728291600000&time_to=1728309600000&function=raw&granularity=PT1M&time_zone=Europe/Vienna
Methode Get
 HeaderAuthorization Bearer {{access_token}}
 Response
[
    {
        "val": 21.13333333333333,
        "min": 21.1,
        "max": 21.2,
        "ts": 1680300000000
    },
    {
        "val": 21.025000000000002,
        "min": 21.0,
        "max": 21.1,
        "ts": 1680303600000
    },
    {
        "val": 20.958333333333336,
        "min": 20.9,
        "max": 21.0,
        "ts": 1680307200000
    },
    {
        "val": 21.025000000000002,
        "min": 20.9,
        "max": 21.4,
        "ts": 1680310800000
    },
.....
]



    • Related Articles

    • Confluent Kafka

      Confluent Kafka ist eine auf Apache Kafka basierende Plattform, die entwickelt wurde, um Unternehmen eine leistungsstarke und skalierbare Lösung für das Streaming von Daten in Echtzeit zu bieten. Apache Kafka selbst ist ein verteiltes ...
    • Webhook

      Webhooks sind eine Methode, mit der eine Anwendung automatisch eine Nachricht oder eine Anfrage an eine andere Anwendung sendet, sobald ein bestimmtes Ereignis eintritt. Im Gegensatz zu traditionellen APIs, bei denen eine Anwendung aktiv Anfragen ...