Bitte schauen Sie sich auch unsere smart-me API-Schulungsseite auf unserer Website an.

Authentifizierung

Basic Auth

smart-me verwendet API "Basic Authentication". Jeder Aufruf der API muss die Authentifizierung beinhalten. Die HTTP-Basisauthentifizierung ermöglicht die Übertragung von Anmeldeinformationen (z. B. Benutzername und Passwort oder ein API-Token) in HTTP-Headern. Das secret wird mit Base64 kodiert.

OAuth 2.0

Externe Anwendungen können den Zugriff auf ein Konto beantragen, ohne die Anmeldedaten kennen zu müssen. Es wird dringend empfohlen, für alle neuen Designs die OAuth API zu verwenden. Weitere Informationen und eine detaillierte Beschreibung von OAuth finden Sie hier.

Beispiel:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Karte Zugangstoken

Nachdem Sie ein Kartenzugangs-Token (z. B. für eine NFC-Karte) erstellt haben, können Sie dieses Token auch zur Authentifizierung verwenden. Dazu müssen Sie "cardaccesstoken_" sowie die Karten-ID als Benutzername und den Token-Schlüssel als Passwort senden.

Beispiel:
Username: cardaccesstoken_123456
Password: 155ece3459ad09d5f98aad04fcfc28ac

Authorization: Basic Y2FyZGFjY2Vzc3Rva2VuXzEyMzQ1NjoxNTVlY2UzNDU5YWQwOWQ1Zjk4YWFkMDRmY2ZjMjhhYw==

REST API Samples

Ein paar REST API Beispiele können Sie hier finden.

API-Client-Bibliothek für .Net

Um die smart-me API-Funktionalität in Ihre .Net-Anwendung zu integrieren, können Sie diese Bibliothek verwenden. Sie stellt HTTP-Anfragen an die smart-me REST API. Alle HTTP-Anfrage- und Antwortkörper werden auf .Net-Klassen abgebildet.

Echtzeit-API (Webhook)

Die smart-me Echtzeit-API (Webhooks) ermöglicht es Ihnen, neue Daten eines Gerätes zu abonnieren. Sie können sich für ein einzelnes Gerät oder für alle Geräte eines Benutzers anmelden. Wenn ein Gerät neue Daten an die Cloud sendet, sendet ein Webhook diese Daten als POST-Anfrage an eine neu konfigurierte URL. Weitere Informationen finden Sie hier.

Proto-Datei

package RealtimeApi.Containers;

import "bcl.proto"; // schema for protobuf-net's handling of core .NET types


message DeviceData {

required bcl.Guid DeviceId = 1;

required bcl.DateTime DateTime = 2;

repeated DeviceValue DeviceValues = 3;

}

message DeviceDataArray {

repeated DeviceData DeviceDataItems = 1;

}

message DeviceValue {

required bytes Obis = 1;

required double Value = 2;

}