Tableau de bord analytique
Comprendre le tableau de bord analytique ChinqIT Verify
Le tableau de bord analytique offre une vue sur votre activité de messagerie et vos dépenses sur une période choisie. Les tableaux de bord administrateur (/admin/analytics) et client (/client/analytics) utilisent la même interface, filtrée selon le périmètre approprié : les administrateurs voient les chiffres de toute la plateforme, les clients voient uniquement leur propre trafic par clé API.
Sélecteur de période
Trois périodes prédéfinies sont disponibles : 7 jours, 30 jours et 90 jours. La sélection d'une période recharge tous les graphiques et cartes de statistiques. Les buckets sont quotidiens pour les périodes de 7 et 30 jours, et hebdomadaires pour 90 jours.
Cartes de statistiques
Quatre cartes apparaissent en haut du tableau de bord.
| Carte | Ce qu'elle affiche |
|---|---|
| Dépenses | Total des dépenses (transactions négatives sur le portefeuille) sur la période sélectionnée. Le sous-titre indique le total des crédits (rechargements) reçus sur la même période. |
| Messages | Nombre total de messages soumis sur la période, tous canaux confondus (OTP, SMS, WhatsApp). |
| Taux de succès | Pourcentage de messages soumis avec succès, calculé sur le dénominateur des pannes système : succès / (succès + pannes système). Les échecs côté destinataire (numéro injoignable, etc.) ne sont pas pris en compte. |
| OTP vérifiés % | Pourcentage de messages OTP ensuite vérifiés par le destinataire. Affiché uniquement si au moins un OTP a été envoyé sur la période. |
Les alertes SMS internes (notifications de solde faible et d'expiration d'en-tête envoyées par la passerelle) sont des messages SMS ordinaires appartenant à la clé du client ChinqIT : elles comptent comme utilisation et dépense SMS, attribuées au client ChinqIT dans les vues administrateur.
Dépenses dans le temps
Un graphique de type aire+ligne montre les dépenses et rechargements quotidiens (ou hebdomadaires). La valeur dépenses représente le coût réel des messages envoyés, net des remboursements — elle est calculée à partir du coût enregistré de chaque message, et non des débits du grand livre du portefeuille. La valeur rechargements provient des entrées positives du grand livre (crédits ajoutés au solde). Survoler un point affiche les montants exacts pour ce jour ou cette semaine.
Le libellé de la carte côté client est Dépenses ; côté administrateur il devient Revenus (facturés). Dans la vue administrateur, les revenus et rechargements sont agrégés sur l'ensemble des clients de la plateforme.
Messages par catégorie
Un graphique à barres empilées horizontales montre, pour chaque canal (otp, sms, whatsapp), le nombre de messages délivrés et échoués. Le total des messages pour chaque canal apparaît à droite. Seuls les canaux avec au moins un message sur la période sont listés.
Flux de messages
Un diagramme de Sankey visualise la façon dont les messages transitent dans le système. Les flux progressent de gauche à droite en trois étapes : canal (OTP / SMS / WhatsApp) → résultat (délivré / échoué / en attente) → raison d'échec (système / destinataire / compte / contenu / inconnu). La largeur de chaque bande est proportionnelle au volume de messages. L'étape des raisons d'échec n'est visible que lorsqu'il y a des messages échoués ; les messages en attente transitent directement du canal vers le nœud de résultat « en attente » sans subdivision supplémentaire.
Répartition des catégories d'échec
Lorsqu'il y a des messages échoués, une barre de répartition colorée et une légende indiquent les raisons des échecs, réparties en cinq catégories :
| Catégorie | Signification | Couleur |
|---|---|---|
| Système | Une erreur de plateforme ou de passerelle a causé l'échec — le message n'a jamais atteint l'opérateur. Ces échecs réduisent votre taux de succès. | Rouge |
| Destinataire | Le numéro de destination était injoignable, a rejeté le message ou est invalide. La faute est côté destinataire, pas côté plateforme. | Ambre |
| Compte | L'échec a été causé par un problème au niveau du compte — par exemple, un solde insuffisant ou une clé API inactive. | Bleu |
| Contenu | Le message a été rejeté en raison de son contenu — par exemple, un en-tête d'expéditeur bloqué ou un corps de message enfreignant les règles opérateur. | Violet |
| Inconnu | L'échec ne peut pas être classé dans l'une des catégories ci-dessus. | Gris |
Chaque catégorie indique sa part en pourcentage et en nombre absolu.
Endpoint API
Le tableau de bord appelle une seule route API Next.js interne :
GET /api/analytics/summary?range=7|30|90L'authentification est basée sur la session (connexion standard au tableau de bord). Le paramètre range accepte 7, 30 ou 90 ; toute autre valeur revient à 30. La structure de la réponse est identique à celle décrite dans la version anglaise.
Les anciens endpoints /api/analytics/verify/* (percentiles de latence, par pays, par opérateur, par type de ligne, tableau de forage par message) ont été supprimés. Utilisez GET /api/analytics/summary pour tous vos besoins analytiques.