uloggdDesenvolvedores
Portal do desenvolvedoruloggd
ComeçarRecursosArcade
Portal do desenvolvedoruloggdIdentidadeCatálogoPerfilBibliotecaAvaliaçõesDiárioListasPremiaçõesCapturasSocialContaNotificaçõesComentáriosCurtidasHistóricoPessoasMineraisArcade

Pessoas

O pouco que se lê sobre outra conta.

Conexões, nível e verificação. Nada aqui diz mais do que a própria página de perfil já mostra a quem abrir.

GET/api/v1/profiles/{username}/social

Relações, conversa do perfil e membros da organização. A carteira do visitante vem apenas com sua própria sessão ou chave.

Escopo profile.read · Conta na cota read

GET/api/v1/profiles/{username}/lists

Prévias de listas e contagens visíveis. Filtros: visibility, mode, sort, limit (1 a 48), offset, before, q, folder. folder é o public_id de uma pasta, ou NONE para as que não estão em nenhuma, que é uma resposta diferente de não perguntar. sort é recent (o padrão), oldest, name, likes ou size: size põe primeiro as listas com mais jogos, contados como o count de cada prévia (numa tierlist, os jogos ranqueados que o quadro ainda mostra), e desempata pela atualização mais recente. offset pagina qualquer ordem. before deixa só as listas atualizadas antes daquele instante, e só serve de cursor para recent.

Escopo lists.read · Conta na cota read

GET/api/v1/profiles/{username}/lists/folders

Pastas para navegar nas listas de um perfil. O autor recebe todas; visitantes recebem pastas e contagens das listas que podem ver, incluindo listas para seguidores quando seguem o autor. Pastas vazias ou exclusivamente privadas não são expostas. unfiled conta as listas visíveis sem pasta. Leitura pública, sujeita à visibilidade do perfil; editar pastas exige ser o autor.

Escopo lists.read · Conta na cota read

GET/api/v1/activity

Atividade visível. Filtros: profile, profiles, game, kinds, q, rating, spoilers, order, before, limit (1 a 180), offset (uma categoria). Uma captura traz imageUrl, a imagem inteira, e thumbnailUrl com thumbnailWidth e thumbnailHeight, uma miniatura WebP de até 640 pixels de largura, ou null quando ainda não tem uma.

Escopo profile.read · Conta na cota read

GET/api/v1/profiles/{username}/reviews

Avaliações e sessões visíveis. Mesmos filtros de atividade, autor fixado pelo nome.

Escopo reviews.read · Conta na cota read

GET/api/v1/profiles/{username}/screenshots

Galeria paginada (48 por página), contagens, jogos e interações. Cada captura traz contains_spoilers e sensitive (verdadeiro quando o autor ou a verificação automática a marcou: mostre atrás de um aviso), e thumbnail_url com thumbnail_width e thumbnail_height, uma miniatura WebP de até 640 pixels de largura para a grade, ou null numa captura que ainda não tem uma, e então use image_url. Quem lê a própria galeria recebe também a visibility de cada captura. total, safe_count e spoiler_count contam a galeria inteira, e matching o que os filtros acham; uma captura removida pela moderação não entra em nenhum. games são todos os jogos da galeria, não só os da página, em ordem de nome, cada um com igdb_id, game_slug, name (o nome no catálogo, ou null quando o catálogo já não conhece o jogo) e count, quantas capturas dele quem lê pode ver. Filtros: page, q (na descrição, no nome do jogo ou no seu slug, com espaços ou hífens), spoilers (all/safe/spoilers), sort (new/old), game (um game_slug). games=1 acrescenta catalog, a entrada do catálogo de cada jogo da página.

Escopo screenshots.read · Conta na cota read

GET/api/v1/discovery/people

Amigos jogando e pessoas com gostos próximos, com níveis.

Escopo social.read · Conta na cota read

GET/api/v1/search/companies

Empresas do catálogo. q, role: publisher ou developer, status=active, sort: relevance, catalog, name, oldest ou newest; page: 1 a 100. Pública.

