Skip to content

Filtros de Produtos

Visão Geral

Os filtros são mecanismos utilizados para refinar a busca e navegação de produtos dentro da loja 🔎.

Eles permitem que os clientes encontrem produtos com mais facilidade, aplicando critérios específicos como marca, cor, tamanho, material, voltagem, entre outros atributos.

No contexto administrativo, os filtros são configurados pelo lojista, que define quais filtros existirão na loja, como eles serão exibidos e em quais categorias poderão ser utilizados.

Além disso, cada filtro pode possuir diferentes tipos de comportamento, como filtros baseados em valores pré-definidos ou filtros cujo valor é definido diretamente no vínculo com o produto.

Dessa forma, os filtros contribuem para uma navegação mais organizada, intuitiva e eficiente dentro do catálogo.

Entidades Envolvidas

  • Filtro (Filter)
  • Representa o atributo que poderá ser utilizado para filtrar produtos.

  • Valor do Filtro (Filter Value)
  • Representa os possíveis valores associados ao filtro.

  • Produto (Product)
  • Os produtos podem ser vinculados aos filtros e seus respectivos valores, permitindo que apareçam corretamente nos resultados filtrados.

  • Categoria (Category)
  • Os filtros podem ser associados a categorias específicas, determinando onde eles estarão disponíveis para uso.

    Notas e Considerações

  • Filtros podem possuir diferentes tipos, como enum, array, text e bool.
  • Filtros do tipo text e bool não possuem valores cadastrados previamente.
  • Nesses casos, o valor do filtro é definido diretamente no vínculo com o produto.

Listagem de Filtros da loja

GET /products/filters

Possibilita que o lojista possa visualizar os filtros cadastrados na loja

Descrição

Endpoint responsável por retornar uma lista paginada de filtros cadastrados na loja 🏷️.

Permite que o lojista consulte os filtros existentes e gerencie suas configurações, facilitando a organização e manutenção dos filtros utilizados na navegação dos produtos.

Parâmetros

Headers Obrigatórios

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {userToken}Token de autenticação

Campos Disponíveis (fields)

CampoDescrição
valuesCarrega os valores do filtro (filtro cor -> valores (azul, vermelho, verde, etc.))

Campos de Condição Disponíveis

CampoTipoDescrição
productCategoryIdintegerIdentificador da categoria associada ao filtro
activebooleanStatus de ativação do filtro
showInListingbooleanDetermina se o filtro deve ser exibido na listagem
showInSpecificationTablebooleanDetermina se o filtro deve ser exibido na tabela de especificação técnica do produto
typeenumDetermina qual o tipo do filtro (array, enum, text, bool)
namestringNome de exibição do filtro

Campos de Ordenação Disponíveis

CampoDescrição
idIdentificador do filtro
createdAtData de cadastro do filtro

Exemplo de Requisição

1curl --request GET \
2 --url {{MAIN_URL}}/products/filters \
3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \

✅ Resposta de Sucesso

1{
2 "registers": [
3 {
4 "id": 1,
5 "productCategoryId": 1,
6 "name": "Cor:",
7 "active": true,
8 "showInListing": true,
9 "showInSpecificationTable": true,
10 "type": "enum",
11 "createdAt": "2025-08-10 15:27:44",
12 "values": [
13 {
14 "id": 1,
15 "name": "Azul",
16 "image": null,
17 "originalImage": null,
18 "color": null,
19 "order": 0,
20 "value": null
21 },
22 {
23 "id": 2,
24 "name": "Branco",
25 "image": null,
26 "originalImage": null,
27 "color": null,
28 "order": 0,
29 "value": null
30 },
31 {
32 "id": 3,
33 "name": "Preto",
34 "image": null,
35 "originalImage": null,
36 "color": null,
37 "order": 0,
38 "value": null
39 }
40 ]
41 }
42 ],
43 "pagination": {
44 "limit": 10,
45 "offset": 0,
46 "pages": 1,
47 "registers": 10
48 }
49}

Listagem de Filtros por categorias

GET /products/filters/list-by-category

Retorna lista de filtros da loja por categoria

Descrição

Endpoint responsável por visualizar a lista de filtros da loja organizados por categorias 🏷️.

Permite que o lojista consulte quais filtros estão associados a cada categoria, facilitando a gestão e a organização da navegação dos produtos na loja.

Parâmetros

Headers Obrigatórios

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {userToken}Token de autenticação

Parâmetros do Corpo

