Gestiona licencias con la API de Licensing Programáticamente
Aprende a usar la API REST de licencias SecureMailMerge para asignar y desasignar licencias programáticamente con claves API.
Contents
El servidor de licencias ofrece una API REST que te permite asignar y desasignar licencias de forma programática. Esto es útil para revendedores que gestionan múltiples clientes, equipos de TI que automatizan la incorporación o cualquier persona que integre la gestión de licencias en sus propias herramientas.
Autenticación y URL base
Todas las solicitudes API se autentican usando una clave API. La clave API es un GUID que incluyes en el cuerpo de la solicitud (no en un encabezado).
Todos los endpoints de la API están disponibles en:
https://licensing.solinventum.com/api/manage/{subscriptionType}/{subscriptionID}
Donde:
subscriptionTypees uno de:Paddle,Azure, oManualsubscriptionIDes el GUID de tu suscripción
No necesitas construir esta URL tú mismo. En el servidor de licencias, ve a la página “Asignar licencias” de tu suscripción y selecciona la pestaña Asignar licencias vía API. Ahí verás la URL base completa, tu clave API y un payload JSON listo para usar para tu suscripción.
Regenerar tu clave API
Si tu clave API se ve comprometida, puedes regenerarla desde la misma página. La clave antigua se invalida inmediatamente. Solo el propietario de la suscripción puede regenerar claves API. Siempre usa HTTPS al llamar a la API y mantén tu clave API en secreto: cualquiera con tu clave API puede asignar y desasignar licencias en tu suscripción.
Abrir el servidor de licencias →
Asignar licencias
Agrega asignaciones de licencias a una o más direcciones de correo electrónico.
PUT /api/manage/{subscriptionType}/{subscriptionID}
Content-Type: application/json
Cuerpo de la solicitud
{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["[email protected]", "[email protected]"]
}
| Campo | Tipo | Descripción |
|---|---|---|
apiKey | string (GUID) | Tu clave API de suscripción |
emails | array de strings | Direcciones de correo electrónico a las que asignar licencias |
Respuesta
Éxito (200):
{
"success": true,
"errors": [],
"assignmentStats": {
"availableLicenses": 10,
"assignedLicenses": 7
}
}
Licencias insuficientes (402):
Se devuelve cuando intentas asignar más licencias de las disponibles en tu suscripción.
Solicitud incorrecta (400):
Se devuelve por errores de validación como formato de correo inválido, correos duplicados o campos faltantes.
Reglas de validación
- Debe proporcionarse al menos una dirección de correo electrónico
- Cada correo debe tener un formato válido y no superar los 256 caracteres
- Se rechazan correos duplicados dentro de la misma solicitud
- No puedes asignar más licencias de las que tu suscripción tiene disponibles
Ejemplos
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
Desasignar licencias
Quita las asignaciones de licencias de una o más direcciones de correo electrónico.
DELETE /api/manage/{subscriptionType}/{subscriptionID}
Content-Type: application/json
Cuerpo de la solicitud
{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["[email protected]"]
}
El formato del cuerpo de la solicitud es el mismo que para asignar licencias.
Respuesta
Éxito (200):
{
"success": true,
"errors": [],
"assignmentStats": {
"availableLicenses": 10,
"assignedLicenses": 6
}
}
Solicitud incorrecta (400):
Se devuelve si las direcciones de correo electrónico especificadas no están actualmente asignadas a la suscripción.
Ejemplo
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]"]
}'
Manejo de errores
| Código de estado | Significado |
|---|---|
| 200 | Solicitud exitosa |
| 400 | Solicitud inválida (revisa el arreglo errors en la respuesta) |
| 402 | Licencias insuficientes disponibles |
| 404 | Suscripción no encontrada o la clave API no coincide |
Siempre revisa el campo success y el arreglo errors en el cuerpo de la respuesta para detalles sobre qué salió mal.
Ready to try it yourself?
SecureMailMerge for Outlook
Runs inside Outlook — no external app needed. Free to install.
Free · No credit card required