Tengo un requisito en el que necesitamos obtener todas las respuestas de primer nivel realizadas en un tema. Ahora, cuando creamos un nuevo tema, también se crea una publicación. Para crear una respuesta de primer nivel en el tema, realizo la siguiente llamada a la API:
POST http://discourse-url/posts/
{
“raw”: “Esta es una respuesta de primer nivel en un tema”,
“topic_id”: 1234,
“reply_to_post_number”: null
}
Ahora, para recuperar las respuestas de primer nivel, realizo la siguiente llamada con post_id como el ID de la primera publicación creada para el tema. Esta publicación tiene el post_number como 1.
Pero esto me devuelve un array vacío. Esto es comprensible, ya que Discourse trata las respuestas de nivel superior en un tema como publicaciones y no como respuestas. En la terminología de Discourse, las “respuestas” se realizan sobre publicaciones y las “publicaciones” se realizan sobre temas.
He encontrado una solución alternativa para esto. En lugar de enviar reply_to_post_number como null, si lo envío como 1, la llamada a la API para respuestas también funciona correctamente. A continuación se muestra la solicitud de ejemplo:
POST http://discourse-url/posts/
{
“raw”: “Esta es una respuesta de primer nivel en un tema”,
“topic_id”: 1234,
“reply_to_post_number”: 1
}
Ahora puedo obtener las respuestas de primer nivel para este tema realizando la siguiente llamada a la API:
Siguiendo la respuesta aquí Publicaciones vs Respuestas vs Temas, siento que he realizado un cambio fundamental en la estructura de las publicaciones en Discourse ahora.
Mi pregunta es: ¿Puede este cambio romper alguna otra funcionalidad en Discourse? Actualmente no veo ningún problema en el sitio web con este cambio. ¿Pero hay algo que pueda estar pasando por alto y de lo cual debería tener cuidado?