# Recuperando respostas de nível superior em um tópico

**URL:** <https://meta.discourse.org/t/retrieving-top-level-replies-on-a-topic/152061>\
**Category:** Development\
**Tags:** rest-api\
**Created:** [20 Maio , 2020 11:19 UTC](https://meta.discourse.org/t/retrieving-top-level-replies-on-a-topic/152061 "2020-05-20T11:19:18Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![ManishTripathy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manishtripathy/32/142402_2.png) [@ManishTripathy](https://meta.discourse.org/u/ManishTripathy)\
**Post date:** [20 Maio , 2020 11:19 UTC](https://meta.discourse.org/t/retrieving-top-level-replies-on-a-topic/152061/1 "2020-05-20T11:19:18Z")

</div>

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/](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.

> GET [http://discourse-url/posts/{post\_id}/replies.json](http://discourse-url/posts/%7Bpost_id%7D/replies.json)

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/](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:

> GET [http://discourse-url/posts/{post\_id}/replies.json](http://discourse-url/posts/%7Bpost_id%7D/replies.json)

Seguindo a resposta aqui [Postagens vs Respostas vs Tópicos](https://meta.discourse.org/t/difference-between-topics-posts-and-replies/104327), 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?

---

_[View the full topic](https://meta.discourse.org/t/retrieving-top-level-replies-on-a-topic/152061)._
