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

Excluir categoria

Manda uma categoria vazia para a lixeira ou, com cascata, apaga de vez a categoria, as filhas e os produtos delas.

Use esta operação para remover uma categoria do catálogo. O comportamento depende do conteúdo dela e é a parte mais delicada desta seção, então leia a tabela antes de integrar.

Situação da categoriaSem cascadeCom cascade=true
Vazia e sem filhas vivasVai para a lixeira (status T). Some das listas, mas pode ser restaurada em até 30 dias. Responde 204.Apagada de vez, com todas as descendentes. Responde 204.
Com produtosRecusa com 409 category_has_products e informa quantos.Apaga de vez a categoria, as filhas e todos os produtos ligados a elas.
Com filhas vivasRecusa com 409 category_has_subcategories.Apaga de vez a subárvore inteira.

Produtos que já foram excluídos (soft delete) não contam como "produtos" para a recusa. "Filhas vivas" são as que não estão na lixeira.

cascade=true é irreversível

Com cascade=true as categorias e os produtos ligados a elas são removidos definitivamente, sem passar pela lixeira. Se um produto da subárvore ainda é referenciado por outro registro (por exemplo uma cotação), a operação inteira é recusada com 409 category_products_referenced. Antes de usar, mova os produtos que você quer manter para outra categoria.

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

Exclui uma categoria

Autenticação: Authorization: Bearer <token> de um administrador com o privilégio manage_categories.

Parâmetros de caminho

iduuidobrigatório
Id da categoria.

Parâmetros de consulta

cascadestring
true
Com o valor exato true, apaga também as filhas e os produtos (veja o aviso acima).
recursivestring
true
Sinônimo antigo de cascade, mantido para clientes antigos. Prefira cascade.

Exemplo de requisição

bash
curl -X DELETE "$BASE_URL/api/v1/admin/categories/b53fa6b9-a1a5-4862-9fac-cdc5585017c7" \
  -H "Authorization: Bearer $TOKEN"

Resposta

204Categoria removida
http
HTTP/1.1 204 No Content
409Categoria com filhas
json
{
  "category_id": "b53fa6b9-a1a5-4862-9fac-cdc5585017c7",
  "error": "category_has_subcategories",
  "subcat_count": 1
}

Campos do erro 409

errorstring
category_has_productscategory_has_subcategoriescategory_products_referenced
Motivo da recusa.
category_iduuid
A categoria que você tentou excluir.
product_countinteger
Só em category_has_products: quantos produtos estão ligados a ela.
subcat_countinteger
Só em category_has_subcategories: quantas filhas vivas ela tem.
constraintstring
Só em category_products_referenced (com cascade): o vínculo de outro registro que impede apagar os produtos.

Erros

StatusQuandoCorpo
401Sem credenciais ou token expirado{"error":"invalid or expired token"}
403Sem manage_categories{"error":"insufficient privileges","required":"manage_categories"}
404Categoria não existe{"error":"category not found","detail":"category not found"}
409Tem produtos, tem filhas vivas ou (com cascata) algum produto é referenciado por outro registroveja acima
500Falha interna, ou id que não é UUID nem slug existente{"error":"failed to delete category","detail":"..."}
Para desativar sem apagar

Se você só quer tirar a categoria da loja, não a exclua: mude o status para D (desativada) ou H (oculta) em Alterar categoria ou em Ações em lote. Ela continua nas listas, mantém os produtos e volta com um status: "A".

Veja também

  • Alterar categoria
  • Ações em lote
  • Listar produtos
  • Listar categorias
Anterior
Alterar categoria
Próxima
Ações em lote
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também