NAV
shell

LineMetrics API (v2)

Willkommen bei der LineMetrics REST API Dokumentation. Die LineMetrics API soll es Ihnen ermöglichen, auf die Basisfunktionalität der LineMetrics Cloud zuzugreifen. Dazu gehört unter anderem das Abfragen von bestehenden Streams und das Speichern von Daten in einem konfigurierten Messpunkt.

Beispielcode stellen wir aktuell zum Testen nur für Unix-Kommandozeile (Shell) zur Verfügung. Es ist geplant, den Beispielcode für andere Programmiersprachen sukzessive auszubauen. Wir freuen uns hier gerne über Ihre Mithilfe.

Die API befindet sich aktuell in der Version 2, wobei sich diese Version gerade im Aufbau befindet. Bestehende Endpunkten “sollten” sich nicht mehr verändern, es werden aber laufend neue Endpunkte hinzukommen. Die Versionierung soll eine nahtlose Adaptierung von bestehenden Endpunkten ermöglichen, ohne die Abwärtskompatibilität zu beeinflussen.

Authentifizierung

Die aktuelle Version der REST API Dokumentation unterstützt eine Authentifizierung mittels Client-Credentials und Passwort-Grant über das OAuth2 Protokoll. Dabei muss über einen REST Aufruf und der Authentifizierungs abhängigen Parameter ein Session Token erzeugt werden. Mit diesem Session Token können dann Abfragen auf die anderen Ressourcen (Daten/Objekt Ressourcen) durchgeführt werden.

OAuth2 (Client Credentials)

Authentifizieren mittels OAuth & Client-Credentials

curl "https://restapi.linemetrics.com/oauth/access_token"
  -d 'client_id={{CLIENT_ID}}&grant_type=client_credentials&client_secret={{CLIENT_SECRET}}'
  -X POST

Antwort vom Server

{
    "access_token": "{{key}}",
    "token_type": "Bearer",
    "expires_in": 3600
}

Bei den Client Credentials handelt es sich um den Authentifizierungstyp der standardmäßig verwendet werden soll. Dieser ermöglicht durch die Authentifizierung über die Parameter Client ID und Client Secret Zugriff auf alle Daten des Accounts, für den der Zugang angelegt wurde.

Parameter

Parameter Beschreibung
client_id ID die den Zugang eindeutig identifiziert
client_secret Client Secret, welche den Zugriff mittels Client ID authorisiert und es erlaubt einen neuen Session Token zu erzeugen

Antwort

Parameter Beschreibung
access_token Session Token der für alle weiteren Abfragen auf API Ressourcen verwendet und per Header übergeben wird.
token_type Definiert die Art des Session Tokens und wird beim Authentifizieren als Prefix im Header mitangegeben.
expires_in Gültigkeitsdauer des Tokens in Sekunden

OAuth2 (Passwort Grant)

Authentifizieren mittels OAuth & Passwort-Grant

curl "https://restapi.linemetrics.com/oauth/access_token"
  -d 'client_id={{CLIENT_ID}}&grant_type=password& // KEIN ZEILENUMBRUCH
      client_secret={{CLIENT_SECRET}}&email={{EMAIL}}&password={{PASSWORD}}'
  -X POST

Antwort vom Server

{
    "access_token": "{{key}}",
    "token_type": "Bearer",
    "expires_in": 3600
}

Beim Passwort Grant erfolgt die Authentifizierung des Rest Clients wie gewohnt über die Parameter Client ID und Client Secret. Zusätzlich müssen die Parameter E-Mail und Passwort übergeben. Dadurch wird ein Session Token generiert, der genau für das jeweilige Konto gültig ist. Dieser Typ der Authentifizierung muss über support@linemetrics.com beantragt werden.

Parameter

Parameter Beschreibung
client_id ID die den Zugang eindeutig identifiziert
client_secret Client Secret, welche den Zugriff mittels Client ID authorisiert und es erlaubt einen neuen Session Token zu erzeugen
email E-Mail Adresse des Benutzers der authentifiziert werden soll
password Passwort des Benutzers der authentifiziert werden soll

