6.1. Die IDERI note REST API

Die IDERI note REST API ist Teil von IDERI note Web. Da es viele verschiedene Möglichkeiten gibt, mit der API zu interagieren, werden hier nur einige Beispiele aufgezeigt, wie die IDERI note REST API verwendet werden kann.

6.1.1. Swagger™ UI

Die IDERI note REST API verwendet Swagger™ UI API interface. Dies bietet Ihnen eine grafische Übersicht zu den meisten verfügbaren API Endpunkten. Sie können dies über http://<host>:<port>/IDERInote/api/ aufrufen.

Wenn Sie einen Internet Browser für den Aufruf der API verwenden, erhalten Sie eine Authentifizierungsaufforderung, in dem Sie Ihre Domänen-Anmeldedaten angeben müssen. (Abbildung 6.1).

Authentifizierungsaufforderung für die API

Figure 6.1: Authentifizierungsaufforderung für die API

Sobald Sie erfolgreich authentifiziert sind erhalten Sie eine Übersicht zu allen verfügbaren API Endpunkten (Abbildung 6.2).

Swagger UI für die API

Figure 6.2: Swagger™ UI für die API

Klicken Sie auf einen solchen Endpunkt in Swagger™ UI, können Sie das Anfrageschema und die benötigten Parameter für diesen Endpunkt inspizieren (Abbildung 6.3). Weiterhin haben Sie die Möglichkeit eine Anfrage direkt in Swagger™ UI ausführen, indem Sie Try it out auswählen.

Details in Swagger UI für GET message

Figure 6.3: Details in Swagger™ UI für GET message

6.1.2. PowerShell

Sie können auch Windows PowerShell verwenden, um Anfragen an die API zu senden. Verwenden Sie hierfür das CmdLet Invoke-RestMethod.

Das folgende Beispiel zeigt, wie Sie die Lizenzinformationen des zugehörigen IDERI note Servers über die API mit PowerShell abrufen können.

PS> $URI = "https://note-srv07.note.dev/IDERInote/api/v1/licenses"
PS> Invoke-RestMethod -Method Get -Uri $URI -Credential (Get-Credential)


licenseMode                   : 2
desktopLicenses               : 55
desktopLicensesUsed           : 1
desktopClientConnections      : 1
desktopUserConnections        : 1
desktopComputerConnections    : 0
desktopLicenseRequestsRefused : 0
mobileLicenses                : 57
mobileLicensesUsed            : 0
mobileClientConnections       : 0
mobileLicenseRequestsRefused  : 0

Das nächste Beispiel zeigt, wie Sie eine neue Nachricht mit einer Priorität vom Typ ALARM und einer Gültigkeit von einer Stunde von jetzt an, erstellen können.

PS> # The API uri
PS> $URI = "https://note-srv07.note.dev/IDERInote/api/v1/messages"
PS>
PS> # Create an array for the recipients
PS> $recipients = @("homer.simpson","bart.simpson")
PS>
PS> # Create the message as a hash table
PS> $msgObj = @{
        Text = "Hello world"
        StartTime = (Get-Date -Format O)
        EndTime = ((Get-Date).AddHours(1).ToString("O"))
        Priority = "ALERT"
        Recipient = $recipients
        ShowPopup = $true
    }
PS> # Convert the message hash table to a json string
PS> $msgJson = $msgObj | ConvertTo-Json -Compress
PS>
PS> # Consume the API
PS> Invoke-RestMethod -Method Post -Uri $URI -Credential (Get-Credential) `
    -Body $msgJson -ContentType "application/json"

6.1.3. curl

Im foldenden Beispiel wird curl verwendet, um die IDERI note Lizenzinformationen des IDERI note Servers über die API abzurufen. Die Angabe des Parameters --insecure von curl führt dazu, dass das SSL-Zertifikat ignoriert wird.

curl -X 'GET' 'https://note-srv07.note.dev/IDERInote/api/v1/licenses' \
    -H 'accept: text/plain' -u 'note.dev\homer.simpson' --insecure