Descrição dos campos retornados pela API do Discourse

Estou usando a API do Discourse para extrair posts de um fórum. Preciso de ajuda para entender o significado dos campos retornados pela API. Por exemplo, o campo post_type em cada post é um número. Quais são os valores válidos e o que eles significam? Da mesma forma, o id em actions_summary é um número. Existem outros campos, como reads, score, etc., sobre os quais não tenho clareza. Alguma indicação de onde posso obter essas informações? Obrigado!

1 curtida

Se você tiver o plugin Data Explorer instalado em seu site, poderá obter detalhes sobre os códigos numéricos usados passando o mouse sobre as entradas:

Por exemplo, passar o mouse sobre o campo posts post_type mostra os seguintes valores:

  • regular: 1
  • ação de moderador: 2
  • ação pequena: 3
  • sussurro: 4

Além do Data Explorer, o único local que conheço para encontrar essas informações é no código do Discourse. Por exemplo, para encontrar o significado de cada action_type da tabela user_actions, digite UserAction.types no console do Rails. Isso retorna os seguintes valores:

{:like=>1, :was_liked=>2, :bookmark=>3, :new_topic=>4, :reply=>5, :response=>6, :mention=>7, :quote=>9, :edit=>11, :new_private_message=>12, :got_private_message=>13, :solved=>15, :assigned=>16}

3 curtidas

Obrigado, @simon! Essa é uma maneira interessante de obter essas informações. Fiz uma pesquisa com base nas suas sugestões e encontrei este trecho de código para user_actions, mas não consegui encontrar algo semelhante para post_type, apesar de uma busca considerável. Eu esperava que todos os campos retornados pela API estivessem documentados em algum lugar, pelo menos para os campos importantes que carregam semântica significativa.

Isso é compreensível. Há um código semelhante, no entanto. Ele está aqui: discourse/app/models/post.rb at main · discourse/discourse · GitHub. A estrutura do banco de dados do Discourse é muito consistente. Espero que isso ajude a compensar a falta de documentação.

Não tenho certeza de que cada campo retornado pela API será documentado, mas documentar os vários locais onde códigos numéricos são retornados parece importante. Exemplos disso são:

  • Post.types
  • UserAction.types
  • Notification.types
  • NotificationLevels.all
  • UserOption.email_level_types

Se formos em frente com isso, não tenho certeza de qual seria o melhor local para a documentação. Possivelmente em https://docs.discourse.org/, mas é possível que haja problemas técnicos ao fazer isso.

3 curtidas

Obrigado, @simon! Sim, listar os nomes em inglês e as descrições de uma linha para os códigos numéricos seria muito útil. Existe algum lugar onde eu possa fazer um pedido para isso?

1 curtida

Concordo que esses campos precisam ser documentados. Vou atribuir este tópico a mim mesmo e garantir que seja feito.

3 curtidas