Comment utiliser l'API de licence pour gérer les licences de manière programmatique ?
Apprends à utiliser l'API REST de licence SecureMailMerge pour attribuer et retirer des licences de manière programmatique en utilisant des clés API.
Contents
Le serveur de licences fournit une API REST qui te permet d’assigner et de désassigner des licences de manière programmatique. C’est utile pour les revendeurs gérant plusieurs clients, les équipes informatiques automatisant l’intégration, ou quiconque intégrant la gestion des licences dans ses propres outils.
Authentification et URL de base
Toutes les requêtes API sont authentifiées à l’aide d’une clé API. La clé API est un GUID que tu inclues dans le corps de la requête (pas dans un en-tête).
Tous les points de terminaison de l’API sont disponibles à :
https://licensing.solinventum.com/api/manage/{subscriptionType}/{subscriptionID}
Où :
subscriptionTypeest l’un des suivants :Paddle,AzureouManualsubscriptionIDest le GUID de ton abonnement
Tu n’as pas besoin de construire cette URL toi-même. Sur le serveur de licence, va à la page “Attribuer des licences” de ton abonnement et sélectionne l’onglet Attribuer des licences via API. Cela affichera l’URL de base complète, ta clé API et une charge utile JSON prête à l’emploi pour ton abonnement.
Régénérer ta clé API
Si ta clé API est compromise, tu peux la régénérer depuis la même page. L’ancienne clé est invalidée immédiatement. Seul le propriétaire de l’abonnement peut régénérer les clés API. Utilise toujours HTTPS lorsque tu appelles l’API et garde ta clé API secrète - quiconque a ta clé API peut attribuer et désattribuer des licences sur ton abonnement.
Ouvre le serveur de licence →
Assigner des licences
Ajoute des attributions de licences à une ou plusieurs adresses e-mail.
PUT /api/manage/{subscriptionType}/{subscriptionID}
Content-Type: application/json
Corps de la requête
{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["[email protected]", "[email protected]"]
}
| Champ | Type | Description |
|---|---|---|
apiKey | chaîne (GUID) | Ta clé API d’abonnement |
emails | tableau de chaînes | Adresses e-mail auxquelles attribuer des licences |
Réponse
Succès (200) :
{
"success": true,
"errors": [],
"assignmentStats": {
"availableLicenses": 10,
"assignedLicenses": 7
}
}
Licences insuffisantes (402) :
Renvoyé lorsque tu essaies d’attribuer plus de licences que celles disponibles sur ton abonnement.
Mauvaise requête (400) :
Renvoyé pour des erreurs de validation telles qu’un format d’e-mail invalide, des e-mails en double ou des champs manquants.
Règles de validation
- Au moins une adresse e-mail doit être fournie
- Chaque e-mail doit être au format valide et ne pas dépasser 256 caractères
- Les e-mails en double dans la même requête sont rejetés
- Tu ne peux pas attribuer plus de licences que celles disponibles sur ton abonnement
Exemples
cURL
curl -X PUT \
https://licensing.solinventum.com/api/manage/Paddle/ff3d3cf5-5388-40a0-915f-970c1d2d972f \
-H "Content-Type: application/json" \
-d '{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["[email protected]"]
}'
PowerShell
$body = @{
apiKey = "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df"
emails = @("[email protected]")
} | ConvertTo-Json
Invoke-RestMethod `
-Method Put `
-Uri "https://licensing.solinventum.com/api/manage/Paddle/ff3d3cf5-5388-40a0-915f-970c1d2d972f" `
-ContentType "application/json" `
-Body $body
Désassigner des licences
Retire les attributions de licences d’une ou plusieurs adresses e-mail.
DELETE /api/manage/{subscriptionType}/{subscriptionID}
Content-Type: application/json
Corps de la requête
{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["[email protected]"]
}
Le format du corps de la requête est le même que pour l’attribution de licences.
Réponse
Succès (200) :
{
"success": true,
"errors": [],
"assignmentStats": {
"availableLicenses": 10,
"assignedLicenses": 6
}
}
Mauvaise requête (400) :
Renvoie si les adresses e-mail spécifiées ne sont actuellement pas attribuées à l’abonnement.
Exemple
curl -X DELETE \
https://licensing.solinventum.com/api/manage/Paddle/ff3d3cf5-5388-40a0-915f-970c1d2d972f \
-H "Content-Type: application/json" \
-d '{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["[email protected]"]
}'
Gestion des erreurs
| Code d’état | Signification |
|---|---|
| 200 | Demande réussie |
| 400 | Demande invalide (vérifie le tableau errors dans la réponse) |
| 402 | Licences insuffisantes disponibles |
| 404 | Abonnement non trouvé ou clé API ne correspond pas |
Vérifie toujours le champ success et le tableau errors dans le corps de la réponse pour des détails sur ce qui a mal tourné.