Pular para o conteúdo

API JavaScript do provador

O provador tem uma API JavaScript para abrir e fechar a janela pelo código da loja. Para a maioria dos casos, o atributo data-reverbs-trigger resolve sem JavaScript. Veja Modos de instalação.

Provador Objeto Saber quando está pronto
Ambientes (móveis, pisos e paredes) window.reverbsWidget window.reverbsWidgetReady ou o evento reverbs:ready
Moda e óculos window.reverbsWidgetFashion O evento reverbs:fashion:init
Medidas Não tem API para abrir pelo código.

Uma Promise criada quando o script do provador começa a rodar.

  • Resolve com o próprio provador (o mesmo objeto de window.reverbsWidget) quando ele termina de carregar e de procurar o produto da página.
  • Rejeita com um objeto { code, message, userId } quando o provador não consegue carregar. Use message no seu registro de erros.

Ela só existe depois que o script da Provei começa a rodar. Como o script carrega de forma assíncrona, confira se ela já existe e, se não, espere o evento reverbs:ready:

function quandoOProvadorEstiverPronto(callback) {
if (window.reverbsWidgetReady) {
window.reverbsWidgetReady.then(callback, function (erro) {
console.warn("Provador indisponível:", erro.message);
});
return;
}
window.addEventListener("reverbs:ready", function (event) {
callback(event.detail.widget);
}, { once: true });
}

Abre a janela do provador. Não recebe parâmetros e não devolve nada.

Não faz nada quando:

  • o produto da página não está no catálogo da Provei ou não está ativo;
  • a janela está no formato Dentro da página;
  • o provador já está aberto.

Fecha a janela do provador. Não faz nada se ela já está fechada. O cliente também fecha pelo X, pela tecla Esc ou clicando fora da janela.

O identificador da conta dona do provador carregado na página, como texto. Use para conferir qual conta está instalada.

<button type="button" id="ver-no-ambiente">Ver no meu ambiente</button>
<script>
document.getElementById("ver-no-ambiente").addEventListener("click", function () {
if (window.reverbsWidget && typeof window.reverbsWidget.open === "function") {
window.reverbsWidget.open();
}
});
</script>

O provador de moda e o de óculos usam window.reverbsWidgetFashion, com os mesmos métodos open() e close() e as mesmas regras: só abre em produtos do catálogo e ativos, e não abre no formato Dentro da página.

Não há Promise de prontidão. Consulte o objeto no momento do clique:

<script>
document.getElementById("experimentar").addEventListener("click", function () {
var provador = window.reverbsWidgetFashion;
if (provador && typeof provador.open === "function") {
provador.open();
}
});
</script>

Para saber quando ele terminou de carregar, ouça reverbs:fashion:init. Veja Eventos do provador.

  • Chame open() a partir de uma ação do cliente, como um clique. Abrir sozinho, sem o cliente pedir, atrapalha a compra.
  • Não chame métodos que não estão nesta página. Outras propriedades dos objetos podem mudar sem aviso.
  • Para reagir ao carrinho, à identificação do cliente ou a erros, use os eventos do provador.

Perguntas frequentes

Chamar open() gera uma prova?

Não. open() só mostra a janela do provador. O cliente ainda envia a foto, e só a prova gerada usa créditos.

Por que open() não faz nada?

O provador só abre em páginas de produtos que estão no catálogo da Provei e ativos. Ele também não abre no formato Dentro da página nem quando já está aberto.

A API funciona no provador de moda?

Sim, com outro nome. No provador de moda e de óculos, use window.reverbsWidgetFashion.open() e window.reverbsWidgetFashion.close().