API de lagacy + Categoria

Boa tarde!

Estou tentando usar o seguinte endpoint de legacy

Porém estou querendo passar um parâmetro relacionado a categoria do produto. Existe alguma possibilidade de conseguir passar isso?

Seria algo parecido com que eu fiz nessa API

/api/io/_v/api/intelligent-search/product_search/category-1/CATEGORIA?query=ITEM_A_SER_BUSCADO

Oi @leoamaral, tudo joia?

Conforme a documentação do Search com Filtro basicamente adicionamos ao final da URL do Search for products o parâmetro correspondente ao filtro por categoria:

  • Filter by category - fq=C:/{a}/{b}
    {a} and {b} are Category IDs
    E.g.: fq=C:/1000041/1000049/

Endpoint de Exemplo:
https://{accountName}.{environment}.com.br/api/catalog_system/pub/products/search/{termo}?fq=C:/{a}/{b}

Fazendo um teste com a URL da shop Cosbel que utiliza VTEX Legacy com o Id do departamento “Skin Care” e o Id da Categoria “Rosto” e termo protetor funcionou corretamente a busca na categoria:

https://t41577.vtexcommercestable.com.br/api/catalog_system/pub/products/search/protetor?fq=C:/4831/4836

Qualquer coisa, publica a URL que você está testando. Vai facilitar para o povo ajudar.

Abraço!

2 Likes

Não sei se te ajuda @leoamaral mas esses são os filtros que vc pode fazer na API de Busca

1 Like

Bom dia @nat @andremiani!

Desde já, agradeço a ajuda.

O caso que o @andremiani trouxe, funcionaria muito bem, mas de uma forma que não fosse o id e sim o nome da categoria.

Ex: fq=C:/Home Center/Caixa Acoplada/.

Sabem dizem se existe essa possibilidade?

2 Likes

@leoamaral bom dia!
Eu acredito que a consulta só seja possível pelo ID da categoria, conforme o @andremiani mesmo colocou a regra logo acima. Posso até estar equivocada mas não acho que seja possível a consulta por nome.
Qual seria a dificuldade da consulta por ID?

1 Like

Oi @leoamaral, onde você está chamando o GET Product Search?

No contexto das páginas de departamentos e categorias, considerando que a arquitetura é VTEX Legacy, dá para pegar o departamentId e categoryId da variável vtxctx

console.log(vtxctx)

{
    "searchTerm": "",
    "categoryId": "4836",
    "categoryName": "Rosto",
    "departmentyId": "4831",
    "departmentName": "Skin Care",
    "isOrder": "0",
    "isCheck": "0",
    "isCart": "0",
    "actionType": "",
    "actionValue": "",
    "login": null,
    "url": "www.cosbel.com.br",
    "transurl": "www.cosbel.com.br"
}

Mas da forma como você comenta, acredito que só fazendo um “dê->para” para converter o categoryName em categoryId.

Comenta um pouco sobre a funcionalidade que você criando e o contexto onde vai rodar.

Abraço!

1 Like