Skip to content

Categorias

Gerencie a árvore de categorias da loja. Categorias suportam hierarquia (pai → filhos).

Listar categorias

http
GET /api/v1/categories

Query parameters

ParâmetroTipoDescrição
searchstringBusca por nome
parent_idintegerFiltrar por categoria pai
treebooleantrue para retornar hierarquia completa (apenas raízes com filhos aninhados)
sortstringCampo de ordenação (padrão: order)
directionstringasc ou desc (padrão: asc)
per_pageintegerItens por página (máx: 100, padrão: 25)

Exemplo — lista plana

bash
curl -X GET "https://sualoja.com.br/api/v1/categories" \
  -H "X-API-Key: SUA_CHAVE"

Exemplo — árvore hierárquica

bash
curl -X GET "https://sualoja.com.br/api/v1/categories?tree=true" \
  -H "X-API-Key: SUA_CHAVE"

Resposta

json
{
  "data": [
    {
      "id": 1,
      "parent_id": null,
      "name": "Roupas",
      "slug": "roupas",
      "description": "Roupas masculinas e femininas",
      "order": 1,
      "show_on_home": true,
      "icon": "https://sualoja.com.br/storage/.../icon.webp",
      "children_count": 3,
      "products_count": 45,
      "children": [
        {
          "id": 2,
          "parent_id": 1,
          "name": "Camisetas",
          "slug": "camisetas",
          "children_count": 0,
          "products_count": 20
        }
      ],
      "seo": {
        "title": "Roupas | Minha Loja",
        "description": "Encontre as melhores roupas...",
        "keywords": "roupas, moda"
      },
      "created_at": "2026-01-10T08:00:00Z",
      "updated_at": "2026-03-05T12:00:00Z"
    }
  ]
}

Buscar categoria

http
GET /api/v1/categories/{id}

Retorna a categoria com suas subcategorias carregadas.

Criar categoria

http
POST /api/v1/categories

Campos

CampoTipoObrigatórioDescrição
namestringNome da categoria
parent_idintegerID da categoria pai (para subcategorias)
descriptionstringDescrição da categoria
orderintegerOrdem de exibição
show_on_homebooleanExibir na home
seo_titlestringTítulo para SEO
seo_descriptionstringMeta description
seo_keywordsstringPalavras-chave

Exemplo

bash
curl -X POST https://sualoja.com.br/api/v1/categories \
  -H "X-API-Key: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Calçados",
    "parent_id": null,
    "order": 3,
    "show_on_home": true
  }'

Atualizar categoria

http
PUT /api/v1/categories/{id}

Aceita os mesmos campos do POST, todos opcionais.

Excluir categoria

http
DELETE /api/v1/categories/{id}

Restrição

Não é possível excluir uma categoria que possui produtos vinculados. A API retorna 422:

json
{
  "message": "Não é possível excluir: 15 produto(s) vinculado(s)."
}

Mova os produtos para outra categoria antes de excluir.