Skip to main content
Chariow fournit une gestion intégrée des clés de licence pour les produits logiciels. Les licences sont générées automatiquement lorsque les clients achètent des produits de type licence et peuvent être activées, validées et révoquées via l’API.

Objet Licence

Une licence contient des informations complètes sur son statut, son historique d’activation et sa validité :

Champs Clés

  • license.key : La chaîne de clé de licence unique (par exemple, ABC-123-XYZ-789)
  • license.masked_key : Version masquée pour l’affichage (par exemple, ABC-***-***-789)
  • status : Statut actuel de la licence (voir le tableau ci-dessous)
  • is_active : Booléen indiquant si la licence est actuellement active et utilisable
  • is_expired : Booléen indiquant si la licence a expiré
  • can_activate : Booléen indiquant si la licence peut être activée (a des emplacements restants)
  • activations.count : Nombre actuel d’activations d’appareils
  • activations.max : Nombre maximal d’activations autorisées
  • activations.remaining : Nombre d’emplacements d’activation restants
  • certificate_url : URL pour télécharger le certificat de licence (si disponible)
  • activated_at : Date de la première activation de la licence (null si jamais activée)
  • expires_at : Date d’expiration de la licence (null pour les licences à vie)
  • revoked_at : Date de révocation de la licence (null si non révoquée)

Statuts des Licences

Lister les Licences

Récupérez toutes les licences émises pour votre boutique :

Paramètres de Requête

Exemples de Filtrage

Obtenir une Licence par Clé

Récupérez une licence spécifique en utilisant sa clé de licence :

Valider une Licence

Pour valider une licence dans votre application, récupérez-la et vérifiez son statut :

Activer une Licence

Activez une licence sur un appareil. Le système capture automatiquement l’adresse IP et l’agent utilisateur :

Comportement de la Première Activation

Lors de la première activation :
  • Le statut passe de pending_activation à active
  • L’horodatage activated_at est défini
  • expires_at est calculé en fonction de la période de validité du produit
  • activation_count s’incrémente à 1

Activations Suivantes

Lors des activations supplémentaires :
  • activation_count est incrémenté
  • Un nouveau record d’activation est créé
  • Le statut de la licence reste active

Limites d’Activation

Chaque licence a un nombre maximal d’activations (max_activations). Lorsque la limite est atteinte, les activations supplémentaires échoueront :
Vérifiez can_activate et activations.remaining avant de tenter une activation.

Révoquer une Licence

Révoquez une licence pour empêcher toute utilisation ultérieure :
La révocation d’une licence est permanente. La licence ne peut pas être réactivée après révocation.

Obtenir l’Historique des Activations

Consultez toutes les activations pour une licence spécifique avec un suivi détaillé des appareils :

Réponse

Ce qui est Suivi

Chaque enregistrement d’activation contient :
  • Adresse IP : Automatiquement capturée depuis la requête d’activation, avec géolocalisation
  • User Agent : Informations de navigateur et de plateforme analysées
  • Identifiant de l’Appareil : Identifiant optionnel que vous fournissez (adresse MAC, UUID, etc.)
  • Horodatage : Moment de l’activation
  • Métadonnées : Données personnalisées optionnelles
Ceci est utile pour :
  • Auditer l’utilisation des licences
  • Détecter les activités suspectes
  • Fournir aux clients une gestion des appareils
  • Déboguer les problèmes d’activation

Exemple d’Implémentation

Voici un exemple complet de validation de licence dans une application de bureau :

Résumé des Endpoints API

Bonnes Pratiques

Sécurité

  • N’exposez jamais votre clé API dans le code côté client
  • Utilisez les clés API côté serveur uniquement
  • Validez les licences côté serveur avant d’accorder l’accès
  • Stockez les clés de licence de manière sécurisée sur l’appareil du client

Identification des Appareils

  • Utilisez des identifiants d’appareils uniques et persistants (adresse MAC, UUID matériel)
  • N’utilisez pas d’identifiants modifiables par l’utilisateur (nom d’ordinateur, nom d’utilisateur)
  • Considérez les identifiants spécifiques à la plateforme (Windows : GUID de machine, macOS : UUID matériel)

Gestion des Activations

  • Vérifiez can_activate avant de tenter une activation
  • Affichez activations.remaining aux utilisateurs
  • Implémentez une interface de gestion des appareils pour les clients
  • Gérez les erreurs d’activation avec élégance

Fréquence de Validation

  • Validez au démarrage de l’application
  • Re-validez périodiquement (par exemple, toutes les 24 heures)
  • Mettez en cache les résultats de validation localement
  • Implémentez une période de grâce hors ligne

Gestion des Erreurs

  • Gérez les erreurs réseau avec élégance
  • Fournissez des messages d’erreur clairs aux utilisateurs
  • Implémentez une logique de nouvelle tentative avec backoff exponentiel
  • Enregistrez les tentatives d’activation pour le débogage

Ressources Connexes

Guide des Produits

Créer des produits de type licence

API Licences

Consultez la référence complète de l’API Licences

Obtenir une Licence

Récupérer les détails de la licence

Activer une Licence

Activer sur un appareil