Tenho uma necessidade em que precisamos buscar todas as respostas de primeiro nível feitas em um tópico. Agora, ao criar um novo tópico, ele também cria uma postagem. Para criar uma resposta de primeiro nível no tópico, faço a seguinte chamada de API:
POST http://discourse-url/posts/
{
“raw”: “Esta é uma resposta de primeiro nível em um tópico”,
“topic_id”: 1234,
“reply_to_post_number”: null
}
Agora, para recuperar as respostas de primeiro nível, faço a chamada abaixo com post_id como o ID da primeira postagem criada para o tópico. Essa postagem tem o post_number como 1.
Mas isso retorna um array vazio. Isso é compreensível, pois o Discourse trata as respostas de nível superior em um tópico como postagens e não como respostas. Na terminologia do Discourse, “respostas” são feitas em postagens e “postagens” são feitas em tópicos.
Encontrei uma solução alternativa para isso. Em vez de enviar reply_to_post_number como null, se eu enviar como 1, a chamada de API para respostas também funciona corretamente. Abaixo está a solicitação de exemplo:
POST http://discourse-url/posts/
{
“raw”: “Esta é uma resposta de primeiro nível em um tópico”,
“topic_id”: 1234,
“reply_to_post_number”: 1
}
Agora, posso buscar as respostas de primeiro nível para este tópico fazendo a seguinte chamada de API:
Seguindo a resposta aqui Postagens vs Respostas vs Tópicos, sinto que fiz uma mudança fundamental na estrutura das postagens no Discourse agora.
Minha pergunta é: essa mudança pode quebrar alguma outra funcionalidade no Discourse? Atualmente, não vejo nenhum problema no site com essa alteração. Mas há algo que eu possa estar ignorando e deva ter cuidado?