O cliente é disponibilizado pela CDN da Entase como um único ficheiro. Não há nenhum pacote npm, nenhum bundle para compilar nem dependências para manter atualizadas – recebe sempre a versão atual.
<script src="https://js.entase.com/client.js"></script>Carregar o script define uma classe Entase global. Por si só, não faz mais nada: não efetua pedidos de rede, não altera o DOM, não apresenta nada. Tudo começa quando cria uma instância.
Criar uma instância
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Crie uma instância por página e reutilize-a para todos os eventos. O construtor regista um listener de message na janela e começa a detetar que modo de checkout o seu domínio tem autorização para usar, pelo que criar várias instâncias resulta em listeners duplicados e chamadas de deteção duplicadas, sem qualquer benefício.
Todas as opções têm um valor predefinido, pelo que new Entase() sem argumentos é válido – mas, sem pk, o cliente não consegue verificar se o seu domínio pode usar o checkout integrado e recorrerá sempre a uma janela pop-up. Consulte Modos de checkout.
Carregar o script de forma assíncrona
Se carregar client.js com async ou defer, a classe ainda não existirá quando o seu script integrado for executado. A biblioteca emite um evento entase:ready em window assim que termina de carregar, por isso aguarde por ele:
<script src="https://js.entase.com/client.js" async></script>
<script>
let entase = null;
const init = () => { entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' }); };
if (typeof Entase !== 'undefined') init();
else window.addEventListener('entase:ready', init);
</script>É importante verificar primeiro com typeof: se o script já tiver terminado de carregar, entase:ready já terá sido emitido e aguardar por ele seria esperar para sempre.
Limpeza
Numa aplicação de página única, chame destroy() quando a vista proprietária da instância for desmontada:
entase.destroy();Isto remove os listeners da janela registados pelo cliente. Uma instância destruída não pode ser reutilizada – chamar book() nela regista um erro e não faz nada. Em vez disso, crie uma nova instância.
Política de Segurança de Conteúdo
Se o seu site enviar um cabeçalho Content-Security-Policy, o checkout necessita de:
script-src https://js.entase.com– para carregar a biblioteca.frame-src https://www.entase.com– o checkout é apresentado numa iframe no modo de painel.connect-src https://www.entase.com– o cliente chama a API da Entase para determinar o modo de checkout permitido.
Sem frame-src, o modo de painel apresenta um painel vazio. Sem connect-src, a deteção do modo falha e todos os checkouts abrem numa janela pop-up.