Documentation Développeurs
Lister les bornes d'une entreprise
S'authentifier, retrouver l'identifiant de votre entreprise puis récupérer la liste de ses bornes avec leur état de connexion.
Avant de commencer
- Un compte Wogeez membre de l'entreprise, avec le droit « Consulter les ressources » (matrice des droits)
- Un terminal avec curl et jq, ou l'outil HTTP de votre choix
Obtenir un jeton
S'authentifier avec OpenID Connect.
Chaque appel à l'API est authentifié par un jeton, délivré par le serveur d'authentification Wogeez à partir de votre compte. C'est le même compte que pour le manager, grâce à l'authentification unique.
curl -s -X POST "https://auth.wogeez.com/realms/wogeez/protocol/openid-connect/token" \
-d "client_id=wogeez-api" \
-d "grant_type=password" \
--data-urlencode "[email protected]" \
--data-urlencode "password=votre-mot-de-passe"La réponse contient le jeton et sa durée de vie en secondes.
{
"access_token": "eyJhbGciOiJSUzI1NiIs...",
"expires_in": 3600,
"token_type": "Bearer"
}Gardez le jeton dans une variable, réutilisée par les appels suivants. Il expire au bout d'une heure, votre intégration doit donc en redemander un régulièrement.
TOKEN=$(curl -s -X POST "https://auth.wogeez.com/realms/wogeez/protocol/openid-connect/token" \
-d "client_id=wogeez-api" -d "grant_type=password" \
--data-urlencode "[email protected]" --data-urlencode "password=votre-mot-de-passe" \
| jq -r .access_token)Retrouver l'identifiant de votre entreprise
Les entreprises auxquelles votre compte a accès.
Le jeton accompagne chaque appel dans l'en-tête Authorization. Ce premier appel liste vos entreprises et vérifie au passage que l'authentification fonctionne.
curl -s "https://api-v2.wogeez.com/companies" -H "Authorization: Bearer $TOKEN"mine est votre entreprise principale, memberOf les entreprises où vous avez été invité.
{
"item": {
"mine": { "id": "d013e5cb-...", "name": "Mon entreprise" },
"memberOf": [
{ "id": "afee93e6-...", "name": "Entreprise partenaire" }
]
}
}Gardez l'identifiant de l'entreprise voulue, ici l'entreprise principale.
COMPANY=$(curl -s "https://api-v2.wogeez.com/companies" -H "Authorization: Bearer $TOKEN" | jq -r .item.mine.id)Lister les bornes
La recherche de ressources, filtrée sur l'entreprise.
Les bornes sont des ressources de type DEVICE. La recherche les filtre par entreprise et renvoie pour chacune son nom, son matériel et son état.
curl -s "https://api-v2.wogeez.com/resources/search?type=DEVICE&company=$COMPANY&pageSize=50" \
-H "Authorization: Bearer $TOKEN" \
| jq '.resources[] | { name, serial: .resource.serial, connection: .resource.connection.state }'Chaque borne s'affiche sur une ligne.
{ "name": "Borne hall A", "serial": "KINGSTON_SA400...", "connection": "CONNECTED" }
{ "name": "Borne parking", "serial": "SAMSUNG_MZ7...", "connection": "DISCONNECTED" }La réponse complète est paginée. total donne le nombre de bornes, page.pages le nombre de pages. Demandez les suivantes avec le paramètre page, jusqu'à 100 bornes par page avec pageSize.
{
"total": 124,
"page": { "page": 1, "pageSize": 50, "pages": 3 },
"resources": [ ... ]
}Aller plus loin
Filtrer, superviser, être prévenu.
Les mêmes filtres que dans le manager s'ajoutent à la recherche. Pour compter les bornes hors ligne, par exemple, ajoutez connection.state=DISCONNECTED.
curl -s "https://api-v2.wogeez.com/resources/search?type=DEVICE&company=$COMPANY&connection.state=DISCONNECTED" \
-H "Authorization: Bearer $TOKEN" | jq '.total'Plutôt que d'interroger l'API à intervalle régulier, un webhook peut aussi vous prévenir quand l'état d'un équipement change. Les API Wogeez, et la liste complète des filtres dans le Swagger.