6.2. 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.2.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.22).

Abb. 6.22 Authentifizierungsaufforderung für die API
Sobald Sie erfolgreich authentifiziert sind erhalten Sie eine Übersicht zu allen verfügbaren API Endpunkten (Abbildung 6.23).

Abb. 6.23 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.24). Weiterhin haben Sie die Möglichkeit eine Anfrage direkt in Swagger™ UI ausführen, indem Sie Try it out auswählen.

Abb. 6.24 Details in Swagger™ UI für GET message
6.2.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.2.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