# Référence des méthodes

> L’API publique complète du client Entase – réservation, abonnement aux événements, accesseurs et mutateurs d’exécution, et nettoyage.

L’API publique complète d’une instance `Entase`.

## Réservation

| Méthode | Description |
|---|---|
| `book(eventID, options?)` | Ouvre le checkout d’un événement. Voir [Ouvrir le checkout](/developers/js-client/opening-the-checkout.md). |

## Événements

| Méthode | Description |
|---|---|
| `on(name, callback)` | Enregistre un callback. Un seul par nom d’événement – voir [Événements](/developers/js-client/events.md). |
| `off(name, callback?)` | Supprime le callback enregistré pour un nom. L’argument callback est ignoré. |

Les deux acceptent une chaîne séparée par des espaces ou un tableau de noms.

## Paramètres régionaux

| Méthode | Description |
|---|---|
| `getLocale()` | Renvoie la valeur configurée, y compris le littéral `'auto'` si c’est cette valeur qui a été définie. |
| `setLocale(locale)` | Modifie la langue du checkout pour les réservations ultérieures. |

`getLocale()` indique la configuration, et non la résolution – avec la valeur par défaut, il renvoie `'auto'`, et non la langue qui sera effectivement utilisée. La valeur `'auto'` est résolue au moment de l’appel à `book()`, à partir de l’attribut `lang` de votre élément `<html>` ; ainsi, toute modification de la langue de la page après la création du client est prise en compte sans action supplémentaire.

## Mode de checkout

| Méthode | Description |
|---|---|
| `getCheckoutMode()` | Renvoie le mode résolu, `'pane'` ou `'popup'` – jamais `'auto'`. |
| `setCheckoutMode(mode)` | Définit le mode. `'auto'` relance la détection ; une valeur non reconnue est ignorée. |

Voir [Modes de checkout](/developers/js-client/checkout-modes.md).

## Suivi

| Méthode | Description |
|---|---|
| `getTracking()` | Renvoie l’objet des paramètres de suivi actuels. |
| `setTracking(tprm)` | Remplace les paramètres de suivi. Ils ne sont pas fusionnés – transmettez l’ensemble complet. |

Voir [Suivi et consentement](/developers/js-client/tracking-and-consent.md).

## Positionnement de la fenêtre contextuelle

| Méthode | Description |
|---|---|
| `getTopWindowCenter()` | Renvoie `{ top, left }`, le point sur lequel la fenêtre contextuelle est centrée. |
| `setTopWindowCenter(top, left)` | Déplace ce point. |

Le point central est calculé une seule fois, lors de la création de l’instance, à partir de la position de la fenêtre du navigateur à l’écran. Il n’est pas recalculé lorsque le visiteur déplace ou redimensionne la fenêtre ; sur une page affichée longtemps, une fenêtre contextuelle peut donc s’ouvrir loin de la fenêtre actuelle. Recalculez-le avant la réservation si cela est important :

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

Cela n’a aucun effet en mode panneau.

## Nettoyage

| Méthode | Description |
|---|---|
| `destroy()` | Supprime les écouteurs de fenêtre du client. L’instance ne peut pas être réutilisée. |

Appelez-la lorsque le composant ou la vue propriétaire de l’instance disparaît. Après cela, `book()` consigne une erreur et ne fait rien – créez plutôt une nouvelle instance.
