book() er metoden, der åbner checkout. Alt andet på klienten konfigurerer eller observerer den.
entase.book(eventID);
entase.book(eventID, options);eventID er identifikatoren for det planlagte event, der skal sælges billetter til. Det er det samme id, som bruges i dit events dele- og indlejringskoder.
Kaldet returnerer med det samme – det åbner panelet eller vinduet og venter ikke på, at den besøgende er færdig. Brug hændelser til at reagere på, hvad der sker derefter.
Indstillinger
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
checkoutMode | string | instansværdi | 'pane' eller 'popup' kun for denne booking. |
clientContext | object | null | Vilkårlige data, der overleveres til checkout, når den er klar. Se nedenfor. |
collectConsent | boolean | instansværdi | Om den besøgende skal blive bedt om at acceptere meddelelsen om vilkår. |
backdrop | boolean | instansværdi | Om siden bag checkout skal nedtones. |
backdropColor | string | instansværdi | Farven på det nedtonede område. |
pane | object | instansværdi | { width, height } for det indlejrede panel. |
popup | object | instansværdi | { width, height } for pop op-vinduet. |
Alt, hvad du udelader, falder tilbage til den værdi, instansen blev oprettet med, så indstillinger pr. kald er tilføjelser frem for et erstatningssæt.
entase.book('EVENT_ID', {
pane: { width: '60vw' },
backdrop: false,
clientContext: { source: 'homepage-hero' }
});Klientkontekst
clientContext er et objekt, du selv definerer. Klienten opbevarer det, indtil checkout signalerer, at den er klar, og overleverer det derefter. Brug det til at føre oplysninger, som kun din side kender – hvilken knap der blev klikket på, hvilken kampagne en besøgende kom via, en intern kundereference – videre til checkoutsessionen.
Konteksten gemmes pr. event-id, så booking af to forskellige events fra samme side holder deres kontekster adskilt.
Læg ikke følsomme oplysninger i den. Den sendes til checkout gennem browseren og er synlig for alle, der inspicerer siden.
Åbning af flere events fra én side
Én instans håndterer et vilkårligt antal events. Opret den én gang, og send et andet id hver gang:
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 }
});
});
});Efter at klienten er ødelagt
Et kald til book() på en instans, som du allerede har ødelagt, skriver en fejl i konsollen og åbner intet. Det er med vilje – en ødelagt instans lytter ikke længere efter beskeder fra checkout, så vinduet, den åbnede, kunne hverken lukkes eller observeres. Opret i stedet en ny instans.
Lukning af checkout
Den besøgende lukker selv checkout: Escape eller et klik på det nedtonede område i paneltilstand, vindueskontrollerne i pop op-tilstand. Checkout lukker også sig selv, når en booking er gennemført.
Der findes ingen offentlig metode til at lukke den fra din kode. Hvis du har brug for at vide, hvornår den blev lukket, skal du lytte efter hændelsen checkout.closed.