SEO, testes A/B e envio de arquivos
Quatro recursos de apoio da vitrine, resolver o endereço amigável de uma página, rodar testes A/B na página de produto, reordenar listagens por perfil do cliente e enviar arquivos.
Esta seção reúne seis rotas que apoiam a vitrine fora do fluxo principal de compra:
- Resolução de URLs: dado um endereço amigável (
/camisetas,/moda/roupas/camisetas/camisa-x/p), descobre qual produto, categoria, página, seller ou post de blog ele representa. É o que um front-end headless precisa para decidir o que desenhar em cada URL. - Testes A/B da página de produto: a loja pode testar duas versões de um elemento (por exemplo o texto do botão de compra). A API diz a qual versão cada visitante pertence e registra que ele viu o teste.
- Reordenação personalizada: reordena uma listagem de produtos conforme o gosto do cliente logado, quando a loja ligou o recurso.
- Envio de arquivos pelo cliente: o cliente logado anexa documentos e arquivos às próprias conversas.
Como funciona
- Resolva a URL pedida
Para cada endereço que o visitante abre, chame Resolver URLs. A resposta diz o tipo (
product,category,page,vendor,blog,brand) e o identificador para buscar os dados. - Aplique os testes A/B
Ao abrir a página de produto, leia os testes ativos e desenhe a versão (
aoub) de cada elemento testado. Avise a API uma vez por sessão e teste. - Personalize listagens (opcional)
Com cliente logado, envie os ids dos produtos da listagem para Reordenar e use a ordem devolvida, se vier.
Conceitos-chave
Endereço canônico
O caminho canônico é a URL oficial de uma entidade: o produto camisa-flamengo... pode ter o caminho moda/roupas/camisetas/camisa-flamengo.../p quando a loja usa caminhos por categoria. Se o visitante abre o endereço curto, canonical-resolve devolve redirect_to com o oficial, para o front-end redirecionar (301).
Segmentos reservados
Algumas primeiras partes de caminho pertencem à própria vitrine (por exemplo products e admin). Resolver um caminho que começa por elas devolve 409: é erro do chamador, nunca de dados.
Variante
Cada teste tem duas variantes: a (o que a loja tem hoje) e b (o valor novo, em variant_b_value). Um percentual configurado pela loja leva visitantes à b.
Rotas
| Método | Caminho | Para que serve | Autenticação |
|---|---|---|---|
| GET | /api/v1/storefront/seo/resolve | Resolver um endereço (formato antigo) | Pública |
| GET | /api/v1/storefront/seo/canonical-resolve | Resolver um endereço canônico | Pública |
| GET | /api/v1/storefront/pdp-experiments/active | Ler os testes A/B ativos do visitante | Pública (visitante ou cliente) |
| POST | /api/v1/storefront/pdp-experiments/{id}/exposure | Registrar que o visitante viu o teste | Pública (visitante ou cliente) |
| POST | /api/v1/storefront/personalize/rerank | Reordenar produtos para o cliente | Cliente |
| POST | /api/v1/storefront/media | Enviar um arquivo | Cliente |
Erros comuns
- Usar
seo/resolveesperando a entidade. Ele devolve um redirecionamento (/products/slug) e só olha o último segmento do caminho. Para o caminho completo, usecanonical-resolve. - Resolver caminhos reservados.
canonical-resolveresponde409quando o primeiro segmento é de uma rota da vitrine; filtre esses caminhos antes. - Esquecer o
X-Session-IDnos testes A/B. Sem token e sem esse cabeçalho, a lista de testes volta vazia e o registro de exposição responde400. - Registrar a exposição a cada renderização. Basta uma vez por sessão e teste; chamadas repetidas são aceitas mas não somam.
- Tratar
204da reordenação como erro. É o resultado normal quando o cliente recusou personalização, não há perfil suficiente ou a tela está desligada. - Enviar um arquivo para um destino qualquer. O cliente só envia para
user_profile_field(com o próprio id) oumessage(de uma conversa dele). Outros destinos respondem403 owner_not_allowed.