6.2. REST API IDERI note

REST API IDERI note fait partie de IDERI note Web. Bien qu’il existe de nombreuses façons d’utiliser une API, nous n’indiquons que quelques façons de travailler avec REST API IDERI note dans ce chapitre.

6.2.1. Swagger™ UI

REST API IDERI note utilise le Swagger™ Interface API de l’interface utilisateur. Il fournit une API navigable pour la plupart de ses points de terminaison, que vous pouvez inspecter à http://<host>:<port>/IDERInote/api/.

Lorsque vous utilisez un navigateur Internet pour vous connecter à l’API, vous serez invité à fournir vos informations d’identification de domaine (voir la figure 6.18).

Invite d'authentification pour l'API

Figure 6.18: Invite d’authentification pour l’API

Une fois authentifié avec succès, vous obtiendrez un aperçu de tous les points de terminaison disponibles dans l’API (voir lafigure 6.19).

Swagger UI pour API

Figure 6.19: Swagger™ UI pour API

Lorsque vous cliquez sur un point de terminaison dans Swagger™ UI, vous pouvez inspecter les schémas de requête et les paramètres donnés (voir la figure 6.20). Vous pouvez également exécuter une requête directement dans Swagger™ UI en sélectionnant Essayez-le.

Swagger UI détails pour message GET

Figure 6.20: Swagger™ UI détails pour message GET

6.2.2. PowerShell

Vous pouvez également utiliser Windows PowerShell pour utiliser l’API. Pour ce faire, utilisez la CmdLet Invoke-RestMethod.

L’exemple suivant exemple montre comment interroger les informations de licence à partir du serveur IDERI note associé utilisant l’API et PowerShell.

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

L’exemple montre comment créer un nouveau message avec la priorité ALERTE et une validité de 1 heure à partir de maintenant.

PS> # L'API uri
PS> $URI = "https://note-srv07.note.dev/IDERInote/api/v1/messages"
PS>
PS> # Créer un tableau pour les destinataires
PS> $recipients = @("homer.simpson","bart.simpson")
PS>
PS> # Créer le message sous forme de table de calcul
PS> $msgObj = @{
        Text = "Hello world"
        StartTime = (Get-Date -Format O)
        EndTime = ((Get-Date).AddHours(1).ToString("O"))
        Priority = "ALERT"
        Recipient = $recipients
        ShowPopup = $true
    }
PS> # Convertir la table de calcul des messages en une chaîne json
PS> $msgJson = $msgObj | ConvertTo-Json -Compress
PS>
PS> # Consommer l'API
PS> Invoke-RestMethod -Method Post -Uri $URI -Credential (Get-Credential) `
    -Body $msgJson -ContentType "application/json"

6.2.3. Curl

L’exemple utilise curl pour interroger les informations de licence IDERI note à partir de REST API IDERI note. Le paramètre --insecure de curl ignore le certificat SSL.

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