Personalization Data & Events
The Personalization drop-in uses the event bus to emit and listen to events for communication between drop-ins and external integrations.
Events reference
Section titled “Events reference”| Event | Direction | Description |
|---|---|---|
| cart/initialized | Listens | Fired by Cart (cart) when the component completes initialization. |
| cart/updated | Listens | Fired by Cart (cart) when the component state is updated. |
| order/placed | Listens | Fired by Order (order) when an order is placed. |
| personalization/updated | Emits and listens | Triggered when the component state is updated. |
Event details
Section titled “Event details”The following sections provide detailed information about each event, including its direction, event payload, and usage examples.
cart/initialized (listens)
Section titled “cart/initialized (listens)”Fired by Cart (cart) when the component completes initialization.
Event payload
Section titled “Event payload”CartModel | nullSee CartModel for full type definition.
Example
Section titled “Example”import { events } from '@dropins/tools/event-bus.js';
events.on('cart/initialized', (payload) => { console.log('cart/initialized event received:', payload); // Add your custom logic here});cart/updated (listens)
Section titled “cart/updated (listens)”Fired by Cart (cart) when the component state is updated.
Event payload
Section titled “Event payload”CartModel | nullSee CartModel for full type definition.
Example
Section titled “Example”import { events } from '@dropins/tools/event-bus.js';
events.on('cart/updated', (payload) => { console.log('cart/updated event received:', payload); // Add your custom logic here});order/placed (listens)
Section titled “order/placed (listens)”Fired by Order (order) when an order is placed.
Event payload
Section titled “Event payload”OrderDataModelSee OrderDataModel for full type definition.
Example
Section titled “Example”import { events } from '@dropins/tools/event-bus.js';
events.on('order/placed', (payload) => { console.log('order/placed event received:', payload); // Add your custom logic here});personalization/updated (emits and listens)
Section titled “personalization/updated (emits and listens)”Triggered when the component state is updated.
Event payload
Section titled “Event payload”PersonalizationData,'personalization/type-matched': string,'cart/initialized': CartModel | nullSee PersonalizationData, CartModel for full type definitions.
Example
Section titled “Example”import { events } from '@dropins/tools/event-bus.js';
events.on('personalization/updated', (payload) => { console.log('personalization/updated event received:', payload); // Add your custom logic here});Data Models
Section titled “Data Models”The following data models are used in event payloads for this drop-in.
CartModel
Section titled “CartModel”Used in: cart/initialized, cart/updated, personalization/updated.
interface CartModel { id: string;}OrderDataModel
Section titled “OrderDataModel”Used in: order/placed.
interface OrderDataModel { id: string;}PersonalizationData
Section titled “PersonalizationData”Used in: personalization/updated.
interface PersonalizationData { segments: string[], groups: string[], cartRules: string[]}