Listar categorias
Retorna as categorias da loja em lista plana, com todas as categorias de uma vez, ou em árvore já aninhada.
Use esta operação para ler o catálogo de categorias: carregar a árvore em um PIM, montar o menu de outro canal ou conferir se uma categoria já existe antes de criá-la. A lista não inclui categorias na lixeira (T), mas inclui as ativas, desativadas e ocultas.
Há duas leituras: a lista plana com todas as categorias de uma vez (sem paginação) e a árvore já aninhada.
/api/v1/admin/categoriesAdminLista todas as categorias
Autenticação: Authorization: Bearer <token> de um administrador com o privilégio view_catalog, manage_catalog ou manage_categories. Devolve todas as categorias vivas em uma única resposta, sem paginação.
Parâmetros de consulta
langstringpt-BR, en...). Quando enviado, name, description e os campos de SEO vêm no idioma pedido. Sem ele, valem os textos padrão da loja./api/v1/admin/categories/treeAdminCategory tree
A mesma coleção, já aninhada: cada categoria de topo traz as filhas em children, e assim por diante. Inclui categorias em qualquer status, exceto a lixeira. Não tem parâmetros.
Exemplo de requisição
curl "$BASE_URL/api/v1/admin/categories/tree" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"categories": [
{
"id": "345ac33e-4dcd-4d60-bedf-a2c2d47897d9",
"name": "Escritório",
"slug": "escritorio",
"description": "",
"position": 0,
"status": "A",
"path": "345ac33e-4dcd-4d60-bedf-a2c2d47897d9",
"depth": 0,
"product_count": 303,
"created_at": "2026-09-09T13:11:20.906519Z",
"updated_at": "2026-09-09T13:11:20.906519Z",
"category_id": "345ac33e-4dcd-4d60-bedf-a2c2d47897d9",
"category": "Escritório",
"seo_name": "escritorio",
"timestamp": 1788959480,
"updated_timestamp": 1788959480
}
],
"total": 47
}{
"tree": [
{
"id": "e3e86e8b-cbf2-4c65-9bab-12638af84e49",
"name": "Moda",
"slug": "moda",
"position": 0,
"status": "A",
"path": "e3e86e8b-cbf2-4c65-9bab-12638af84e49",
"depth": 0,
"product_count": 0,
"children": [
{
"id": "5239a365-7ca5-4fd3-8d8f-aea92b7dfe3a",
"parent_id": "e3e86e8b-cbf2-4c65-9bab-12638af84e49",
"name": "Roupas",
"slug": "roupas",
"position": 0,
"status": "A",
"path": "e3e86e8b-cbf2-4c65-9bab-12638af84e49/5239a365-7ca5-4fd3-8d8f-aea92b7dfe3a",
"depth": 1,
"product_count": 0
}
]
}
],
"total": 15
}Campos da resposta
categoriesarraytree.categories[].iduuidcategory_id repetem o mesmo valor.categories[].parent_iduuidcategories[].namestringlang, quando enviado).categories[].slugstringcategories[].descriptionstringcategories[].image_urlstringcategories[].icon_urlstringcategories[].seo_titlestringcategories[].seo_descriptionstringcategories[].meta_keywordsstringcategories[].positionintegercategories[].statusstringADHT) não aparece na lista; ela só é vista ao consultar a categoria por id.categories[].pathstring/.categories[].depthintegercategories[].product_countintegercategories[].childrenarraycategories[].usergroup_idsarraycategories[].whatsapp_hiddenbooleantrue quando a categoria e seus produtos ficam fora do catálogo do WhatsApp. Ausente quando false.categories[].look_tryon_enabledbooleantrue quando a prova virtual de look está ligada nos produtos da categoria. Ausente quando false.categories[].created_atstringcategories[].updated_atstringcategories[].lang_codestringlang.totalintegerErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem credenciais, chave inválida ou token expirado | {"error":"missing authorization header"} ou {"error":"invalid or expired token"} |
| 403 | Usuário sem o privilégio de catálogo | {"error":"insufficient privileges","privilege_required_any":["manage_categories","view_catalog","manage_catalog"]} |
| 429 | Limite de requisições (por exemplo, login repetido) | {"error":"rate limit exceeded","detail":"too many requests, please try again later"} |
| 500 | Falha interna | {"error":"failed to list categories","detail":"..."} |