Listar categorias
Retorna as categorias da loja em lista plana, com paginação e filtros.
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.
A API devolve uma lista plana com paginação. Para montar a árvore, veja a dica no fim da página.
/api/v1.0/categoriesAdminListar categorias
Autenticação: HTTP Basic com e-mail:chave_de_api, ou Authorization: Bearer <JWT>. A leitura aceita qualquer credencial válida da loja. Os ids saem como UUID. A ordem é a do cadastro; a API não tem parâmetro de ordenação.
Parâmetros de consulta
pageintegerpadrão: 1items_per_pageintegerpadrão: 10parent_idstring0 para listar só as categorias de topo.statusstringA, então A devolve todas e H ou D não devolvem nenhuma.category_ids[]stringcategory_ids[]=escritorio&category_ids[]=informatica.item_idsstringcategory_ids[], em uma lista separada por vírgulas./api/categoriesAdminListar categorias (rota sem /v1.0)
A mesma operação sem o /v1.0. Aceita os mesmos parâmetros. A diferença está na resposta: category_id e parent_id saem como números decimais em string ("878363454"), e o id_path continua sendo a cadeia de UUIDs. Esses números não podem ser usados de volta no caminho de GET /api/categories/{id}.
Exemplo de requisição
curl -u "$EMAIL:$API_KEY" \
"$BASE_URL/api/v1.0/categories?parent_id=0&items_per_page=50"Resposta
{
"categories": [
{
"category_id": "345ac33e-4dcd-4d60-bedf-a2c2d47897d9",
"category": "Escritório",
"parent_id": "0",
"id_path": "345ac33e-4dcd-4d60-bedf-a2c2d47897d9",
"status": "A",
"position": 0,
"product_count": 303,
"company_id": "0",
"description": "",
"seo_name": "escritorio",
"page_title": "",
"meta_description": "",
"meta_keywords": "",
"timestamp": 1788959480,
"updated_timestamp": 1788959480
}
],
"params": { "page": 1, "items_per_page": 10, "total_items": 15 }
}Campos da resposta
categoriesarraycategories[].category_idstring/api/v1.0; decimal em string em /api/.categories[].categorystringcategories[].parent_idstring"0" nas categorias de topo.categories[].id_pathstring/. Sempre em UUID, mesmo em /api/.categories[].positionintegercategories[].product_countintegercategories[].company_idstring"0". A categoria pertence à loja, não a um seller.categories[].descriptionstringcategories[].seo_namestringcategories[].page_titlestringcategories[].meta_descriptionstringcategories[].meta_keywordsstringcategories[].timestampintegercategories[].updated_timestampintegercategories[].main_pairobjectpair_id, image_id (o id da categoria) e detailed com image_path e https_image_path, ambos com o mesmo endereço da imagem.paramsobjectpage, items_per_page e total_items (total depois dos filtros, em todas as páginas).Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem credenciais, chave inválida ou token expirado | {"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401} |
| 429 | Limite de requisições (por exemplo, login repetido) | {"error":"rate limit exceeded","detail":"too many requests, please try again later"} |
| 500 | Falha interna | {"message":"...","status":500} |