Antwort

Parameter Beschreibung
access_token Session Token der für alle weiteren Abfragen auf API Ressourcen verwendet und per Header übergeben wird.
token_type Definiert die Art des Session Tokens und wird beim Authentifizieren als Prefix im Header mitangegeben.
expires_in Gültigkeitsdauer des Tokens in Sekunden

Daten Typen

Daten Typen sind ein essenzieller Bestandteil im Umgang mit Daten in der LineMetrics Cloud bzw. im Umgang mit der Rest API, weil durch Daten Typen festgelegt werden kann, wie die eigentlichen Daten aussehen bzw. welche Ausprägungen ein einzelner Datenpunkt besitzt.

Daten Typen erhält man einerseits bei der Abfrage der für den API Endpunkt verfügbaren Eingänge (Inputs) bzw. auch wenn konkrete Messpunkte eines Objekts abgefragt werden.

Double

{
  "val" : 123.0
}

Einfacher Datentyp der nur einen primitiven double Datentyp kapselt.

Parameter Prim. Datentyp Beschreibung
val Double Wert

DoubleAverage

{
  "val" : 123.3,
  "min" : 10.0,
  "max" : 456.12
}

Ein Datentyp der neben dem Durchschnittswert auch die Grenzwerte (Min/Max) eines Datenpunkts liefert.

Parameter Prim. Datentyp Beschreibung
val Double Durchschnittswert
min Double Minimum Wert
max Double Maximum Wert

Bool

{
  "val" : 0
}

Einfacher Datentyp der nur einen primitiven bool Datentyp kapselt.

Parameter Prim. Datentyp Beschreibung
val Boolean Booleanwert 0 oder 1

GeoCoord

{
  "lat" : 48.20863000,
  "long" : 16.39741000
}

Ein Datentyp der Geokoordinaten in Form eines Longitude und Latitude Wertes kapselt.

Parameter Prim. Datentyp Beschreibung
lat Double Latitude GPS Wert (Geographische Breite)
long Double Longitude GPS Wert (Längengrad)

String

{
  "val" : "Mein Text"
}

Einfacher Datentyp der nur einen primitiven String Datentyp kapselt.

Parameter Prim. Datentyp Beschreibung
val String Text

Timestamp

{
  "val" : 1325376000000
}

Datentyp der einen Long Datentyp kapselt und einen UTC-Zeitstempel/Datum in Millisekunden abbildet

Parameter Prim. Datentyp Beschreibung
val Long UTC Zeitstempel in Millisekunden

Tabelle

{
  "val" :
  {
      "column1" :
      { 
        "val" : "Auftrag 96"
      },
      "column2" :
      {
        "val" : 1464608700000
      },
      "column3" :
      {
        "lat" : 1.5877383,
        "long" : 2.0317383
      },
      "column4" :
      {
        "val": 1
      }
  }
}

Der Daten Typ Tabelle kapselt einen komplexen Datentypen, der innerhalb der Applikation als Tabelle dargestellt wird. Dazu können in der Applikation für den Messpunkt “Spalten” definiert werden. Diese Spalten haben einen Datentyp, der sich von den oben angeführten Datentypen ableitet, und eine Key. Der Key wird beim Schreiben von Werten (u.a. bei der API) dazu verwendet, die einzelnen Spaltenwerte eindeutig zu addressieren.

Für das Beispiel wurde in der Applikation ein neuer Messpunkt “Tabelle” angelegt. Im Messpunkt selber wurde dann eine Spalte “Auftragsnummer” angelegt, mit dem Schlüssel column1, vom Typ “String”, usw.

Parameter Prim. Datentyp Beschreibung
val JSON Komplexer Datentyp der einen oder mehrere Datentypen, die bereits oben angeführt wurden, enthält.

Adressierung

Die LineMetrics API bietet verschiedene Möglichkeiten auf Daten bzw. die Assets und deren Messpunkte / Eigenschaften zuzugreifen. Nachfolgend werden diese Möglichkeiten kurz erläutert.

Asset

