User Manual

awaBerry AGENTIC API Dokumentation

awaBerry Agentic API-Spezifikation — vollständige REST- und WebSocket-Endpunktreferenz mit Anfrage-/Antwortschemata, Authentifizierungsdetails und...

APIRequests API Dokumentation

API Zusammenfassung

Die API bietet sicheren Zugriff auf awaBerry Agentic - zur Automatisierung von Anrufen an Ihre verbundenen Geräte mit awaBerry. Es ist notwendig, mindestens ein Projekt in der awaBerry Webanwendung im Bereich "Agentic" einzurichten. Die API ermöglicht es Clients, sich mit einem Projektschlüssel und einem Geheimnis zu authentifizieren, Sitzungen zu initialisieren, sich mit Geräten zu verbinden, Befehle auszuführen und Ergebnisse abzurufen. Alle Endpunkte verwenden JSON für Anfragen und Antworten und erfordern eine ordnungsgemäße Authentifizierung für den Zugriff.

Basis-URL: https://agentic.awaberry.net/apirequests

API-Methodenübersicht

Methodenname Beschreibung
/getProject Projektinformationen abrufen unter Verwendung von Projektschlüssel und Geheimnis.
/initSession Eine neue API-Sitzung initialisieren und ein Sitzungstoken erhalten.
/startDeviceConnection Eine Verbindung zu einem Gerät mit einem Sitzungstoken starten.
/getDeviceConnectionStatus Prüfen, ob ein Gerät für eine Sitzung verbunden ist.
/disconnectDeviceConnection Eine Gerätesitzung trennen.
/getLastCommandCalled Den zuletzt auf einem Gerät ausgeführten Befehl abrufen.
/executeCommand Einen Befehl auf einem verbundenen Gerät ausführen.
/getAdditionalCommandResults Weitere Ergebnisse für einen langlaufenden Befehl abrufen.
/startDeviceConnectionWebsocket Eine WebSocket-Verbindung zu einem Gerät mit einem Sitzungstoken starten.
/getWebSocket Ein WebSocket für erweiterte Gerätekommunikation erhalten.

API testen

Zur API-Testseite gehen

WebSocket testen

Zur API-Testseite gehen

/getProject

Beschreibung: Ruft Projektdetails ab, einschließlich Projekt-ID, Name, Beschreibung, Erstellungs- und Aktualisierungsdaten sowie der entschlüsselten Agentenprojektkonfiguration. Erfordert einen gültigen projectkey und das Klartext-projectsecret. Wenn die Anmeldedaten ungültig sind oder das Projekt nicht existiert, wird ein Fehler zurückgegeben.

Anfrage:
{
  "projectkey": "string",
  "projectsecret": "string"
}
          
Antwort:
{
  "projectid": "string",
  "projectname": "string",
  "projectdescription": "string",
  "datecreated": "string",
  "dateupdated": "string",
  "agentprojectsetup": "[{\"deviceuuid\": \"string\", \"mayBeRoot\": true/false}, ...]"
}
          

Hinweis: agentprojectsetup ist ein JSON-String-Array und sollte vor der Verwendung geparst werden.

/initSession

Beschreibung: Initialisiert eine neue API-Sitzung und gibt ein Sitzungstoken zurück. Erfordert projectkey und Klartext-projectsecret. Validiert Anmeldedaten, entschlüsselt Projekt- und API-Konfiguration und erstellt ein Sitzungstoken. Das Sitzungstoken wird für nachfolgende Geräte- und Befehlsoperationen verwendet.

Anfrage:
{
  "projectkey": "string",
  "projectsecret": "string"
}
          
Antwort:
{
  "sessionToken": "string"
}
          

Hinweis: Die Eigenschaft lautet sessionToken (nicht token).

/startDeviceConnection

Beschreibung: Leitet eine Verbindung zu einem Gerät ein, das durch deviceuuid identifiziert wird, unter Verwendung eines gültigen sessionToken. Prüft, ob das Gerät bereits verbunden ist; wenn nicht, wird der Verbindungsprozess gestartet. Gibt true zurück, wenn das Gerät verbunden ist, andernfalls false.

