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 utilisableis_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’appareilsactivations.max: Nombre maximal d’activations autoriséesactivations.remaining: Nombre d’emplacements d’activation restantscertificate_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
| Statut | Description |
|---|---|
pending_activation | Licence créée mais pas encore activée |
active | Licence activée et valide pour utilisation |
expired | Licence ayant dépassé sa date d’expiration |
revoked | Licence révoquée de manière permanente |
Lister les Licences
Récupérez toutes les licences émises pour votre boutique :Paramètres de Requête
| Paramètre | Type | Description |
|---|---|---|
per_page | integer | Nombre de licences par page (par défaut 50, maximum 100) |
cursor | string | Curseur de pagination de la réponse précédente |
status | string | Filtrer par statut (pending_activation, active, expired, revoked) |
customer_id | string | Filtrer par ID public du client (par exemple, cus_abc123) |
product_id | string | Filtrer par ID public du produit (par exemple, prd_def456) |
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_atest défini expires_atest calculé en fonction de la période de validité du produitactivation_counts’incrémente à 1
Activations Suivantes
Lors des activations supplémentaires :activation_countest 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 :
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 :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
- 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
| Endpoint | Méthode | Description |
|---|---|---|
/v1/licenses | GET | Lister toutes les licences avec filtrage |
/v1/licenses/{licenseKey} | GET | Obtenir les détails d’une licence spécifique |
/v1/licenses/{licenseKey}/activate | POST | Activer la licence sur un appareil |
/v1/licenses/{licenseKey}/revoke | POST | Révoquer définitivement une licence |
/v1/licenses/{licenseKey}/activations | GET | Obtenir l’historique des activations |
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_activateavant de tenter une activation - Affichez
activations.remainingaux 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