tracker-api
Version:
A comprehensive JavaScript/TypeScript library for user behavior tracking and analytics
51 lines • 1.98 kB
TypeScript
import { BaseClient } from "./base-client";
import { EventData, EventQuery, TrackingResponse, APIResponse } from "./types";
export declare class TrackingClient extends BaseClient {
private eventQueue;
private batchTimer;
private batchSize;
private batchTimeout;
visitorId: string | null;
constructor(options?: any);
/**
* Track a single event
*/
trackEvent(eventData: EventData, immediate?: boolean): Promise<TrackingResponse>;
/**
* Track multiple events at once
*/
trackBatch(events: EventData[]): Promise<TrackingResponse>;
/**
* Flush the event queue
*/
flush(): Promise<TrackingResponse>;
/**
* Check tracking health
*/
healthCheck(): Promise<APIResponse>;
/**
* Get events by date range
*/
getEvents(token: string, query: EventQuery): Promise<APIResponse>;
/**
* Get events by user
*/
getEventsByUser(token: string, userId: string): Promise<APIResponse>;
/**
* Get events by session
*/
getEventsBySession(token: string, sessionId: string): Promise<APIResponse>;
/**
* Get daily event statistics
*/
getDailyStats(token: string, date: string, websiteId?: string): Promise<APIResponse>;
/**
* Get top pages
*/
getTopPages(token: string, websiteId?: string, limit?: number): Promise<APIResponse>;
trackPageView(pageUrl: string, sessionId?: string, metadata?: Record<string, any>): Promise<TrackingResponse>;
trackClick(elementType: string, pageUrl: string, elementId?: string, sessionId?: string, metadata?: Record<string, any>): Promise<TrackingResponse>;
trackScroll(pageUrl: string, scrollPercentage: number, sessionId?: string, metadata?: Record<string, any>): Promise<TrackingResponse>;
trackCustomEvent(eventType: string, pageUrl: string, sessionId?: string, metadata?: Record<string, any>): Promise<TrackingResponse>;
}
//# sourceMappingURL=tracking-client.d.ts.map