glitch-javascript-sdk 1.8.3 → 1.8.5

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,132 @@
1
+ import Response from "../util/Response";
2
+ import { AxiosPromise } from "axios";
3
+ declare class Fingerprinting {
4
+ /**
5
+ * List identified user fingerprints with filtering options
6
+ *
7
+ * @param params Filtering options:
8
+ * - title_id?: string - Filter by title ID
9
+ * - device_id?: string - Filter by device ID
10
+ * - user_install_id?: string - Filter by user install ID
11
+ * - browser_fingerprint?: string - Filter by browser fingerprint hash
12
+ * - device_fingerprint?: string - Filter by device fingerprint hash
13
+ * - is_bot?: boolean - Filter by bot status
14
+ * - start_date?: string - Start date (YYYY-MM-DD)
15
+ * - end_date?: string - End date (YYYY-MM-DD)
16
+ * - sort?: 'first_seen_at'|'last_seen_at'|'match_confidence' - Sort field
17
+ * - order?: 'asc'|'desc' - Sort order
18
+ * - per_page?: number - Items per page (max 100)
19
+ * @returns Promise with paginated fingerprints data
20
+ */
21
+ static listFingerprints<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
22
+ /**
23
+ * Get cross-platform user journey reports
24
+ *
25
+ * @param params Report options:
26
+ * - title_id: string - Required title ID
27
+ * - fingerprint_id?: string - Specific fingerprint ID to analyze
28
+ * - start_date?: string - Start date (YYYY-MM-DD)
29
+ * - end_date?: string - End date (YYYY-MM-DD)
30
+ * - platform?: 'web'|'ios'|'android'|'steam'|'console' - Filter by platform
31
+ * - event_type?: string - Filter by event type
32
+ * - group_by?: 'day'|'week'|'month'|'year' - Grouping period
33
+ * - include_paths?: boolean - Include journey paths in response
34
+ * @returns Promise with user journey report data
35
+ */
36
+ static userJourneyReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
37
+ /**
38
+ * Get cross-platform attribution reports
39
+ *
40
+ * @param params Report options:
41
+ * - title_id: string - Required title ID
42
+ * - start_date?: string - Start date (YYYY-MM-DD)
43
+ * - end_date?: string - End date (YYYY-MM-DD)
44
+ * - conversion_event?: 'game_install'|'game_purchase'|'web_event' - Conversion event to analyze
45
+ * - attribution_model?: 'first_touch'|'last_touch'|'linear'|'time_decay'|'position_based' - Attribution model
46
+ * @returns Promise with attribution report data
47
+ */
48
+ static attributionReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
49
+ /**
50
+ * Get cross-device identity clusters
51
+ *
52
+ * @param params Report options:
53
+ * - title_id: string - Required title ID
54
+ * - start_date?: string - Start date (YYYY-MM-DD)
55
+ * - end_date?: string - End date (YYYY-MM-DD)
56
+ * - min_confidence?: number - Minimum match confidence score (0-100)
57
+ * @returns Promise with device cluster report data
58
+ */
59
+ static deviceClusterReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
60
+ /**
61
+ * Get combined identity clusters and user journey reports
62
+ *
63
+ * @param params Report options:
64
+ * - title_id: string - Required title ID
65
+ * - start_date?: string - Start date (YYYY-MM-DD)
66
+ * - end_date?: string - End date (YYYY-MM-DD)
67
+ * - min_confidence?: number - Minimum confidence score to include (0-100)
68
+ * - platform?: string - Filter by platform
69
+ * - include_journeys?: boolean - Include detailed journeys
70
+ * @returns Promise with identity cluster report data
71
+ */
72
+ static identityClusterReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
73
+ /**
74
+ * Get combined attribution paths and conversion funnels
75
+ *
76
+ * @param params Report options:
77
+ * - title_id: string - Required title ID
78
+ * - start_date?: string - Start date (YYYY-MM-DD)
79
+ * - end_date?: string - End date (YYYY-MM-DD)
80
+ * - conversion_event?: string - Conversion event type
81
+ * - attribution_model?: string - Attribution model
82
+ * - funnel_steps?: string - Comma-separated funnel steps
83
+ * @returns Promise with attribution and funnel report data
84
+ */
85
+ static attributionFunnelReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
86
+ /**
87
+ * Get device and environment breakdown reports
88
+ *
89
+ * @param params Report options:
90
+ * - title_id: string - Required title ID
91
+ * - start_date?: string - Start date (YYYY-MM-DD)
92
+ * - end_date?: string - End date (YYYY-MM-DD)
93
+ * - platform?: string - Filter by platform
94
+ * - group_by?: 'device_type'|'os'|'browser'|'country_code' - Grouping field
95
+ * @returns Promise with device and environment report data
96
+ */
97
+ static deviceEnvironmentReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
98
+ /**
99
+ * Get unique vs returning user metrics
100
+ *
101
+ * @param params Report options:
102
+ * - title_id: string - Required title ID
103
+ * - start_date?: string - Start date (YYYY-MM-DD)
104
+ * - end_date?: string - End date (YYYY-MM-DD)
105
+ * - retention_period?: number - Days to consider for retention
106
+ * @returns Promise with retention metrics data
107
+ */
108
+ static uniqueReturningReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
109
+ /**
110
+ * Get fraud and bot detection metrics
111
+ *
112
+ * @param params Report options:
113
+ * - title_id: string - Required title ID
114
+ * - start_date?: string - Start date (YYYY-MM-DD)
115
+ * - end_date?: string - End date (YYYY-MM-DD)
116
+ * - min_confidence?: number - Minimum confidence score to flag (0-100)
117
+ * @returns Promise with fraud detection data
118
+ */
119
+ static fraudDetectionReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
120
+ /**
121
+ * Get geolocation distribution of users
122
+ *
123
+ * @param params Report options:
124
+ * - title_id: string - Required title ID
125
+ * - start_date?: string - Start date (YYYY-MM-DD)
126
+ * - end_date?: string - End date (YYYY-MM-DD)
127
+ * - group_by?: 'country'|'region'|'city' - Grouping level
128
+ * @returns Promise with geolocation report data
129
+ */
130
+ static geolocationReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
131
+ }
132
+ export default Fingerprinting;
@@ -253,6 +253,16 @@ declare class Titles {
253
253
  * @returns AxiosPromise
254
254
  */
255
255
  static getUtmAnalytics<T>(title_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
256
+ /**
257
+ * Get the web tracking token used for websites.
258
+ *
259
+ * GET /titles/{title_id}/webTrackingToken
260
+ *
261
+ * @param title_id The UUID of the title
262
+ * @param params Optional query params:
263
+ * @returns AxiosPromise
264
+ */
265
+ static getWebTrackingToken<T>(title_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
256
266
  /**
257
267
  * Analyze UTM data with optional group_by (source, campaign, medium, device_type, etc.)
258
268
  *
@@ -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,3 +67,4 @@ export { Funnel };
66
67
  export { SocialStats };
67
68
  export { Hashtags };
68
69
  export { WebsiteAnalytics };
70
+ export { Fingerprinting };
@@ -32,6 +32,7 @@ import { Funnel } from "./api";
32
32
  import { SocialStats } from "./api";
33
33
  import { Hashtags } from "./api";
34
34
  import { WebsiteAnalytics } from "./api";
35
+ import { Fingerprinting } from "./api";
35
36
  import Requests from "./util/Requests";
36
37
  import Parser from "./util/Parser";
37
38
  import Session from "./util/Session";
@@ -85,6 +86,7 @@ declare class Glitch {
85
86
  Funnel: typeof Funnel;
86
87
  SocialStats: typeof SocialStats;
87
88
  WebsiteAnalytics: typeof WebsiteAnalytics;
89
+ Fingerprinting: typeof Fingerprinting;
88
90
  };
89
91
  static util: {
90
92
  Requests: typeof Requests;
package/dist/esm/index.js CHANGED
@@ -8933,6 +8933,207 @@ var Events = /** @class */ (function () {
8933
8933
  return Events;
8934
8934
  }());
8935
8935
 
8936
+ var FingerprintingRoute = /** @class */ (function () {
8937
+ function FingerprintingRoute() {
8938
+ }
8939
+ FingerprintingRoute.routes = {
8940
+ listFingerprints: {
8941
+ url: '/reports/fingerprinting/fingerprints',
8942
+ method: HTTP_METHODS.GET
8943
+ },
8944
+ userJourneyReport: {
8945
+ url: '/reports/fingerprinting/user-journeys',
8946
+ method: HTTP_METHODS.GET
8947
+ },
8948
+ attributionReport: {
8949
+ url: '/reports/fingerprinting/attribution',
8950
+ method: HTTP_METHODS.GET
8951
+ },
8952
+ deviceClusterReport: {
8953
+ url: '/reports/fingerprinting/device-clusters',
8954
+ method: HTTP_METHODS.GET
8955
+ },
8956
+ identityClusterReport: {
8957
+ url: '/reports/fingerprinting/identity-clusters',
8958
+ method: HTTP_METHODS.GET
8959
+ },
8960
+ attributionFunnelReport: {
8961
+ url: '/reports/fingerprinting/attribution-funnel',
8962
+ method: HTTP_METHODS.GET
8963
+ },
8964
+ deviceEnvironmentReport: {
8965
+ url: '/reports/fingerprinting/device-environment',
8966
+ method: HTTP_METHODS.GET
8967
+ },
8968
+ uniqueReturningReport: {
8969
+ url: '/reports/fingerprinting/unique-returning',
8970
+ method: HTTP_METHODS.GET
8971
+ },
8972
+ fraudDetectionReport: {
8973
+ url: '/reports/fingerprinting/fraud-detection',
8974
+ method: HTTP_METHODS.GET
8975
+ },
8976
+ geolocationReport: {
8977
+ url: '/reports/fingerprinting/geolocation',
8978
+ method: HTTP_METHODS.GET
8979
+ }
8980
+ };
8981
+ return FingerprintingRoute;
8982
+ }());
8983
+
8984
+ var Fingerprinting = /** @class */ (function () {
8985
+ function Fingerprinting() {
8986
+ }
8987
+ /**
8988
+ * List identified user fingerprints with filtering options
8989
+ *
8990
+ * @param params Filtering options:
8991
+ * - title_id?: string - Filter by title ID
8992
+ * - device_id?: string - Filter by device ID
8993
+ * - user_install_id?: string - Filter by user install ID
8994
+ * - browser_fingerprint?: string - Filter by browser fingerprint hash
8995
+ * - device_fingerprint?: string - Filter by device fingerprint hash
8996
+ * - is_bot?: boolean - Filter by bot status
8997
+ * - start_date?: string - Start date (YYYY-MM-DD)
8998
+ * - end_date?: string - End date (YYYY-MM-DD)
8999
+ * - sort?: 'first_seen_at'|'last_seen_at'|'match_confidence' - Sort field
9000
+ * - order?: 'asc'|'desc' - Sort order
9001
+ * - per_page?: number - Items per page (max 100)
9002
+ * @returns Promise with paginated fingerprints data
9003
+ */
9004
+ Fingerprinting.listFingerprints = function (params) {
9005
+ return Requests.processRoute(FingerprintingRoute.routes.listFingerprints, {}, undefined, params);
9006
+ };
9007
+ /**
9008
+ * Get cross-platform user journey reports
9009
+ *
9010
+ * @param params Report options:
9011
+ * - title_id: string - Required title ID
9012
+ * - fingerprint_id?: string - Specific fingerprint ID to analyze
9013
+ * - start_date?: string - Start date (YYYY-MM-DD)
9014
+ * - end_date?: string - End date (YYYY-MM-DD)
9015
+ * - platform?: 'web'|'ios'|'android'|'steam'|'console' - Filter by platform
9016
+ * - event_type?: string - Filter by event type
9017
+ * - group_by?: 'day'|'week'|'month'|'year' - Grouping period
9018
+ * - include_paths?: boolean - Include journey paths in response
9019
+ * @returns Promise with user journey report data
9020
+ */
9021
+ Fingerprinting.userJourneyReport = function (params) {
9022
+ return Requests.processRoute(FingerprintingRoute.routes.userJourneyReport, {}, undefined, params);
9023
+ };
9024
+ /**
9025
+ * Get cross-platform attribution reports
9026
+ *
9027
+ * @param params Report options:
9028
+ * - title_id: string - Required title ID
9029
+ * - start_date?: string - Start date (YYYY-MM-DD)
9030
+ * - end_date?: string - End date (YYYY-MM-DD)
9031
+ * - conversion_event?: 'game_install'|'game_purchase'|'web_event' - Conversion event to analyze
9032
+ * - attribution_model?: 'first_touch'|'last_touch'|'linear'|'time_decay'|'position_based' - Attribution model
9033
+ * @returns Promise with attribution report data
9034
+ */
9035
+ Fingerprinting.attributionReport = function (params) {
9036
+ return Requests.processRoute(FingerprintingRoute.routes.attributionReport, {}, undefined, params);
9037
+ };
9038
+ /**
9039
+ * Get cross-device identity clusters
9040
+ *
9041
+ * @param params Report options:
9042
+ * - title_id: string - Required title ID
9043
+ * - start_date?: string - Start date (YYYY-MM-DD)
9044
+ * - end_date?: string - End date (YYYY-MM-DD)
9045
+ * - min_confidence?: number - Minimum match confidence score (0-100)
9046
+ * @returns Promise with device cluster report data
9047
+ */
9048
+ Fingerprinting.deviceClusterReport = function (params) {
9049
+ return Requests.processRoute(FingerprintingRoute.routes.deviceClusterReport, {}, undefined, params);
9050
+ };
9051
+ /**
9052
+ * Get combined identity clusters and user journey reports
9053
+ *
9054
+ * @param params Report options:
9055
+ * - title_id: string - Required title ID
9056
+ * - start_date?: string - Start date (YYYY-MM-DD)
9057
+ * - end_date?: string - End date (YYYY-MM-DD)
9058
+ * - min_confidence?: number - Minimum confidence score to include (0-100)
9059
+ * - platform?: string - Filter by platform
9060
+ * - include_journeys?: boolean - Include detailed journeys
9061
+ * @returns Promise with identity cluster report data
9062
+ */
9063
+ Fingerprinting.identityClusterReport = function (params) {
9064
+ return Requests.processRoute(FingerprintingRoute.routes.identityClusterReport, {}, undefined, params);
9065
+ };
9066
+ /**
9067
+ * Get combined attribution paths and conversion funnels
9068
+ *
9069
+ * @param params Report options:
9070
+ * - title_id: string - Required title ID
9071
+ * - start_date?: string - Start date (YYYY-MM-DD)
9072
+ * - end_date?: string - End date (YYYY-MM-DD)
9073
+ * - conversion_event?: string - Conversion event type
9074
+ * - attribution_model?: string - Attribution model
9075
+ * - funnel_steps?: string - Comma-separated funnel steps
9076
+ * @returns Promise with attribution and funnel report data
9077
+ */
9078
+ Fingerprinting.attributionFunnelReport = function (params) {
9079
+ return Requests.processRoute(FingerprintingRoute.routes.attributionFunnelReport, {}, undefined, params);
9080
+ };
9081
+ /**
9082
+ * Get device and environment breakdown reports
9083
+ *
9084
+ * @param params Report options:
9085
+ * - title_id: string - Required title ID
9086
+ * - start_date?: string - Start date (YYYY-MM-DD)
9087
+ * - end_date?: string - End date (YYYY-MM-DD)
9088
+ * - platform?: string - Filter by platform
9089
+ * - group_by?: 'device_type'|'os'|'browser'|'country_code' - Grouping field
9090
+ * @returns Promise with device and environment report data
9091
+ */
9092
+ Fingerprinting.deviceEnvironmentReport = function (params) {
9093
+ return Requests.processRoute(FingerprintingRoute.routes.deviceEnvironmentReport, {}, undefined, params);
9094
+ };
9095
+ /**
9096
+ * Get unique vs returning user metrics
9097
+ *
9098
+ * @param params Report options:
9099
+ * - title_id: string - Required title ID
9100
+ * - start_date?: string - Start date (YYYY-MM-DD)
9101
+ * - end_date?: string - End date (YYYY-MM-DD)
9102
+ * - retention_period?: number - Days to consider for retention
9103
+ * @returns Promise with retention metrics data
9104
+ */
9105
+ Fingerprinting.uniqueReturningReport = function (params) {
9106
+ return Requests.processRoute(FingerprintingRoute.routes.uniqueReturningReport, {}, undefined, params);
9107
+ };
9108
+ /**
9109
+ * Get fraud and bot detection metrics
9110
+ *
9111
+ * @param params Report options:
9112
+ * - title_id: string - Required title ID
9113
+ * - start_date?: string - Start date (YYYY-MM-DD)
9114
+ * - end_date?: string - End date (YYYY-MM-DD)
9115
+ * - min_confidence?: number - Minimum confidence score to flag (0-100)
9116
+ * @returns Promise with fraud detection data
9117
+ */
9118
+ Fingerprinting.fraudDetectionReport = function (params) {
9119
+ return Requests.processRoute(FingerprintingRoute.routes.fraudDetectionReport, {}, undefined, params);
9120
+ };
9121
+ /**
9122
+ * Get geolocation distribution of users
9123
+ *
9124
+ * @param params Report options:
9125
+ * - title_id: string - Required title ID
9126
+ * - start_date?: string - Start date (YYYY-MM-DD)
9127
+ * - end_date?: string - End date (YYYY-MM-DD)
9128
+ * - group_by?: 'country'|'region'|'city' - Grouping level
9129
+ * @returns Promise with geolocation report data
9130
+ */
9131
+ Fingerprinting.geolocationReport = function (params) {
9132
+ return Requests.processRoute(FingerprintingRoute.routes.geolocationReport, {}, undefined, params);
9133
+ };
9134
+ return Fingerprinting;
9135
+ }());
9136
+
8936
9137
  var TeamsRoute = /** @class */ (function () {
8937
9138
  function TeamsRoute() {
8938
9139
  }
@@ -10164,6 +10365,10 @@ var TitlesRoute = /** @class */ (function () {
10164
10365
  url: "/titles/{title_id}/utm",
10165
10366
  method: HTTP_METHODS.GET,
10166
10367
  },
10368
+ getWebTrackingToken: {
10369
+ url: "/titles/{title_id}/webTrackingToken",
10370
+ method: HTTP_METHODS.GET,
10371
+ },
10167
10372
  /**
10168
10373
  * 3) Analyze UTM data with optional group_by / dimension-based aggregates
10169
10374
  * GET /titles/{title_id}/utm/analysis
@@ -10503,6 +10708,18 @@ var Titles = /** @class */ (function () {
10503
10708
  Titles.getUtmAnalytics = function (title_id, params) {
10504
10709
  return Requests.processRoute(TitlesRoute.routes.getUtmAnalytics, {}, { title_id: title_id }, params);
10505
10710
  };
10711
+ /**
10712
+ * Get the web tracking token used for websites.
10713
+ *
10714
+ * GET /titles/{title_id}/webTrackingToken
10715
+ *
10716
+ * @param title_id The UUID of the title
10717
+ * @param params Optional query params:
10718
+ * @returns AxiosPromise
10719
+ */
10720
+ Titles.getWebTrackingToken = function (title_id, params) {
10721
+ return Requests.processRoute(TitlesRoute.routes.getWebTrackingToken, {}, { title_id: title_id }, params);
10722
+ };
10506
10723
  /**
10507
10724
  * Analyze UTM data with optional group_by (source, campaign, medium, device_type, etc.)
10508
10725
  *
@@ -13793,7 +14010,8 @@ var Glitch = /** @class */ (function () {
13793
14010
  Scheduler: Scheduler,
13794
14011
  Funnel: Funnel,
13795
14012
  SocialStats: SocialStats,
13796
- WebsiteAnalytics: WebsiteAnalytics
14013
+ WebsiteAnalytics: WebsiteAnalytics,
14014
+ Fingerprinting: Fingerprinting
13797
14015
  };
13798
14016
  Glitch.util = {
13799
14017
  Requests: Requests,