VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Blog

Categorias do blog

Lista, cria, altera e apaga as categorias que agrupam os posts.

Listar categorias do blog

Devolve todas as categorias, sem paginação, ordenadas por sort_order e depois por nome.

GET/api/v1/admin/blog/categoriesAdmin

Lista as categorias do blog

Rota ligada ao módulo blog: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_content.

Exemplo de requisição (Listar categorias)

bash
curl "$BASE_URL/api/v1/admin/blog/categories" \
  -H "Authorization: Bearer $TOKEN"

Resposta (Listar categorias)

200Categorias
json
{
  "categories": [
    {
      "id": "4e733a25-349a-4598-a916-a0984fc4aa76",
      "name": "Guia de compras",
      "slug": "guia-de-compras",
      "status": "A",
      "sort_order": 10,
      "created_at": "2026-07-31T23:57:31.199499Z",
      "updated_at": "2026-07-31T23:57:31.199499Z",
      "category_id": "4e733a25-349a-4598-a916-a0984fc4aa76",
      "category": "Guia de compras",
      "seo_name": "guia-de-compras",
      "timestamp": 1785542251,
      "updated_timestamp": 1785542251
    }
  ],
  "total": 3
}

Campos da resposta

categoriesarray

Categorias.

iduuid
Identificador da categoria.
namestring
Nome.
slugstring
Trecho da URL.
descriptionstring
Descrição. Ausente quando vazia.
parent_iduuid
Categoria pai. Ausente na raiz.
statusstring
Letra do estado: A ativa, D inativa.
sort_orderinteger
Ordem de exibição, menor primeiro.
created_atstring
Criação, RFC 3339.
updated_atstring
Última alteração, RFC 3339.
totalinteger
Quantidade devolvida.

Erros (Listar categorias)

StatusQuandoExemplo de corpo
401Token ausente, inválido ou expirado.{"error":"invalid or expired token"}
403O administrador não tem o privilégio exigido.{"error":"insufficient privileges","privilege_required_any":["manage_content","view_content"]}
Campos repetidos

A resposta também traz campos que repetem outros valores (category_id, category, seo_name, timestamp, updated_timestamp).

Criar categoria do blog

Cria uma categoria para agrupar posts. Se o slug já existe, a plataforma acrescenta -2, -3...

POST/api/v1/admin/blog/categoriesAdmin

Cria uma categoria do blog

Rota ligada ao módulo blog: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_content.

Corpo da requisição

namestringobrigatório
Nome.
slugstringobrigatório
Trecho da URL.
descriptionstring
Descrição.
parent_iduuid
Categoria pai, para criar hierarquia.
statusstringpadrão: active
activeinactive
Estado.
sort_orderintegerpadrão: 0
Ordem de exibição.
descriptionsobject
Nome e descrição por idioma, com chave no código do idioma.

Exemplo de requisição (Criar categoria)

bash
curl -X POST "$BASE_URL/api/v1/admin/blog/categories" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Guia de compras",
  "slug": "guia-de-compras",
  "sort_order": 10
}'

Resposta (Criar categoria)

201Categoria criada
json
{
  "id": "4e733a25-349a-4598-a916-a0984fc4aa76",
  "name": "Guia de compras",
  "slug": "guia-de-compras",
  "status": "A",
  "sort_order": 10,
  "created_at": "2026-07-31T23:57:31.199499Z",
  "updated_at": "2026-07-31T23:57:31.199499Z",
  "category_id": "4e733a25-349a-4598-a916-a0984fc4aa76",
  "category": "Guia de compras",
  "seo_name": "guia-de-compras",
  "timestamp": 1785542251,
  "updated_timestamp": 1785542251
}

Campos da resposta

iduuid
Identificador da categoria.
namestring
Nome.
slugstring
Trecho da URL.
descriptionstring
Descrição. Ausente quando vazia.
parent_iduuid
Categoria pai. Ausente na raiz.
statusstring
Letra do estado: A ativa, D inativa.
sort_orderinteger
Ordem de exibição, menor primeiro.
created_atstring
Criação, RFC 3339.
updated_atstring
Última alteração, RFC 3339.

Erros (Criar categoria)

StatusQuandoExemplo de corpo
401Token ausente, inválido ou expirado.{"error":"invalid or expired token"}
403O administrador não tem o privilégio exigido.{"error":"insufficient privileges","required":"manage_content"}
400Corpo inválido, ou falta name ou slug.{"error":"name and slug are required"}
500Falha ao gravar (por exemplo parent_id inexistente).{"error":"failed to create blog category","detail":"..."}

