O sistema de moderação e comentários permite gerenciar interações na plataforma, seja em postagens públicas ou privadas.
Estas funcionalidades dependem das features de API Pública estarem habilitadas no seu plano.
🔎 Listar revisões pendentes
Endpoint
GET https://sua-plataforma.ensinio.cloud/public/api/v1/comments/pending-reviews
Headers obrigatórios
Authorization: Bearer {token}X-Requested-With: XMLHttpRequest
Descrição
Retorna uma lista unificada e paginada de todos os itens (Postagens de Feed, Postagens de Grupo, Comentários Gerais e Comentários de Aula) que aguardam moderação (onde reviewed_at é nulo).
Parâmetros de query
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
limit | integer | ❌ | 20 | Quantidade de itens por página (Max: 100). |
page | integer | ❌ | 1 | Número da página. |
Exemplo de resposta
{
"data": [
{
"id": 105,
"type": "feed_post",
"content": "Conteúdo da publicação...",
"raw_content": null,
"author_id": 42,
"parent_id": null,
"created_at": "2023-10-27T10:00:00.000000Z",
"status": "pending_review"
},
{
"id": 88,
"type": "general_comment",
"content": "Este é um comentário em texto plano.",
"raw_content": "{\"insert\": \"<p>Este é um comentário...</p>\"}",
"author_id": 15,
"parent_id": 105,
"created_at": "2023-10-27T10:05:00.000000Z",
"status": "pending_review"
}
],
"links": { ... },
"meta": { ... }
}
✅ Aprovar item
Endpoint
PATCH https://sua-plataforma.ensinio.cloud/public/api/v1/comments/approve/{type}/{id}
Descrição
Marca um item específico como revisado, removendo-o da fila de pendências. Aceita qualquer tipo de item moderável.
Parâmetros de rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
type | string | ✅ | O tipo do recurso (feed_post, group_post, general_comment, lesson_comment). |
id | integer | ✅ | O ID do recurso a ser aprovado. |
Exemplo de resposta
{
"message": "Comment approved successfully."
}
🗑️ Deletar comentário
Endpoint
DELETE https://sua-plataforma.ensinio.cloud/public/api/v1/comments/delete/{type}/{id}
Descrição
Realiza a exclusão lógica (Soft Delete) de um comentário.
Atenção: Este endpoint aceita apenas tipos de comentários (general_comment,lesson_comment).
Parâmetros de rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
type | string | ✅ | Deve ser general_comment ou lesson_comment. |
id | integer | ✅ | O ID do comentário a ser deletado. |
Exemplo de resposta
{
"message": "Comment deleted successfully."
}
💬 Comentar em publicação
Endpoint
POST https://sua-plataforma.ensinio.cloud/public/api/v1/comments/create
Descrição
Cria um novo comentário raiz em uma Publicação do Feed ou de Grupo.
Corpo da requisição (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
target_id | integer | ✅ | O ID da publicação alvo. |
target_type | string | ✅ | Deve ser feed_post ou group_post. |
content | string | ✅ | O conteúdo do comentário em texto plano. |
author_id | integer | ✅ | O ID do usuário (autor) que está comentando. |
Exemplo de resposta
{
"message": "Comment created successfully."
}
↩️ Responder a comentário
Endpoint
POST https://sua-plataforma.ensinio.cloud/public/api/v1/comments/reply
Descrição
Cria uma resposta aninhada (filho) para um comentário já existente.
Corpo da requisição (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
target_id | integer | ✅ | O ID do comentário que está sendo respondido. |
target_type | string | ✅ | Deve ser general_comment ou lesson_comment. |
content | string | ✅ | O conteúdo da resposta em texto plano. |
author_id | integer | ✅ | O ID do usuário (autor) que está respondendo. |
Exemplo de resposta
{
"message": "Reply created successfully."
}
🧩 Tipos de Recurso
Para os parâmetros type ou target_type, utilize os valores abaixo:
Valor (type) | Descrição |
|---|---|
feed_post | Publicação no Feed de Notícias (Post Raiz). |
group_post | Publicação em Comunidade/Grupo (Post Raiz). |
general_comment | Comentário em publicação ou resposta. |
lesson_comment | Comentário ou dúvida em uma aula. |
Possíveis respostas de erro
- 400 Bad Request / 422 Unprocessable Entity
{
"message": "The item of type feed_post does not support deletion."
}
- 401 Unauthorized
{
"message": "Token inválido ou ausente."
}
- 404 Not Found
{
"message": "Recurso não encontrado."
}
