glitch-javascript-sdk 1.8.4 → 1.8.6
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.
- package/dist/cjs/index.js +232 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/api/Ads.d.ts +17 -0
- package/dist/esm/api/Fingerprinting.d.ts +132 -0
- package/dist/esm/api/index.d.ts +2 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +232 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/routes/FingerprintingRoute.d.ts +7 -0
- package/dist/index.d.ts +148 -0
- package/package.json +1 -1
- package/src/api/Ads.ts +119 -79
- package/src/api/Fingerprinting.ts +215 -0
- package/src/api/index.ts +3 -1
- package/src/index.ts +3 -1
- package/src/routes/AdsRoute.ts +9 -0
- package/src/routes/FingerprintingRoute.ts +49 -0
package/dist/index.d.ts
CHANGED
|
@@ -893,6 +893,23 @@ declare class Ads {
|
|
|
893
893
|
* GET /ads/reddit/targeting/third_party_audiences
|
|
894
894
|
*/
|
|
895
895
|
static listRedditThirdPartyAudiences<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
|
|
896
|
+
/**
|
|
897
|
+
* Sync an Ad Campaign with the remote platform
|
|
898
|
+
*
|
|
899
|
+
* @param campaign_id The UUID of the campaign to sync
|
|
900
|
+
* @param params Optional query parameters
|
|
901
|
+
* @returns The synced AdCampaign resource
|
|
902
|
+
*/
|
|
903
|
+
static syncCampaign<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
|
|
904
|
+
/**
|
|
905
|
+
* Sync an Ad Group with the remote platform
|
|
906
|
+
*
|
|
907
|
+
* @param campaign_id The UUID of the parent campaign
|
|
908
|
+
* @param group_id The UUID of the ad group to sync
|
|
909
|
+
* @param params Optional query parameters
|
|
910
|
+
* @returns The synced AdGroup resource
|
|
911
|
+
*/
|
|
912
|
+
static syncGroup<T>(campaign_id: string, group_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
|
|
896
913
|
}
|
|
897
914
|
|
|
898
915
|
declare class Communities {
|
|
@@ -2270,6 +2287,136 @@ declare class Events {
|
|
|
2270
2287
|
static getStreamViewCounts<T>(event_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2271
2288
|
}
|
|
2272
2289
|
|
|
2290
|
+
declare class Fingerprinting {
|
|
2291
|
+
/**
|
|
2292
|
+
* List identified user fingerprints with filtering options
|
|
2293
|
+
*
|
|
2294
|
+
* @param params Filtering options:
|
|
2295
|
+
* - title_id?: string - Filter by title ID
|
|
2296
|
+
* - device_id?: string - Filter by device ID
|
|
2297
|
+
* - user_install_id?: string - Filter by user install ID
|
|
2298
|
+
* - browser_fingerprint?: string - Filter by browser fingerprint hash
|
|
2299
|
+
* - device_fingerprint?: string - Filter by device fingerprint hash
|
|
2300
|
+
* - is_bot?: boolean - Filter by bot status
|
|
2301
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2302
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2303
|
+
* - sort?: 'first_seen_at'|'last_seen_at'|'match_confidence' - Sort field
|
|
2304
|
+
* - order?: 'asc'|'desc' - Sort order
|
|
2305
|
+
* - per_page?: number - Items per page (max 100)
|
|
2306
|
+
* @returns Promise with paginated fingerprints data
|
|
2307
|
+
*/
|
|
2308
|
+
static listFingerprints<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2309
|
+
/**
|
|
2310
|
+
* Get cross-platform user journey reports
|
|
2311
|
+
*
|
|
2312
|
+
* @param params Report options:
|
|
2313
|
+
* - title_id: string - Required title ID
|
|
2314
|
+
* - fingerprint_id?: string - Specific fingerprint ID to analyze
|
|
2315
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2316
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2317
|
+
* - platform?: 'web'|'ios'|'android'|'steam'|'console' - Filter by platform
|
|
2318
|
+
* - event_type?: string - Filter by event type
|
|
2319
|
+
* - group_by?: 'day'|'week'|'month'|'year' - Grouping period
|
|
2320
|
+
* - include_paths?: boolean - Include journey paths in response
|
|
2321
|
+
* @returns Promise with user journey report data
|
|
2322
|
+
*/
|
|
2323
|
+
static userJourneyReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2324
|
+
/**
|
|
2325
|
+
* Get cross-platform attribution reports
|
|
2326
|
+
*
|
|
2327
|
+
* @param params Report options:
|
|
2328
|
+
* - title_id: string - Required title ID
|
|
2329
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2330
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2331
|
+
* - conversion_event?: 'game_install'|'game_purchase'|'web_event' - Conversion event to analyze
|
|
2332
|
+
* - attribution_model?: 'first_touch'|'last_touch'|'linear'|'time_decay'|'position_based' - Attribution model
|
|
2333
|
+
* @returns Promise with attribution report data
|
|
2334
|
+
*/
|
|
2335
|
+
static attributionReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2336
|
+
/**
|
|
2337
|
+
* Get cross-device identity clusters
|
|
2338
|
+
*
|
|
2339
|
+
* @param params Report options:
|
|
2340
|
+
* - title_id: string - Required title ID
|
|
2341
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2342
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2343
|
+
* - min_confidence?: number - Minimum match confidence score (0-100)
|
|
2344
|
+
* @returns Promise with device cluster report data
|
|
2345
|
+
*/
|
|
2346
|
+
static deviceClusterReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2347
|
+
/**
|
|
2348
|
+
* Get combined identity clusters and user journey reports
|
|
2349
|
+
*
|
|
2350
|
+
* @param params Report options:
|
|
2351
|
+
* - title_id: string - Required title ID
|
|
2352
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2353
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2354
|
+
* - min_confidence?: number - Minimum confidence score to include (0-100)
|
|
2355
|
+
* - platform?: string - Filter by platform
|
|
2356
|
+
* - include_journeys?: boolean - Include detailed journeys
|
|
2357
|
+
* @returns Promise with identity cluster report data
|
|
2358
|
+
*/
|
|
2359
|
+
static identityClusterReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2360
|
+
/**
|
|
2361
|
+
* Get combined attribution paths and conversion funnels
|
|
2362
|
+
*
|
|
2363
|
+
* @param params Report options:
|
|
2364
|
+
* - title_id: string - Required title ID
|
|
2365
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2366
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2367
|
+
* - conversion_event?: string - Conversion event type
|
|
2368
|
+
* - attribution_model?: string - Attribution model
|
|
2369
|
+
* - funnel_steps?: string - Comma-separated funnel steps
|
|
2370
|
+
* @returns Promise with attribution and funnel report data
|
|
2371
|
+
*/
|
|
2372
|
+
static attributionFunnelReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2373
|
+
/**
|
|
2374
|
+
* Get device and environment breakdown reports
|
|
2375
|
+
*
|
|
2376
|
+
* @param params Report options:
|
|
2377
|
+
* - title_id: string - Required title ID
|
|
2378
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2379
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2380
|
+
* - platform?: string - Filter by platform
|
|
2381
|
+
* - group_by?: 'device_type'|'os'|'browser'|'country_code' - Grouping field
|
|
2382
|
+
* @returns Promise with device and environment report data
|
|
2383
|
+
*/
|
|
2384
|
+
static deviceEnvironmentReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2385
|
+
/**
|
|
2386
|
+
* Get unique vs returning user metrics
|
|
2387
|
+
*
|
|
2388
|
+
* @param params Report options:
|
|
2389
|
+
* - title_id: string - Required title ID
|
|
2390
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2391
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2392
|
+
* - retention_period?: number - Days to consider for retention
|
|
2393
|
+
* @returns Promise with retention metrics data
|
|
2394
|
+
*/
|
|
2395
|
+
static uniqueReturningReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2396
|
+
/**
|
|
2397
|
+
* Get fraud and bot detection metrics
|
|
2398
|
+
*
|
|
2399
|
+
* @param params Report options:
|
|
2400
|
+
* - title_id: string - Required title ID
|
|
2401
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2402
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2403
|
+
* - min_confidence?: number - Minimum confidence score to flag (0-100)
|
|
2404
|
+
* @returns Promise with fraud detection data
|
|
2405
|
+
*/
|
|
2406
|
+
static fraudDetectionReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2407
|
+
/**
|
|
2408
|
+
* Get geolocation distribution of users
|
|
2409
|
+
*
|
|
2410
|
+
* @param params Report options:
|
|
2411
|
+
* - title_id: string - Required title ID
|
|
2412
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
2413
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
2414
|
+
* - group_by?: 'country'|'region'|'city' - Grouping level
|
|
2415
|
+
* @returns Promise with geolocation report data
|
|
2416
|
+
*/
|
|
2417
|
+
static geolocationReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
2418
|
+
}
|
|
2419
|
+
|
|
2273
2420
|
declare class Teams {
|
|
2274
2421
|
/**
|
|
2275
2422
|
* List all the teams
|
|
@@ -5510,6 +5657,7 @@ declare class Glitch {
|
|
|
5510
5657
|
Funnel: typeof Funnel;
|
|
5511
5658
|
SocialStats: typeof SocialStats;
|
|
5512
5659
|
WebsiteAnalytics: typeof WebsiteAnalytics;
|
|
5660
|
+
Fingerprinting: typeof Fingerprinting;
|
|
5513
5661
|
};
|
|
5514
5662
|
static util: {
|
|
5515
5663
|
Requests: typeof Requests;
|
package/package.json
CHANGED
package/src/api/Ads.ts
CHANGED
|
@@ -480,86 +480,126 @@ class Ads {
|
|
|
480
480
|
* Example usage:
|
|
481
481
|
* Ads.listRedditCarriers({ scheduler_id: 'uuid-of-scheduler', 'page.size': 50 })
|
|
482
482
|
*/
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
483
|
+
public static listRedditCarriers<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
|
|
484
|
+
return Requests.processRoute(
|
|
485
|
+
AdsRoute.routes.getRedditCarriers,
|
|
486
|
+
undefined,
|
|
487
|
+
undefined,
|
|
488
|
+
params
|
|
489
|
+
);
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* GET /ads/reddit/targeting/communities?names=sub1,sub2
|
|
494
|
+
*/
|
|
495
|
+
public static listRedditCommunities<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
|
|
496
|
+
return Requests.processRoute(
|
|
497
|
+
AdsRoute.routes.getRedditCommunities,
|
|
498
|
+
undefined,
|
|
499
|
+
undefined,
|
|
500
|
+
params
|
|
501
|
+
);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
/**
|
|
505
|
+
* GET /ads/reddit/targeting/communities/search?query=xyz
|
|
506
|
+
*/
|
|
507
|
+
public static searchRedditCommunities<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
|
|
508
|
+
return Requests.processRoute(
|
|
509
|
+
AdsRoute.routes.searchRedditCommunities,
|
|
510
|
+
undefined,
|
|
511
|
+
undefined,
|
|
512
|
+
params
|
|
513
|
+
);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* GET /ads/reddit/targeting/devices
|
|
518
|
+
*/
|
|
519
|
+
public static listRedditDevices<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
|
|
520
|
+
return Requests.processRoute(
|
|
521
|
+
AdsRoute.routes.getRedditDevices,
|
|
522
|
+
undefined,
|
|
523
|
+
undefined,
|
|
524
|
+
params
|
|
525
|
+
);
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* GET /ads/reddit/targeting/geolocations
|
|
530
|
+
*/
|
|
531
|
+
public static listRedditGeolocations<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
|
|
532
|
+
return Requests.processRoute(
|
|
533
|
+
AdsRoute.routes.getRedditGeolocations,
|
|
534
|
+
undefined,
|
|
535
|
+
undefined,
|
|
536
|
+
params
|
|
537
|
+
);
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
/**
|
|
541
|
+
* GET /ads/reddit/targeting/interests
|
|
542
|
+
*/
|
|
543
|
+
public static listRedditInterests<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
|
|
544
|
+
return Requests.processRoute(
|
|
545
|
+
AdsRoute.routes.getRedditInterests,
|
|
546
|
+
undefined,
|
|
547
|
+
undefined,
|
|
548
|
+
params
|
|
549
|
+
);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* GET /ads/reddit/targeting/third_party_audiences
|
|
554
|
+
*/
|
|
555
|
+
public static listRedditThirdPartyAudiences<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
|
|
556
|
+
return Requests.processRoute(
|
|
557
|
+
AdsRoute.routes.getRedditThirdPartyAudiences,
|
|
558
|
+
undefined,
|
|
559
|
+
undefined,
|
|
560
|
+
params
|
|
561
|
+
);
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* Sync an Ad Campaign with the remote platform
|
|
566
|
+
*
|
|
567
|
+
* @param campaign_id The UUID of the campaign to sync
|
|
568
|
+
* @param params Optional query parameters
|
|
569
|
+
* @returns The synced AdCampaign resource
|
|
554
570
|
*/
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
571
|
+
public static syncCampaign<T>(
|
|
572
|
+
campaign_id: string,
|
|
573
|
+
params?: Record<string, any>
|
|
574
|
+
): AxiosPromise<Response<T>> {
|
|
575
|
+
return Requests.processRoute(
|
|
576
|
+
AdsRoute.routes.syncCampaign,
|
|
577
|
+
undefined,
|
|
578
|
+
{ campaign_id },
|
|
579
|
+
params
|
|
580
|
+
);
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Sync an Ad Group with the remote platform
|
|
585
|
+
*
|
|
586
|
+
* @param campaign_id The UUID of the parent campaign
|
|
587
|
+
* @param group_id The UUID of the ad group to sync
|
|
588
|
+
* @param params Optional query parameters
|
|
589
|
+
* @returns The synced AdGroup resource
|
|
590
|
+
*/
|
|
591
|
+
public static syncGroup<T>(
|
|
592
|
+
campaign_id: string,
|
|
593
|
+
group_id: string,
|
|
594
|
+
params?: Record<string, any>
|
|
595
|
+
): AxiosPromise<Response<T>> {
|
|
596
|
+
return Requests.processRoute(
|
|
597
|
+
AdsRoute.routes.syncGroup,
|
|
598
|
+
undefined,
|
|
599
|
+
{ campaign_id, group_id },
|
|
600
|
+
params
|
|
601
|
+
);
|
|
602
|
+
}
|
|
563
603
|
|
|
564
604
|
}
|
|
565
605
|
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import FingerprintingRoute from "../routes/FingerprintingRoute";
|
|
2
|
+
import Requests from "../util/Requests";
|
|
3
|
+
import Response from "../util/Response";
|
|
4
|
+
import { AxiosPromise } from "axios";
|
|
5
|
+
|
|
6
|
+
class Fingerprinting {
|
|
7
|
+
/**
|
|
8
|
+
* List identified user fingerprints with filtering options
|
|
9
|
+
*
|
|
10
|
+
* @param params Filtering options:
|
|
11
|
+
* - title_id?: string - Filter by title ID
|
|
12
|
+
* - device_id?: string - Filter by device ID
|
|
13
|
+
* - user_install_id?: string - Filter by user install ID
|
|
14
|
+
* - browser_fingerprint?: string - Filter by browser fingerprint hash
|
|
15
|
+
* - device_fingerprint?: string - Filter by device fingerprint hash
|
|
16
|
+
* - is_bot?: boolean - Filter by bot status
|
|
17
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
18
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
19
|
+
* - sort?: 'first_seen_at'|'last_seen_at'|'match_confidence' - Sort field
|
|
20
|
+
* - order?: 'asc'|'desc' - Sort order
|
|
21
|
+
* - per_page?: number - Items per page (max 100)
|
|
22
|
+
* @returns Promise with paginated fingerprints data
|
|
23
|
+
*/
|
|
24
|
+
public static listFingerprints<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
|
|
25
|
+
return Requests.processRoute(
|
|
26
|
+
FingerprintingRoute.routes.listFingerprints,
|
|
27
|
+
{},
|
|
28
|
+
undefined,
|
|
29
|
+
params
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get cross-platform user journey reports
|
|
35
|
+
*
|
|
36
|
+
* @param params Report options:
|
|
37
|
+
* - title_id: string - Required title ID
|
|
38
|
+
* - fingerprint_id?: string - Specific fingerprint ID to analyze
|
|
39
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
40
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
41
|
+
* - platform?: 'web'|'ios'|'android'|'steam'|'console' - Filter by platform
|
|
42
|
+
* - event_type?: string - Filter by event type
|
|
43
|
+
* - group_by?: 'day'|'week'|'month'|'year' - Grouping period
|
|
44
|
+
* - include_paths?: boolean - Include journey paths in response
|
|
45
|
+
* @returns Promise with user journey report data
|
|
46
|
+
*/
|
|
47
|
+
public static userJourneyReport<T>(params: Record<string, any>): AxiosPromise<Response<T>> {
|
|
48
|
+
return Requests.processRoute(
|
|
49
|
+
FingerprintingRoute.routes.userJourneyReport,
|
|
50
|
+
{},
|
|
51
|
+
undefined,
|
|
52
|
+
params
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Get cross-platform attribution reports
|
|
58
|
+
*
|
|
59
|
+
* @param params Report options:
|
|
60
|
+
* - title_id: string - Required title ID
|
|
61
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
62
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
63
|
+
* - conversion_event?: 'game_install'|'game_purchase'|'web_event' - Conversion event to analyze
|
|
64
|
+
* - attribution_model?: 'first_touch'|'last_touch'|'linear'|'time_decay'|'position_based' - Attribution model
|
|
65
|
+
* @returns Promise with attribution report data
|
|
66
|
+
*/
|
|
67
|
+
public static attributionReport<T>(params: Record<string, any>): AxiosPromise<Response<T>> {
|
|
68
|
+
return Requests.processRoute(
|
|
69
|
+
FingerprintingRoute.routes.attributionReport,
|
|
70
|
+
{},
|
|
71
|
+
undefined,
|
|
72
|
+
params
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Get cross-device identity clusters
|
|
78
|
+
*
|
|
79
|
+
* @param params Report options:
|
|
80
|
+
* - title_id: string - Required title ID
|
|
81
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
82
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
83
|
+
* - min_confidence?: number - Minimum match confidence score (0-100)
|
|
84
|
+
* @returns Promise with device cluster report data
|
|
85
|
+
*/
|
|
86
|
+
public static deviceClusterReport<T>(params: Record<string, any>): AxiosPromise<Response<T>> {
|
|
87
|
+
return Requests.processRoute(
|
|
88
|
+
FingerprintingRoute.routes.deviceClusterReport,
|
|
89
|
+
{},
|
|
90
|
+
undefined,
|
|
91
|
+
params
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Get combined identity clusters and user journey reports
|
|
97
|
+
*
|
|
98
|
+
* @param params Report options:
|
|
99
|
+
* - title_id: string - Required title ID
|
|
100
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
101
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
102
|
+
* - min_confidence?: number - Minimum confidence score to include (0-100)
|
|
103
|
+
* - platform?: string - Filter by platform
|
|
104
|
+
* - include_journeys?: boolean - Include detailed journeys
|
|
105
|
+
* @returns Promise with identity cluster report data
|
|
106
|
+
*/
|
|
107
|
+
public static identityClusterReport<T>(params: Record<string, any>): AxiosPromise<Response<T>> {
|
|
108
|
+
return Requests.processRoute(
|
|
109
|
+
FingerprintingRoute.routes.identityClusterReport,
|
|
110
|
+
{},
|
|
111
|
+
undefined,
|
|
112
|
+
params
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Get combined attribution paths and conversion funnels
|
|
118
|
+
*
|
|
119
|
+
* @param params Report options:
|
|
120
|
+
* - title_id: string - Required title ID
|
|
121
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
122
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
123
|
+
* - conversion_event?: string - Conversion event type
|
|
124
|
+
* - attribution_model?: string - Attribution model
|
|
125
|
+
* - funnel_steps?: string - Comma-separated funnel steps
|
|
126
|
+
* @returns Promise with attribution and funnel report data
|
|
127
|
+
*/
|
|
128
|
+
public static attributionFunnelReport<T>(params: Record<string, any>): AxiosPromise<Response<T>> {
|
|
129
|
+
return Requests.processRoute(
|
|
130
|
+
FingerprintingRoute.routes.attributionFunnelReport,
|
|
131
|
+
{},
|
|
132
|
+
undefined,
|
|
133
|
+
params
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Get device and environment breakdown reports
|
|
139
|
+
*
|
|
140
|
+
* @param params Report options:
|
|
141
|
+
* - title_id: string - Required title ID
|
|
142
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
143
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
144
|
+
* - platform?: string - Filter by platform
|
|
145
|
+
* - group_by?: 'device_type'|'os'|'browser'|'country_code' - Grouping field
|
|
146
|
+
* @returns Promise with device and environment report data
|
|
147
|
+
*/
|
|
148
|
+
public static deviceEnvironmentReport<T>(params: Record<string, any>): AxiosPromise<Response<T>> {
|
|
149
|
+
return Requests.processRoute(
|
|
150
|
+
FingerprintingRoute.routes.deviceEnvironmentReport,
|
|
151
|
+
{},
|
|
152
|
+
undefined,
|
|
153
|
+
params
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Get unique vs returning user metrics
|
|
159
|
+
*
|
|
160
|
+
* @param params Report options:
|
|
161
|
+
* - title_id: string - Required title ID
|
|
162
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
163
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
164
|
+
* - retention_period?: number - Days to consider for retention
|
|
165
|
+
* @returns Promise with retention metrics data
|
|
166
|
+
*/
|
|
167
|
+
public static uniqueReturningReport<T>(params: Record<string, any>): AxiosPromise<Response<T>> {
|
|
168
|
+
return Requests.processRoute(
|
|
169
|
+
FingerprintingRoute.routes.uniqueReturningReport,
|
|
170
|
+
{},
|
|
171
|
+
undefined,
|
|
172
|
+
params
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Get fraud and bot detection metrics
|
|
178
|
+
*
|
|
179
|
+
* @param params Report options:
|
|
180
|
+
* - title_id: string - Required title ID
|
|
181
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
182
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
183
|
+
* - min_confidence?: number - Minimum confidence score to flag (0-100)
|
|
184
|
+
* @returns Promise with fraud detection data
|
|
185
|
+
*/
|
|
186
|
+
public static fraudDetectionReport<T>(params: Record<string, any>): AxiosPromise<Response<T>> {
|
|
187
|
+
return Requests.processRoute(
|
|
188
|
+
FingerprintingRoute.routes.fraudDetectionReport,
|
|
189
|
+
{},
|
|
190
|
+
undefined,
|
|
191
|
+
params
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Get geolocation distribution of users
|
|
197
|
+
*
|
|
198
|
+
* @param params Report options:
|
|
199
|
+
* - title_id: string - Required title ID
|
|
200
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
201
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
202
|
+
* - group_by?: 'country'|'region'|'city' - Grouping level
|
|
203
|
+
* @returns Promise with geolocation report data
|
|
204
|
+
*/
|
|
205
|
+
public static geolocationReport<T>(params: Record<string, any>): AxiosPromise<Response<T>> {
|
|
206
|
+
return Requests.processRoute(
|
|
207
|
+
FingerprintingRoute.routes.geolocationReport,
|
|
208
|
+
{},
|
|
209
|
+
undefined,
|
|
210
|
+
params
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
export default Fingerprinting;
|
package/src/api/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import Competitions from "./Competitions";
|
|
|
4
4
|
import Communities from "./Communities";
|
|
5
5
|
import Users from "./Users";
|
|
6
6
|
import Events from "./Events";
|
|
7
|
+
import Fingerprinting from "./Fingerprinting";
|
|
7
8
|
import Teams from "./Teams";
|
|
8
9
|
import Waitlists from "./Waitlist";
|
|
9
10
|
import Posts from "./Posts";
|
|
@@ -66,4 +67,5 @@ export {Scheduler};
|
|
|
66
67
|
export {Funnel};
|
|
67
68
|
export {SocialStats};
|
|
68
69
|
export {Hashtags};
|
|
69
|
-
export {WebsiteAnalytics};
|
|
70
|
+
export {WebsiteAnalytics};
|
|
71
|
+
export {Fingerprinting};
|
package/src/index.ts
CHANGED
|
@@ -36,6 +36,7 @@ import {Funnel} from "./api";
|
|
|
36
36
|
import {SocialStats} from "./api";
|
|
37
37
|
import {Hashtags} from "./api";
|
|
38
38
|
import {WebsiteAnalytics} from "./api";
|
|
39
|
+
import {Fingerprinting} from "./api";
|
|
39
40
|
|
|
40
41
|
import Requests from "./util/Requests";
|
|
41
42
|
import Parser from "./util/Parser";
|
|
@@ -100,7 +101,8 @@ class Glitch {
|
|
|
100
101
|
Scheduler : Scheduler,
|
|
101
102
|
Funnel: Funnel,
|
|
102
103
|
SocialStats : SocialStats,
|
|
103
|
-
WebsiteAnalytics: WebsiteAnalytics
|
|
104
|
+
WebsiteAnalytics: WebsiteAnalytics,
|
|
105
|
+
Fingerprinting : Fingerprinting
|
|
104
106
|
}
|
|
105
107
|
|
|
106
108
|
public static util = {
|
package/src/routes/AdsRoute.ts
CHANGED
|
@@ -166,6 +166,15 @@ class AdsRoute {
|
|
|
166
166
|
url: "/ads/reddit/targeting/third_party_audiences",
|
|
167
167
|
method: HTTP_METHODS.GET,
|
|
168
168
|
},
|
|
169
|
+
syncCampaign: {
|
|
170
|
+
url: "/ads/campaigns/{campaign_id}/sync",
|
|
171
|
+
method: HTTP_METHODS.POST,
|
|
172
|
+
},
|
|
173
|
+
|
|
174
|
+
syncGroup: {
|
|
175
|
+
url: "/ads/campaigns/{campaign_id}/groups/{group_id}/sync",
|
|
176
|
+
method: HTTP_METHODS.POST,
|
|
177
|
+
},
|
|
169
178
|
};
|
|
170
179
|
}
|
|
171
180
|
|