0. Fleet stats (vue d'ensemble en un appel)

Un seul appel pour tous les KPIs du parc : disponibilité, batterie, température, stockage, modèles, licences, versions MDM et OS.

POST /devices/stats/fleet

Endpoint tout-en-un pour alimenter un tableau de bord. Toutes les données sont calculées côté serveur en une seule requête.

Headers

NameValue
Content-Typeapplication/json
AuthorizationBearer <token>

Body

ParamètreTypeDescription
deviceIdsstring[](Optionnel) Restreindre l'analyse à certains appareils

L'entreprise est automatiquement déduite du token JWT — pas besoin de la passer en paramètre.


Structure de la réponse

availability

ChampDescription
onlineAppareils actuellement en ligne
offlineAppareils hors ligne
availabilityRateTaux de disponibilité en % (1 décimale)

battery

ChampDescription
averageLevelNiveau moyen (appareils avec niveau connu), null si aucun
minLevelNiveau minimum relevé
maxLevelNiveau maximum relevé
criticalCountAppareils avec batterie ≤ 25 %
chargingCountAppareils en charge
distributionHistogramme par tranches de 25 %

temperature

ChampDescription
averageTemperatureTempérature moyenne de batterie en °C (appareils connus), null si aucun
minTemperatureTempérature minimale relevée
maxTemperatureTempérature maximale relevée
hotCountAppareils avec température > 40 °C

storage

ChampDescription
averageUsagePercent% d'utilisation moyen par appareil (sur totalSpace)
warningCountAppareils avec moins de 1 Go libre sur un volume
totalSpaceBytesEspace total agrégé (tous volumes)
totalUsedBytesEspace utilisé agrégé
distributionHistogramme par tranches de 25 %

models

Tableau trié par nombre d'appareils décroissant. Chaque entrée : brand, commercial, count.

licenses

Scalaires : active, expired, suspended, revoked. Tableau byLevel : répartition par niveau de licence (FREE, PREMIUM, PRO, unlicensed).

mdmVersions

Tableau trié par codeVersion décroissant. Chaque entrée : version, codeVersion, count.

osVersions

Tableau trié par nombre d'appareils décroissant. Chaque entrée : version, count.


Correspondance indicateurs

IndicateurChamp réponse
Taux de disponibilité du parcavailability.availabilityRate
Appareils en batterie critiquebattery.criticalCount
Distribution batterie (histogram)battery.distribution[]
Appareils en surchauffetemperature.hotCount
Température moyenne batterietemperature.averageTemperature
Espace disque moyen utiliséstorage.averageUsagePercent
Répartition par modèle de casquemodels[]
Répartition par version MDMmdmVersions[]
Répartition licenceslicenses.byLevel[]

Exemple de requête

{}

(Corps vide = toute la flotte de l'entreprise)

Response

{
  "message": "Fleet stats computed",
  "data": {
    "total": 45,
    "availability": {
      "online": 32,
      "offline": 13,
      "availabilityRate": 71.1
    },
    "battery": {
      "averageLevel": 67.4,
      "minLevel": 12,
      "maxLevel": 100,
      "criticalCount": 3,
      "chargingCount": 8,
      "distribution": [
        { "range": "0-25", "count": 3 },
        { "range": "26-50", "count": 7 },
        { "range": "51-75", "count": 15 },
        { "range": "76-100", "count": 20 }
      ]
    },
    "temperature": {
      "averageTemperature": 32.4,
      "minTemperature": 18.0,
      "maxTemperature": 47.2,
      "hotCount": 2
    },
    "storage": {
      "averageUsagePercent": 42.3,
      "warningCount": 5,
      "totalSpaceBytes": 10883051372800,
      "totalUsedBytes": 4603571280000,
      "distribution": [
        { "range": "0-25%", "count": 12 },
        { "range": "26-50%", "count": 18 },
        { "range": "51-75%", "count": 10 },
        { "range": "76-100%", "count": 5 }
      ]
    },
    "models": [
      { "brand": "Pico", "commercial": "Pico 4/4E", "count": 20 },
      { "brand": "Meta", "commercial": "Quest 3S", "count": 15 },
      { "brand": "Pico", "commercial": "Pico Neo 3", "count": 10 }
    ],
    "licenses": {
      "active": 40,
      "expired": 3,
      "suspended": 1,
      "revoked": 1,
      "byLevel": [
        { "level": "PREMIUM", "count": 30 },
        { "level": "FREE", "count": 15 }
      ]
    },
    "mdmVersions": [
      { "version": "1.6.4", "codeVersion": 64, "count": 30 },
      { "version": "1.6.3", "codeVersion": 63, "count": 10 },
      { "version": "1.5.0", "codeVersion": 55, "count": 5 }
    ],
    "osVersions": [
      { "version": "10", "count": 25 },
      { "version": "12", "count": 15 },
      { "version": "14", "count": 5 }
    ]
  }
}

Sur cette page