export enum EventSources { WEB = 'WEB', MWEB = 'MWEB', BE = 'BE', } export enum EventTypes { PAGE_VIEW = 'PAGE_VIEW', API_CALL = 'API_CALL', SCROLL = 'SCROLL', TRACKING = 'TRACKING', CUSTOM = 'CUSTOM', } export type SessionData = { source: EventSources; os?: string; timezone?: string; webVersion?: string; userAgent?: string; userIpV4?: string; // make sure this is v4 only userIpV6?: string; // make sure this is v6 only fbp?: string; // _fbp fbc?: string; // _fbc gclid?: string; ga4ClientID?: string; uaId?: string // Universal Analytics Cookie _ga }; export type UserInformation = { sessionId?: string; userId?: string; anonymousId?: string; isAnonymous?: boolean; sessionData?: SessionData; phoneNumber?: string; }; export type Url = { domain?: string; path?: string; query?: Record; type?: string; }; export type EventData = { category?: string; subcategory?: string; name?: string; [key: string]: any; }; export type EventLog = { eventId: string; userInformation: UserInformation; type: EventTypes; url?: Url; timestamp: string; //iso eventData: EventData; };