Ein Asset ist ein Container der Messpunkte / Eigenschaften kapselt. Ein Asset soll klassisch ein physikalisches Objekt (z.B. eine Maschine, ein Gebäude, …) abbilden. Ein Asset kann immer per UID (siehe weiter unten) angesprochen werden. Zusätzlich gibt es die Möglichkeit dem Asset einen Custom Key zu hinterlegen. Der Custom Key ist frei wählbar, muss allerdings innerhalb des Kontos eindeutig sein.

Messpunkt / Eigenschaft

Ein Messpunkt / Eine Eigenschaften sind Ausprägungen eines Assets und stellen aktuelle Zustände (als Wert oder auch als Zeitreihe) oder auch Eigenschaften des Assets (z.B. Wie groß ist mein Gebäude?) dar. Diese Art von Information kann - wie auch ein Asset - direkt per UID angesprochen werden. Parallel dazu gibt es aber auch hier die Möglichkeit einen sogenannten Alias zu hinterlegen. Auch dieser ist frei wählbar, muss allerdings innerhalb des Assets eindeutig sein. Mit Custom Key und Alias haben wir somit die Möglichkeiten Abfragen auf Daten in der Form durchzuführen: Maschine1.Auslastungsgrad -> Gib mir für meine Maschine 1 den Auslastungsgrad

UID

Eine UID ist ein Konstrukt aus 32 aufeinanderfolgenden Zeichen und Zahlen und stellt eine eindeutige ID dar. Nahezu alle Funktionen ermöglichen eine Adressierung einer Ressource über die UID.

Daten Ressourcen

Datentyp abfragen

Datentyp abfragen

curl "https://restapi.linemetrics.com/v2/data/{{CUSTOM_KEY}}/{{ALIAS}}/config"
  -H "Authorization: Bearer {{KEY}}"

Antwort vom Server

  {
    "input": "{{DATATYPE}}",
    "output": "{{DATATYPE}}"
  }

Wenn auf Messpunkte bzw. Eigenschaften geschrieben werden soll bzw. Daten davon gelesen werden sollen, ist es notwendig, dass in Erfahrung gebracht werden kann, um welche Datentypen es geht.

Dies kann über nachfolgenden Aufruf eruiert werden.

Parameter

Parameter Beschreibung
custom_key Adressierung des Assets Definition
alias Adressierung des Messpunkts / Eigenschaft Definition

Antwort

Parameter Beschreibung
input Datentyp mit dem geschrieben werden muss
output Datentyp der beim Lesen übermittelt wird

Daten schreiben

Speichern von Werten

curl "https://restapi.linemetrics.com/v2/data/{{CUSTOM_KEY}}/{{ALIAS}}"
  -X POST
  -H "Authorization: Bearer {{KEY}}"
  -d "
  [
      {
        "min" : 0.234,
        "val" : 1.678, 
        "max" : 6.890
      }
  ]
  "

Antwort vom Server

[
  {
    "response": "Success"
  }
]

Zum Speichern von neuen Werten muss eine Liste von Elementen übergeben werden, die jeweils einen zu speichernden Messpunkt repräsentieren. Sollten Sie nur einen einzelnen Wert speichern wollen, übergeben Sie bitte eine Liste mit nur einem Element.

Sollte der Speichervorgang fehl schlagen, überprüfen Sie bitte den HTTP Status bzw. den Speicherstatus.

Parameter

Parameter Beschreibung
custom_key Adressierung des Assets Definition
alias Adressierung des Messpunkts / Eigenschaft Definition
data_payload Die eigentlichen Daten des Messpunkts. Richtet sich nach dem Datentyp Definition

Antwort

Parameter Beschreibung
response Status der definiert, ob ein Wert gespeichert wurde.

HTTP Status

Status Beschreibung
2*, 3* Speichervorgang erfolgreich
400 Falsche JSON Struktur / Formatierung / Daten fehlen
500 Interner Fehler beim Speichern. Bitte Mail an support@linemetrics.com

Speichern von Werten (Key - Value)

