Passer au contenu principal
La transparence est cruciale dans la tarification à l’usage. Permettre aux clients de surveiller et de gérer leur utilisation en temps réel renforce la confiance et encourage l’adoption du produit. Metronome fournit les données et le contrôle en temps réel nécessaires pour implémenter des fonctionnalités de facturation flexibles et personnalisables directement dans votre produit. À l’aide des notifications par seuil, vous pouvez donner à vos clients le pouvoir de gérer de manière proactive les limites de dépenses, les soldes de commits et les totaux des factures. Metronome évalue les notifications par seuil au fur et à mesure que les événements d’utilisation sont traités, déclenchant des états d’alarme lorsqu’un seuil est atteint. Les notifications sont envoyées à votre application via un webhook préconfiguré, vous permettant de prendre des mesures dès que l’état d’alarme se déclenche dans le cadre de vos workflows de gestion des droits d’accès. Pour en savoir plus sur les types de notifications pris en charge et leur comportement, consultez Créer et gérer les notifications.

Activer les limites de dépenses personnalisées

Les limites de dépenses fournissent un mécanisme de sécurité important pour rassurer les clients sur le fait que leurs coûts totaux ne dépasseront pas un seuil prédéfini. Ces limites déclenchent des notifications et empêchent toute utilisation supplémentaire du service dans le cas d’une limite stricte. Implémentez les limites de dépenses avec le workflow suivant :
  1. Un utilisateur final définit des limites dans votre application (voir exemple d’interface utilisateur ci-dessous)
  2. À l’aide de l’API Metronome, votre application crée une notification spend_threshold_reached pour chaque limite avec un seuil correspondant aux valeurs saisies par l’utilisateur final
  3. Metronome évalue en continu les dépenses pour la période de facturation, plaçant la notification dans un état in_alarm une fois le seuil atteint
  4. Metronome envoie une notification à un webhook configuré pour votre application que vous pouvez utiliser pour notifier votre client et éventuellement bloquer l’accès au service
Set spend limits
Les appels API suivants montrent comment définir des notifications dans Metronome basées sur un seuil de dépenses, vous permettant de prendre en charge la capacité de vos utilisateurs finaux à définir des limites souples et strictes. Chaque réponse renvoie l’ID de la notification de seuil créée. Enregistrez-les dans une table pour les rendre facilement accessibles lorsqu’un utilisateur souhaite mettre à jour ses limites de dépenses souples et strictes.
curl https://api.metronome.com/v1/alerts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_type": "spend_threshold_reached",
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
    "name": "SOFT spend threshold",
    "threshold": 5000,
    "customer_id": "75077603-26d4-45c0-a4b7-97b082ccc5f9"
  }'

curl https://api.metronome.com/v1/alerts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_type": "spend_threshold_reached",
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
    "name": "HARD spend threshold",
    "threshold": 10000,
    "customer_id": "75077603-26d4-45c0-a4b7-97b082ccc5f9"
  }'
INFOLe credit_type_id 2714e483-4ff1-48e4-9e25-ac732e8f24f2 représente l’USD, où les valeurs sont en cents (par exemple, un threshold de 10000 = 100,00 $). Les autres devises prises en charge utilisent des unités entières. Voir la dénomination des devises pour plus de détails. Les notifications de dépenses ne sont pas limitées à l’USD — vous pouvez les définir dans des custom pricing units, que vous pouvez définir sur la page Offering dans l’application Metronome.

Traiter les notifications envoyées via un webhook

Agir sur les notifications en temps réel nécessite l’utilisation de webhooks — des endpoints dédiés dans votre application pour recevoir et traiter les notifications. Configurez les webhooks dans Metronome sous Connections - API tokens & webhooks. Lorsqu’une notification est déclenchée dans Metronome, une requête POST est envoyée à votre webhook avec des informations de base relatives à la notification, y compris le type, l’ID client et l’ID d’alerte. Lors de la réception d’une notification webhook, votre application peut la traiter et prendre les mesures appropriées. Découvrez d’autres bonnes pratiques concernant la gestion des notifications webhook. Pour l’exemple de limite de dépenses ci-dessus, le traitement de la charge utile du webhook pourrait ressembler à ceci :
  1. Vérifiez que l’ID d’alerte correspond à une notification de seuil que vous avez configurée et que l’ID client correspond à celui que vous avez associé à l’ID d’alerte.
  2. À l’aide des informations incluses dans le webhook comme l’ID d’alerte, le nom et le seuil, déterminez si le client a dépassé sa limite souple ou sa limite stricte.
  3. Si le client a dépassé sa limite souple, notifiez-le dans l’application, par e-mail ou via votre mécanisme de livraison préféré.
  4. Si le client a dépassé sa limite stricte, désactivez son accès à vos services pour empêcher toute dépense supplémentaire. Informez le client qu’il a atteint sa limite de dépenses stricte et invitez-le à mettre à jour ses limites dans votre application s’il souhaite continuer à utiliser le service.
  5. Pour toutes les limites qui ont changé, archivez les notifications précédentes avant de créer de nouvelles notifications avec les seuils mis à jour :
curl https://api.metronome.com/v1/alerts/archive \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
    "id": "e9c0d89d-040e-4ffc-91f6-001c6954d7a7"
}'
En plus d’utiliser les notifications webhook, vous pouvez vérifier régulièrement l’état des notifications client à tout moment opportun dans le workflow client, comme lors de la connexion initiale. Faites-le avec des appels à l’endpoint /customer-alerts/get pour une notification de seuil spécifique, ou à l’endpoint /customer-alerts/list pour toutes les notifications de seuil.

