Passer au contenu principal
Certains clients ne doivent jamais être facturés pour une consommation au-delà de leur solde engagé — comptes d’essai gratuit, segments sensibles à la fraude ou clients soumis à des budgets internes stricts. Garantissez zéro dépassement dans Metronome en définissant les tarifs catalogue à 0 USD et en encodant les vrais prix soit comme tarif d’engagement sur la grille tarifaire, soit comme surcharge spécifique à l’engagement sur le contrat. La consommation puise dans l’engagement aux vrais prix tant qu’il y a du solde, puis revient à 0 USD une fois l’engagement épuisé.
N’utilisez ce modèle que lorsque les clients ne doivent jamais être facturés pour des dépassements. Si vous voulez autoriser les dépassements mais avoir des contrôles autour d’eux, Metronome propose à la place deux mécanismes complémentaires :
  • Seuils de solde prépayé rechargent automatiquement le solde d’engagement prépayé d’un client lorsqu’il descend à un threshold_amount, le ramenant à un recharge_to_amount. Utile lorsque vous voulez un service continu avec des recharges automatiques.
  • Seuils de dépense plafonnent la dépense qu’un client peut accumuler avant qu’un paiement ne soit déclenché — utile pour limiter l’exposition à la fraude dans les flux PLG.
Le modèle ci-dessous est le bon choix uniquement lorsqu’il n’y a aucune tolérance pour facturer aux clients des dépassements.

Quand utiliser ce modèle

Cette approche est utile lorsque :
  • Les essais gratuits doivent être strictement plafonnés au montant accordé sans possibilité de facture.
  • Les comptes sensibles à la fraude pourraient sinon accumuler une consommation incontrôlée avant que les signaux de fraude ne se déclenchent.
  • Les clients à budget strict exigent une garantie contractuelle que vous ne leur facturerez jamais de dépassement, même si le contrôle d’accès de votre application échoue.

Fonctionnement

Deux éléments fonctionnent ensemble :
  1. Tarif catalogue de 0 USD sur la grille tarifaire. C’est le prix de repli après l’épuisement de tout engagement, de sorte que toute consommation fuyant est facturée à 0 USD.
  2. Un véritable prix unitaire qui ne s’applique que pendant la consommation d’un engagement. Vous pouvez encoder ce prix réel de deux manières selon que les prix sont uniformes entre clients ou définis par client.
Comme les deux mécanismes ne s’appliquent que pendant que la consommation puise dans un engagement, la tarification revient au tarif catalogue de 0 USD dès que l’engagement atteint zéro. À partir de ce moment, l’élément de facturation se résout à 0 USD et le client n’est jamais facturé pour des dépassements.

Choisir votre implémentation

Option A : Tarif d’engagement sur la grille tarifaireOption B : Surcharge spécifique à l’engagement sur le contrat
Où vivent les prixSur la grille tarifaire, à côté du tarif catalogue de 0 USDSur le contrat de chaque client
Idéal pourTarification uniforme pour tous (ou la plupart) des clients sur la grille tarifairePersonnalisation des prix d’engagement par client
Coût de configurationConfigurer une seule fois sur la grille tarifaireAjouter une surcharge sur chaque contrat
Héritage clientTous les clients utilisant la grille tarifaire héritent automatiquement du prix d’engagementChaque contrat spécifie son propre prix d’engagement
Vous pouvez combiner les deux : définissez un tarif d’engagement par défaut sur la grille tarifaire pour la plupart des clients, et utilisez des surcharges spécifiques à l’engagement sur les contrats qui ont besoin d’un prix différent. Les surcharges sur le contrat ont la priorité.

Option A : Tarif d’engagement sur la grille tarifaire

Utilisez cette option lorsque le vrai prix est cohérent pour tous (ou la plupart) des clients sur la grille tarifaire. Vous définissez le tarif catalogue à 0 USD et le vrai prix comme commit_rate sur la même entrée de grille tarifaire. Les clients héritent automatiquement des deux — aucune surcharge par contrat n’est requise.

1. Ajouter le produit à la grille tarifaire avec price: 0 et un commit_rate

curl https://api.metronome.com/v1/contract-pricing/rate-cards/addRate \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
    "product_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
    "starting_at": "2024-10-01T00:00:00.000Z",
    "entitled": true,
    "rate_type": "FLAT",
    "price": 0,
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
    "commit_rate": {
      "rate_type": "FLAT",
      "price": 100
    }
  }'

