1. Authentifizierung
Für die Authentifizierung werden die Login-Daten aus labGate benötigt. Per POST-Request werden Benutzername und Passwort übermittelt. Gibt es hierzu im labGate einen passenden Benutzer, so wird als Antwort der Token zurück übermittelt. Dieser ist für die weitere Kommunikation notwendig und muss bei jedem weiteren Request mit übermittelt werden.
Endpunkt Beschreibung
Methode: POST
Endpunkt: {base}/api/v3/authentication/authorize
Request Body — Anfrage zum Server
{
"Username": "string", // optional, labGate Benutzername
"Password": "string", // optional, labGate Password
"DeviceKey": "string", // optional, Geräteschlüssel
"OperatingSystem": "Unknown", // optional, Betriebssystem
"OperatingSystemVersion": "string", // optional, Betriebssystem Version
"DeviceModel": "string", // optional, Gerätemodel
"DeviceName": "string", // optional, Gerätename
"AdditionalInformation": "string", // optional, zusätzliche Informationen
"LayoutEngine": "None", // optional, Enum: 'None', 'Minimalistic', 'ExternalApplication'
"PushConnectionId": "string", // optional,
"DocumentFormat": "NoDocuments", // optional, Enum: 'NoDocuments', 'PDF', 'TIFF', 'JPEG', 'PNG', 'EMF', 'TTY', 'XPS', 'PRN', 'TXT', 'ZPL'
"UserAgent": "string", // optional, UserAgent-String
"LabelFormat": "NoDocuments", // optional, Etikettenformat, Enum: 'NoDocuments', 'PDF', 'TIFF', 'JPEG', 'PNG', 'EMF', 'TTY', 'XPS', 'PRN', 'TXT', 'ZPL'
"LabelDpi": 0, // optional, Druckerauflösung
"RequestUserData": true, // optional, Gibt an ob Benutzerdaten zurückgegeben werden sollen
"PushIdentifier": "string" // optional, Die Push-Kennung zum übermitteln von Nachrichten an das Gerät
}
{
"Username": "string",
"Password": "string",
"DeviceKey": "string",
"DeviceModel": "string",
"DeviceName": "string",
"AdditionalInformation": "string",
}
200er Response — Antwort vom Server
{
"Token": "string", // Auth-Token
"PasswordExpired": true, // Passwort gültigkeit abgelaufen
"RequiresSecondFactor": true, // 2-Factor wird benötigt
"TwoFactorRegistrationIncomplete": true, //
"UserPermissions": [ // Nutzer Rechte
"string"
],
"Fullname": "string",
"Email": "string",
"Phone": "string",
"Version": "24.01.00" // labGate Version
}
Der Token muss bei jedem folgenden Request, an labGate, im HTTP Authorization Header als Bearer token mit gesendet werden:
Authorization: Bearer <token>
weitere mögliche Antworten
401 Benutzer konnte nicht angemeldet werden
{
"ErrorCode": 1,
"Description": "Ungültiger Benutzername oder falsches Passwort"
}
403 Der Benutzer darf sich mit diesem Gerät nicht anmelden
fehlende information => kann das Gerät nicht sperren via api