Atualizar categoria

Atualiza só os campos enviados. Mudar o status para inactive grava a letra D. Um slug já usado por outra categoria é recusado.

PUT/api/v1/admin/blog/categories/{id}Admin

Altera campos de uma categoria

Rota ligada ao módulo blog: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_content.

Parâmetros de caminho

iduuidobrigatório
Identificador da categoria.

Corpo da requisição

namestring
Nome.
slugstring
Trecho da URL.
descriptionstring
Descrição.
parent_iduuid
Categoria pai.
statusstring
activeinactive
Estado.
sort_orderinteger
Ordem de exibição.

Exemplo de requisição (Atualizar categoria)

bash
curl -X PUT "$BASE_URL/api/v1/admin/blog/categories/4e733a25-349a-4598-a916-a0984fc4aa76" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "inactive"
}'

Resposta (Atualizar categoria)

200Categoria atualizada
json
{
  "id": "4e733a25-349a-4598-a916-a0984fc4aa76",
  "name": "Guia de compras",
  "slug": "guia-de-compras",
  "status": "D",
  "sort_order": 10,
  "created_at": "2026-07-31T23:57:31.199499Z",
  "updated_at": "2026-07-31T23:57:31.199499Z",
  "category_id": "4e733a25-349a-4598-a916-a0984fc4aa76",
  "category": "Guia de compras",
  "seo_name": "guia-de-compras",
  "timestamp": 1785542251,
  "updated_timestamp": 1785542251
}

Campos da resposta

iduuid
Identificador da categoria.
namestring
Nome.
slugstring
Trecho da URL.
descriptionstring
Descrição. Ausente quando vazia.
parent_iduuid
Categoria pai. Ausente na raiz.
statusstring
Letra do estado: A ativa, D inativa.
sort_orderinteger
Ordem de exibição, menor primeiro.
created_atstring
Criação, RFC 3339.
updated_atstring
Última alteração, RFC 3339.

Erros (Atualizar categoria)

StatusQuandoExemplo de corpo
401Token ausente, inválido ou expirado.{"error":"invalid or expired token"}
403O administrador não tem o privilégio exigido.{"error":"insufficient privileges","required":"manage_content"}
500Categoria inexistente, slug repetido, ou id que não é UUID. Todos respondem 500.{"error":"failed to update blog category","detail":"blog category slug \"guia\" already in use"}

Apagar categoria

Remove a categoria de vez. Confira antes quais posts a usam, porque a exclusão é definitiva.

DELETE/api/v1/admin/blog/categories/{id}Admin

Apaga uma categoria do blog

Rota ligada ao módulo blog: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_content.

Parâmetros de caminho

iduuidobrigatório
Identificador da categoria.

Exemplo de requisição (Apagar categoria)

bash
curl -X DELETE "$BASE_URL/api/v1/admin/blog/categories/4e733a25-349a-4598-a916-a0984fc4aa76" \
  -H "Authorization: Bearer $TOKEN"

Resposta (Apagar categoria)

200Categoria apagada
json
{
  "message": "blog category deleted"
}

Erros (Apagar categoria)

StatusQuandoExemplo de corpo
401Token ausente, inválido ou expirado.{"error":"invalid or expired token"}
403O administrador não tem o privilégio exigido.{"error":"insufficient privileges","required":"manage_content"}
500A categoria não existe, o id não é UUID, ou o banco recusou a exclusão.{"error":"failed to delete blog category","detail":"blog category not found"}
Exclusão definitiva

Não há lixeira para categorias do blog.

Veja também

  • Traduções da categoria
  • Criar post
Anterior
Traduções do post
Próxima
Traduções da categoria
Nesta página
  • Listar categorias do blog
  • Exemplo de requisição (Listar categorias)
  • Resposta (Listar categorias)
  • Erros (Listar categorias)
  • Criar categoria do blog
  • Exemplo de requisição (Criar categoria)
  • Resposta (Criar categoria)
  • Erros (Criar categoria)
  • Atualizar categoria
  • Exemplo de requisição (Atualizar categoria)
  • Resposta (Atualizar categoria)
  • Erros (Atualizar categoria)
  • Apagar categoria
  • Exemplo de requisição (Apagar categoria)
  • Resposta (Apagar categoria)
  • Erros (Apagar categoria)
  • Veja também