ParâmetroTipoObrigatórioDescrição
categoriesIdsarray✅Lista de ids de categorias para buscar os filtros associados
categoriesIds.*integer✅Identificador da categoria para consultar os filtros associados

Exemplo de Requisição

1curl --request GET \
2 --url {{MAIN_URL}}/products/filters/list-by-category \
3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \
4 --data '{
5 "categoriesIds": [
6 1, 2, 3
7 ]
8 }'

✅ Resposta de Sucesso

1{
2 "id": 1,
3 "name": "Smartphones",
4 "url": "smartphones",
5 "filters": [
6 {
7 "id": 1,
8 "productCategoryId": 1,
9 "name": "Cor",
10 "active": true,
11 "showInListing": false,
12 "showInSpecificationTable": true,
13 "type": "enum",
14 "createdAt": "2026-03-12 19:46:14",
15 "values": []
16 }
17 ]
18}

Busca detalhes de um filtro da loja

GET /products/filters/{filterId}

Possibilita que o lojista veja detalhes de um filtro cadastrado na loja

Descrição

Endpoint responsável por visualizar os detalhes de um filtro da loja 🔎.

Permite que o lojista consulte suas configurações e ajuste as informações conforme necessário, garantindo que o filtro esteja corretamente configurado para uso nas categorias e na navegação dos produtos.

Parâmetros

Headers Obrigatórios

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {userToken}Token de autenticação

Parâmetros da URL

ParâmetroTipoObrigatórioDescrição
filterIdinteger✅Identificador do filtro que deve ser consultado

Exemplo de Requisição

1curl --request GET \
2 --url {{MAIN_URL}}/products/filters/{filterId} \
3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \

✅ Resposta de Sucesso

1{
2 "status": true,
3 "data": {
4 "id": 1,
5 "productCategoryId": 1,
6 "name": "Cor:",
7 "active": true,
8 "showInListing": true,
9 "showInSpecificationTable": true,
10 "type": "enum",
11 "createdAt": "2025-08-10 15:27:44",
12 "values": [
13 {
14 "id": 1,
15 "name": "Azul",
16 "image": null,
17 "originalImage": null,
18 "color": null,
19 "order": 0,
20 "value": null
21 },
22 {
23 "id": 2,
24 "name": "Branco",
25 "image": null,
26 "originalImage": null,
27 "color": null,
28 "order": 0,
29 "value": null
30 },
31 {
32 "id": 3,
33 "name": "Preto",
34 "image": null,
35 "originalImage": null,
36 "color": null,
37 "order": 0,
38 "value": null
39 }
40 ]
41 }
42}

⚠️ Possíveis erros:

1{
2 "status": false,
3 "data": {
4 "code": 404,
5 "errorCode": "UAPPI_STORE_FILTER_NOT_FOUND",
6 "message": "The requested filter was not found."
7 }
8}

Cadastro de filtros

POST /products/filters

Possibilita que o lojista possa cadastrar os filtros da loja

Descrição

Endpoint responsável por cadastrar filtros personalizados associados a categorias de produtos na loja 🏷️.

Permite que o lojista defina atributos que poderão ser utilizados tanto para filtragem na navegação dos produtos quanto para exibição de informações técnicas na página do produto.

Através deste endpoint é possível configurar o nome do filtro, seu status de ativação, o tipo de dado esperado e onde ele será exibido na loja, como em listagens de produtos ou na tabela de especificações técnicas.

Essa configuração permite que cada categoria possua filtros próprios, adaptados às características dos produtos. Isso facilita a navegação dos clientes e torna a visualização das informações mais organizada.

Parâmetros

Headers Obrigatórios

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {userToken}Token de autenticação

Parâmetros do Corpo

ParâmetroTipoObrigatórioDescrição
productCategoryIdinteger✅Identificador da categoria que deve ser associada ao filtro
namestring✅Nome de exibição do filtro na loja
activeboolean✅Status de ativação do filtro
showInListingboolean✅Determina se o filtro deve ser exibido em listagem
showInSpecificationTableboolean✅Determina se o filtro deve ser exibido na tabela técnica de especificação do produto
typestring✅Determina o tipo de filtro (array, enum, text, bool)

Exemplo de Requisição

1curl --request POST \
2 --url {{MAIN_URL}}/products/filters \
3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \
4 --data '{
5 "productCategoryId": 1,
6 "name": "Cor",
7 "active": true,
8 "showInListing": false,
9 "showInSpecificationTable": true,
10 "type": "array"
11 }'

✅ Resposta de Sucesso

HTTP Status: 200 OK