curl "https://restapi.linemetrics.com/v2/data/{{CUSTOM_KEY}}/{{ALIAS}}"
  -X POST
  -H "Authorization: Bearer {{KEY}}"
  -d "
  {
      "custom_key" : {
        "min" : 0.234,
        "val" : 1.678, 
        "max" : 6.890
      }
  }
  "

Antwort vom Server

{
  "custom key" : { 
    "response": "Success"
  }
}

Daten lesen (Letztwert)

Lesen von Werten

curl "https://restapi.linemetrics.com/v2/data/{{CUSTOM_KEY}}/{{ALIAS}}?function=last_value"
  -H "Authorization: Bearer {{key}}"

Antwort vom Server

[
  {
    "min" : 0.234,
    "val" : 1.678, 
    "max" : 6.890
  }
]

Für das Lesen eines Letztwerts wird eine vordefinierte Funktion last_value verwendet. Eine Funktion definiert hierbei, wie die Daten zurückgegeben werden sollen.

Parameter

Parameter Beschreibung
custom_key Adressierung des Assets Definition
alias Adressierung des Messpunkts / Eigenschaft Definition
function Die Funktion die verwendet werden soll um Daten abzufragen (in diesem Fall die Funktion, die den Letztwert zurückgibt)

Antwort

Als Antwort erhalten Sie immer eine JSON Liste mit Datenpunkten. Die Datenpunkte varieren hier nach dem Datentyp. Ein jedes Element beinhaltet aber immer einen Zeitstempel.

Daten lesen

Lesen von Werten

curl "https://restapi.linemetrics.com/v2/data/{{CUSTOM_KEY}}/{{ALIAS}}? ... PARAMETER ... "
  -H "Authorization: Bearer {{key}}"

Antwort vom Server

[
  {
    "average": 2.2991219917933146,
    "min": 1.6733490228652954,
    "max": 7.464624881744385,
    "count": 90,
    "sum": 206.92097926139832,
    "ts": 1461332700000
  },
  {
    "average": 0.6561659008264542,
    "min": 0.4281260073184967,
    "max": 4.751817226409912,
    "count": 90,
    "sum": 59.054931074380875,
    "ts": 1461339000000
  },
  {
    "average": 1.4405192838774787,
    "min": 1.1693300008773804,
    "max": 6.496118068695068,
    "count": 90,
    "sum": 129.64673554897308,
    "ts": 1461357900000
  },
  { "..." : "..." }
]

Beispiele:


FROM=$(date --date 'now - 60 minutes' +"%s%3N")
TO=$(date +"%s%3N")
URLDATA=https://restapi.linemetrics.com/v2/data/${CUSTOM_KEY}/${ALIAS}

# Beispiel: default
curl "$URLDATA?time_from=$FROM&time_to=$TO&granularity=PT1M&time_zone=Europe/Vienna&function=default"
  -H "Authorization: Bearer {{key}}"

# Beispiel: raw
curl "$URLDATA?time_from=$FROM&time_to=$TO&granularity=PT1M&time_zone=Europe/Vienna&function=raw"
  -H "Authorization: Bearer {{key}}"

Für das Abfragen von Daten werden sogenannte Funktionen verwendet. Eine Funktion definiert hierbei, wie die Daten zurückgegeben werden sollen. Für die Abfrage werden verschiedenste Attribute benötigt (Zeitraum der Abfrage, Aggregation, …) die aber immer Funktionsspezifisch sind. Aus diesem Grund finden Sie im Unterabschnitt Abfragearten die unterschiedlichen Funktionen und die benötigten Attribute.

Parameter

Parameter Beschreibung
function Die Funktion die verwendet werden soll um Daten abzufragen
attributes Die Funktions spezifischen Attribute die für die Abfrage benötigt werden

Antwort

Als Antwort erhalten Sie immer eine JSON Liste mit Datenpunkten. Die Datenpunkte varieren hier nach dem Datentyp. Ein jedes Element beinhaltet aber immer einen Zeitstempel.

Abfragearten

Abfrage von Summen - Function = sum

Attribut Optional Beschreibung
time_from Nein Abfrage Startzeit als Unixzeitstempel in Millisekunden
time_to Nein Abfrage Endzeit als Unixzeitstempel in Millisekunden
time_zone Ja Zeitzone die für die Aggregation verwendet werden soll
granularity Ja Definiert die Größe eines Batches bei der Aggregation. Angabe nach ISO8601

