Forfaits et abonnements
Les conditions des forfaits sont gérées à l'exécution et peuvent évoluer. Ne vous fiez pas aux noms, tarifs, quotas ou limites de requêtes copiés depuis un ancien exemple. Le catalogue public est la source de vérité des forfaits actuellement publiés.
Les cartes ci-dessous chargent le catalogue public à l'ouverture de cette page. Les prix, quotas, limites de requêtes, crédits de portefeuille par cycle et descriptions localisées viennent du backend ; aucune condition de forfait n'est intégrée à cette documentation. Si le catalogue est indisponible ou invalide, la page affiche une erreur au lieu de valeurs d'exemple.
Chargement du catalogue actif…
Catalogue dynamique des forfaits
Endpoint : GET /subscription/catalog
Cette route publique retourne le catalogue des forfaits publiés utilisé par
les interfaces client. L'enveloppe standard Yodi contient data.plans avec
les textes localisés, le prix et la devise actifs, les quotas, la limite de
débit, les crédits du portefeuille par cycle et le parcours d'achat pris en
charge. Le champ stale, lorsqu'il est vrai, indique que le backend a servi
une copie mise en cache.
curl --fail-with-body "https://api.yodi.tg/v1/subscription/catalog"
interface PublicPlanCatalog {
plans: Array<{
slug: string;
price: string | null;
currency: string;
quota_limit: number | null;
rate_limit: number | null;
walletCreditsPerCycle: number | null;
action: "signup" | "checkout" | "contact";
featured: boolean;
title: { fr: string; en: string };
subtitle: { fr: string; en: string };
highlights: { fr: string[]; en: string[] };
}>;
generated_at: string;
stale: boolean;
}
Les prix sont des chaînes décimales afin de préserver la précision monétaire.
Un quota_limit nul signifie un quota illimité ; un prix nul signifie qu'aucun
prix n'est publié. Les valeurs nullables doivent le rester ; ne déduisez jamais
un prix, un quota ou un parcours d'achat du nom d'un forfait. Ces conditions peuvent changer
après publication par un administrateur : récupérez-les à l'exécution au lieu
de les recopier dans une application.
Lire les tarifs unitaires des opérations
Endpoint : GET /billing/pricing
Utilisez ce catalogue public pour lire le prix en crédits et l'unité active de chaque opération facturable. Une requête réussie, une seconde audio générée, une transcription ou une livraison par canal peuvent avoir des unités et des tarifs différents. Le catalogue n'expose ni le solde d'un compte ni le choix des fournisseurs/modèles.
curl --fail-with-body "https://api.yodi.tg/v1/billing/pricing"
Consultez les tarifs unitaires des opérations pour le contrat de réponse et la signification de chaque unité facturable.
Comprendre le solde de financement
Endpoint : GET /credits/me/funding
Cette route nécessite une session Yodi Console authentifiée. L'API identifie le
compte à partir de la session ; le client ne doit jamais transmettre
l'identifiant d'un autre utilisateur. Le champ fundingModel désigne le
contrat actif dans cet environnement. Lorsque le portefeuille commun est actif,
utilisez son solde comme montant dépensable sur l'ensemble des services ; les
anciens compteurs par service ne prouvent pas que les crédits sont
interchangeables.
Consultez Portefeuille commun et modèles de financement pour les deux variantes de réponse et la migration. N'additionnez jamais les anciens compteurs par service au solde du portefeuille commun.
Acheter ou gérer un abonnement
L'achat et la gestion d'un abonnement passent par les parcours authentifiés de paiement et de compte dans Yodi Console. N'appelez pas des routes supposées de création d'abonnement, de paiement fournisseur ou d'annulation : elles ne font pas partie du contrat d'intégration public. Un paiement ou une promotion ne modifie les droits du compte qu'après confirmation du résultat par le backend.
Consultez Paiements et transactions pour le contrat des états de paiement.