- Installez et configurez le SDK Metronome.
- Envoyez des événements d’utilisation à Metronome, posant les bases de la facturation à la consommation.
- Créez un billable metric pour définir comment Metronome doit agréger et mesurer l’utilisation.
- Créez un client dans le système et associez-le à des événements d’utilisation.
- Configurez la tarification et le packaging de votre produit.
- Créez un contrat pour le client, permettant la génération automatique de factures en fonction de son utilisation.
Fonctionnalités des SDK
Chaque dépôt GitHub de SDK contient une documentation détaillée, des exemples et des ressources pour vous aider à tirer le meilleur parti de Metronome dans vos applications : Les principales fonctionnalités des SDK incluent :- Typage fort des endpoints et objets Metronome qui améliore la productivité du développeur grâce à une meilleure auto-complétion et au support IDE pour les objets Metronome.
- Prise en charge de la pagination qui simplifie la récupération et la gestion des données paginées depuis les services Metronome.
- Prise en charge automatique des nouvelles tentatives : par défaut, chaque requête est retentée jusqu’à trois fois en cas d’échec. Vous pouvez le configurer pour n’importe quel nombre de tentatives. Utilisez ceci pour gérer automatiquement les erreurs transitoires et les problèmes réseau sans avoir à implémenter de logique de nouvelle tentative.
1. Installer et configurer le SDK
Installez et configurez d’abord le SDK dans votre environnement :METRONOME_BEARER_TOKEN. Dans cet exemple, elle sera transmise comme argument au constructeur à la place.
2. Envoyer des événements d’utilisation
Le modèle de facturation à l’usage s’appuie sur les données d’utilisation capturées auprès des utilisateurs de votre plateforme. Metronome accepte les charges utiles d’utilisation dans tous les formats via l’endpoint /ingest. Utilisez le SDK pour envoyer des données à Metronome :usage, vous permet de transmettre plusieurs charges utiles d’événements dans une requête. Metronome prend en charge la transmission de jusqu’à 100 événements dans une seule requête.transaction_id, fournit à Metronome la clé d’idempotence unique pour l’événement. Metronome déduplique sur la base de cet ID, ce qui vous permet d’envoyer des événements potentiellement plusieurs fois sans risque de facturer deux fois vos clients.timestamp, l’heure à laquelle l’événement s’est produit. Envoyez des événements avec n’importe quel horodatage jusqu’à 34 jours dans le passé.customer_id, l’ID client dans Metronome ou tout autre identifiant client que vous souhaitez définir. Par exemple, l’e-mail du client ou l’ID client interne au sein de votre plateforme. Des étapes ultérieures montrent comment définir ces identifiants personnalisés pour vos clients dans Metronome.event_type, une chaîne arbitraire que vous pouvez définir dans la requête.properties, un ensemble arbitraire de données à inclure dans la charge utile pour la mesure et le groupement dans Metronome.

3. Créer un billable metric
Un billable metric décrit une agrégation par client sur un sous-ensemble d’événements d’utilisation. En configurant un billable metric, vous indiquez à Metronome comment associer les événements d’utilisation aux produits que vous facturez. Voici un exemple de configuration de billable metric qui correspond à l’événement d’utilisation envoyé dans l’exemple précédent :name, le nom à donner à votre billable metric.event_type_filter, l’ensemble de valeurs comparées au champevent_typedans les événements d’utilisation. Omettez ceci si vous souhaitez correspondre à tous les types d’événements.property_filters, l’ensemble des propriétés que vous vous attendez à trouver dans la charge utile d’utilisation. Si vous marquez une propriété commeexists=Truedans la définition du billable metric et que la propriété n’est pas trouvée dans la charge utile, le billable metric ne correspondra pas à l’événement.aggregation_key, utilisé pour définir la propriété avec la valeur pertinente sur laquelle agréger.aggregation_type, utilisé pour indiquer à Metronome comment agréger les valeurs spécifiées par laaggregation_keyau fur et à mesure de leur arrivée dans le système. Les opérations prises en charge sontSUM,COUNTetMAX.group_keys, utilisé pour définir des propriétés permettant de séparer les données d’utilisation en différents groupes, similaire à une clausegroup byen SQL. L’exemple ci-dessus définituser_idcomme clé de groupe, ce qui vous permet d’afficher la facture séparée selon la quantité de jetons consommée par chaque utilisateur.


