O Recommendations permite que você exiba automaticamente os itens mais relevantes para cada usuário. Este artigo orienta você sobre como implementar um widget do Recommendations usando nossas APIs do Experience do lado do servidor. O processo inclui:
- Criar uma campanha do Recommendations por API no console da Experience OS.
- Chamar a campanha com uma chamada de API do lado do servidor. O widget é renderizado em seu website.
Opcionalmente, você pode usar filtros em tempo real em suas campanhas do Recommendations por API.
Depois de configurar e executar suas campanhas por API, você também pode:
Criar uma campanha do Recommendations por API
Acesse API Campaigns › Add New › Recommendation (campanhas por API › adicionar nova › recomendação) e faça o seguinte:
- Dê um nome à sua campanha e, opcionalmente, adicione notas e rótulos.
- Especifique o seletor de API (API Selector). Esse seletor é obrigatório nas chamadas de API.
- Defina as configurações de segmentação. da experiência para determinar quando, onde e para quem a experiência será exibida e, em seguida, clique em Next (avançar).
- Crie uma variação. Você pode ter diversas variações para uma campanha do Recommendations, podendo usá-las para testar várias configurações, ou testar contra um grupo de controle:
- Dê um nome à sua variação (visível apenas no console do Experience OS).
- Escolha um modelo. O modelo permite que você adicione um payload (carga útil) à chamada. Isso pode incluir quaisquer metadados que você queira passar com a variação. Por exemplo, o título da recomendação que corresponda à estratégia selecionada ou a definição do design.
- Ao criar a variação, você também pode selecionar a estratégia e número de itens para mostrar.
- Quando terminar cada variação, clique em Save Variation (salvar variação).
- Defina a alocação, métrica primária e configurações avançadas da experiência.
- Defina quanto do seu tráfego alocar para cada variação e ao grupo de controle.
- Clique em Save Experience (salvar experiência).
- Para criar uma experiência segmentada adicional (digamos, diferentes estratégias para públicos diferentes), clique no ícone de mais .
- Clique em Save and Publish (salvar e publicar) quando estiver pronto para prosseguir.
Agora você está pronto para chamar sua campanha usando a chamada de API Choose.
Casos de uso
Incluir SKUs específicas
Um caso de uso típico é solicitar produtos recomendados que se enquadrem em uma faixa de preço específica. Neste exemplo, filtre os produtos com preços entre R$ 3.000 e R$ 4.000.
Exemplo
"id": "0000000000015000"
}
"sessionld" : "1"
"selector": {
"names": [
0 : "Popularity Campaign"
],
"args": {
"Popularity Campaign": {
"realtimeRules": [
0 : {
"type" : "include"
"slots" : []
"query" : {
"conditions" : [
0 : {
"field" : "price"
"arguments" : [
0 : {
"action" : "GT"
"value" : "3000"
}
]
}
1 : {
"field" : "price"
"arguments" : [
0 : {
"action" : "LT"
"value" : "4000"
}
Somente SKUs para campanhas do Recommendations
Para reduzir o tamanho da resposta, você pode limitar a resposta para incluir apenas as SKUs.
Exemplo de solicitação somente de SKUs
{
"user": {
"id": "yaexono4ohphania"
},
"session": {
"custom": "iquahngaishe2koh"
},
"selector": {
"names": [
"campanha recs"
]
},
"context": {
"page": {
"type": "PRODUCT",
"data": [
"7383723-010"
],
"location": "https://exemplo.org",
"locale": "en_US"
},
"device": {
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
"ip": "54.100.200.255"
},
"pageAttributes": {
"customPageAttribute": "algumValor"
},
"options": {
"isImplicitPageview": true
}
},
"options":{
"recsProductData": {
"skusOnly": true
}
}
}
Exemplo de resposta somente de SKUs
{
"sku": "1253557-035",
"productData": {},
"slotId": "l4WkdHl"
},
Usar o parâmetro fieldFilter para campanhas do Recommendations
Alguns casos de uso exigem chamar campos adicionais, em vez de apenas a SKU, mas talvez não todos os campos. Especifique os campos que deseja usando o parâmetro fieldFilter: crie um conjunto de strings dos campos relevantes, e apenas aqueles campos e valores serão enviados de volta. Observe que, se sua chamada de API também incluir o parâmetro skusOnly: true, ele substituirá o parâmetro fieldFilter, e a resposta incluirá apenas SKUs e nenhum campo adicional.
Exemplo de solicitação de campos filtrados
{
"user": {
"id": "yaexono4ohphania"
},
"session": {
"custom": "iquahngaishe2koh"
},
"selector": {
"names": [
"campanha recs"
]
},
"context": {
"page": {
"type": "PRODUCT",
"data": [
"7383723-010"
],
"location": "https://exemplo.org",
"locale": "en_US"
},
"device": {
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
"ip": "54.100.200.255"
},
"pageAttributes": {
"customPageAttribute": "algumValor"
},
"options": {
"isImplicitPageview": true
}
},
"options":{
"recsProductData": {
"fieldFilter": ["FieldName1", "FieldName2"]
}
}
}