Skip to main content
Vous vendez un logiciel, une application ou un accès sur Pulse-Sell. Chaque achat émet une clé de licence. Voici comment votre produit vérifie cette clé de manière sûre.

Le principe

La validation se fait toujours depuis votre serveur, jamais depuis l’application du client. Votre clé d’API (psk_…) ne doit jamais être dans un code distribué : quelqu’un l’extrairait en quelques minutes. Créez une clé dédiée avec les permissions licenses.read (validation) et licenses.write (activation) seulement.

Étape 1 : valider

Étape 2 : activer un nouvel appareil

Si device_activated est faux et activations.remaining est supérieur à 0, activez :
Le même appareil peut être activé plusieurs fois sans conséquence. Quand le quota est atteint, proposez à l’utilisateur de libérer un ancien appareil avec POST /licenses/{clé}/deactivate.

Étape 3 : gérer les cas limites

Cache et pannes réseau

Ne validez pas à chaque lancement si vous pouvez l’éviter :
  • Mettez en cache le résultat valide côté serveur (par exemple 1 heure) pour réduire vos appels.
  • Pour une application de bureau, revalidez au moins toutes les 24 heures, et conservez un résultat de validation signé par votre serveur, pas la réponse brute de Pulse-Sell.
  • Si Pulse-Sell est injoignable (réseau, panne), accordez un délai de grâce de quelques jours à une licence déjà validée. Un paiement ne doit pas bloquer un client honnête parce qu’un réseau est coupé.
  • N’affichez pas de message d’erreur détaillé qui aiderait un attaquant.

Renouvellements et expirations

Abonnez-vous aux Pulses pour automatiser le cycle de vie sans interroger l’API :
  • license.expiring (7 jours avant) : envoyez un rappel de renouvellement ;
  • license.expired : coupez les fonctions payantes ou proposez de renouveler ;
  • license.revoked : invalidez immédiatement vos caches.
Créez un Pulse limité aux product_ids de votre logiciel : vous ne recevez que les événements qui vous concernent.

Version Python