Zaključek nakupa vaši strani sporoča, kaj počne. Naročite se s on():
entase.on('checkout.ready', payload => {
console.log('checkout open for', payload.context.eventID);
});En poslušalec na ime dogodka
on() shrani en povratni klic za vsako ime dogodka. Če za isto ime registrirate drugi povratni klic, ta nadomesti prvega – ne doda se mu:
entase.on('checkout.closed', a);
entase.on('checkout.closed', b); // a is gone; only b runsoff() odstrani vse, kar je registrirano za določeno ime. Prezre vsak povratni klic, ki mu ga posredujete, zato off('checkout.closed', b) in off('checkout.closed') naredi isto.
Če se mora več delov vaše strani odzvati na isti dogodek, registrirajte en povratni klic in odzive razdelite znotraj njega.
Naročanje na več dogodkov hkrati
Obe metodi sprejmeta niz imen, ločenih s presledki, ali polje imen ter za vsako ime registrirata isti povratni klic:
entase.on('checkout.ready checkout.closed', payload => {
console.log(payload.name);
});
entase.off(['checkout.ready', 'checkout.closed']);Tovor podatkov
Vsak povratni klic prejme en objekt:
| Polje | Vrsta | Opis |
|---|---|---|
name | string | Ime dogodka, uporabno, kadar en povratni klic obravnava več dogodkov. |
context | object | Vsebuje eventID – dogodek, kateremu pripada ta zaključek nakupa. |
data | object | Podrobnosti, specifične za dogodek. |
Razpoložljivi dogodki
| Ime | Kdaj se sproži |
|---|---|
checkout.ready | Zaključek nakupa se je naložil in je pripravljen za interakcijo. Takrat odjemalec prevzame tudi clientContext, ki ste ga posredovali metodi book(). |
checkout.closed | Zaključek nakupa se je zaprl. Odjemalec odstrani ploščo ali okno in počisti ozadje. |
checkout.consent | Obiskovalec je odgovoril na obvestilo o pogojih. data.consent je true, ko jih sprejme, odjemalec pa si to zapomni, zato se korak naslednjič preskoči. |
entase.on('checkout.closed', () => {
document.body.classList.remove('checkout-open');
});
entase.on('checkout.consent', payload => {
if (payload.data.consent) console.log('terms accepted');
});Poslušalci ostanejo aktivni med posameznimi rezervacijami
Poslušalci pripadajo primerku, ne rezervaciji. Registrirajte jih enkrat po ustvarjanju odjemalca in veljali bodo za vsak klic book(). Za razlikovanje med rezervacijami uporabite payload.context.eventID:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
entase.on('checkout.closed', payload => {
refreshAvailability(payload.context.eventID);
});Klic destroy() ustavi vse – primerek v celoti preneha poslušati sporočila iz zaključka nakupa.
Sporočila iz drugih virov so prezrta
Odjemalec sprejema samo sporočila iz izvora zaključka nakupa Entase, zato nepovezan promet postMessage na vaši strani nikoli ne bo dosegel vaših povratnih klicev.