Pessoal,
Preciso de uma ajuda.
Estou fazendo uma consulta via GraphQL - productSearch, porém tenho alguns problemas que não consigo solucionar e precisava de ajuda:
- O filtro do priceRange parece não funcionar pq continua retornando produtos de sellers que o preço é menor que R$10 ou até mesmo zerado.
- Eu tenho produtos que não possuem estoque e preço de um determinado seller que não deveriam retornar, mas não sei como filtrar (
{
productSearch(category: "1", productOriginVtex: true, priceRange: "10 TO 1000", hideUnavailableItems: true) {
products {
productId
skuSpecifications {
field {
originalName
name
}
values {
originalName
name
}
}
productName
items(filter: ALL_AVAILABLE) {
name
ean
referenceId {
Key
Value
}
nameComplete
sellers {
sellerId
sellerName
commertialOffer {
Price
spotPrice
ListPrice
AvailableQuantity
}
}
}
}
}
}
Alguma sugestão?
Olá, @ferrarih
Alguns ajustes na sua query:
{
productSearch(productOriginVtex: true, priceRange: "10 TO 1000" , selectedFacets: [{ key: "category-1", value: "4"}, { key: "region-id", value: "U1cjaWRkYWxvamE="}], hideUnavailableItems: true) {
products {
productId
skuSpecifications {
field {
originalName
name
}
values {
originalName
name
}
}
productName
items (filter: ALL_AVAILABLE) {
name
ean
referenceId {
Key
Value
}
nameComplete
sellers {
sellerId
sellerName
commertialOffer {
Price
spotPrice
ListPrice
AvailableQuantity
}
}
}
}
}
}
A propriedade category está depreciada, utilize selectedFacets, onde:
1 = departamento, 2 = categoria, 3 = subcategoria e assim por diante
Ex: category-1, category-2 etc.
Outra key que você utilizar no selectedFacets, é o region-id. Você pode passar em base64 o id do seller que você quer filtrar. Dessa forma, você verá apenas estoque e preço de produtos de acordo com o seller informado.
Ex: SW#seller01 convertendo em base64 fica U1cjc2VsbGVyMDE=, é só passar esse ID.
Abraços,
João, obrigado pela resposta!
Porém ainda não está funcionando, ou seja, ainda está retornando produtos abaixo de 10.
Tem algo que precisa ser feito?
Você comentou sobre posso passar o ID do seller no region-id, mas tem como fazer o inverso? Ou seja, excluir um determinado sellerid dos resultados e trazer todos os outros?
1 Like
Acredito que essa query esteja com algum bug na propriedade “priceRange”. Com a query products, o priceRange funciona normalmente.
O inverso no region-id acredito que não funcione, você realmente precisaria informar apenas o sellerId que você quer retornar os produtos.
1 Like