# Справочник методов

> Полный публичный API клиента Entase: бронирование, подписка на события, геттеры и сеттеры времени выполнения и уничтожение.

Полный публичный API экземпляра `Entase`.

## Бронирование

| Метод | Описание |
|---|---|
| `book(eventID, options?)` | Открывает оформление заказа для события. См. [Открытие оформления заказа](/developers/js-client/opening-the-checkout.md). |

## События

| Метод | Описание |
|---|---|
| `on(name, callback)` | Регистрирует обратный вызов. По одному на имя события – см. [События](/developers/js-client/events.md). |
| `off(name, callback?)` | Удаляет обратный вызов, зарегистрированный для имени. Аргумент обратного вызова игнорируется. |

Оба метода принимают строку с именами, разделёнными пробелами, или массив имён.

## Локаль

| Метод | Описание |
|---|---|
| `getLocale()` | Возвращает настроенное значение, включая буквальное `'auto'`, если было задано именно оно. |
| `setLocale(locale)` | Изменяет язык оформления заказа для последующих бронирований. |

`getLocale()` сообщает конфигурацию, а не результат определения – при настройке по умолчанию он возвращает `'auto'`, а не язык, который будет использоваться фактически. Значение `'auto'` определяется в момент вызова `book()` на основе атрибута `lang` вашего элемента `<html>`, поэтому изменение языка страницы после создания клиента учитывается без дополнительных действий.

## Режим оформления заказа

| Метод | Описание |
|---|---|
| `getCheckoutMode()` | Возвращает определённый режим: `'pane'` или `'popup'` – никогда не `'auto'`. |
| `setCheckoutMode(mode)` | Устанавливает режим. `'auto'` повторно запускает определение; нераспознанное значение игнорируется. |

См. [Режимы оформления заказа](/developers/js-client/checkout-modes.md).

## Отслеживание

| Метод | Описание |
|---|---|
| `getTracking()` | Возвращает объект текущих параметров отслеживания. |
| `setTracking(tprm)` | Заменяет параметры отслеживания. Они не объединяются – передавайте полный набор. |

См. [Отслеживание и согласие](/developers/js-client/tracking-and-consent.md).

## Позиционирование всплывающего окна

| Метод | Описание |
|---|---|
| `getTopWindowCenter()` | Возвращает `{ top, left }` – точку, относительно которой центрируется всплывающее окно. |
| `setTopWindowCenter(top, left)` | Перемещает эту точку. |

Центральная точка вычисляется один раз при создании экземпляра на основе положения окна браузера на экране. Она не пересчитывается, когда посетитель перемещает окно или изменяет его размер, поэтому на странице, открытой длительное время, всплывающее окно может открыться в стороне от текущего окна. Если это важно, пересчитывайте её перед бронированием:

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

В режиме панели это не действует.

## Уничтожение

| Метод | Описание |
|---|---|
| `destroy()` | Удаляет обработчики событий окна клиента. Экземпляр нельзя использовать повторно. |

Вызывайте этот метод, когда компонент или представление, которому принадлежит экземпляр, удаляется. После этого `book()` записывает ошибку в журнал и ничего не делает – вместо этого создайте новый экземпляр.
