Personalização
Liga a reordenação por interesse do cliente nas listagens da loja e consulta o relatório de ganho.
A personalização reordena as listagens da vitrine (página inicial, categorias e busca) conforme o interesse de cada cliente, aprendido do que ele já viu e comprou. Quem não tem histórico suficiente continua vendo a ordem normal. O cliente pode, na conta dele, recusar a personalização e apagar o perfil (direitos da LGPD); esses pedidos são tratados nas rotas da vitrine.
Estas rotas ligam e desligam a personalização por superfície e mostram o relatório de ganho. Exigem manage_settings.
Ler a configuração
/api/v1/admin/personalization/settingsAdminLer quais superfícies são personalizadas
curl "$BASE_URL/api/v1/admin/personalization/settings" \
-H "Authorization: Bearer $TOKEN"{ "home_enabled": true, "category_enabled": true, "search_enabled": true, "min_events": 5 }Campos da resposta
home_enabledbooleanfalse.category_enabledbooleanfalse.search_enabledbooleanfalse.min_eventsintegerGravar a configuração
/api/v1/admin/personalization/settingsAdminGravar as superfícies personalizadas
Grava o objeto inteiro: o que faltar vira false. min_events menor ou igual a zero (ou ausente) vira 5. A resposta devolve o que foi gravado.
Corpo da requisição
home_enabledbooleancategory_enabledbooleansearch_enabledbooleanmin_eventsintegerpadrão: 5curl -X PUT "$BASE_URL/api/v1/admin/personalization/settings" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"home_enabled":true,"category_enabled":true,"search_enabled":false,"min_events":8}'{ "home_enabled": true, "category_enabled": true, "search_enabled": false, "min_events": 8 }Relatório de ganho
/api/v1/admin/personalization/upliftAdminComparar clientes personalizados com o grupo de controle
Destina-se a comparar a taxa de cliques (CTR) e a de adição ao carrinho entre os clientes personalizados e um grupo de controle (que não recebe personalização), numa janela de 30 dias.
curl "$BASE_URL/api/v1/admin/personalization/uplift" \
-H "Authorization: Bearer $TOKEN"{ "atc_holdout": 0, "atc_personalized": 0, "ctr_holdout": 0, "ctr_personalized": 0, "window_days": 30 }Campos da resposta
ctr_personalizednumberctr_holdoutnumberatc_personalizednumberatc_holdoutnumberwindow_daysintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | PUT com corpo que não é JSON. | {"error":"invalid body","detail":"..."} |
| 401 | Sem token ou token expirado. | {"error":"invalid or expired token"} |
| 403 | Sem manage_settings. | {"error":"insufficient privileges","privilege_required_any":["manage_settings"]} |