Saltar a contenido

Referencia de API

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 JSON.

URL base

Todos los puntos finales de API tienen el prefijo:

https://omegaup.com/api/
En esta documentación, solo se muestra la parte de la URL después de este prefijo.

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.

Categorías API

Ejemplo rápido

Obtenga la hora actual del servidor (punto final público):

curl https://omegaup.com/api/time/get/
Respuesta:

{
  "time": 1436577101,
  "status": "ok"
}

Formato de respuesta

Todas las respuestas de API siguen un formato consistente:

{
  "status": "ok",
  "data": { ... }
}
Respuestas de error:

{
  "status": "error",
  "error": "Error message",
  "errorcode": 400
}

Limitación de velocidad

Algunos puntos finales tienen límites de velocidad para evitar abusos:

  • Envíos: un envío por problema cada 60 segundos
  • Llamadas API: varía según el punto final

Las respuestas sobre el límite de velocidad excedido incluyen:

{
  "status": "error",
  "error": "Rate limit exceeded",
  "errorcode": 429
}

Documentación relacionada


¿Listo para usar la API? Comience con Autenticación o explore las categorías de API arriba.