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 |
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 |