Processus par lequel un appareil est configuré pour fonctionner correctement dans le cadre d'un ensemble de paramètres spécifiés. Genetec Clearance™ comprend un ensemble de points de terminaison d'API pour gérer la configuration des appareils et fournit un emplacement central pour stocker et distribuer les données de configuration pour vos appareils.
Les configurations doivent normalement être mises à jour en fonction de ce qui a été enregistré dans le système avant de transférer les fichiers vers le système.
Des identifiants sont requis pour accéder au contenu d'un appareil. Vous pouvez utiliser Clearance pour les stocker et les récupérer.
Ajouter de nouveaux identifiants
Les identifiants peuvent être ajoutés lors d'un appel vers le point de terminaison tenant/{tenantId}/configuration/negociate. Voir cette section pour en savoir plus.
Les identifiants peuvent être récupérés en effectuant une demande auprès du /tenant/{tenantId}/credential. Un identifiant unique est généré à partir des deux premiers champs du modèle (c'est-à-dire, SerialNumber, Manufacturer). Par conséquent, ces champs doivent toujours avoir les mêmes valeurs pour chaque appel afin de garantir que l'appareil est correctement identifié. Une liste contenant les identifiants actuels et tout autre identifiant en attente est renvoyée. Une liste vide est renvoyée en l'absence d'identifiants.
curl -X POST 'https://dems-proda-api.clearance.network/deviceservice/api/v1-private/tenant/genetec/credential' -H 'accept: text/plain' -H 'Content-Type: application/json' -d '{ \
"DeviceId": { \
"SerialNumber": "1234", \
"Manufacturer": "genetec", \
"Model": "clearance", \
"CommonName": "guide-1" \
}, \
"DeviceType": "BodyWornCamera" \
}'Si vous remarquez qu'un des identifiants reçus n'est pas valable, vous pouvez le communiquer au système en appelant le point de terminaison /tenant/{tenantId}/credential/failed.
curl -X POST 'https://dems-proda-api.clearance.network/deviceservice/api/v1-private/tenant/genetec/credential/failed' -H 'accept: text/plain' -H 'Content-Type: application/json' -H 'Authorization: Bearer <some_token>' -d '{ \
"DeviceId": { \
"SerialNumber": "1234", \
"Manufacturer": "genetec", \
"Model": "clearance", \
"CommonName": "guide-1" \
}, \
"Credentials": [ \
{ "DeviceCredential": "credential-1" } \
] \
}'Négociation de la configuration
L'API offre deux manières différentes de lier des données à un appareil : Fonctionnalités et Configuration. Les appareils utilisent couramment des fonctionnalités pour partager des informations complexes avec le système. Par exemple, vous pouvez les utiliser pour indiquer la quantité d'espace disponible sur un appareil. Vous pouvez également utiliser le champ Configuration pour envoyer des mises à jour à vos appareils.
L'ajout ou la mise à jour d'une configuration nécessite ce que nous appelons une négociation. Il s'agit d'un processus en deux étapes qui commence par un appel initial au point de terminaison /tenant/{tenantId}/configuration/negociate.
curl -X POST 'https://dems-proda-api.clearance.network/deviceservice/api/v1/tenant/genetec/configuration/negociate' -H 'accept: text/plain' -H 'Content-Type: application/json' -H 'Authorization: Bearer <some_token>' -d '{ \
"DeviceId": { \
"SerialNumber": "1234", \
"Manufacturer": "genetec", \
"Model": "clearance", \
"CommonName": "guide-1" \
}, \
"DeviceType": "BodyWornCamera", \
"Capabilities": { \
"some": "data" \
}, \
"Configuration": { \
"some": "configuration" \
}, \
"Credential": { \
"DeviceCredential": "some_credentials_to_update" \
} \
}'Capacité
Les fonctionnalités sont immédiatement mises à jour. Tout appel vers configuration/negociate remplace les fonctionnalités actuelles.
Si les configurations actuelles sont exactement les mêmes que celles stockées sur le serveur, un code d'état 304 Non modifié est renvoyé. Dans le cas contraire, la configuration attendue et un ID de transaction seront renvoyés. Si l'appareil est capable d'appliquer ces configurations, vous devez alors valider la transaction. La validation d'une transaction est le seul moyen d'appliquer la configuration. Pour ce faire, effectuez l'opération suivante :
curl -X POST 'https://dems-proda-api.clearance.network/deviceservice/api/v1/tenant/genetec/configuration/commit' -H 'accept: text/plain' -H 'Content-Type: application/json' -H 'Authorization: Bearer <some_token>' -d '{ \
"DeviceId": { \
"SerialNumber": "1234", \
"Manufacturer": "genetec", \
"Model": "clearance", \
"CommonName": "guide-1" \
}, \
"TransactionId": "1234ABC" \
}'TransactionId
Utilisez le TransactionId reçu avec la configuration attendue.
Si l'appareil ne peut pas appliquer les configurations, il doit appeler le point de terminaison de rejet avec un ReasonCode et un ReasonMessage identifiant la raison de l'échec.
curl -X POST 'https://dems-proda-api.clearance.network/deviceservice/api/v1/tenant/genetec/configuration/reject' -H 'accept: text/plain' -H 'Content-Type: application/json' -H 'Authorization: Bearer <some_token>' -d '{ \
"DeviceId": { \
"SerialNumber": "1234", \
"Manufacturer": "genetec", \
"Model": "clearance", \
"CommonName": "guide-1" \
}, \
"TransactionId": "1234ABC" \
"ReasonCode": "er2019", \
"ReasonMessage": "corrupted" \
}'