Gestión de Licencias
Gestiona licencias por usuario con el SDK de Commet.
Las licencias permiten cobrar según el tamaño del equipo de tu cliente. Commet trackea los cambios y los cobra automáticamente — las licencias incluidas al inicio del período, las adicionales prorrateadas.
Componentes de la licencia
| Componente | Descripción | Ejemplo |
|---|---|---|
| Seat Type | Categoría de licencia de usuario | editor, admin, viewer |
| Count | Cantidad de licencias a agregar, quitar o setear | 5, 10, 50 |
| Billing | Las licencias se cobran por unidad en el plan | $25/licencia/mes |
Dashboard
Crea seat types desde Licencias, luego Tipos, luego Agregar tipo de licencia. Los seat types deben crearse en el dashboard antes de usarse. Ve los balances actuales de licencias en la página de detalle de suscripción de cada cliente.
Agregar licencias
await commet.seats.add({
customerId: 'user_123',
seatType: 'editor',
count: 5,
})commet.seats.add(
seat_type='editor',
count=5,
customer_id='user_123',
)client.Seats.Add(ctx, &commet.SeatParams{
SeatType: "editor",
Count: 5,
CustomerID: "user_123",
})commet.seats().add("editor", 5, "user_123", null);$commet->seats->add(
seatType: 'editor',
count: 5,
customerId: 'user_123',
);curl -X POST https://commet.co/api/seats \
-H "x-api-key: $COMMET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customerId": "user_123",
"seatType": "editor",
"count": 5
}'Quitar licencias
await commet.seats.remove({
customerId: 'user_123',
seatType: 'editor',
count: 2,
})commet.seats.remove(
seat_type='editor',
count=2,
customer_id='user_123',
)client.Seats.Remove(ctx, &commet.SeatParams{
SeatType: "editor",
Count: 2,
CustomerID: "user_123",
})commet.seats().remove("editor", 2, "user_123", null);$commet->seats->remove(
seatType: 'editor',
count: 2,
customerId: 'user_123',
);curl -X DELETE https://commet.co/api/seats \
-H "x-api-key: $COMMET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customerId": "user_123",
"seatType": "editor",
"count": 2
}'Las licencias no pueden bajar de cero — quitar más que la cantidad actual falla.
Setear cantidad exacta
Usa set cuando sincronizas las cantidades de licencias desde tu sistema.
await commet.seats.set({
customerId: 'user_123',
seatType: 'editor',
count: 10,
})commet.seats.set(
seat_type='editor',
count=10,
customer_id='user_123',
)client.Seats.Set(ctx, &commet.SeatParams{
SeatType: "editor",
Count: 10,
CustomerID: "user_123",
})commet.seats().set("editor", 10, "user_123", null);$commet->seats->set(
seatType: 'editor',
count: 10,
customerId: 'user_123',
);curl -X PUT https://commet.co/api/seats \
-H "x-api-key: $COMMET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customerId": "user_123",
"seatType": "editor",
"count": 10
}'Obtener balance
const balance = await commet.seats.getBalance({
customerId: 'user_123',
seatType: 'editor',
})balance = commet.seats.get_balance(
seat_type='editor',
customer_id='user_123',
)balance, err := client.Seats.GetBalance(ctx, &commet.GetSeatBalanceParams{
SeatType: "editor",
CustomerID: "user_123",
})ApiResponse<SeatBalance> balance = commet.seats().getBalance("editor", "user_123");$balance = $commet->seats->getBalance(
seatType: 'editor',
customerId: 'user_123',
);curl "https://commet.co/api/seats/balance?customerId=user_123&seatType=editor" \
-H "x-api-key: $COMMET_API_KEY"Pasa un ID de Commet (cus_xxx) o tu ID externo como customerId. Se requiere una suscripción activa por cliente.
Aprende más
Relacionado
- Configurar Features — Crea features de licencias en tus planes
- Gestionar Planes — Planes que incluyen pricing por licencias
- Gestionar Suscripciones — Asigna planes con licencias iniciales
¿Cómo está esta guía?