1{
2 "id": 1,
3 "productCategoryId": 1,
4 "name": "Cor",
5 "active": true,
6 "showInListing": false,
7 "showInSpecificationTable": true,
8 "type": "array",
9 "createdAt": "2026-03-12 19:46:14",
10 "values": []
11}

⚠️ Possíveis erros:

1{
2 "status": false,
3 "data": {
4 "code": 404,
5 "errorCode": "UAPPI_STORE_CATEGORY_NOT_FOUND",
6 "message": "The requested category was not found."
7 }
8}

Atualização de filtros

PUT /products/filters/{filterId}

Possibilita que o lojista possa atualizar os filtros da loja

Descrição

Endpoint responsável por permitir que o lojista atualize filtros existentes da loja 🔧.

Atua em contexto administrativo, possibilitando a modificação das configurações associadas aos filtros do catálogo.

Por meio desse endpoint, é possível editar informações já cadastradas, como nome, status e demais parâmetros de funcionamento do filtro.

Dessa forma, o lojista consegue ajustar e manter os filtros atualizados, garantindo que a navegação e a busca por produtos continuem organizadas e eficientes na loja ⚙️.

Parâmetros

Headers Obrigatórios

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {userToken}Token de autenticação

Parâmetros do Corpo

ParâmetroTipoObrigatórioDescrição
productCategoryIdinteger✅Identificador da categoria que deve ser associada ao filtro
namestring✅Nome de exibição do filtro na loja
activeboolean✅Status de ativação do filtro
showInListingboolean✅Determina se o filtro deve ser exibido em listagem
showInSpecificationTableboolean✅Determina se o filtro deve ser exibido na tabela técnica de especificação do produto

Exemplo de Requisição

1curl --request PUT \
2 --url {{MAIN_URL}}/products/filters/{filterId} \
3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \
4 --data '{
5 "productCategoryId": 1,
6 "name": "Cor",
7 "active": true,
8 "showInListing": false,
9 "showInSpecificationTable": true
10 }'

✅ Resposta de Sucesso

HTTP Status: 200 OK

1{
2 "id": 1,
3 "productCategoryId": 1,
4 "name": "Cor",
5 "active": true,
6 "showInListing": false,
7 "showInSpecificationTable": true,
8 "type": "array",
9 "createdAt": "2026-03-12 19:46:14",
10 "values": []
11}

⚠️ Possíveis erros:

Atenção: a seguir estão destacados os principais erros que podem ocorrer neste endpoint.

Os cenários descritos representam os erros mais relevantes do contexto atual, servindo como referência para entendimento e tratamento das falhas.

Código InternoCódigo HttpDescrição
UAPPI_STORE_CATEGORY_NOT_FOUND404The requested category was not found.
UAPPI_STORE_FILTER_NOT_FOUND404The requested filter was not found.

Exclusão de filtros

DELETE /products/filters/{filterId}

Permite a exclusão de filtros da loja

Descrição

Endpoint responsável por permitir que o lojista exclua filtros cadastrados na loja 🗑️.

Atua em contexto administrativo, possibilitando a remoção de filtros que não são mais necessários no catálogo.

Por meio desse endpoint, é possível eliminar filtros indesejados ou obsoletos, ajudando a manter a organização das opções de navegação da loja.

Dessa forma, o lojista consegue manter os filtros sempre atualizados e relevantes, garantindo uma experiência de busca mais clara e eficiente para os usuários ⚙️.

⚠️ Atenção: ao utilizar este endpoint, os valores do filtro também serão excluídos, juntamente com todas as imagens vinculadas a esses valores.

Essa ação remove completamente os dados associados ao filtro, portanto deve ser utilizada com cautela para evitar a perda de informações importantes.

Parâmetros

Headers Obrigatórios

HeaderValorDescrição
AuthorizationBearer {userToken}Token de autenticação

Parâmetros da URL

ParâmetroTipoObrigatórioDescrição
filterIdintegerSimIdentificador do filtro a ser excluído

Exemplo de Requisição

1curl --request POST \
2 --url {{MAIN_URL}}/products/filters/{filterId} \
3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \

✅ Resposta de Sucesso

HTTP Status: 200 OK

1true

⚠️ Possíveis erros:

1{
2 "status": false,
3 "data": {
4 "code": 404,
5 "errorCode": "UAPPI_STORE_FILTER_NOT_FOUND",
6 "message": "The requested filter was not found."
7 }
8}

Uappi é a melhor opção para o crescimento da sua loja!

;