Autenticación
La API de e-LearningCourses utiliza el flujo de credenciales de cliente OAuth 2.0 para integraciones entre servidores. Primero, crea un cliente de API para la organización o el grupo al que podrá acceder la integración.
Solicitar un token de acceso
Envía una solicitud POST codificada como formulario a:
https://courses.e-learningcourses.com/connect/token
Incluye estos campos:
| Campo | Valor |
|---|---|
grant_type | client_credentials |
client_id | Tu ID de cliente |
client_secret | Tu secreto de cliente |
scope | training.read para las API de lectura, assignments.write para las asignaciones, o ambos separados por un espacio |
Este ejemplo solicita un token para las API de lectura:
curl --request POST \
--url "https://courses.e-learningcourses.com/connect/token" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=client_credentials" \
--data-urlencode "client_id=$CLIENT_ID" \
--data-urlencode "client_secret=$CLIENT_SECRET" \
--data-urlencode "scope=training.read"
Para asignar alumnos, solicita assignments.write. El cliente debe tener Asignar usuarios activado en Acceso a la API. Para leer y asignar con el mismo token, solicita training.read assignments.write.
{
"token_type": "Bearer",
"access_token": "ACCESS_TOKEN",
"expires_in": 3600
}
Los tokens caducan después de 60 minutos. Reutiliza el token hasta poco antes de que caduque.
Los errores OAuth contienen los campos error y error_description.
Usar el token de acceso
Envía el token en el encabezado Authorization de cada solicitud:
Authorization: Bearer ACCESS_TOKEN
Cada referencia de API indica el ámbito necesario.
Proteger las credenciales
Mantén los secretos y tokens en un servidor de confianza. No los incluyas en JavaScript del navegador, aplicaciones móviles, código fuente, correo electrónico, hojas de cálculo ni logs.
Regenerar o revocar un cliente revoca inmediatamente sus tokens de acceso existentes.
Límites de solicitudes
| Solicitud | Límite |
|---|---|
| Tokens de acceso | 5 por minuto y dirección IP de origen |
| Solicitudes autenticadas a la API | 20 por minuto y cliente de API |
| Solicitudes de asignación | 2 por minuto y cliente de API |
El límite autenticado se comparte entre los endpoints de lectura que utiliza un cliente; las asignaciones tienen un límite independiente. Las solicitudes no se ponen en cola al alcanzar el límite. Reintenta respuestas 429 y errores 5xx transitorios con espera exponencial y variación aleatoria. En los lotes de asignación, revisa los resultados por alumno y reintenta solo los fallos.