Alterar categoria
Altera nome, mãe, status, posição e descrição de uma categoria, enviando só os campos que mudam.
Use esta operação para renomear uma categoria, mudá-la de lugar na árvore, escondê-la da loja ou reordenar as irmãs. A alteração é parcial: só os campos presentes no corpo mudam; o que você não enviar fica como está.
Mover uma categoria (mudar o parent_id) recalcula o path e a depth dela e de todas as descendentes. O servidor recusa mover uma categoria para dentro de si mesma ou de uma descendente, e recusa a mudança que faria a subárvore passar da profundidade 5.
/api/v1.0/categories/{id}AdminAlterar uma categoria
Autenticação: HTTP Basic com e-mail:chave_de_api de um administrador, ou Bearer <JWT>.
Parâmetros de caminho
idstringobrigatóriocategory_code, ele vence o {id}.Corpo da requisição
categorystringcategory_codestring{id} do caminho.parent_idstring"0" não funciona para mover para o topo (erro 400).statusstringAHDactive, hidden, disabled). Um valor desconhecido vira A sem aviso. Não envie T: isso joga a categoria na lixeira sem permitir a restauração.positionintegerdescriptionstring/api/categories/{id}AdminAlterar uma categoria (rota sem /v1.0)
A mesma operação sem o /v1.0, com o mesmo corpo. O {id} aceita UUID ou slug, não o category_id decimal que a resposta de listagem devolve nessa rota.
Exemplo de requisição
curl -u "$EMAIL:$API_KEY" -X PUT "$BASE_URL/api/v1.0/categories/mesas" \
-H "Content-Type: application/json" \
-d '{"category":"Mesas e bancadas","status":"A","position":20}'Resposta
{ "category_id": "b53fa6b9-a1a5-4862-9fac-cdc5585017c7" }Campos da resposta
category_idstringErros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é JSON válido | {"message":"Invalid JSON","status":400} |
| 400 | Mãe que não é UUID, movimento circular, profundidade excedida ou nome repetido | {"message":"cannot move category under its own descendant","status":400} |
| 401 | Sem credenciais ou token expirado | {"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401} |
| 403 | Não é administrador | {"message":"Forbidden: admin scope required","status":403} |
| 404 | A categoria ou a nova mãe não existe | {"message":"Category not found","status":404} |