Abfrage von Min/Max/Avg - Function = average

Attribut Optional Beschreibung
time_from Nein Abfrage Startzeit als Unixzeitstempel in Millisekunden
time_to Nein Abfrage Endzeit als Unixzeitstempel in Millisekunden
time_zone Ja Zeitzone die für die Aggregation verwendet werden soll
granularity Ja Definiert die Größe eines Batches bei der Aggregation. Angabe nach ISO8601

Abfrage von Rohdaten - Function = raw

Attribut Optional Beschreibung
time_from Nein Abfrage Startzeit als Unixzeitstempel in Millisekunden
time_to Nein Abfrage Endzeit als Unixzeitstempel in Millisekunden

Standardabfrage = default

Um nicht bei jeder Abfrage unterscheiden zu müssen, mit welcher Funktion abgefragt werden soll, gibt es die default Funktion. Für jeden Datentyp ist eine Standard Funktion hinterlegt, die in diesem Fall dann verwendet wird. Wenn keine Funktion angegeben wird, wird automatisch die default Funktion verwendet.

Attribut Optional Beschreibung
time_from Nein Abfrage Startzeit als Unixzeitstempel in Millisekunden
time_to Nein Abfrage Endzeit als Unixzeitstempel in Millisekunden
time_zone Ja Zeitzone die für die Aggregation verwendet werden soll
granularity Ja Definiert die Größe eines Batches bei der Aggregation. Angabe nach ISO8601

HTTP Status

Status Beschreibung
2*, 3* Speichervorgang erfolgreich
403 Angegebene Funktion wird nicht unterstützt
404 Stream der abgefragt wird, existiert nicht
500 Fehler beim Abfragen der Stream Daten. Bitte Mail an support@linemetrics.com

Objekt Ressourcen

Mit dem LineMetrics Asset Modell werden verschiedenste Daten in eine strukturierte Form gebracht, sodass aus Benutzersicht Zusammenhänge und Relationen zwischen diesen Daten besser hergestellt werden können. Eine genauere Erklärung findet man im Bereich Adressierung.

Einzelne Ressource abfragen

Objekt abfragen

curl "https://restapi.linemetrics.com/v2/object/{{CUSTOM_KEY}}/{{ALIAS}}"
  -H "Authorization: Bearer {{key}}"

Antwort vom Server

{
    "object_id": "...",
    "object_type": "object",
    "model_type": "object",
    "template_id": "...",
    "parent_id": "...",
    "payload": { "..." : "..." }    
}

Mit dieser Schnittstelle kann eine einzelne Ressource abgefragt werden.

Parameter

Parameter Optional Beschreibung
custom_key Nein Adressierung des Assets Definition
alias Ja Adressierung des Messpunkts / Eigenschaft Definition

Antwort

