Gérer les licences de manière programmatique avec l'API Licensing
Apprends à utiliser l’API REST de licence SecureMailMerge pour attribuer et retirer des licences automatiquement avec des clés API.
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 qui gèrent plusieurs clients, les équipes IT qui automatisent l’intégration, ou toute personne 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 inclus dans le corps de la requête (pas dans un en-tête).
Tous les points de terminaison API sont disponibles à :
https://licensing.solinventum.com/api/manage/{subscriptionType}/{subscriptionID}
Où :
subscriptionTypeest l’un des suivants :Paddle,Azure, ouManualsubscriptionIDest le GUID de ton abonnement
Tu n’as pas besoin de construire cette URL toi-même. Sur le serveur de licences, va à la page “Assign Licenses” de ton abonnement et sélectionne l’onglet Assign licenses via API. Cela affichera l’URL de base complète, ta clé API, et un payload JSON prêt à 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 - toute personne disposant de ta clé API peut attribuer et retirer des licences sur ton abonnement.
Open the licensing server →
Assigner des licences
Ajoute des attributions de licences à une ou plusieurs adresses email.
PUT /api/manage/{subscriptionType}/{subscriptionID}
Content-Type: application/json
Request body
{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["user1@example.com", "user2@example.com"]
}
| Field | Type | Description |
|---|---|---|
apiKey | string (GUID) | Ta clé API d’abonnement |
emails | string array | Adresses email auxquelles attribuer des licences |
Response
Success (200):
{
"success": true,
"errors": [],
"assignmentStats": {
"availableLicenses": 10,
"assignedLicenses": 7
}
}
Insufficient licenses (402):
Renvoyé lorsque tu essaies d’attribuer plus de licences que ce qui est disponible sur ton abonnement.
Bad request (400):
Renvoyé pour des erreurs de validation comme un format d’email invalide, des emails en double ou des champs manquants.
Validation rules
- Au moins une adresse email doit être fournie
- Chaque email doit avoir un format valide et ne pas dépasser 256 caractères
- Les emails en double dans la même requête sont rejetés
- Tu ne peux pas attribuer plus de licences que ce que ton abonnement a de disponible
Examples
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": ["newuser@example.com"]
}'
PowerShell
$body = @{
apiKey = "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df"
emails = @("newuser@example.com")
} | 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ésattribuer des licences
Supprime les attributions de licence d’une ou plusieurs adresses e-mail.
DELETE /api/manage/{subscriptionType}/{subscriptionID}
Content-Type: application/json
Request body
{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["user1@example.com"]
}
Le format du corps de la requête est le même que pour l’attribution des licences.
Response
Success (200):
{
"success": true,
"errors": [],
"assignmentStats": {
"availableLicenses": 10,
"assignedLicenses": 6
}
}
Bad request (400):
Renvoyé si les adresses e-mail spécifiées ne sont pas actuellement attribuées à l’abonnement.
Example
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": ["olduser@example.com"]
}'
Gestion des erreurs
| Code de statut | Signification |
|---|---|
| 200 | Request successful |
| 400 | Invalid request (check errors array in response) |
| 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 les détails sur ce qui a mal tourné.
Ready to try SecureMailMerge yourself?
SecureMailMerge for Outlook
Runs inside Outlook, with no external app needed.
Free version, no credit card. A license removes the promotional footer.