API - GET PRODUTO - Buscar variação por SKU

Boa noite. Tudo bem?
Estou precisando fazer uma busca dentro da api do SKU da Variação. No endpoint /products.json?sku método Get tenho retorno positivo apenas quando busco sku do produto pai. Se faço o get no sku da variação tenho um retorno do tipo 200
{“meta”:{“query”:{“sku”:“331991949.P”}},“result”:[]}.

Seria possível buscar direto a variação?
Aguardo.
Att.

Boa noite, tudo e você?
É possível sim. Mas em outro endpoint. Esse normalmente é usado pra busca completa do item, no caso fazer a requisição em:

https://apx-search.e-com.plus/api/v1/items.json

Com o corpo:

{
  "size":1,
  "query":{
    "bool":{
      "must":{
        "term":{
          "skus":"0651-C131"
        }
      },
      "should":[
        {
          "term":{
            "visible":true
          }
        },
        {
          "term":{
            "available":true
          }
        }
      ]
    }
  }
}

No caso ali em sku, você tem que colocar o sku da variação

Encontrei aqui a documentação. Tentei de forma diferente e também de forma idêntica ao que você enviou. Só retorna 504. A Simple Search ( https://apx-search.e-com.plus/api/v1**/items.json?q=field:value**) deu certo só que só para o sku do pai. Será que eu que to fazendo algo errado nesse body aí? Lembrando que estou jogando POST.

Bom dia, então esse items.json tem que fazer uma POST com uma query setando o sku, conforme eu mostrei no exemplo de cima. O POST com o body:
A Simple Search é uma busca simples que não adentra em deep object. A complex search sim. E nesse caso, seria um POST mesmo com body que informei anteriormente. Como api de busca precisa ter uma inteligência maior pare recomendar corretamente os itens, então não usamos puramente a api com recurso de produtos, usamos um elastic search agregado ao banco de dados, para conseguirmos fazer essas buscas de termo, de sku, de itens visiveis, de categorias, marcas, coleção, associação entre elas, ordenação e por ai vai. Um exemplo padrão se quiser rodar diretamente no seu painel administrativo para ver o resultado:

callSearchApi('items.json', 'POST', (err, json) => {console.log(json)}, {
  "size":1,
  "query":{
    "bool":{
      "must":{
        "term":{
          "skus":"331991949.PP"
        }
      },
      "should":[
        {
          "term":{
            "visible":true
          }
        },
        {
          "term":{
            "available":true
          }
        }
      ]
    }
  }
})

Nesse caso ai o filtro é por visiveis e sku. Mas se quiser só sku, também é possível.

Beleza. Consegui aqui!

1 curtida

Boa!