Sim, é possível. Você pode fazer qualquer solicitação de API para o Discourse a partir do WordPress usando o método de utilidade discourse_request, ou seja,
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$args = array(
"body" => "",
"type" => "post"
);
$response = DiscourseUtilities::discourse_request( $path, $args );
Isso formatará a solicitação corretamente e usará a chave de API e o usuário que você forneceu nas configurações do WP Discourse. Você precisará de uma chave global para as ações a que se refere (se você também estiver usando a mesma chave para a funcionalidade normal do wp discourse).
Criando um grupo
O endpoint que você deseja é este: Discourse API Docs. Não há uma lista completa dos parâmetros na documentação da API, mas você os encontrará aqui: discourse/app/controllers/admin/groups_controller.rb at main · discourse/discourse · GitHub
Criando uma categoria
O endpoint que você deseja é este: Discourse API Docs. Da mesma forma, a lista completa de parâmetros está aqui: discourse/app/controllers/categories_controller.rb at main · discourse/discourse · GitHub
Observe que as “configurações de segurança” são tratadas através do parâmetro permissions. Você só precisa fornecer um objeto com nomes de grupos como chaves e inteiros de nível de permissão como valores, por exemplo,
{
"cohort1": 2,
"staff": 1
}
Você encontrará a lista de inteiros de nível de permissão aqui: discourse/app/models/category_group.rb at main · discourse/discourse · GitHub