Ir para o conteúdo

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/
Nesta documentação, apenas a parte da URL após esse prefixo é mostrada.

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

Exemplo rápido

Obtenha o horário atual do servidor (endpoint público):

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

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

Formato de resposta

Todas as respostas da API seguem um formato consistente:

{
  "status": "ok",
  "data": { ... }
}
Respostas de erro:

{
  "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


Pronto para usar a API? Comece com Autenticação ou navegue pelas categorias de API acima.