Referência de API
omegaUp fornece uma API REST abrangente que pode ser acessada diretamente. Todos os endpoints usam métodos HTTP padrão (GET ou POST) e retornam respostas JSON.
URL base
Todos os endpoints da API são prefixados com:
https://omegaup.com/api/
Autenticação
HTTPS obrigatório
Somente conexões HTTPS são permitidas. As solicitações HTTP retornarão HTTP 301 Permanent Redirect.
Alguns endpoints são públicos e não requerem autenticação. Os endpoints protegidos exigem autenticação por meio de um auth_token obtido do endpoint user/login.
O token deve ser incluído em um cookie chamado ouat (omegaUp Auth Token) para solicitações autenticadas.
Sessão Única
omegaUp suporta apenas uma sessão ativa por vez. O login programaticamente invalidará a sessão do navegador e vice-versa.
Categorias de API
-
Crie, gerencie e participe de concursos de programação.
-
Crie, atualize e gerencie problemas de programação.
-
Gerenciamento de usuários, autenticação e operações de perfil.
-
Envie o código, verifique o status e recupere os resultados do envio.
-
Faça e responda perguntas durante concursos.
Exemplo rápido
Obtenha o horário atual do servidor (endpoint público):
curl https://omegaup.com/api/time/get/
{
"time": 1436577101,
"status": "ok"
}
Formato de resposta
Todas as respostas da API seguem um formato consistente:
{
"status": "ok",
"data": { ... }
}
{
"status": "error",
"error": "Error message",
"errorcode": 400
}
Limitação de taxa
Alguns endpoints têm limites de taxa para evitar abusos:
- Envios: Um envio por problema a cada 60 segundos
- Chamadas de API: varia de acordo com o endpoint
As respostas do limite de taxa excedido incluem:
{
"status": "error",
"error": "Rate limit exceeded",
"errorcode": 429
}
Documentação Relacionada
- Guia de autenticação - Fluxo de autenticação detalhado
- Visão geral da arquitetura - Arquitetura do sistema
- Guias de desenvolvimento - Uso da API no desenvolvimento
Pronto para usar a API? Comece com Autenticação ou navegue pelas categorias de API acima.