¿Cómo encuentro publicaciones eliminadas a través de la API?

Estoy intentando usar la API para mantener una lista de publicaciones recientes. Esto funciona bien con posts.json.

Sin embargo, el problema que tengo es que las publicaciones eliminadas no aparecen en posts.json. Y no parece haber un posts_deleted.json ni algo similar.

Entonces, ¿cómo puedo encontrar todas las publicaciones eliminadas a través de la API? Esto parece algo sencillo, pero no logro averiguarlo. ¿Estoy pasando por alto algo?

No creo que esto sea posible. Tal vez, si compartes algunos detalles sobre por qué estás intentando encontrar publicaciones eliminadas mediante la API, alguien tendrá ideas sobre formas alternativas de abordar el problema que intentas resolver.

Una posibilidad es que puedas configurar un webhook de eventos de publicación para que apunte a un servicio externo. Ese webhook se activará cuando se cree, edite, elimine o recupere una publicación. Es posible que ese webhook te proporcione la información que necesitas.

1 me gusta

Uso la API para guardar las publicaciones en mi base de datos, de modo que no necesito llamar a la API cada vez que quiero mostrar datos para cada usuario. Esto también me permite conectar completamente los datos con todas mis tablas, agregarlos a vistas, etc.

Luego puedo mostrar información sobre las publicaciones en mi sitio web, fuera de Discourse.

Pero, como aparentemente no hay forma de saber cuándo se eliminan las publicaciones, acabo mostrando algunas que ya fueron borradas y la gente no entiende por qué los enlaces no funcionan correctamente.

No entiendo por qué no hay forma de encontrar las publicaciones eliminadas. Parece una herramienta muy obvia. Incluso hay un campo en posts.json para “usuario eliminó”, pero este campo aparentemente nunca puede ser verdadero, ya que posts.json nunca mostrará una publicación eliminada. Por lo tanto, o ese campo no debería existir, o posts.json debería mostrar las publicaciones eliminadas.

1 me gusta

¡Es un enfoque excelente!

Creo que apuntar un webhook de evento de publicación a tu aplicación resolvería esto. Cuando se elimina una publicación, el campo X-Discourse-Event del webhook se establecerá en post_destroyed. Podrías guardar los IDs de las publicaciones eliminadas en tu aplicación y excluir esas publicaciones al mostrar el contenido de Discourse en tu sitio.

2 Me gusta