Gestiona licencias de forma programática con la Licensing API
Aprende a usar la REST API de licencias SecureMailMerge para asignar y desasignar licencias programáticamente con claves API.
El servidor de licencias proporciona 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 a la API se autentican usando una clave API. La clave API es un GUID que debes incluir 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 “Assign Licenses” de tu suscripción y selecciona la pestaña Assign licenses via API. Ahí se mostrará 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.
Open the licensing server →
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
Request body
{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["user1@example.com", "user2@example.com"]
}
| Field | Type | Description |
|---|---|---|
apiKey | string (GUID) | Tu clave API de suscripción |
emails | string array | Direcciones de correo electrónico a las que asignar licencias |
Response
Success (200):
{
"success": true,
"errors": [],
"assignmentStats": {
"availableLicenses": 10,
"assignedLicenses": 7
}
}
Insufficient licenses (402):
Se devuelve cuando intentas asignar más licencias de las disponibles en tu suscripción.
Bad request (400):
Se devuelve por errores de validación como formato de correo inválido, correos duplicados o campos faltantes.
Validation rules
- 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
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
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
Request body
{
"apiKey": "4024d0d8-9a7d-4ac3-9e61-efaeb7c278df",
"emails": ["user1@example.com"]
}
El formato del cuerpo de la solicitud es el mismo que para asignar licencias.
Response
Success (200):
{
"success": true,
"errors": [],
"assignmentStats": {
"availableLicenses": 10,
"assignedLicenses": 6
}
}
Bad request (400):
Se devuelve si las direcciones de correo electrónico especificadas no están actualmente asignadas a la suscripción.
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"]
}'
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.
¿Necesitas más ayuda?
Envía un correo al soporte explicando lo que intentabas hacer, lo que pasó y el mensaje de error exacto. No incluyas datos reales de destinatarios.