Suivi d'utilisation de l'API

Vue d'ensemble

Les endpoints de suivi d'utilisation permettent de suivre et d'analyser les requêtes effectuées sur le système Pulse. Elle fournit des statistiques détaillées sur le volume des requêtes, le temps d'exécution, le score de complexité, et les interactions avec les appareils.

Facturation basée sur l'utilisation

Actuellement, la facturation est déterminée en fonction du nombre d'appareils utilisés dans le mois. Chaque appareil actif pendant une période donnée est comptabilisé pour établir les coûts mensuels d'utilisation.

Le score de complexité, bien que déjà calculé et stocké, n'est pas encore utilisé pour la facturation. À terme, la facturation pourrait également prendre en compte la charge de complexité des requêtes pour affiner les coûts en fonction de l'utilisation réelle des ressources.


RequestLog

{
  entreprise: Entreprise;
  device: Device; // L’appareil concerné si applicable
  route: string;
  method: string;
  timestamp: Date;
  executionTime: number; // Temps de la requête en ms
  responseSize: number; // Taille de la réponse en octets
  complexityScore: number; // Score de complexité de la requête
}

Paramètres de requête

Toutes les requêtes de statistiques peuvent etre filtrées par les parametres ci-dessous. Tous les parametres sont facultatifs:

Paramètre
Type
Description

enterpriseId

string

Filtrer les logs par entreprise

startDate

string

Date de début du filtrage (format ISO)

endDate

string

Date de fin du filtrage (format ISO)

page

number

Numéro de la page pour la pagination

limit

number

Nombre de logs par page

1. Récupérer les logs d'utilisation

GET /stats

Renvoie la liste des logs d'utilisation enregistrés.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Response

[
  {
    "entreprise": Entreprise //"entreprise",
    "device": [Device], //"Tableau d'appareil"
    "route": string //"Endpoint appelé",
    "method": string //"Méthode HTTP",
    "timestamp": Date //"Date et heure",
    "executionTime": int //"Temps en millisecondes",
    "responseSize": int //"Taille en octets",
    "complexityScore": int //"Score calculé"
  }
]

2. Synthèse

3. Nombre de requêtes

GET /stats/requests

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Response

[
  {
    "enterprise": Entreprise,
    "totalRequests": int
  },
  {
    "enterprise": Entreprise,
    "totalRequests": int
  }
]

4. Complexité des requêtes

GET /stats/complexity

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Response

[
  {
    "enterprise": Entreprise,
    "averageComplexity": int
  },
  {
    "enterprise": Entreprise,
    "averageComplexity": int
  }
]

5. Activité des appareils

GET /stats/devices

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Response

[
  {
    "device": Device,
    "totalRequests": int
  },
  {
    "device": Device,
    "totalRequests": int
  }
]

6. Routes les plus utilisées

GET /stats/routes

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Response

[
  {
    "route": string,
    "totalRequests": int
  },
  {
    "route": string,
    "totalRequests": int
  }
]

Mis à jour