Activer les limites de dépenses personnalisées pour une dimension spécifique

Vos clients peuvent vouloir la flexibilité de définir des limites de dépenses personnalisées pour un sous-ensemble d’utilisation. Par exemple, ils peuvent souhaiter recevoir une notification ou limiter l’accès lorsqu’un user_id spécifique a dépensé plus de 500 $ au cours d’une période de facturation, ou lorsqu’un organization_id a dépensé plus de 5 000 $. Dans Metronome, vous avez la possibilité d’ajouter des filtres group_values aux notifications de seuil de dépenses pour prendre en charge ce cas d’utilisation. Créez une notification sur les dépenses pour user_id = user_123 à l’aide de l’appel API suivant :
curl https://api.metronome.com/v1/alerts/create \
  -d '{
    "alert_type": "spend_threshold_reached",
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
    "name": "$500 spend limit for user_123",
    "threshold": 50000,
    "customer_id": "5cceec38-51fe-4399-8bed-fcb2a8ad1fb7",
    "group_values":[{"key":"user_id", "value":"user_123"}]
  }'
Créez une notification de seuil sur les dépenses pour n’importe quel organization_id à l’aide de l’appel API suivant. Si un organization_id dépense plus de 5 000 $, vous recevrez une notification webhook, indiquant quel organization_id a franchi le seuil dans la charge utile.
curl https://api.metronome.com/v1/alerts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_type": "spend_threshold_reached",
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
    "name": "$5000 spend limit for any organization",
    "threshold": 500000,
    "customer_id": "5cceec38-51fe-4399-8bed-fcb2a8ad1fb7",
    "group_values":[{"key":"organization_id"}]
  }'
Pour récupérer une notification de seuil client pour n’importe quel organization_id (par exemple finance), utilisez l’endpoint /customer-alerts/get.
curl https://api.metronome.com/v1/customer-alerts/get \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "5cceec38-51fe-4399-8bed-fcb2a8ad1fb7",
    "alert_id": "e9c0d89d-040e-4ffc-91f6-001c6954d7a7"
    "group_values": [{"key":"organization_id", "value":"finance"}]
  }'
Pour utiliser une clé dans le champ group_values, assurez-vous que cette clé est ajoutée comme clé de groupe sur les billable metrics associés au contrat de ce client. Les dépenses sur les produits où la clé n’est pas une clé de groupe sur les billable metrics sous-jacents ne contribueront pas au seuil. Lors de l’évaluation des notifications de seuil de dépenses pour une dimension spécifique, Metronome recalcule la facture comme si la clé de groupe était une clé de groupe de présentation. Dans les cas avec tarification par tranches, arrondi de quantité ou billable metrics MAX, la tarification et le packaging seront appliqués au sous-ensemble d’utilisation que vous définissez. Par exemple, si vous créez une notification de seuil pour organization_id = finance, la quantité sera arrondie pour le sous-ensemble d’utilisation de l’organisation finance.
INFOPour un client donné, vous pouvez définir des notifications de seuil de dépenses pour trois clés. Par exemple, vous pouvez définir des notifications de seuil de dépenses pour un user_id, un project_id et un organization_id, mais vous serez empêché d’ajouter une notification utilisant une quatrième clé. Pour les clés avec plus de 5 000 valeurs pour un client donné, contactez votre représentant Metronome pour discuter de votre configuration de notification de seuil de dépenses.

Surveiller le solde des commits

Un autre scénario utile pour la gestion flexible des notifications est d’aider les clients à surveiller le solde lié à un engagement de dépenses établi contractuellement. Cet exemple suppose que vous avez configuré des produits, tarifs, contrats et commits dans Metronome et que vous souhaitez permettre à un client de spécifier un solde d’engagement auquel il souhaite recevoir une notification. Voir l’appel suivant ci-dessous :
curl https://api.metronome.com/v1/alerts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_type": "low_remaining_commit_balance_reached",
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
    "name": "Commitment Balance Alert",
    "threshold": 500,
    "customer_id": "5cceec38-51fe-4399-8bed-fcb2a8ad1fb7"
  }'
Cela vous donne l’occasion d’informer votre client qu’il arrive à la fin de son commit, ou même d’envoyer un message à votre équipe commerciale pour contacter ce client en vue d’une éventuelle renégociation. Cela fournit également un déclencheur pour couper l’accès si approprié lorsque le solde du commit atteint zéro.

Activer les limites personnalisées de total de facture

La notification spend threshold reached décrite ci-dessus utilise les dépenses basées sur l’utilisation d’un client avant la déduction de credit et commit. Vous pouvez également définir des notifications sur le total de la facture. Le total de la facture est évalué après la déduction de credit et commit et correspond au montant qu’un client paiera. Pour permettre à un client de spécifier une notification de seuil de total de facture atteint sur les factures d’utilisation, voir l’appel suivant :
curl https://api.metronome.com/v1/alerts/create \
  -H "Authorization: Bearer bb842ce6470ef5fc9982b861b53c0b7c3c111ac34b7980b38b70c095e77de2c4" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_type": "invoice_total_reached",
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
    "name": "$100 usage invoice total reached alert",
    "threshold": 10000,
    "customer_id": "5cceec38-51fe-4399-8bed-fcb2a8ad1fb7",
    "invoice_types_filter": ["USAGE"]
  }'