uloggdDesenvolvedores
Portal do desenvolvedoruloggd
ComeçarRecursosArcade
Portal do desenvolvedoruloggdVisão geralAutenticaçãoEscoposLimites de usoErrosPaginaçãoVersionamento

Visão geral

Leia e escreva numa conta do uloggd a partir do seu próprio código, com uma chave que nunca pode mais do que o dono dela.

Uma chave resolve para a conta que a criou, e toda requisição roda como essa conta. As regras que decidem o que o site pode fazer decidem o que a chave pode fazer, porque são as mesmas regras: elas vivem no banco, não nos handlers.

O desenho inteiro cabe numa frase. Uma chave nunca pode fazer algo que o dono dela não poderia.

Criar uma chave

Toda chave pertence a um aplicativo. No portal do desenvolvedor, crie um aplicativo, marque em Permissões o que ele precisa e, em Chaves, crie a chave. O token aparece uma vez e é guardado só como hash, então, se você perdê-lo, cria outro em vez de recuperá-lo.

Prefira uma expiração a nunca. Uma chave que expira é uma chave que deixa de importar quando você esquece dela.

A primeira requisição

curl https://uloggd.com/api/v1/me \
  -H "Authorization: Bearer ulg_live_..."

/api/v1/me não exige escopo, então responde para qualquer chave viva e diz o que ela está segurando:

{
  "key": { "id": "...", "scopes": ["catalog.read", "library.read"] },
  "owner": { "id": "...", "username": "ada", "display_name": "Ada" }
}

Ler outras pessoas

A sua chave lê qualquer perfil pelo nome, não só o seu. Tudo que fica em /api/v1/profiles/{username}/… aceita o nome de outra pessoa: perfil, resumo, biblioteca, estatísticas, avaliações, listas, capturas, jornadas e o ano.

curl "https://uloggd.com/api/v1/profiles/ada/library?playing=true&games=1" \
  -H "Authorization: Bearer ulg_live_..."

A resposta é o que essa pessoa mostra para você, o dono da chave: tudo numa biblioteca pública, nada numa privada, e uma só para seguidores apenas se você segue. Ninguém precisa criar chave para ser consultado, e um bot que mostra a biblioteca de quem pediu só precisa do nome dessa pessoa.

O formato de uma resposta

Uma coleção responde { data, page }. Um recurso único responde { data }. Toda falha responde { error }, inclusive no 500. Nada além disso.

Mudanças aditivas entram na v1; o que remove um campo ou muda o que ele significa espera a v2 (veja Versionamento).

Arcade

Para levar um jogo web que você hospeda aos jogadores do uloggd, leia os guias do Arcade. As rotas de desenvolvedor e de jogador do Arcade são só para sessão, então nenhuma chave as alcança nesta fase; o diretório, as páginas da loja e as chaves de identidade dele são públicos.

Autenticação

Um cabeçalho, um formato de token, e quatro recusas que respondem igual de propósito.

Nesta página

Criar uma chaveA primeira requisiçãoLer outras pessoasO formato de uma respostaArcade