Escopo catalog.read · Conta na cota catalog

GET/api/v1/search/people

Pessoas visíveis, níveis e relações com o solicitante. q, verified=1, sort: relevance, newest ou name; page: 1 a 100, 24 por página. Uma conta suspensa fica de fora, inclusive do total, para todos menos a equipe e ela mesma.

Escopo profile.read · Conta na cota read

GET/api/v1/search/counts

Quantos resultados cada aba da busca tem para q (jogos, avaliações, listas, tierlists, premiações, pessoas, empresas), contados pelos mesmos critérios de cada aba e limitados a cap (1000). Sem q, o total visível. Cache de 60 segundos.

Escopo catalog.read · Conta na cota read

GET/api/v1/profiles/{username}

Perfil publico e nome atual, incluindo aliases.

Escopo profile.read · Conta na cota read

GET/api/v1/profiles/{username}/summary

Contagens visíveis e relação com o visitante. viewer_follows diz se quem lê segue o perfil, e follows_viewer se o perfil segue quem lê (falso sem sessão e no próprio perfil). played, playing, backlog e wishlist contam as prateleiras da biblioteca como a página da biblioteca as filtra, dentro do que quem lê pode ver dela: played é o status COMPLETED, a prateleira Jogados; playing e backlog são as marcações; wishlist é a marcação ou o status WISHLIST. Um jogo rejogado conta em played e em playing.

Escopo profile.read · Conta na cota read

Exemplo

{
  "data": {
    "library": 42, "played": 18, "playing": 2, "backlog": 9, "wishlist": 7,
    "lists": 3, "reviews": 12, "diary": 30, "journeys": 20,
    "screenshots": 15, "screenshot_games": 6, "screenshot_spoilers": 1,
    "followers": 10, "following": 8,
    "viewer_follows": true, "follows_viewer": false
  }
}
GET/api/v1/profiles/{username}/layout

O layout com que o perfil é desenhado: o publicado pelo dono no Profile Studio, ou o padrão. Nunca o rascunho, nem para o próprio dono. customized diz se veio de um layout publicado. Um perfil que o leitor não pode ver por inteiro responde com o padrão, como um perfil sem layout. media resolve, pelo id, só as imagens que o documento publicado cita (url, width, height, animated); uma imagem enviada para o rascunho não aparece até ser publicada.

Escopo profile.read · Conta na cota read

Exemplo

{
  "data": {
    "layout": { "schema": 2, "page": { ... }, "sections": [ ... ] },
    "customized": true,
    "media": {
      "k3Jd8Qp2Lm": {
        "url": "https://media.uloggd.com/layout/.../....avif",
        "width": 1600, "height": 900, "animated": false
      }
    }
  }
}
GET/api/v1/profiles/{username}/library

A biblioteca de qualquer pessoa, pelo nome, com a sua chave: devolve o que essa pessoa mostra para você (tudo numa biblioteca pública, nada numa privada, e uma só para seguidores só se você segue). profile traz o nome atual, útil quando o pedido usou um nome antigo. has_more indica a próxima página.

Escopo library.read · Conta na cota read

Parâmetros

CampoTipoObservações
pageintegerDe 1 a 1000.
limitinteger1 a 1000, padrão 100.
statusstringSó um status: COMPLETED, PLAYING, ON_HOLD, DROPPED, BACKLOG ou WISHLIST.
playing, backlog, wishlist, likedbooleantrue para só os jogos com essa marca. Combinam entre si.
sortstringupdated (padrão, o mais recente primeiro) ou rating (a nota mais alta primeiro).
gamesinteger1 para trazer nome, capa e slug de cada jogo em games, na mesma resposta.

Exemplo

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

Tudo que a pessoa já jogou, somado: totais, ano a ano, dias da semana, jogos com mais tempo, plataformas das cópias e a distribuição das notas. Tudo contado no banco, e só o que o leitor pode ver entra na conta. taste traz os ids visíveis com os minutos de cada um, até mil, porque gênero, estúdio e publicadora não estão no banco: quem quiser essas contas pergunta ao catálogo uma vez com esses ids.

