@builtonveya/analytics-web 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Veya Analytics SDK - Core
3
+ * Platform-agnostic core that works on Web and React Native
4
+ *
5
+ * @version 4.0.0
6
+ */
7
+ export interface VeyaConfig {
8
+ tenantSlug?: string;
9
+ tenantId?: string;
10
+ storeId?: string;
11
+ storeName?: string;
12
+ endpoint?: string;
13
+ aiEndpoint?: string;
14
+ batchSize?: number;
15
+ flushInterval?: number;
16
+ sessionTimeout?: number;
17
+ debug?: boolean;
18
+ autoDetect?: boolean;
19
+ autoTrackProducts?: boolean;
20
+ autoTrackCart?: boolean;
21
+ interceptOloApi?: boolean;
22
+ useAiClassification?: boolean;
23
+ confidenceThreshold?: number;
24
+ platform?: 'web' | 'ios' | 'android';
25
+ }
26
+ export interface Product {
27
+ id?: string;
28
+ product_id?: string;
29
+ name?: string;
30
+ product_name?: string;
31
+ category?: string;
32
+ price?: number;
33
+ quantity?: number;
34
+ [key: string]: any;
35
+ }
36
+ export interface CartState {
37
+ items: Product[];
38
+ itemCount: number;
39
+ total: number;
40
+ }
41
+ export interface Order {
42
+ id?: string;
43
+ order_id?: string;
44
+ olo_order_id?: string;
45
+ total?: number;
46
+ subtotal?: number;
47
+ tax?: number;
48
+ tip?: number;
49
+ itemCount?: number;
50
+ item_count?: number;
51
+ orderType?: string;
52
+ order_type?: string;
53
+ paymentMethod?: string;
54
+ payment_method?: string;
55
+ [key: string]: any;
56
+ }
57
+ export interface SessionData {
58
+ is_logged_in: boolean;
59
+ login_method: string | null;
60
+ logged_in_at: string | null;
61
+ login_funnel_step: string | null;
62
+ experiment_assignments: Record<string, string>;
63
+ }
64
+ export interface DeviceInfo {
65
+ device_type: string;
66
+ platform: string;
67
+ os: string;
68
+ os_version?: string;
69
+ app_version?: string;
70
+ screen_width: number;
71
+ screen_height: number;
72
+ language: string;
73
+ timezone: string;
74
+ }
75
+ export interface Event {
76
+ event_id: string;
77
+ event_name: string;
78
+ event_category?: string;
79
+ event_timestamp: string;
80
+ tenant_id: string;
81
+ tenant_slug: string;
82
+ session_id: string;
83
+ visitor_id: string;
84
+ customer_id?: string;
85
+ store_id?: string;
86
+ store_name?: string;
87
+ page_url?: string;
88
+ page_title?: string;
89
+ page_type?: string;
90
+ screen_name?: string;
91
+ referrer?: string;
92
+ device_type?: string;
93
+ platform?: string;
94
+ os?: string;
95
+ os_version?: string;
96
+ app_version?: string;
97
+ screen_width?: number;
98
+ screen_height?: number;
99
+ language?: string;
100
+ timezone?: string;
101
+ utm_source?: string;
102
+ utm_medium?: string;
103
+ utm_campaign?: string;
104
+ utm_term?: string;
105
+ utm_content?: string;
106
+ is_logged_in?: boolean;
107
+ login_method?: string;
108
+ funnel_step?: string;
109
+ funnel_step_number?: number;
110
+ cart_value?: number;
111
+ cart_item_count?: number;
112
+ experiment_assignments?: Record<string, string>;
113
+ properties?: Record<string, any>;
114
+ }
115
+ export interface StorageAdapter {
116
+ getItem(key: string): Promise<string | null>;
117
+ setItem(key: string, value: string): Promise<void>;
118
+ removeItem(key: string): Promise<void>;
119
+ }
120
+ export declare function generateUUID(): string;
121
+ export declare function getTimestamp(): string;
122
+ export declare class VeyaAnalyticsCore {
123
+ protected config: Required<VeyaConfig>;
124
+ protected initialized: boolean;
125
+ protected eventQueue: Event[];
126
+ protected flushTimer: any;
127
+ protected sessionId: string;
128
+ protected visitorId: string;
129
+ protected customerId: string | null;
130
+ protected sessionData: SessionData;
131
+ protected cartState: CartState;
132
+ protected deviceInfo: DeviceInfo | null;
133
+ protected currentScreenName: string;
134
+ protected currentPageType: string;
135
+ protected currentFunnelStep: {
136
+ name: string;
137
+ number: number;
138
+ } | null;
139
+ protected storage: StorageAdapter | null;
140
+ constructor();
141
+ init(options: VeyaConfig): Promise<this>;
142
+ protected initVisitor(): Promise<void>;
143
+ protected initSession(): Promise<void>;
144
+ protected saveSession(): Promise<void>;
145
+ protected getDeviceInfo(): Promise<DeviceInfo>;
146
+ track(eventName: string, properties?: Record<string, any>): this;
147
+ protected buildEvent(eventName: string, properties: Record<string, any>): Event;
148
+ protected inferCategory(eventName: string): string;
149
+ protected sanitizeProperties(properties: Record<string, any>): Record<string, any>;
150
+ protected trackSessionStart(): void;
151
+ trackSessionEnd(): void;
152
+ screenView(screenName: string, properties?: Record<string, any>): this;
153
+ pageView(properties?: Record<string, any>): this;
154
+ protected inferPageType(screenName: string): string;
155
+ protected updateFunnelStep(pageType: string): void;
156
+ productView(product: Product, properties?: Record<string, any>): this;
157
+ productClick(product: Product, properties?: Record<string, any>): this;
158
+ addToCart(product: Product, quantity?: number, properties?: Record<string, any>): this;
159
+ removeFromCart(product: Product, quantity?: number, properties?: Record<string, any>): this;
160
+ updateCartQuantity(product: Product, oldQuantity: number, newQuantity: number): this;
161
+ setCart(cart: Partial<CartState>): this;
162
+ viewCart(properties?: Record<string, any>): this;
163
+ checkoutStart(properties?: Record<string, any>): this;
164
+ checkoutStep(step: string, properties?: Record<string, any>): this;
165
+ checkoutComplete(order: Order, properties?: Record<string, any>): this;
166
+ loginAttempt(method: string, properties?: Record<string, any>): this;
167
+ loginSuccess(method: string, customerId?: string, properties?: Record<string, any>): this;
168
+ loginFailure(method: string, error?: string, properties?: Record<string, any>): this;
169
+ logout(properties?: Record<string, any>): this;
170
+ identify(customerId: string, traits?: Record<string, any>): this;
171
+ storeSelect(store: {
172
+ id?: string;
173
+ store_id?: string;
174
+ name?: string;
175
+ store_name?: string;
176
+ }, properties?: Record<string, any>): this;
177
+ setStore(storeId: string, storeName?: string): this;
178
+ search(query: string, resultCount?: number, properties?: Record<string, any>): this;
179
+ loyaltyLogin(customer: {
180
+ id?: string;
181
+ customer_id?: string;
182
+ tier?: string;
183
+ points?: number;
184
+ }, properties?: Record<string, any>): this;
185
+ rewardView(reward: {
186
+ id: string;
187
+ name: string;
188
+ value?: number;
189
+ points_required?: number;
190
+ }, properties?: Record<string, any>): this;
191
+ rewardApply(reward: {
192
+ id: string;
193
+ name: string;
194
+ value?: number;
195
+ points_used?: number;
196
+ }, properties?: Record<string, any>): this;
197
+ rewardRemove(reward: {
198
+ id: string;
199
+ name: string;
200
+ }, properties?: Record<string, any>): this;
201
+ promoApply(promo: {
202
+ code: string;
203
+ discount?: number;
204
+ success: boolean;
205
+ error?: string;
206
+ }, properties?: Record<string, any>): this;
207
+ promoRemove(promoCode: string, properties?: Record<string, any>): this;
208
+ setExperiment(experimentKey: string, variantKey: string): this;
209
+ error(errorType: string, errorMessage: string, context?: Record<string, any>): this;
210
+ protected queueEvent(event: Event): void;
211
+ protected startFlushTimer(): void;
212
+ flush(sync?: boolean): Promise<void>;
213
+ getSessionId(): string;
214
+ getVisitorId(): string;
215
+ getCustomerId(): string | null;
216
+ isLoggedIn(): boolean;
217
+ protected log(level: string, message: string, data?: any): void;
218
+ destroy(): void;
219
+ }
220
+ export default VeyaAnalyticsCore;
221
+ //# sourceMappingURL=VeyaAnalyticsCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VeyaAnalyticsCore.d.ts","sourceRoot":"","sources":["../../../../core/VeyaAnalyticsCore.ts"],"names":[],"mappings":"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"}