awaBerry Agentic API-Spezifikation — vollständige REST- und WebSocket-Endpunktreferenz mit Anfrage-/Antwortschemata, Authentifizierungsdetails und...
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.
projectkey und projectsecretContent-Type: application/jsonhttps://agentic.awaberry.net/apirequestsBasis-URL: https://agentic.awaberry.net/apirequests
| 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. |
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.
{
"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.
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.
{
"projectkey": "string",
"projectsecret": "string"
}
Antwort:
{
"sessionToken": "string"
}
Hinweis: Die Eigenschaft lautet sessionToken (nicht token).
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.
{
"sessionToken": "string",
"deviceuuid": "string"
}
Antwort:
true | false
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.
{
"sessionToken": "string",
"deviceuuid": "string"
}
Antwort:
true | false
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.
{
"sessionToken": "string",
"deviceuuid": "string"
}
Antwort:
{
"disconnected": true | false
}
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.
{
"sessionToken": "string",
"deviceuuid": "string"
}
Antwort:
{
"lastCommand": "string"
}
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.
{
"sessionToken": "string",
"deviceuuid": "string",
"command": "string"
}
Antwort:
{
"lastCommandEndedOnTerminal": "...",
"lastCommandEndedOnTerminal": true | false
}
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.
{
"sessionToken": "string",
"deviceuuid": "string"
}
Antwort:
{
"lastCommandEndedOnTerminal": "...",
"lastCommandEndedOnTerminal": true | false
}
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.
{
"sessionToken": "string",
"deviceuuid": "string"
}
Antwort:
true | false
Beschreibung: Gibt ein WebSocket für erweiterte Gerätekommunikation zurück. Erfordert einen gültigen Sitzungstoken und deviceuuid.
{
"sessionToken": "string",
"deviceuuid": "string"
}
Antwort:
WebSocket connection
demokey und demosecret werden für den Demo-Zugriff akzeptiert.demodevice ist für Demo-Sitzungen verfügbar.projectkey, projectsecret und deviceuuid erforderlich (außer bei Demo-Werten).