book() je metóda, ktorá otvára checkout. Všetko ostatné na klientovi ho konfiguruje alebo sleduje.
entase.book(eventID);
entase.book(eventID, options);eventID je identifikátor plánovaného podujatia, pre ktoré chcete predávať vstupenky. Ide o rovnaké ID, aké sa používa v kódoch na zdieľanie a vloženie vášho podujatia.
Volanie sa vráti okamžite – otvorí panel alebo okno a nečaká, kým návštevník dokončí proces. Ak chcete reagovať na to, čo sa stane ďalej, použite udalosti.
Možnosti
| Názov | Typ | Predvolené | Popis |
|---|---|---|---|
checkoutMode | reťazec | hodnota inštancie | 'pane' alebo 'popup' iba pre túto rezerváciu. |
clientContext | objekt | null | Ľubovoľné údaje odovzdané checkoutu, keď bude pripravený. Pozrite nižšie. |
collectConsent | boolean | hodnota inštancie | Či požiadať návštevníka o prijatie oznámenia o podmienkach. |
backdrop | boolean | hodnota inštancie | Či stmaviť stránku za checkoutom. |
backdropColor | reťazec | hodnota inštancie | Farba stmavenej oblasti. |
pane | objekt | hodnota inštancie | { width, height } pre vložený panel. |
popup | objekt | hodnota inštancie | { width, height } pre vyskakovacie okno. |
Všetko, čo neuvediete, použije hodnotu, s ktorou bola inštancia vytvorená, takže možnosti pre jednotlivé volania sa pridávajú, nie sú úplnou náhradou.
entase.book('EVENT_ID', {
pane: { width: '60vw' },
backdrop: false,
clientContext: { source: 'homepage-hero' }
});Kontext klienta
clientContext je objekt podľa vášho vlastného návrhu. Klient ho uchováva, kým checkout neoznámi, že je pripravený, a potom ho odovzdá. Použite ho na prenos informácií, ktoré pozná iba vaša stránka – na ktoré tlačidlo sa kliklo, z ktorej kampane návštevník prišiel, interný odkaz na zákazníka – do relácie checkoutu.
Kontext sa ukladá pre každé ID podujatia samostatne, takže pri rezervácii dvoch rôznych podujatí z tej istej stránky zostanú ich kontexty oddelené.
Nevkladajte doň nič citlivé. Do checkoutu sa prenáša cez prehliadač a je viditeľný pre každého, kto stránku skúma.
Otvorenie viacerých podujatí z jednej stránky
Jedna inštancia spracuje ľubovoľný počet podujatí. Vytvorte ju raz a zakaždým jej odovzdajte iné ID:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
document.querySelectorAll('[data-event-id]').forEach(button => {
button.addEventListener('click', () => {
entase.book(button.dataset.eventId, {
clientContext: { source: button.dataset.source }
});
});
});Po zničení klienta
Volanie book() na inštancii, ktorú ste už zničili, zaznamená chybu do konzoly a nič neotvorí. Je to zámerné – zničená inštancia už nepočúva správy z checkoutu, takže okno, ktoré otvorila, by nebolo možné zavrieť ani sledovať. Namiesto toho vytvorte novú inštanciu.
Zatvorenie checkoutu
Checkout zatvára samotný návštevník: klávesom Escape alebo kliknutím na stmavenú oblasť v režime panela, ovládacími prvkami okna v režime vyskakovacieho okna. Checkout sa zatvorí aj sám po dokončení rezervácie.
Neexistuje verejná metóda na jeho zatvorenie z vášho kódu. Ak potrebujete vedieť, kedy sa zatvoril, počúvajte udalosť checkout.closed.