UNPKG

@causalfoundry/js-sdk

Version:

Causal Foundry WEB SDK (JS/TS)

154 lines (153 loc) 3.36 kB
import { CurrencyCode } from "../../core/commonTypes"; export declare enum LoyaltyTypes { Survey = "survey", Reward = "reward", Level = "level", Milestone = "milestone", Promo = "promo" } export declare enum PromoAction { Apply = "apply", View = "view", Other = "other" } export declare enum PromoType { AddToCart = "add_to_cart", Coupon = "coupon", Other = "other" } export declare enum PromoItemType { Blood = "blood", Book = "book", Clothing = "clothing", Drug = "drug", Grocery = "grocery", Electronics = "electronics", Misc = "misc", Oxygen = "oxygen", Subscription = "subscription", Facility = "facility", Other = "other" } export declare enum SurveyType { OpenEnded = "open_ended", ClosedEnded = "closed_ended", Nominal = "nominal", LikertScale = "likert_scale", RatingScale = "rating_scale", YesNo = "yes_no", Interview = "interview", Other = "other" } export declare enum SurveyAction { View = "view", Impression = "impression", Start = "start", Submit = "submit", Other = "other" } export declare enum RewardAction { View = "view", Add = "add", Redeem = "redeem", Other = "other" } export declare enum RedeemType { Cash = "cash", Airtime = "airtime", Other = "other" } export interface PromoItem { id: string; type: PromoItemType; } export interface SurveyObject { id: string; type: SurveyType; is_completed: boolean; reward_id?: string; } export interface ResponseObject { id: string; type: SurveyType; question: string; response?: string; } export interface RedeemObject { type: RedeemType; is_successful: boolean; points_withdrawn: number; converted_value: number; currency?: CurrencyCode; } export interface PromoProperties { id: string; action: PromoAction; items: PromoItem[]; title: string; type: PromoType; meta?: any; } export interface LevelProperties { prev_level: number; new_level: number; module_id?: string; meta?: any; } export declare enum MilestoneAction { Achieved = "achieved", Other = "other" } export interface MilestoneProperties { id: string; action: MilestoneAction; meta?: any; } export interface SurveyProperties { action: SurveyAction; survey: SurveyObject; response: Array<ResponseObject>; meta?: any; } export interface RewardProperties { id: string; action: RewardAction; acc_points?: number; total_points: number; redeem?: RedeemObject; meta?: any; } export interface SurveyCatalog { name: string; description?: string; type: string; duration?: number; organization_id?: string; organization_name?: string; questions_list: Array<string>; reward_id: string; creation_date?: string; expiry_date?: string; } /** * @internal */ export interface InternalSurveyCatalog extends SurveyCatalog { id: string; } export interface RewardCatalog { name: string; description?: string; type: string; required_points: number; creation_date?: string; expiry_date?: string; organization_id?: string; organization_name?: string; } /** * @internal */ export interface InternalRewardCatalog extends RewardCatalog { id: string; }