API REST omegaUp
omegaUp proporciona una API REST completa a la que se puede acceder directamente. Todos los puntos finales utilizan métodos HTTP estándar (GET o POST) y devuelven respuestas con formato JSON.
URL base
Todos los puntos finales de API tienen el prefijo:
https://omegaup.com/api/
Autenticación
Se requiere HTTPS
Sólo se permiten conexiones HTTPS. Las solicitudes HTTP devolverán HTTP 301 Permanent Redirect.
Algunos puntos finales son públicos y no requieren autenticación. Los puntos finales protegidos requieren autenticación a través de un auth_token obtenido del punto final user/login.
El token debe incluirse en una cookie denominada ouat (token de autenticación omegaUp) para solicitudes autenticadas.
Sesión única
omegaUp solo admite una sesión activa a la vez. Iniciar sesión mediante programación invalidará la sesión de su navegador y viceversa.
Formato de respuesta
Todas las respuestas de API siguen un formato consistente:
Respuesta exitosa
{
"status": "ok",
"data": { ... }
}
Respuesta de error
{
"status": "error",
"error": "Error message",
"errorcode": 400
}
Categorías API
- API de concursos - Gestión y participación del concurso
- API de problemas - Creación y gestión de problemas
- API de usuarios - Gestión y autenticación de usuarios
- Ejecuta API - Manejo de envíos y resultados
- API de Aclaraciones - Aclaraciones del concurso
Ejemplo: Obtener la hora del servidor
Este es un punto final público que no requiere autenticación:
Solicitud:
GET https://omegaup.com/api/time/get/
{
"time": 1436577101,
"status": "ok"
}
Detalles del punto final
GET time/get/
Devuelve la marca de tiempo actual de UNIX según el reloj interno del servidor. Útil para sincronizar relojes locales.
| Campo | Tipo | Descripción |
|---|---|---|
| estado | cadena | Devuelve "ok" si la solicitud fue exitosa |
| tiempo | entero | Marca de tiempo UNIX que representa la hora del servidor |
Permisos requeridos: Ninguno
Limitación de velocidad
Algunos puntos finales tienen límites de velocidad:
- Envíos: un envío por problema cada 60 segundos
- Llamadas API: varía según el punto final
Límite de tasa excedido respuestas:
{
"status": "error",
"error": "Rate limit exceeded",
"errorcode": 429
}
Documentación relacionada
- Guía de autenticación - Flujo de autenticación detallado
- Descripción general de la arquitectura - Arquitectura del sistema
- Guías de desarrollo - Uso de la API en desarrollo
¿Listo para usar la API? Explore las categorías de API o comience con Autenticación.