# メソッドリファレンス

> Entase クライアントの完全な公開 API – 予約、イベント購読、ランタイムのゲッターとセッター、破棄。

`Entase` インスタンスの完全な公開 API。

## 予約

| メソッド | 説明 |
|---|---|
| `book(eventID, options?)` | イベントのチェックアウトを開きます。[チェックアウトを開く](/developers/js-client/opening-the-checkout.md)を参照してください。 |

## イベント

| メソッド | 説明 |
|---|---|
| `on(name, callback)` | コールバックを登録します。イベント名ごとに 1 つのみ登録できます – [イベント](/developers/js-client/events.md)を参照してください。 |
| `off(name, callback?)` | 指定した名前に登録されているコールバックを削除します。callback 引数は無視されます。 |

どちらも、スペース区切りの文字列または名前の配列を受け取ります。

## ロケール

| メソッド | 説明 |
|---|---|
| `getLocale()` | 設定された値を返します。設定値がリテラルの `'auto'` である場合は、それも含まれます。 |
| `setLocale(locale)` | 以降の予約に使用するチェックアウトの言語を変更します。 |

`getLocale()` は解決結果ではなく設定を返します – デフォルトでは、実際に使用される言語ではなく `'auto'` を返します。`'auto'` の値は `book()` が呼び出された時点で `<html>` 要素の `lang` 属性から解決されるため、クライアントの作成後にページの言語を変更しても、追加の作業なしで反映されます。

## チェックアウトモード

| メソッド | 説明 |
|---|---|
| `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()` はエラーをログに記録し、何もしません – 代わりに新しいインスタンスを作成してください。
