Exemplo guiado

drogariasaopaulo.com.br

Este caso validou um padrao dificil em e-commerce VTEX: o card real de produto continha subcards internos de desconto, PBM e compra. O desafio foi evitar que o Intelbot confundisse botao de carrinho com produto.

e-commerce VTEXsubcards internosmodo automatico

Objetivo

Extrair cuidados com a pele para Excel

  • nome
  • preco
  • url

URL alvo:

www.drogariasaopaulo.com.br/beleza/cuidados-com-a-pele

O que tornou o caso dificil

O HTML tinha produto e carrinho no mesmo card

A pagina entregava produtos reais e nao era bloqueio anti-bot. O problema estava na estrutura: dentro de cada produto havia blocos de compra e desconto com preco, CPF, botoes e links de carrinho.

Antes da correcao, a qualidade marcava como healthy porque havia muitas linhas preenchidas. Na pratica, os dados estavam errados:nome era um preco e url era checkout.

Linha do tempo

Como o caso foi fechado

1. A categoria virou lista, mas pegou o bloco errado

A primeira correcao obrigou o modo automatico a usar list para planilha de produtos. Isso evitou a saida com uma linha, mas revelou outro problema: o resolvedor escolheu blocos internos de compra em vez do card real de produto.

2. Nome virou preco e URL virou carrinho

A pagina tinha subcards de desconto, PBM e comprar sem desconto dentro de cada produto. O Intelbot capturou textos como Por R$ .../cada como nome e links de checkout/cart/add como URL.

3. O motor passou a rebaixar subcards internos

A correcao foi feita no motor generico de e-commerce: links de carrinho deixaram de ser bons candidatos para URL, textos de preco deixaram de ser bons nomes e containers de PBM/desconto passaram a perder prioridade.

4. O card de prateleira fechou a planilha

Depois do ajuste, o container correto passou a ser o card de prateleira. A saida fechou com nome real, preco e URL publica do produto, sem precisar editar selectorHint manualmente.

Schema final

Seletores que representam o produto real

Nome do campo: nome

Tipo: string

Descricao: Nome real do produto no card de prateleira

Hint de seletor: div.card.rnk-comp-card-shelf a.collection-link

Nome do campo: preco

Tipo: number

Descricao: Preco principal exibido no card do produto

Hint de seletor: div.card.rnk-comp-card-shelf p.price

Nome do campo: url

Tipo: url

Descricao: URL publica da pagina do produto

Hint de seletor: div.card.rnk-comp-card-shelf a.collection-link

Resultado final

Quando considerar resolvido

  • o modo deve sair como list
  • o nome deve ser o texto do produto, nao o preco ou botao
  • a URL deve abrir a pagina publica do produto, nao o carrinho
  • a planilha deve sair coesa em nome, preco e URL

O que este caso ensinou

Regras praticas para VTEX com subcards

Nem todo card dentro do produto e um produto

E-commerces podem ter cards internos para compra, desconto, convenio, PBM, retirada ou marketplace. O container certo precisa representar o produto inteiro, nao a acao de compra.

Checkout nao e URL de produto

Links com checkout, cart, carrinho, qty, priceToken ou sku em contexto de compra devem ser tratados como acao de carrinho, nao como URL publica do item.

Preco nao pode virar nome

Textos como Por R$ .../cada, Comprar sem desconto ou Informe seu CPF sao sinais fortes de contaminacao. A qualidade precisa reprovar esse caso mesmo quando todas as linhas estao preenchidas.