Escopo profile.read · Conta na cota read

GET/api/v1/profiles/{username}/journeys

As jornadas visíveis da pessoa, mais recentes primeiro, com os jogos do catálogo junto, no formato de /api/v1/games. Uma jornada é uma passagem por um jogo: estado, datas, dificuldade, até onde foi e a cópia em que foi jogada. A regra de visibilidade é a mesma de sempre: uma jornada é tão visível quanto o que há dentro dela, e sempre visível para quem a escreveu, então um estranho vê as que têm algo público e os totais dessa parte pública.

Escopo journal.read · Conta na cota read

Parâmetros

CampoTipoObservações
pageinteger1 a 200.
limitinteger1 a 48, 24 por padrão.
GET/api/v1/profiles/{username}/year/{year}

O ano de alguém, de 2000 até o ano atual, com o que a pessoa que lê pode ver: sessions, reviews, library, lists, screenshots, journeys e totals. library traz as linhas da biblioteca que se moveram no ano (terminadas, começadas, adicionadas ou alteradas), cada uma com added e played. played diz se é um jogo jogado naquele ano: terminado ou começado no ano, adicionado no ano já num estado jogado (PLAYING, COMPLETED, DROPPED, ON_HOLD), ou ainda marcado como jogando e alterado pela última vez no ano. Pôr na lista de desejos ou no backlog, dar outra nota ou trocar a capa move a linha, mas não é jogar: conte os jogos do ano pelas sessões e pelas linhas com played.

Escopo profile.read · Conta na cota read

GET/api/v1/profiles/{username}/minerals

Saldo publico de minerais e nivel, sem o historico de transferencias.

Escopo profile.read · Conta na cota read

GET/api/v1/profiles/{username}/connections

Quem segue alguém, ou quem essa pessoa segue. Paginado por created_at e não por deslocamento: a lista está sendo rolada enquanto contas seguem e deixam de seguir, e um deslocamento pularia ou repetiria uma linha toda vez que as de cima se mexessem. O cursor é o created_at do último item devolvido.

Escopo social.read · Conta na cota read

Parâmetros

CampoTipoObservações
tabstringfollowers ou following. O padrão é followers.
beforestringO created_at do último item da página anterior.
limitintegerDe 1 a 50. O padrão é 20.
qstringFiltra por nome de usuário ou nome de exibição.
GET/api/v1/profiles/{username}/verification

Quem respondeu pela verificação de uma conta, e quando. Sem escopo: o selo já está no perfil para quem quiser ver, e isto só diz o que ele significa. Uma conta que nunca foi verificada responde null, e não uma recusa: "não" é uma resposta aqui, não um segredo. Aceita o username ou o id, porque um é o que tem quem lê um perfil e o outro é o que tem quem já carregou a linha.

Não exige escopo · Conta na cota read

GET/api/v1/profiles/levels

O nível de várias contas de uma vez. Uma página desenha muitos cartões querendo a mesma coisa sobre pessoas diferentes, e perguntar por cartão é como uma lista de vinte vira vinte requisições.

Não exige escopo · Conta na cota read

Parâmetros

CampoTipoObservações
idsobrigatóriostringDe 1 a 100 ids de conta, separados por vírgula.

Perfil, resumo, layout, biblioteca, ano, minerais, conexões e níveis podem ser lidos sem sessão. As policies do banco decidem quais linhas aparecem. Uma chave ainda precisa do escopo indicado; uma chave inválida retorna 401 mesmo em leitura pública. A consulta de perfil aceita o nome atual ou um alias dos últimos 30 dias e devolve o nome atual. Saldos de minerais não incluem transferências.

A busca de pessoas deixa de fora as contas suspensas, para todos menos a equipe e a própria conta, a mesma regra que esconde o que elas publicaram.

Histórico

O que o dono olhou, seguindo a conta.

Minerais

A carteira e o que passa por ela.