# Розширені параметри вбудовування

> Віджет вбудовування підтримує більше налаштувань, ніж показано у фрагменті для копіювання та вставлення, зокрема передавання параметрів клієнта до оформлення замовлення, яке він відкриває.

Коди вбудовування, згенеровані у вашому обліковому записі Entase, додають на сторінку готовий віджет події. Вони призначені для копіювання та вставлення без жодної роботи з розробки – дізнайтеся, як отримати код, у статті [Вбудовування подій на ваш вебсайт](/organizers/sharing-and-embedding/embedding-events-on-your-website.md).

На цій сторінці описано параметри, які можна додати до цього фрагмента, і налаштування оформлення замовлення, яке він відкриває.

Віджет самостійно завантажує JavaScript-клієнт, тому не потрібно додавати `client.js` поруч із ним. Йому також не потрібен публічний ключ: віджет надається Entase, тому оформлення замовлення авторизується через віджет, а не через ключ на вашій сторінці.

## Налаштування

Кожен віджет налаштовується за допомогою об’єкта параметрів:

```html
<div id="entase_OBJ_CODE"></div>
<script>
  window.entase = window.entase || { o: [] };
  window.entase.o.push({
    obj: 'OBJ_CODE',
    theme: 'dark',
    ext: true
  });
</script>
<script src="https://js.entase.com/embed.js" async></script>
```

`obj` пов’язує налаштування з його контейнером: віджет відображається в елементі, ідентифікатор якого складається з `entase_` і того самого коду. Якщо цього елемента немає, віджет записує попередження та нічого не відображає.

Щоб розмістити на сторінці кілька віджетів, додайте по одному запису для кожного з них.

| Назва | Тип | За замовчуванням | Опис |
|---|---|---|---|
| `obj` | рядок | – | Код об’єкта з вашого фрагмента вбудовування. Обов’язковий. |
| `width` | рядок | `'auto'` | Ширина контейнера як значення CSS. `'auto'` означає повну ширину. |
| `height` | рядок | `'auto'` | Висота контейнера як значення CSS. За `'auto'` початкова висота становить 200px, а віджет змінює свій розмір відповідно до вмісту. |
| `theme` | рядок | `'light'` | `'light'` або `'dark'`. |
| `locale` | рядок | `'auto'` | Мова віджета. `'auto'` зчитує атрибут `lang` вашого елемента `<html>`. |
| `ext` | логічне значення | `false` | Розширене компонування – додає назву події та постер над датами. |
| `attribution` | логічне значення | `true` | Показує рядок із зазначенням Entase. Установіть `false`, щоб приховати його. |
| `client` | об’єкт | `{}` | Параметри, що передаються JavaScript-клієнту, який відкриває оформлення замовлення. |

Контейнер має мінімальну ширину 200px незалежно від `width`; за меншої ширини віджет не може коректно компонуватися.

## Налаштування оформлення замовлення

`client` приймає ті самі параметри, що й конструктор клієнта, тому оформлення замовлення, відкрите з віджета, можна стилізувати та змінювати його розмір так само, як і те, яке ви відкриваєте самостійно:

```js
window.entase.o.push({
  obj: 'OBJ_CODE',
  client: {
    checkoutMode: 'pane',
    pane: { width: '60vw' },
    backdrop: true,
    backdropColor: '#101014'
  }
});
```

Повний список дивіться в розділі [Параметри конструктора](/developers/js-client/constructor-options.md).

Є два застереження. `tprm` встановлюється самим віджетом на основі URL сторінки (див. нижче), тому передане тут значення замінюється. А коли кілька віджетів використовують одну сторінку, вони спільно використовують один екземпляр клієнта – діють параметри `client` останнього ініціалізованого віджета, тому для всіх віджетів на одній сторінці вони мають бути однаковими.

## Автоматичне пересилання параметрів кампанії

На відміну від окремого клієнта, віджет зчитує рядок запиту вашої сторінки та пересилає відомі параметри кампанії і до віджета, і до оформлення замовлення:

`sgm`, `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`, `utm_id`, `utm_source_platform`, `utm_creative_format`, `fbclid`

Для відвідувача, який перейшов на `yoursite.com/concert?utm_source=facebook&sgm=SOCIAL`, це джерело буде зафіксовано для будь-якого створеного замовлення без додаткового налаштування. Параметри поза цим списком ігноруються – щоб передавати власні параметри, відкривайте оформлення замовлення безпосередньо через клієнт і самостійно встановлюйте `tprm`. Дивіться [Відстеження та згода](/developers/js-client/tracking-and-consent.md).
