# Riferimento dei metodi

> L'intera API pubblica del client Entase – prenotazione, sottoscrizione agli eventi, getter e setter in fase di esecuzione e pulizia.

L'intera API pubblica di un'istanza di `Entase`.

## Prenotazione

| Metodo | Descrizione |
|---|---|
| `book(eventID, options?)` | Apre il checkout per un evento. Vedi [Apertura del checkout](/developers/js-client/opening-the-checkout.md). |

## Eventi

| Metodo | Descrizione |
|---|---|
| `on(name, callback)` | Registra una callback. Una per nome di evento – vedi [Eventi](/developers/js-client/events.md). |
| `off(name, callback?)` | Rimuove la callback registrata per un nome. L'argomento callback viene ignorato. |

Entrambi accettano una stringa con nomi separati da spazi o un array di nomi.

## Lingua

| Metodo | Descrizione |
|---|---|
| `getLocale()` | Restituisce il valore configurato, incluso il valore letterale `'auto'` se è quello impostato. |
| `setLocale(locale)` | Modifica la lingua del checkout per le prenotazioni successive. |

`getLocale()` riporta la configurazione, non la risoluzione – con l'impostazione predefinita restituisce `'auto'`, non la lingua che verrà effettivamente utilizzata. Il valore `'auto'` viene risolto nel momento in cui viene chiamato `book()`, dall'attributo `lang` dell'elemento `<html>`, quindi la modifica della lingua della pagina dopo la creazione del client viene rilevata senza ulteriori operazioni.

## Modalità di checkout

| Metodo | Descrizione |
|---|---|
| `getCheckoutMode()` | Restituisce la modalità risolta, `'pane'` o `'popup'` – mai `'auto'`. |
| `setCheckoutMode(mode)` | Imposta la modalità. `'auto'` esegue nuovamente il rilevamento; un valore non riconosciuto viene ignorato. |

Vedi [Modalità di checkout](/developers/js-client/checkout-modes.md).

## Tracciamento

| Metodo | Descrizione |
|---|---|
| `getTracking()` | Restituisce l'oggetto dei parametri di tracciamento corrente. |
| `setTracking(tprm)` | Sostituisce i parametri di tracciamento. Non vengono uniti – passa l'insieme completo. |

Vedi [Tracciamento e consenso](/developers/js-client/tracking-and-consent.md).

## Posizionamento della finestra pop-up

| Metodo | Descrizione |
|---|---|
| `getTopWindowCenter()` | Restituisce `{ top, left }`, il punto su cui è centrata la finestra pop-up. |
| `setTopWindowCenter(top, left)` | Sposta quel punto. |

Il punto centrale viene calcolato una sola volta, quando viene creata l'istanza, dalla posizione della finestra del browser sullo schermo. Non viene ricalcolato quando il visitatore sposta o ridimensiona la finestra, quindi in una pagina di lunga durata una finestra pop-up può aprirsi lontano dalla finestra corrente. Ricalcolalo prima della prenotazione, se è importante:

```js
entase.setTopWindowCenter(
  window.screenTop + (window.innerHeight / 2),
  window.screenLeft + (window.innerWidth / 2)
);
```

Questo non ha effetto in modalità pannello.

## Pulizia

| Metodo | Descrizione |
|---|---|
| `destroy()` | Rimuove gli ascoltatori della finestra del client. L'istanza non può essere riutilizzata. |

Chiamalo quando il componente o la vista proprietari dell'istanza vengono rimossi. In seguito, `book()` registra un errore e non esegue alcuna operazione – crea invece una nuova istanza.
