O Autocomplete é um auxílio em tempo real que antecipa resultados, correções e sugestões durante a digitação da consulta. Esta requisição é utilizada para obter a lista de sugestões de consultas e produtos, a partir de uma consulta parcial também conhecida como "prefixo" de um termo.
Como fazer a consulta?
Para realizar uma consulta, você deve passar um prefixo para a consulta
api.linximpulse.com/engage/search/v3/autocompletes?apiKey=<loja>&secretKey=<secretKey>&prefix=celul
Como é a resposta?
Os produtos retornados estarão no campo **products**. As consultas retornadas estarão no campo **queries**.
Como obter lista de produtos sugeridos a partir de uma sugestão de busca + categoria?
Para solicitar produtos sugeridos a partir de uma sugestão de busca + categoria (geralmente implementado na aplicação com mouse over ou usando as setas do teclado), deve ser passado o valor do campo **categoryId** (queries[].categoryId) no parâmetro **categoryId** na rota [/autocompletes/products](doc:autocompletesproducts).
Tracking de eventos
Eventos de click
Cada produto do resultado da sugestão de produto contém um campo chamado clickUrl.
Este campo fornece uma URL da API de Busca, na rota /clicks que deverá ser usada para registrar todos os eventos de click dos usuários da aplicação com os produtos do resultado da busca. É por meio destes registros que geramos métricas de performance da busca, além de melhorar as estratégias para acertar em cheio cada resultado.
{
id: "10005354",
name: "oculos",
price: 249.98,
oldPrice: 249.98,
url: "...",
images: {
template-418481: "...",
1000x1000: "..."
},
installment: {
count: 6,
price: 41.66
},
status: "AVAILABLE",
clickUrl: "/search/v3/clicks?apikey=loja&trackingId=eyJzZWFyY2hJZCI6IjQ1NTE5MDkwLTQxMDktNGM1MC1hNGZmLTYwMGM0YTZhOWVkZiIsIm9yaWdpbiI6InNlYXJjaCIsInByb2R1Y3QiOnsicmFua2luZyI6MSwicGlkIjoiMTAwMDUzNTciLCJza3VzIjpbXX19",
categories: [
{
id: "ÓCULOS DE SOL",
name: "ÓCULOS DE SOL",
parents: [ ],
used: true
}
],
tags: [
{
id: "oculos_de_sol",
name: "ÓCULOS DE SOL",
parents: [ ]
}
],
specs: { },
created: "2018-08-02 11:52:51",
brand: null,
collectInfo: {
skuList: [ ],
productId: "10005354"
},
cId: "84",
iId: 10641,
skus: [
{
sku: "2067712",
specs: { },
properties: {
stock: 1,
name: "oculos",
oldPrice: 249.98,
url: "...",
price: 249.98,
eanCode: "7909140245889",
status: "available",
details: {
referenceId: "7909140245889",
measurement: {
unit: "un",
multiplier: 1
}
},
installment: {
price: 41.66,
count: 6
},
images: {
template-418481: "...",
1000x1000: "..."
}
}
}
],
details: {
productReference: [
"..."
],
clusterHighlights: [
{
178: "Mais Vistos",
192: "Todos produtos",
246: "lightbox-oculos",
247: "modal-oculos"
}
],
brand: [
"..."
],
referenceId: [
"7909140245889"
],
measurement: [
{
unit: "un",
multiplier: 1
}
],
categoryName: [
"ÓCULOS DE SOL"
]
},
description: "..."
}
Ao clickUrl deverá ser adicionada a URL base da API no início e ao final os parâmetros exigidos pela rota de click. Detalhes dos parâmetros da rota de click podem ser encontados em /clicks.
Por exemplo:
https://api.linximpulse.com/engage/search/v3/clicks?apikey=loja&trackingId=eyJzZWFyY2hJZCI6IjQ1NTE5MDkwLTQxMDktNGM1MC1hNGZmLTYwMGM0YTZhOWVkZiIsIm9yaWdpbiI6InNlYXJjaCIsInByb2R1Y3QiOnsicmFua2luZyI6MSwicGlkIjoiMTAwMDUzNTciLCJza3VzIjpbXX19&deviceid=teste&source=desktop
É recomendado que este evento seja disparado somente depois que o usuário acessar a página do produto, evitando assim que o browser cancele a requisição caso a página de produto seja carregada antes que o disparo tenha sido concluído.