@mediarithmics/plugins-nodejs-sdk
Version:
This is the mediarithmics nodejs to help plugin developers bootstrapping their plugin without having to deal with most of the plugin boilerplate
66 lines (65 loc) • 1.96 kB
TypeScript
export declare type UserActivityTypeEnum = "SITE_VISIT" | "APP_VISIT" | "TOUCH" | "EMAIL" | "DISPLAY_AD" | "RECOMMENDER";
export declare type UserActivitySessionStatusEnum = "NO_SESSION" | "IN_SESSION" | "CLOSED_SESSION" | "SESSION_SNAPSHOT";
export declare type LocationSourceEnum = 'GPS' | 'IP' | 'OTHER';
export interface EmailHash {
hash: string;
email?: string;
}
export interface UserActivity {
$ts?: number;
$type: UserActivityTypeEnum;
$session_status: UserActivitySessionStatusEnum;
$ttl?: number;
$user_agent_id?: string;
$user_account_id?: string;
$email_hash?: EmailHash;
$origin?: UserActivityOrigin;
$location?: UserActivityLocation;
$events: UserActivityEvent[];
[propsName: string]: any;
}
export interface UserVisitActivity extends UserActivity {
$session_duration?: number;
$topics?: Map<string, Map<string, number>>;
$site_id?: string;
$app_id?: string;
}
export interface UserActivityOrigin {
$campaign_id?: number;
$campaign_name?: string;
$channel?: string;
$creative_id?: number;
$creative_name?: string;
$engagement_content_id?: string;
$gclid?: string;
$keywords?: string;
$log_id?: string;
$message_id?: number;
$message_technical_name?: string;
$referral_path?: string;
$social_network?: string;
$source?: string;
$sub_campaign_id?: number;
$sub_campaign_technical_name?: string;
$ts?: number;
[propsName: string]: any;
}
export interface UserActivityLocation {
$source?: LocationSourceEnum;
$country?: string;
$region?: string;
$iso_region?: string;
$city?: string;
$iso_city?: string;
$zip_code?: string;
$latlon: number[];
[propsName: string]: any;
}
export interface UserActivityEvent {
$ts: number;
$event_name: string;
$properties: UserActivityEventProperty;
}
export interface UserActivityEventProperty {
[propsName: string]: any;
}