Parameter Beschreibung
object_id Die eindeutige ID des Objekts
object_type Typ der Ressource
template_id Referenz auf ein Template (Ressource wurde als Instanz eines Templates angelegt)
parent_id Referenz auf das Mutterelement
payload Ressourcen spezifische Daten
data Wert der Eigenschaft (sofern die Ressource vom Typ “property” ist
input Referenz auf Datenquelle (sofern eine Verknüpfung existiert)
children_info Key/Value Liste mit Object Typ als Schlüssel und Anzahl der Unterobjekte als Wert
custom_key Custom Key (sofern es sich bei der Ressource um ein Asset handelt und der Wert definiert wurde)
alias Alias (sofern es sich bei der Ressource um einen Messpunkt / Eigenschaft handelt und der Wert definiert wurde)

HTTP Status

Status Beschreibung
2*, 3* Abfrage erfolgreich
400 Parameter erforderlich
500 Fehler beim Verarbeiten der Abfrage. Bitte Mail an support@linemetrics.com

Liste von Kindern einer Ressource abfragen

Ressourcen Kinder abfragen

curl "https://restapi.linemetrics.com/v2/children/{{CUSTOM_KEY}}/{{ALIAS}}? ... PARAMETER ..."
  -H "Authorization: Bearer {{key}}"

Antwort vom Server

[
    {
        "object_id": "...",
        "object_type": "object",
        "model_type": "object",
        "template_id": "...",
        "parent_id": "...",
        "payload": { "..." : "..." }
    },
    { "..." : "..." }
]

Mit dieser Schnittstelle ist es möglich, alle Kinder einer Ressource abzufragen.

Parameter

Parameter Optional Beschreibung
custom_key Ja Adressierung des Assets Definition
alias Ja Adressierung des Messpunkts / Eigenschaft Definition
limit Ja Anzahl der Objekte die geladen werden sollen
offset Ja Anzahl der Objekte die übersprungen werden sollen
object_type Ja Objekt Typen die geladen werden sollen (String und Liste von Typen möglich)
load_property_data Ja Laden des Wert - sofern es sich um eine Eigenschaft handelt
load_input_ref Ja Laden der UID des Streams, welcher die eigentlichen Daten der Ressource beinahltet

Antwort

Liste von Objekten

Parameter Beschreibung
object_id Die eindeutige ID des Objekts
object_type Typ der Ressource
template_id Referenz auf ein Template (Ressource wurde als Instanz eines Templates angelegt)
parent_id Referenz auf das Mutterelement
payload Ressourcen spezifische Daten
data Wert der Eigenschaft (sofern die Ressource vom Typ “property” ist
input Referenz auf Datenquelle (sofern eine Verknüpfung existiert)
children_info Key/Value Liste mit Object Typ als Schlüssel und Anzahl der Unterobjekte als Wert
custom_key Custom Key (sofern es sich bei der Ressource um ein Asset handelt und der Wert definiert wurde)
alias Alias (sofern es sich bei der Ressource um einen Messpunkt / Eigenschaft handelt und der Wert definiert wurde)

HTTP Status

Status Beschreibung
2*, 3* Abfrage erfolgreich
400 Parameter erforderlich
500 Fehler beim Verarbeiten der Abfrage. Bitte Mail an support@linemetrics.com

Löschen einer Ressource

Löschen einer Ressource

curl "https://restapi.linemetrics.com/v2/object/{{CUSTOM_KEY}}/{{ALIAS}}? ... PARAMETER ..."
  -X DELETE
  -H "Authorization: Bearer {{key}}"

Mit dieser Schnittstelle ist es möglich, eine Ressource (und deren Kinder) zu löschen.

Parameter

Parameter Optional Beschreibung
custom_key Nein Adressierung des Assets Definition
alias Ja Adressierung des Messpunkts / Eigenschaft Definition
recursive Ja Rekursives Löschen (Mitlöschen der Kinder) ausgehend von der gegebenen Ressource

HTTP Status

Status Beschreibung
2*, 3* Abfrage erfolgreich
400 Parameter erforderlich, Validierung fehlgeschlagen, siehe Fehlermeldung
500 Fehler beim Verarbeiten der Abfrage. Bitte Mail an support@linemetrics.com

Updaten einer Ressource

Updaten einer Ressource

curl "https://restapi.linemetrics.com/v2/object/{{CUSTOM_KEY}}/{{ALIAS}}"
  -X POST
  -H "Authorization: Bearer {{KEY}}"
  -d "
  {
      "custom_key" : "...",
      "alias" : "...",
      "name" : "..."
  }
  "

Antwort vom Server

{
  "message" : "Update Successful"
}

Mit dieser Schnittstelle ist es möglich eine Ressource zu verändern, wobei die Möglichkeiten in der aktuellen Version auf das wesentliche beschränkt sind.

GET-Parameter

Parameter Optional Beschreibung
custom_key Nein Adressierung des Assets Definition
alias Ja Adressierung des Messpunkts / Eigenschaft Definition

POST-Parameter

Parameter Optional Beschreibung
custom_key Ja Neue Adressierung des Assets Definition
alias Ja Neue Adressierung des Messpunkts / Eigenschaft Definition
name Ja Visueller Bezeichner der Ressource
parent Ja Eltern Objekt unter der aktuelles Objekt gehängt werden soll. Adressierung des Eltern Objekts per ObjectID oder CustomKey Definition

HTTP Status

Status Beschreibung
2*, 3* Abfrage erfolgreich
400 Parameter erforderlich, Validierung fehlgeschlagen, siehe Fehlermeldung
404 Ressource nicht gefunden
500 Fehler beim Aktualisieren der Ressource. Bitte Mail an support@linemetrics.com

Datei Ressourcen

Datei Ressource abfragen

File abfragen

curl "https://restapi.linemetrics.com/v2/file/{{FILE_ID}}"
  -H "Authorization: Bearer {{key}}"

Antwort vom Server Binärdaten

Mit dieser Schnittstelle kann eine Datei Ressource abgefragt werden.

Parameter

Parameter Optional Beschreibung
file_id Nein Adressierung der Datei

Antwort

Im Erfolgsfall werden die Binärdaten der Datei übermittelt.

HTTP Status

Status Beschreibung
2*, 3* Abfrage erfolgreich
400 Parameter erforderlich
500 Fehler beim Verarbeiten der Abfrage. Bitte Mail an support@linemetrics.com

QR Code Ressourcen

Ressource abfragen

Ressource abfragen

curl "https://restapi.linemetrics.com/v2/link/{{link_id}}"
  -H "Authorization: Bearer {{key}}"

Antwort vom Server

{
    "object_type": "...",
    "payload": { "..." : "..." }    
}

Mit dieser Schnittstelle können Objekte, Messpunkte, Dateien oder Anleitungen durch einen Verknüpfungs-ID abgefragt werden. In einer im LineMetrics QR Code enthaltenen URL, befindet sich die link_id (object_id) als Parameter.

Parameter

Parameter Optional Beschreibung
link_id Nein Adressierung der Verknüpfung

Antwort

Parameter Beschreibung
object_id Die eindeutige ID des Objekts
object_type Typ der Ressource
payload Ressourcen spezifische Daten
children_info Key/Value Liste mit Object Typ als Schlüssel und Anzahl der Unterobjekte als Wert
custom_key Custom Key (sofern es sich bei der Ressource um ein Asset handelt und der Wert definiert wurde)
alias Alias (sofern es sich bei der Ressource um einen Messpunkt / Eigenschaft handelt und der Wert definiert wurde)

HTTP Status

Status Beschreibung
2*, 3* Abfrage erfolgreich
400 Parameter erforderlich
404 Verknüpfung wurde nicht gefunden
404 Das Verknüpfte Objekt wurde nicht gefunden
403 Keine Berechtigung
406 Leere Verknüpfung
500 Fehler beim Verarbeiten der Abfrage. Bitte Mail an support@linemetrics.com

Updaten einer Verknüpfung

Updaten einer Verknüpfung

    curl "https://restapi.linemetrics.com/v2/link/{{link_id}}"
  -X POST
  -H "Authorization: Bearer {{KEY}}"
  -d " { "object_id" : "..." "type": "..."} "

Antwort vom Server

{
  "message" : "Update Successful"
}

Mit dieser Schnittstelle können Sie ein leeres Verknüpfungsobjekt mit Daten füllen. Wird eine Verknüpfung mit einem bestimmten Account beschrieben, kann diese nur mit dem gleichen Account wieder gelöst werden! Nach dem Lösen, ist das Verknüpfungsobjekt wieder neutral und kann von einem anderen Account verwendet werden. In einer im LineMetrics QR Code enthaltenen URL, befindet sich die link_id (object_id) als Parameter.

GET-Parameter

Parameter Optional Beschreibung
link_id Nein Adressierung der Verknüpfung

POST-Parameter

Parameter Optional Beschreibung
object_id Nein Die ID des zu verknüpfenden Objektes
type Nein Typ des zu verknüpfenden Objektes (object, attribute, guidance, document)

HTTP Status

Status Beschreibung
2*, 3* Erfolgreich gelöst
400 Parameter erforderlich
404 Verknüpfung wurde nicht gefunden
406 Es wurde bereits eine Verknüpfung eingetragen
500 Fehler beim Verarbeiten der Abfrage. Bitte Mail an support@linemetrics.com

Verknüpfung lösen

Lösen einer Verknüpfung

  curl "https://restapi.linemetrics.com/v2/link/{{link_id}}"
    -X Delete
    -H "Authorization: Bearer {{KEY}}"

Antwort vom Server

{
  "message" : "Update Successful"
}

Mit dieser Schnittstelle können Verknüpfungen wieder gelöst werden. In einer im LineMetrics QR Code enthaltenen URL, befindet sich die link_id (object_id) als Parameter.

Parameter

Parameter Optional Beschreibung
link_id Nein Adressierung der Verknüpfung

HTTP Status

Status Beschreibung
2*, 3* Erfolgreich gelöst
400 Parameter erforderlich
404 Verknüpfung wurde nicht gefunden
406 Die Verknüpfung ist bereits leer
500 Fehler beim Verarbeiten der Abfrage. Bitte Mail an support@linemetrics.com

Vorlagen

Vorhandene Vorlagen abfragen

Vorlagen abfragen

curl "https://restapi.linemetrics.com/v2/templates"
  -H "Authorization: Bearer {{KEY}}"

Antwort vom Server

[
  {
    "uid": "...",
    "name": "..."
  },
  { "..." : "..." }
]

Mit dieser Schnittstelle ist es möglich alle vorhandenen bzw. verfügbaren Vorlagen abzufragen.

Antwort

Liste von Vorlagen

Parameter Beschreibung
uid Die eindeutige ID der Vorlage
name Visueller Bezeichner der Vorlage

Mussfelder abfragen

Mussfelder abfragen

curl "https://restapi.linemetrics.com/v2/template/{{TEMPLATE_UID}}/required-fields"
  -H "Authorization: Bearer {{KEY}}"

Antwort vom Server

[
  {
    "uid": "...",
    "data_type": "...",
    "alias": "..."
  },
  { "..." : "..." }
]

Mit dieser Schnittstelle ist es möglich alle Mussfelder der übergebenen Vorlage abzufragen.

Parameter

Parameter Optional Beschreibung
template_uid Nein Eindeutige ID der Vorlage

Antwort

Liste von Vorlagen

Parameter Beschreibung
uid Die eindeutige ID des Mussfeldes
data_type Datentyp zum Schreiben von Daten auf Messpunkt / Eigenschaft Definition
alias Adressierung des Messpunkts / Eigenschaft Definition

HTTP Status

Status Beschreibung
2*, 3* Abfrage erfolgreich
400 Parameter erforderlich, Validierung fehlgeschlagen, siehe Fehlermeldung
404 Vorlage nicht gefunden

Asset von Vorlage erstellen

Asset von Vorlage erstellen

curl "https://restapi.linemetrics.com/v2/template/{{TEMPLATE_UID}}"
  -X POST
  -H "Authorization: Bearer {{KEY}}"
  -d "
  {
      "{{ALIAS}}" : {
        "val" : 1.678
      }
  }
  "

Antwort vom Server

  {
    "uid": "..."
  }

Mit dieser Schnittstelle ist es möglich ein neues Asset ausgehend von einem Template zu erzeugen.

GET-Parameter

Parameter Optional Beschreibung
template_uid Nein Eindeutige ID der Vorlage

POST-Parameter

Die Post Parameter richten sich nach den Mussfeldern der Vorlage. Sind bei der Vorlage keine Mussfelder definiert, braucht hier auch nichts definiert werden. Andernfalls wird als Schlüssel der Alias oder die UID und als Wert der Wert des Mussfeldes abhängig vom Datentyp.

Antwort

UID des neu angelegten Assets.

Parameter Beschreibung
uid Die eindeutige ID des Assets

HTTP Status

Status Beschreibung
2*, 3* Vorgang erfolgreich
400 Parameter erforderlich, Validierung fehlgeschlagen, siehe Fehlermeldung
500 Fehler beim Erzeugen des Assets. Bitte Mail an support@linemetrics.com