Sí, es posible. Puedes hacer cualquier solicitud de API a Discourse desde WordPress usando el método de utilidad discourse_request, es decir:
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$args = array(
"body" => "",
"type" => "post"
);
$response = DiscourseUtilities::discourse_request( $path, $args );
Esto formateará la solicitud correctamente y utilizará la clave API y el usuario que has proporcionado en la configuración de WP Discourse. Necesitarás una clave global para las acciones a las que te refieres (si también estás usando la misma clave para la funcionalidad normal de WP Discourse).
Creación de un grupo
El endpoint que deseas es este: Discourse API Docs. No hay una lista completa de los parámetros en la documentación de la API, pero los encontrarás aquí: discourse/app/controllers/admin/groups_controller.rb at main · discourse/discourse · GitHub
Creación de una categoría
El endpoint que deseas es este: Discourse API Docs. Del mismo modo, la lista completa de parámetros está aquí: discourse/app/controllers/categories_controller.rb at main · discourse/discourse · GitHub
Ten en cuenta que la “configuración de seguridad” se maneja a través del parámetro permissions. Solo necesitas darle un objeto con los nombres de los grupos como claves y enteros de nivel de permiso como valores, por ejemplo:
{
"cohort1": 2,
"staff": 1
}
Encontrarás la lista de enteros de nivel de permiso aquí: discourse/app/models/category_group.rb at main · discourse/discourse · GitHub