Les agrégateurs sont le pont entre vos événements de consommation bruts et vos produits facturables. Ils définissent comment les données d’événements sont transformées en une seule métrique qui pilote la facturation — qu’il s’agisse de compter les occurrences ou de sommer une propriété numérique.
Les agrégateurs sont gérés indépendamment dans Consommation > Agrégateurs et peuvent être liés à plusieurs produits.
Opérations
Un agrégateur utilise l’une des trois opérations suivantes pour calculer une métrique facturable à partir de vos événements :
Count
Compte le nombre d’événements correspondants. Utilisez ceci lorsque vous facturez en fonction du nombre d’occurrences (par ex. appels API, connexions, transactions).
Sum
Somme la valeur d’une propriété numérique spécifique parmi les événements correspondants. Utilisez ceci lorsque vous facturez en fonction d’une mesure cumulative (par ex. données transférées en GB, heures de calcul consommées).
Lors de l’utilisation de Sum, vous devez spécifier quelle propriété d’événement agréger.
Utilisez SQL formula lorsque Count ou Sum ne suffit pas, et que vous devez combiner, comparer ou ajuster des valeurs avant de les facturer.
Une formule s’exécute sur les événements sélectionnés par le Event type et les Filters de l’agrégateur. Écrivez les propriétés d’événement directement par leur nom, et placez-les à l’intérieur d’une fonction d’agrégation :
| Ce dont vous avez besoin | Modèle de formule |
|---|
| Sommer une propriété d’événement numérique | sum(totalAmount) |
| Compter les événements correspondants | count(*) |
| Compter les événements où une propriété est présente | count(totalAmount) |
| Moyenner une propriété d’événement numérique | avg(unitPrice) |
| Conserver la valeur correspondante la plus élevée | max(seats) |
| Conserver la valeur correspondante la plus basse | min(seats) |
Vous pouvez ensuite combiner ces résultats :
| Règle de facturation | Formule |
|---|
| Facturer au moins 500, même si la consommation est inférieure | greatest(sum(totalAmount), 500) |
| Supprimer une allocation incluse | greatest(sum(totalMinutes) - 50000, 0) |
| Plafonner la valeur facturée | least(max(seats), 1000) |
| Appliquer un ajustement par événement | sum(totalAmount) - sum(if(type = 'one_off', 500, 0)) |
Utilisez Test formula avant d’enregistrer pour prévisualiser le résultat sur les événements correspondants.
Utilisez les noms de champs exactement tels qu’ils apparaissent dans les propriétés de vos événements. Les valeurs textuelles dans les conditions utilisent des guillemets simples, par exemple type = 'one_off'.
Configuration
Lors de la création d’un agrégateur, vous configurez les éléments suivants :
- Name : Une étiquette descriptive pour l’agrégateur
- Event type : Le type d’événement à agréger (par ex.
api_calls, storage, users)
- Operation : Count, Sum ou SQL formula (et la propriété cible pour Sum)
- Unit name : L’étiquette affichée à côté des valeurs agrégées (par ex.
API calls, GB, seats). Apparaît sur les graphiques de consommation, les prix, les factures et le portail client.
- Filters : Conditions optionnelles pour restreindre les événements inclus. Les filtres prennent en charge la logique AND/OR avec des opérateurs comme
equals, in, gte, lt, etc.
- Exposed event keys : Champs d’événement à exposer dans l’interface pour la transparence et le débogage
- Allow negative values : Si le résultat agrégé peut descendre sous zéro
Le nom d’unité est configuré sur l’agrégateur lui-même. Il vivait auparavant sur chaque produit ; les produits liés à un agrégateur héritent désormais automatiquement de son nom d’unité.
Intervalle d’agrégation par défaut
Vous pouvez définir un intervalle d’agrégation par défaut sur un agrégateur en spécifiant un nombre et une période (jours, semaines, mois ou années). Cette valeur par défaut est utilisée comme intervalle de référence lors de l’affichage des données de consommation et du calcul des valeurs agrégées actuelles sur l’onglet Consommation client.
Filtres d’agrégateur
Les filtres d’agrégateur vous permettent de définir des ensembles de filtres nommés sur un agrégateur. Chaque filtre combine des conditions en utilisant la logique AND/OR sur les propriétés d’événement (par ex. region equals "eu", plan in ["pro", "enterprise"]).
Les filtres servent à deux fins :
- Facturation : différents prix peuvent s’appliquer en fonction du filtre auquel un événement correspond (voir filtres de mesure de prix)
- Visualisation de la consommation : sur l’onglet Consommation client, chaque filtre est affiché comme une ligne distincte sur le graphique de consommation avec sa propre couleur et entrée de légende
Un filtre ne peut être supprimé que s’il n’est référencé par aucun prix de produit.
Seuils
Les seuils vous permettent de définir des conditions d’alerte sur un agrégateur. Chaque seuil spécifie :
- Name (optionnel) : Une étiquette descriptive pour le seuil
- Operator : Supérieur ou égal à (
>=) ou inférieur ou égal à (<=)
- Value : La valeur numérique du seuil
Lorsque la consommation agrégée d’un client franchit un seuil, Hyperline peut vous notifier via webhooks (événement aggregator.threshold_crossed) ou notifications Slack.
Sur l’onglet Consommation client, les seuils sont affichés sous forme de lignes de référence horizontales en pointillés sur le graphique de consommation, avec l’opérateur et la valeur affichés en étiquettes.
Quels produits utilisent des agrégateurs ?
Tous les types de produits ne nécessitent pas un agrégateur. Voici quand vous en avez besoin :
| Type de produit | Agrégateur requis ? | Opérations autorisées |
|---|
| Fee | Non | — |
| Seat | Non | — |
| Connected seat | Oui | Count uniquement |
| Usage | Oui | Count, Sum, SQL formula |
| Credit | Oui | Count, Sum, SQL formula |
Un produit seat devient un produit connected seat lorsqu’un agrégateur est sélectionné.
Gestion des agrégateurs
Naviguez vers Consommation > Agrégateurs pour créer, modifier et supprimer des agrégateurs.
Créer un agrégateur
Cliquez sur New aggregator, configurez l’opération, le type d’événement et les filtres optionnels, puis enregistrez.
Modifier un agrégateur
Cliquez sur un agrégateur existant pour mettre à jour sa configuration. La page de détail affiche également les produits actuellement liés à cet agrégateur.
Supprimer un agrégateur
Un agrégateur ne peut être supprimé que si aucun produit n’y est lié.
Lier un agrégateur à un produit
Lors de la création ou de la modification d’un produit basé sur la consommation, de crédit ou de siège connecté, vous sélectionnez un agrégateur existant dans un menu déroulant au lieu de configurer la mesure en ligne.
- Produits Usage : sélectionnez n’importe quel agrégateur (count ou sum)
- Produits Credit : sélectionnez n’importe quel agrégateur (count ou sum)
- Produits Seat : sélectionnez un agrégateur count (uniquement lorsque les sièges connectés sont activés)
Pour plus de détails sur la configuration des produits, voir Produits et prix.
Filtres de mesure de prix
Pour les produits basés sur la consommation, vous pouvez affiner davantage la facturation en ajoutant des filtres de mesure au niveau du prix. Cela permet d’avoir différents prix pour le même produit en fonction de propriétés d’événement spécifiques (par ex. région, type d’instance).
En savoir plus dans la documentation des produits basés sur la consommation.