Eventos do provador no navegador
O provador dispara eventos em window para o código da loja reagir: quando ele fica pronto, abre, fecha, adiciona ao carrinho, identifica o cliente ou dá erro. Todos são CustomEvent; os dados ficam em event.detail.
window.addEventListener("reverbs:cartUpdated", function (event) { // Atualize aqui o mini carrinho do seu tema.});Registre os ouvintes o quanto antes, de preferência antes do código da Provei, para não perder eventos que acontecem logo no carregamento.
Quais eventos cada provador dispara
Seção intitulada “Quais eventos cada provador dispara”| Evento | Ambientes (móveis, pisos e paredes) | Moda e óculos | Medidas |
|---|---|---|---|
reverbs:ready |
Sim | Não | Não |
reverbs:error |
Sim | Não | Não |
reverbs:init, reverbs:open, reverbs:close, reverbs:destroy |
Sim | Com outro nome: reverbs:fashion:init, reverbs:fashion:open, reverbs:fashion:close, reverbs:fashion:destroy |
Não |
reverbs:cartUpdated |
Sim | Sim | Não |
reverbs:identityComplete |
Sim | Sim | Sim |
reverbs:ready
Seção intitulada “reverbs:ready”O provador de ambientes terminou de carregar e de procurar o produto da página. Dispara uma vez por página.
detail: { widget, userId }
widget: o provador, o mesmo objeto dewindow.reverbsWidget.userId: o identificador da conta dona do provador.
Pronto não quer dizer que o botão aparece: em produtos fora do catálogo, o provador carrega mas não mostra o botão.
reverbs:error
Seção intitulada “reverbs:error”O provador de ambientes não conseguiu carregar.
detail: { code, message, userId }
Use message para registrar o erro no console ou na sua ferramenta de monitoramento. Os valores de code podem mudar; não monte regras da loja em cima deles.
As causas mais comuns são:
- o identificador no código foi cortado ou alterado;
- a página tem códigos de duas contas diferentes;
- um bloqueador ou a política de segurança da loja barrou o script;
- uma falha momentânea ao carregar as configurações da loja.
Veja o que fazer em cada caso em Carregador do provador de ambientes.
reverbs:init
Seção intitulada “reverbs:init”O provador terminou de iniciar. Isso não garante que o botão aparece: veja O botão não aparece.
detail: { widget }
No provador de moda e de óculos, o nome é reverbs:fashion:init, com o mesmo detail.
reverbs:open e reverbs:close
Seção intitulada “reverbs:open e reverbs:close”A janela do provador abriu ou fechou, por ação do cliente ou pela API JavaScript.
detail: { widget }
No provador de moda e de óculos, os nomes são reverbs:fashion:open e reverbs:fashion:close.
reverbs:destroy
Seção intitulada “reverbs:destroy”O provador foi removido da página e parou de funcionar.
detail: { widget }
No provador de moda e de óculos, o nome é reverbs:fashion:destroy.
reverbs:cartUpdated
Seção intitulada “reverbs:cartUpdated”O cliente adicionou um produto ao carrinho pelo provador e a plataforma da loja confirmou.
detail: os dados do carrinho devolvidos pela plataforma. O formato muda de plataforma para plataforma; use o evento como aviso e leia o carrinho pelo próprio tema.
Use este evento para atualizar o mini carrinho ou o contador de itens do tema. No provador de ambientes, a janela fecha antes do evento.
reverbs:identityComplete
Seção intitulada “reverbs:identityComplete”O cliente concluiu a identificação pedida nas regras de acesso, por exemplo deixando o contato antes da prova.
detail: { completed: true }
O evento não traz nome, e-mail nem telefone. Os contatos ficam em Clientes.
Perguntas frequentes
Como atualizo o mini carrinho do tema depois que o cliente adiciona pelo provador?
Ouça o evento reverbs:cartUpdated em window e, quando ele chegar, peça ao tema para recarregar o carrinho.
Os eventos trazem dados pessoais do cliente?
Não. O evento de identificação traz só completed true. Nome, e-mail e telefone ficam em Clientes, no painel.