4. Créer un client
Les événements d’utilisation ont un impact sur la facturation des clients ; la prochaine étape consiste donc à créer un client dans Metronome. Utilisez le SDK pour créer un client, comme dans cet exemple :name, le nom d’affichage du client dans Metronome.ingest_aliases, une liste d’identifiants utilisés pour faire correspondre un client Metronome à un événement d’utilisation. Les ingest aliases sont utiles si vous souhaitez commencer à faire circuler de l’utilisation pour les clients avant qu’ils ne soient créés dans Metronome. Pour ce faire, utilisez l’ID de la table client de votre application.

team@example.com, donc l’événement précédent est correctement mis en correspondance. Une fois que le client est configuré pour la facturation dans la section suivante, cet événement contribue à sa facture actuelle.

5. Configurer la tarification et le packaging
Configurez ensuite les prix et le packaging, définis à l’aide de produits et de rate cards. Dans l’exemple, vous souhaitez facturer votre client en fonction de son utilisation delangModel4 au tarif de 0,50 $ par million de jetons.
La première étape consiste à créer un product pour votre billable metric. Un produit est l’endroit où vous configurez le billable metric pour la présentation sur la future facture. C’est également là que vous pouvez associer le metric à des éléments de systèmes externes, comme l’ID client Stripe. Découvrez les options de configuration des produits dans la documentation API pour l’endpoint create product.
Créez un produit associé au billable metric, comme dans cet exemple :
name, le nom du produit qui apparaît sur la facture. Souvent une présentation nettoyée du nom du billable metric (Language Model 4 Tokens (millions)plutôt quelangModel4).type, détermine la manière dont un produit est facturé. Les types pris en charge incluentusage,fixed,composite(pour les pourcentages d’autres produits d’utilisation), etsubscription.billable_metric_id, associe la présentation du produit à un billable metric existant.presentation_group_key, utilisé pour grouper les lignes d’articles sur votre facture selon une valeur de propriété donnée.quantity_conversion, utilisé pour multiplier ou diviser les quantités affichées sur la facture finale. Par exemple, facturer par million de jetons (mTok) tout en envoyant l’utilisation au niveau du jeton individuel.

entitled, un booléen qui indique si un tarif apparaît par défaut sur la facture d’un client. SiFalse, il n’apparaîtra pas sur la facture d’un client à moins d’être remplacé au niveau du contrat.rate_type, utilisé pour configurer la manière dont un tarif est appliqué à mesure que l’utilisation entre. Les valeurs prises en charge incluentFLATouTIERED.price, le tarif lui-même. Pour l’USD, les valeurs sont en cents (par exemple,100= 1,00 $). Les autres devises utilisent des unités entières. Voir la dénomination des devises pour plus de détails.starting_at, utilisé pour définir l’heure à laquelle le tarif entre en vigueur. Pour faire évoluer vos tarifs dans le temps, définissez des datesstarting_atetending_beforeafin d’assurer des mises à jour de tarification fluides.
6. Créer un contrat
Pour commencer à générer des factures pour un client, placez-le sur un contrat. Un contrat est un objet qui représente les termes qu’un client a accepté de payer, généralement basés sur votre rate card. Dans sa version la plus simple, un client peut avoir un contrat de base où il paie les prix de liste prédéfinis ; cela peut couvrir bon nombre de vos cas simples en libre-service. Si vous avez des remises ou des engagements spécifiques négociés par un client, configurez-les dans le contrat en plus des prix de liste de base. Ajoutez votre client créé à un contrat, comme dans cet exemple qui utilise la rate card Language Model List Pricing :starting_at. Les données d’utilisation de la période actuelle sont visibles sur la facture DRAFT. Les lignes d’articles des factures brouillons sont mises à jour quelques secondes après que Metronome reçoive les données d’utilisation.
Pour le nouveau contrat de l’exemple, l’utilisation précédente d’un million de jetons a été appliquée.