2. Créer l’engagement et lui indiquer d’utiliser commit_rate

Lorsque vous créez l’engagement sur le contrat, définissez rate_type: commit_rate afin que les puisages soient tarifés selon le tarif d’engagement de la grille tarifaire.
curl https://api.metronome.com/v1/contracts/customerCommits/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "bc20325a-80a0-468e-868f-a2f28b972af8",
    "type": "prepaid",
    "name": "Trial credit",
    "priority": 100,
    "product_id": "f14d6729-6a44-4b13-9908-9387f1918790",
    "rate_type": "commit_rate",
    "access_schedule": {
      "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
      "schedule_items": [
        {
          "amount": 10000,
          "starting_at": "2024-10-01T00:00:00.000Z",
          "ending_before": "2025-10-01T00:00:00.000Z"
        }
      ]
    },
    "invoice_schedule": {
      "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
      "schedule_items": [
        {
          "unit_price": 10000,
          "quantity": 1,
          "timestamp": "2024-10-01T00:00:00.000Z"
        }
      ]
    }
  }'
Tant que l’engagement a du solde, la consommation est tarifée au commit_rate de la grille tarifaire (100 USD/unité). Une fois l’engagement épuisé, la consommation retombe au tarif catalogue de 0 USD de la grille tarifaire.

Option B : Surcharge spécifique à l’engagement sur le contrat

Utilisez cette option lorsque chaque client a besoin de prix différents, ou lorsque vous ne voulez pas encoder les vrais prix sur la grille tarifaire. Le tarif catalogue reste à 0 USD sur la grille tarifaire, et vous ajoutez une surcharge overwrite sur chaque contrat qui ne s’applique que pendant que l’engagement a du solde.

1. Définir le tarif catalogue à 0 USD sur la grille tarifaire

curl https://api.metronome.com/v1/contract-pricing/rate-cards/addRate \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
    "product_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
    "starting_at": "2024-10-01T00:00:00.000Z",
    "entitled": true,
    "rate_type": "FLAT",
    "price": 0,
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2"
  }'

2. Sur le contrat, ajoutez un engagement et une surcharge spécifique à l’engagement

La surcharge est limitée à l’engagement via override_specifiers.commit_ids, elle ne s’applique donc que tant que cet engagement a un solde restant.
curl https://api.metronome.com/v1/contracts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "bc20325a-80a0-468e-868f-a2f28b972af8",
    "starting_at": "2024-10-01T00:00:00.000Z",
    "rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
    "commits": [
      {
        "temporary_id": "prepaid_commit_A",
        "type": "prepaid",
        "priority": 1,
        "name": "Trial credit",
        "product_id": "f14d6729-6a44-4b13-9908-9387f1918790",
        "access_schedule": {
          "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
          "schedule_items": [
            {
              "amount": 10000,
              "starting_at": "2024-10-01T00:00:00.000Z",
              "ending_before": "2025-10-01T00:00:00.000Z"
            }
          ]
        },
        "invoice_schedule": {
          "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
          "schedule_items": [
            {
              "unit_price": 10000,
              "quantity": 1,
              "timestamp": "2024-10-01T00:00:00.000Z"
            }
          ]
        }
      }
    ],
    "overrides": [
      {
        "starting_at": "2024-10-01T00:00:00.000Z",
        "is_commit_specific": true,
        "product_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
        "type": "overwrite",
        "overwrite_rate": {
          "rate_type": "flat",
          "price": 100
        },
        "override_specifiers": [
          {
            "commit_ids": ["prepaid_commit_A"]
          }
        ]
      }
    ]
  }'
Tant que l’engagement a du solde, la surcharge s’applique et la consommation est tarifée à 100 USD/unité. Une fois l’engagement épuisé, la surcharge ne s’applique plus et la consommation revient au tarif catalogue de 0 USD de la grille tarifaire.
Le contrôle d’accès côté application reste requisCe modèle garantit zéro facturation pour toute consommation qui fuirait, mais il n’empêche pas la consommation d’être soumise. Limitez l’accès dans votre application en utilisant des seuils de solde ou des webhooks afin que les clients ne puissent pas continuer à consommer le produit après l’épuisement de leur engagement.