Silenciar usuario vía API

Caso de uso:
Estamos utilizando una plataforma de pagos de terceros para “degradar” a un usuario en caso de impago o falta de renovación. Cuando esto ocurre, también queremos poder “degradarlo” en Discourse. Es decir, deseamos que pueda acceder al foro, pero no crear contenido. Por este motivo, “silenciar” es la opción más adecuada.

He visto que la documentación de la API incluye la capacidad de suspender a un usuario, pero no de silenciarlo. ¿Existe alguna forma de hacerlo?

He encontrado este otro tema que discute la API de administración para silenciar usuarios. Sin embargo, no la veo documentada. Espero que no haya sido eliminada :grimacing:.

Actualización rápida: descubrí que realizar una solicitud PUT al endpoint mencionado aquí efectivamente funciona. Lo mismo ocurre con el campo “reason”.

¿Hay alguna razón por la que esto no esté incluido en la documentación?

1 me gusta

¿Por qué no simplemente los eliminas del grupo que les permite publicar? Para eso están los permisos de categoría. (O tal vez haya una razón para silenciarlos…)

¿Puedes ampliar? Los permisos de categoría no se aplican a elementos como “Sin categoría”. Además, sin un plugin, no existe una opción granular de “no puede publicar pero sí leer” a nivel de categoría.

Por lo tanto, la única opción aparentemente viable es silenciarlos hasta que renueven su membresía. De esta manera, podrán leer pero no publicar en todo el foro.

No estoy seguro sobre “sin categoría”.

Puedes configurar las categorías para que sean leídas por todos y limitar quién puede publicar y quién puede responder. Cómo crear categorías privadas usando la configuración de seguridad de categorías

También podrías mover a esos usuarios a tl0 para controlar el envío de mensajes privados.