Introduction
Vision'air est une plateforme web permettant de monitorer les centrales de traitement d'air (CTA) de Dinactis.
Cette API existe pour permettre la comunication entre les centrales et la plateforme web, afin de pouvoir transmettre des mesures de température, pression et humidité.
Environnements
| Nom | URL | Description |
|---|---|---|
| Production | https://visionair.dinactis.com | Environnement de production utilisé par les clients. |
| Staging | https://visionair-staging.dinactis.com | Environnement de test utilisé à des fins de développement. |
Installations
Lors de l'installation d'une CTA, cette dernière doit être synchronisée avec le serveur afin de partager un token unique permettant d'identifier la centrale.
Demande d'installation
url = "https://visionair.dinactis.com/api/setups"
payload = {}
headers = {
'Accept': 'application/json',
}
response = requests.post(url, headers=headers, data=payload)
curl -L -X POST 'https://visionair.dinactis.com/api/setups' \
--header 'Accept: application/json'
Exemple de réponse :
{
"data": {
"token": "30221a92af8b34209423",
"status": "pending",
"created_at": "2020-06-18T10:22:25.000000Z"
}
}
Envoie une demande d'installation d'une CTA.
Le serveur retourne un token d'installation qui permettra plus tard de se renseigner sur l'état de la demande.
Requête HTTP
POST /api/setups
Paramètres
Aucun.
Réponses
| Status Code | Meaning |
|---|---|
200 - OK |
Demande d'installation effectuée. |
Information d'une installation
url = "https://visionair.dinactis.com/api/setups/0cd8682ada2eb4e65fc9"
payload = {}
headers = {
'Accept': 'application/json'
}
response = requests.get(url, headers=headers, data=payload)
curl -L -X GET 'https://visionair.dinactis.com/api/setups/0cd8682ada2eb4e65fc9' \
--header 'Accept: application/json'
Exemple d'une réponse sur une demande en attente :
{
"data": {
"token": "30221a92af8b34209423",
"status": "pending",
"cta": null,
"created_at": "2020-06-18T10:45:14.000000Z"
}
}
Exemple d'une réponse sur une demande acceptée :
{
"data": {
"token": "30221a92af8b34209423",
"status": "accepted",
"cta": {
"token": "$2y$10$fuMb0tyW9ofDpawxtFNNXOb4Of3DT4Y62sMv\/YY.RIj3DxMZdbp1O",
"frequency": 600
},
"created_at":"2020-06-18T10:45:14.000000Z"
}
}
Permet de se renseigner sur l'état d'une demande d'installation, de façon à savoir si elle est encore en attente, acceptée ou refusée par un opérateur Dinactis.
Si le status est accepted, cela signifie qu'un opérateur Dinactis a configuré la centrale sur la plateforme web (nom, client, usine, données à recevoir, etc.).
Requête HTTP
GET /api/setups/{token}
Paramètres URL
| Parameter | Rules |
|---|---|
| token | Requis. Doit correspondre à un token d'installation. |
Réponses
| Status Code | Meaning |
|---|---|
200 - OK |
L'information est retournée. |
404 - Not Found |
Le token envoyé ne correspond à aucune installation. |
Fréquence
Obtenir la fréquence d'une CTA
url = "https://visionair.dinactis.com/api/frequency"
headers = {
'Accept': 'application/json'
}
params = {
'token': '$2y$10$fuMb0tyW9ofDpawxtFNNXOb4Of3DT4Y62sMv\/YY.RIj3DxMZdbp1O'
}
response = requests.get(url, headers=headers, params=params)
curl -L -X GET 'https://visionair.dinactis.com/api/frequency?token=$2y$10$fuMb0tyW9ofDpawxtFNNXOb4Of3DT4Y62sMv\/YY.RIj3DxMZdbp1O' \
--header 'Accept: application/json'
Exemple d'une réponse:
{
"data": {
"frequency": 600
}
}
Retourne la fréquence de relevés d'une CTA.
Requête HTTP
GET /api/frequency
Paramètres URL
| Parameter | Rules |
|---|---|
| token | Requis. Doit correspondre au token d'une CTA. |
Réponses
| Status Code | Meaning |
|---|---|
200 - OK |
La fréquence est retournée. |
422 - Unprocessable Entity |
Le token envoyé est erroné. |
Mesures
Envoie de mesures
url = "https://visionair.dinactis.com/api/measures"
payload = {
"token": "$2y$10$fuMb0tyW9ofDpawxtFNNXOb4Of3DT4Y62sMv\/YY.RIj3DxMZdbp1O",
"datetime": "2020-06-18 13:33:21",
"data": [
{
"slot": 2,
"value": 18.3
},
{
"slot": 5,
"value": 12
},
{
"slot": 6,
"value": 14
},
]
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.post(url, headers=headers, json=payload)
Permet d'envoyer les données issues des capteurs pour une date donnée.
Requête HTTP
POST /api/measures
Paramètres
| Parameter | Rules |
|---|---|
| token | Requis. Doit correspondre au token d'une CTA. |
| datetime | Requis. Date au format Y-m-d H:i:s. |
| data | Requis. Doit être un array. |
| data.*.slot | Nombre entre 1 et 24, représentant le slot du capteur. |
| data.*.value | Valeur mesurée par le capteur. |
Réponses
| Status Code | Meaning |
|---|---|
200 - OK |
Measures enregistrées. |
422 - Unprocessable Entity |
Les données envoyées sont incorrectes. |
Horodatage
Obtenir l'heure du serveur
url = "https://visionair.dinactis.com/api/time"
payload = {}
headers = {
'Accept': 'application/json'
}
response = requests.get(url, headers=headers, data=payload)
curl -L -X GET 'https://visionair.dinactis.com/api/time' \
--header 'Accept: application/json'
Exemple d'une réponse :
{
"datetime":"2020-09-28T10:09:52.979920Z"
}
Retourne l'heure du serveur en temps universel coordonné (UTC).
L'heure est retournée sous le format ISO 8601.
Requête HTTP
GET /api/time
Paramètres URL
Aucun.
Réponses
| Status Code | Meaning |
|---|---|
200 - OK |
L'heure est retournée. |