Anfrage:
{
  "sessionToken": "string",
  "deviceuuid": "string"
}
          
Antwort:
true | false
          

/getDeviceConnectionStatus

Beschreibung: Prüft den Verbindungsstatus eines Geräts für einen gegebenen sessionToken und deviceuuid. Gibt true zurück, wenn das Gerät verbunden ist, andernfalls false.

Anfrage:
{
  "sessionToken": "string",
  "deviceuuid": "string"
}
          
Antwort:
true | false
          

/disconnectDeviceConnection

Beschreibung: Trennt eine Gerätesitzung für den angegebenen sessionToken und deviceuuid. Wenn die Sitzung oder der Geräteeintrag nicht existiert, wird false zurückgegeben. Bei erfolgreicher Trennung wird true zurückgegeben.

Anfrage:
{
  "sessionToken": "string",
  "deviceuuid": "string"
}
          
Antwort:
{
  "disconnected": true | false
}
          

/getLastCommandCalled

Beschreibung: Ruft den letzten Befehl ab, der auf einem Gerät für eine gegebene Sitzung ausgeführt wurde. Erfordert sessionToken und deviceuuid. Gibt den Befehlsstring zurück, der zuletzt auf dem angegebenen Gerät aufgerufen wurde.

Anfrage:
{
  "sessionToken": "string",
  "deviceuuid": "string"
}
        
Antwort:
{
  "lastCommand": "string"
}
        

/executeCommand

Beschreibung: Führt einen Befehl auf einem verbundenen Gerät aus, unter Verwendung des bereitgestellten sessionToken, deviceuuid und command. Gibt das Ergebnis und an, ob der Befehl im Terminal beendet wurde. Wenn der Befehl noch läuft, ist endedOnTerminal false.

Anfrage:
{
  "sessionToken": "string",
  "deviceuuid": "string",
  "command": "string"
}
          
Antwort:
{
  "lastCommandEndedOnTerminal": "...",
  "lastCommandEndedOnTerminal": true | false
}
          

/getAdditionalCommandResults

Beschreibung: Ruft zusätzliche Ergebnisse für einen langlaufenden Befehl ab, der noch nicht im Terminal beendet wurde. Erfordert sessionToken und deviceuuid. Gibt das neueste Ergebnis zurück und ob der Befehl beendet wurde.

Anfrage:
{
  "sessionToken": "string",
  "deviceuuid": "string"
}
          
Antwort:
{
  "lastCommandEndedOnTerminal": "...",
  "lastCommandEndedOnTerminal": true | false
}
          

/startDeviceConnectionWebsocket

Beschreibung: Leitet eine WebSocket-Verbindung zu einem Gerät ein, das durch deviceuuid identifiziert wird, unter Verwendung eines gültigen sessionToken. Gibt true zurück, wenn das Gerät verbunden ist, andernfalls false.

Anfrage:
{
  "sessionToken": "string",
  "deviceuuid": "string"
}
Antwort:
true | false

/getWebSocket

Beschreibung: Gibt ein WebSocket für erweiterte Gerätekommunikation zurück. Erfordert einen gültigen Sitzungstoken und deviceuuid.

Anfrage:
{
  "sessionToken": "string",
  "deviceuuid": "string"
}
Antwort:
WebSocket connection

Hinweise & Anforderungen

  • Demo-Anmeldedaten: demokey und demosecret werden für den Demo-Zugriff akzeptiert.
  • Demo-Gerät: demodevice ist für Demo-Sitzungen verfügbar.
  • Das UUID-Format ist für projectkey, projectsecret und deviceuuid erforderlich (außer bei Demo-Werten).
  • Alle Anfragen und Antworten verwenden das JSON-Format.
  • Fehlerantworten verwenden HTTP-Statuscodes und beschreibende Meldungen.