# Visão geral

> O cliente JavaScript da Entase abre o checkout a partir do seu próprio website, quer como painel integrado quer como janela pop-up, sem enviar o visitante para outra página.

O cliente JavaScript da Entase é uma pequena biblioteca que carrega a partir da nossa CDN. Dá ao seu website uma funcionalidade que este não consegue executar por si só: **abrir o checkout da Entase no local**, para que um visitante compre um bilhete sem sair da página em que se encontra.

Trata do painel ou da janela pop-up, do fundo, do bloqueio da deslocação da página, da etapa de consentimento, da região e dos parâmetros de rastreio. O seu código decide *quando* abrir o checkout e *para que evento*.

## O que não é

O cliente não apresenta listas de eventos, datas, preços ou disponibilidade. Se pretender um widget pronto a usar que apresente o seu programa, utilize antes os códigos de incorporação – são de copiar e colar e não requerem trabalho de desenvolvimento. Consulte [Incorporar eventos no seu website](/organizers/sharing-and-embedding/embedding-events-on-your-website.md).

No entanto, os dois não são alternativas. O widget incorporado carrega este mesmo cliente internamente para abrir o respetivo checkout, pelo que pode transmitir opções do cliente através da configuração de incorporação. Consulte [Opções avançadas de incorporação](/developers/js-client/embed-advanced-options.md).

## Quando o utilizar

Utilize o cliente diretamente quando tiver as suas próprias páginas de eventos e pretender que o seu próprio botão "Buy tickets" abra o checkout da Entase:

```html
<button id="buy">Buy tickets</button>

<script src="https://js.entase.com/client.js"></script>
<script>
  const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
  document.getElementById('buy').addEventListener('click', () => {
    entase.book('EVENT_ID');
  });
</script>
```

Esta é toda a integração. Tudo o resto nesta secção são aperfeiçoamentos: as opções existentes, a forma como o checkout decide entre um painel e uma janela pop-up e os eventos que pode monitorizar.

## Dois modos de checkout

O checkout abre de uma de duas formas:

- **Painel** – um painel integrado na sua página, que desliza da direita no computador e da parte inferior em dispositivos móveis. O visitante nunca sai do seu site.
- **Popup** – uma janela separada do navegador.

O modo de painel proporciona uma experiência melhor, mas só está disponível para domínios que tenha adicionado como origens de confiança nas definições da Entase. O cliente deteta qual está autorizado a utilizar e recorre a uma janela pop-up quando o checkout integrado não é permitido. Este é o comportamento mais importante a compreender antes da integração – consulte [Modos de checkout](/developers/js-client/checkout-modes.md).

## Requisitos

- Uma página disponibilizada através de **HTTPS**. Em HTTP simples, o cliente utiliza sempre uma janela pop-up.
- O seu domínio adicionado às **origens de confiança** em Definições → Integrações, se pretender o checkout integrado. Consulte [Integrações e personalização do checkout](/organizers/settings/integrations-and-checkout-customization.md).
- Nenhuma etapa de compilação, empacotador ou gestor de pacotes. A biblioteca consiste numa única etiqueta de script.

## Para onde seguir

- [Instalar o cliente](/developers/js-client/installing-the-client.md) – carregar o script e criar uma instância.
- [Opções do construtor](/developers/js-client/constructor-options.md) – todas as opções e o respetivo valor predefinido.
- [Abrir o checkout](/developers/js-client/opening-the-checkout.md) – o método `book()` e as substituições por chamada.
- [Eventos](/developers/js-client/events.md) – reagir à abertura, ao fecho e à conclusão do checkout.
