API de asignaciones
Asigna hasta 100 alumnos a un paquete por solicitud. La API crea una cuenta si el correo electrónico es nuevo.
Antes de usar esta API, activa Asignar usuarios para el cliente en Acceso a la API y solicita un token con scope=assignments.write. Los clientes son de solo lectura de forma predeterminada. Consulta Autenticación para obtener el token.
Asignar alumnos
POST /api/v1/assignments
Ámbito necesario: assignments.write.
curl --request POST \
--url "https://courses.e-learningcourses.com/api/v1/assignments" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"packageId":"46647b28-2785-4435-9fa9-715e8c461902","groupId":"d812aa9e-160b-4a19-b7ef-8be3112f4e6a","users":[{"firstName":"Alex","lastName":"Example","email":"alex@example.com","doNotEmail":false}]}'
Cuerpo de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
packageId | UUID | Sí | Paquete que se va a asignar. Consulta la API de paquetes. |
groupId | UUID o null | No | Para un cliente de organización, grupo de la asignación. Omítelo para asignar sin grupo. Un cliente de grupo siempre utiliza su propio grupo; si se envía, debe coincidir. |
users | array | Sí | Entre 1 y 100 alumnos. |
users[].firstName | string | Sí | Nombre del alumno. |
users[].lastName | string | Sí | Apellidos del alumno. |
users[].email | string | Sí | Correo electrónico; las cuentas existentes se identifican por este dato. |
users[].doNotEmail | boolean | No | false por defecto. Usa true para no enviar correos de asignación ni invitación a ese alumno. |
El paquete debe pertenecer a la organización del cliente. El grupo debe estar vinculado a ese paquete. Las asignaciones requieren una suscripción válida y respetan el límite de alumnos del grupo cuando corresponda.
Respuesta
Los alumnos se procesan por separado. Un lote válido devuelve 200 OK aunque algunos fallen:
{
"packageId": "46647b28-2785-4435-9fa9-715e8c461902",
"groupId": "d812aa9e-160b-4a19-b7ef-8be3112f4e6a",
"succeeded": 1,
"failed": 1,
"results": [
{ "index": 0, "email": "alex@example.com", "success": true, "userId": "learner-id" },
{ "index": 1, "email": "invalid-address", "success": false, "error": "A valid email address is required." }
]
}
index es la posición del alumno en la solicitud, empezando por cero. Las entradas correctas incluyen userId; las fallidas incluyen error. Reintenta solo las fallidas. Repetir una asignación correcta puede iniciar un nuevo intento de formación.
Asignar a un alumno existente puede trasladar la asignación de ese paquete desde otro grupo. Activa el permiso de asignación solo para integraciones de confianza.
Errores y límites
Un lote no válido devuelve 400. Un token ausente o caducado devuelve 401; un token sin permiso de asignación o una suscripción no válida devuelve 403. Un paquete o grupo no disponible o fuera del ámbito devuelve 404. Se permiten 2 solicitudes de asignación por minuto y cliente; las demás devuelven 429. Consulta Autenticación para saber cuándo reintentar.
OpenAPI
https://courses.e-learningcourses.com/api/v1/openapi.json