La clave de acceso identifica a la escuela y dice qué puede hacer la integración. La crea el titular de la cuenta de la escuela, en el panel de EduPay, en Integraciones → Tokens de API.
Crear
- En Integraciones → Tokens de API, haga clic en Crear token.
- Nombre: diga dónde se va a usar la clave ("ERP Financiero", "Sitio web — matrículas"). Por él la escuela reconoce la clave después.
- Permisos: elija un paquete listo o márquelos uno por uno. Dé solo lo que la integración necesita. Vea Permisos.
- Expiración: sin expiración, 30, 90, 180 o 365 días. Vencida, la clave deja de funcionar.
- Copie la clave. Empieza con
edp_y aparece una sola vez. Si la pierde, cree otra.
La API pública tiene que estar activada en el mismo lugar (recuadro API pública (v1)). Con ella desactivada, toda llamada a /api/v1 responde 403 con code api_disabled.
Usar
Envíe la clave en el encabezado Authorization de cada llamada:
curl https://edupay.estudiosite.com/api/v1/me \
-H "Authorization: Bearer $EDUPAY_KEY"
- Una clave por integración. Si una se filtra, solo esa tiene que cambiarse.
- Guárdela como secreto del servidor (variable de entorno, gestor de contraseñas). Nunca en el código de un sitio web o de una aplicación, donde cualquiera puede leerla.
- El panel muestra cuándo se usó cada clave por última vez. Una clave sin uso desde hace mucho tiempo es candidata a revocarse.
Cambiar sin cortar la integración
Use Rotar en la fila de la clave. EduPay crea una clave nueva, con el mismo nombre y los mismos permisos, y la anterior sigue valiendo por 24 horas. En ese intervalo:
- cambie la clave en la configuración del sistema integrado;
- verifique que las llamadas siguen funcionando (
GET /memuestra el nombre y el inicio de la clave en uso); - listo: después de 24 horas la anterior deja de funcionar sola.
Si la clave se filtró, no espere las 24 horas: rote y, enseguida, revoque la anterior.
Revocar
Revocar desactiva la clave en el acto, incluso una que está en las 24 horas de convivencia después de rotar. Las integraciones que usan la clave pasan a recibir 401.
Respuestas de la autenticación
| Situación | Estado | code |
|---|---|---|
| Sin encabezado, clave incorrecta, vencida o revocada | 401 | unauthenticated |
| API desactivada en la escuela | 403 | api_disabled |
| Clave sin el permiso de la ruta | 403 | insufficient_scope (con la lista en scopes) |
Las claves del plugin de Moodle se crean en la misma pantalla, con los paquetes de Moodle. Siguen funcionando como siempre, con la API pública activada o desactivada. Vea Integración con Moodle.