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.
@@ -251,5 +251,22 @@ declare class Ads {
251
251
  * GET /ads/reddit/targeting/third_party_audiences
252
252
  */
253
253
  static listRedditThirdPartyAudiences<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
254
+ /**
255
+ * Sync an Ad Campaign with the remote platform
256
+ *
257
+ * @param campaign_id The UUID of the campaign to sync
258
+ * @param params Optional query parameters
259
+ * @returns The synced AdCampaign resource
260
+ */
261
+ static syncCampaign<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
262
+ /**
263
+ * Sync an Ad Group with the remote platform
264
+ *
265
+ * @param campaign_id The UUID of the parent campaign
266
+ * @param group_id The UUID of the ad group to sync
267
+ * @param params Optional query parameters
268
+ * @returns The synced AdGroup resource
269
+ */
270
+ static syncGroup<T>(campaign_id: string, group_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
254
271
  }
255
272
  export default Ads;
@@ -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;
@@ -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
@@ -6722,6 +6722,14 @@ var AdsRoute = /** @class */ (function () {
6722
6722
  url: "/ads/reddit/targeting/third_party_audiences",
6723
6723
  method: HTTP_METHODS.GET,
6724
6724
  },
6725
+ syncCampaign: {
6726
+ url: "/ads/campaigns/{campaign_id}/sync",
6727
+ method: HTTP_METHODS.POST,
6728
+ },
6729
+ syncGroup: {
6730
+ url: "/ads/campaigns/{campaign_id}/groups/{group_id}/sync",
6731
+ method: HTTP_METHODS.POST,
6732
+ },
6725
6733
  };
6726
6734
  return AdsRoute;
6727
6735
  }());
@@ -7054,6 +7062,27 @@ var Ads = /** @class */ (function () {
7054
7062
  Ads.listRedditThirdPartyAudiences = function (params) {
7055
7063
  return Requests.processRoute(AdsRoute.routes.getRedditThirdPartyAudiences, undefined, undefined, params);
7056
7064
  };
7065
+ /**
7066
+ * Sync an Ad Campaign with the remote platform
7067
+ *
7068
+ * @param campaign_id The UUID of the campaign to sync
7069
+ * @param params Optional query parameters
7070
+ * @returns The synced AdCampaign resource
7071
+ */
7072
+ Ads.syncCampaign = function (campaign_id, params) {
7073
+ return Requests.processRoute(AdsRoute.routes.syncCampaign, undefined, { campaign_id: campaign_id }, params);
7074
+ };
7075
+ /**
7076
+ * Sync an Ad Group with the remote platform
7077
+ *
7078
+ * @param campaign_id The UUID of the parent campaign
7079
+ * @param group_id The UUID of the ad group to sync
7080
+ * @param params Optional query parameters
7081
+ * @returns The synced AdGroup resource
7082
+ */
7083
+ Ads.syncGroup = function (campaign_id, group_id, params) {
7084
+ return Requests.processRoute(AdsRoute.routes.syncGroup, undefined, { campaign_id: campaign_id, group_id: group_id }, params);
7085
+ };
7057
7086
  return Ads;
7058
7087
  }());
7059
7088
 
@@ -8933,6 +8962,207 @@ var Events = /** @class */ (function () {
8933
8962
  return Events;
8934
8963
  }());
8935
8964
 
8965
+ var FingerprintingRoute = /** @class */ (function () {
8966
+ function FingerprintingRoute() {
8967
+ }
8968
+ FingerprintingRoute.routes = {
8969
+ listFingerprints: {
8970
+ url: '/reports/fingerprinting/fingerprints',
8971
+ method: HTTP_METHODS.GET
8972
+ },
8973
+ userJourneyReport: {
8974
+ url: '/reports/fingerprinting/user-journeys',
8975
+ method: HTTP_METHODS.GET
8976
+ },
8977
+ attributionReport: {
8978
+ url: '/reports/fingerprinting/attribution',
8979
+ method: HTTP_METHODS.GET
8980
+ },
8981
+ deviceClusterReport: {
8982
+ url: '/reports/fingerprinting/device-clusters',
8983
+ method: HTTP_METHODS.GET
8984
+ },
8985
+ identityClusterReport: {
8986
+ url: '/reports/fingerprinting/identity-clusters',
8987
+ method: HTTP_METHODS.GET
8988
+ },
8989
+ attributionFunnelReport: {
8990
+ url: '/reports/fingerprinting/attribution-funnel',
8991
+ method: HTTP_METHODS.GET
8992
+ },
8993
+ deviceEnvironmentReport: {
8994
+ url: '/reports/fingerprinting/device-environment',
8995
+ method: HTTP_METHODS.GET
8996
+ },
8997
+ uniqueReturningReport: {
8998
+ url: '/reports/fingerprinting/unique-returning',
8999
+ method: HTTP_METHODS.GET
9000
+ },
9001
+ fraudDetectionReport: {
9002
+ url: '/reports/fingerprinting/fraud-detection',
9003
+ method: HTTP_METHODS.GET
9004
+ },
9005
+ geolocationReport: {
9006
+ url: '/reports/fingerprinting/geolocation',
9007
+ method: HTTP_METHODS.GET
9008
+ }
9009
+ };
9010
+ return FingerprintingRoute;
9011
+ }());
9012
+
9013
+ var Fingerprinting = /** @class */ (function () {
9014
+ function Fingerprinting() {
9015
+ }
9016
+ /**
9017
+ * List identified user fingerprints with filtering options
9018
+ *
9019
+ * @param params Filtering options:
9020
+ * - title_id?: string - Filter by title ID
9021
+ * - device_id?: string - Filter by device ID
9022
+ * - user_install_id?: string - Filter by user install ID
9023
+ * - browser_fingerprint?: string - Filter by browser fingerprint hash
9024
+ * - device_fingerprint?: string - Filter by device fingerprint hash
9025
+ * - is_bot?: boolean - Filter by bot status
9026
+ * - start_date?: string - Start date (YYYY-MM-DD)
9027
+ * - end_date?: string - End date (YYYY-MM-DD)
9028
+ * - sort?: 'first_seen_at'|'last_seen_at'|'match_confidence' - Sort field
9029
+ * - order?: 'asc'|'desc' - Sort order
9030
+ * - per_page?: number - Items per page (max 100)
9031
+ * @returns Promise with paginated fingerprints data
9032
+ */
9033
+ Fingerprinting.listFingerprints = function (params) {
9034
+ return Requests.processRoute(FingerprintingRoute.routes.listFingerprints, {}, undefined, params);
9035
+ };
9036
+ /**
9037
+ * Get cross-platform user journey reports
9038
+ *
9039
+ * @param params Report options:
9040
+ * - title_id: string - Required title ID
9041
+ * - fingerprint_id?: string - Specific fingerprint ID to analyze
9042
+ * - start_date?: string - Start date (YYYY-MM-DD)
9043
+ * - end_date?: string - End date (YYYY-MM-DD)
9044
+ * - platform?: 'web'|'ios'|'android'|'steam'|'console' - Filter by platform
9045
+ * - event_type?: string - Filter by event type
9046
+ * - group_by?: 'day'|'week'|'month'|'year' - Grouping period
9047
+ * - include_paths?: boolean - Include journey paths in response
9048
+ * @returns Promise with user journey report data
9049
+ */
9050
+ Fingerprinting.userJourneyReport = function (params) {
9051
+ return Requests.processRoute(FingerprintingRoute.routes.userJourneyReport, {}, undefined, params);
9052
+ };
9053
+ /**
9054
+ * Get cross-platform attribution reports
9055
+ *
9056
+ * @param params Report options:
9057
+ * - title_id: string - Required title ID
9058
+ * - start_date?: string - Start date (YYYY-MM-DD)
9059
+ * - end_date?: string - End date (YYYY-MM-DD)
9060
+ * - conversion_event?: 'game_install'|'game_purchase'|'web_event' - Conversion event to analyze
9061
+ * - attribution_model?: 'first_touch'|'last_touch'|'linear'|'time_decay'|'position_based' - Attribution model
9062
+ * @returns Promise with attribution report data
9063
+ */
9064
+ Fingerprinting.attributionReport = function (params) {
9065
+ return Requests.processRoute(FingerprintingRoute.routes.attributionReport, {}, undefined, params);
9066
+ };
9067
+ /**
9068
+ * Get cross-device identity clusters
9069
+ *
9070
+ * @param params Report options:
9071
+ * - title_id: string - Required title ID
9072
+ * - start_date?: string - Start date (YYYY-MM-DD)
9073
+ * - end_date?: string - End date (YYYY-MM-DD)
9074
+ * - min_confidence?: number - Minimum match confidence score (0-100)
9075
+ * @returns Promise with device cluster report data
9076
+ */
9077
+ Fingerprinting.deviceClusterReport = function (params) {
9078
+ return Requests.processRoute(FingerprintingRoute.routes.deviceClusterReport, {}, undefined, params);
9079
+ };
9080
+ /**
9081
+ * Get combined identity clusters and user journey reports
9082
+ *
9083
+ * @param params Report options:
9084
+ * - title_id: string - Required title ID
9085
+ * - start_date?: string - Start date (YYYY-MM-DD)
9086
+ * - end_date?: string - End date (YYYY-MM-DD)
9087
+ * - min_confidence?: number - Minimum confidence score to include (0-100)
9088
+ * - platform?: string - Filter by platform
9089
+ * - include_journeys?: boolean - Include detailed journeys
9090
+ * @returns Promise with identity cluster report data
9091
+ */
9092
+ Fingerprinting.identityClusterReport = function (params) {
9093
+ return Requests.processRoute(FingerprintingRoute.routes.identityClusterReport, {}, undefined, params);
9094
+ };
9095
+ /**
9096
+ * Get combined attribution paths and conversion funnels
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
+ * - conversion_event?: string - Conversion event type
9103
+ * - attribution_model?: string - Attribution model
9104
+ * - funnel_steps?: string - Comma-separated funnel steps
9105
+ * @returns Promise with attribution and funnel report data
9106
+ */
9107
+ Fingerprinting.attributionFunnelReport = function (params) {
9108
+ return Requests.processRoute(FingerprintingRoute.routes.attributionFunnelReport, {}, undefined, params);
9109
+ };
9110
+ /**
9111
+ * Get device and environment breakdown reports
9112
+ *
9113
+ * @param params Report options:
9114
+ * - title_id: string - Required title ID
9115
+ * - start_date?: string - Start date (YYYY-MM-DD)
9116
+ * - end_date?: string - End date (YYYY-MM-DD)
9117
+ * - platform?: string - Filter by platform
9118
+ * - group_by?: 'device_type'|'os'|'browser'|'country_code' - Grouping field
9119
+ * @returns Promise with device and environment report data
9120
+ */
9121
+ Fingerprinting.deviceEnvironmentReport = function (params) {
9122
+ return Requests.processRoute(FingerprintingRoute.routes.deviceEnvironmentReport, {}, undefined, params);
9123
+ };
9124
+ /**
9125
+ * Get unique vs returning user metrics
9126
+ *
9127
+ * @param params Report options:
9128
+ * - title_id: string - Required title ID
9129
+ * - start_date?: string - Start date (YYYY-MM-DD)
9130
+ * - end_date?: string - End date (YYYY-MM-DD)
9131
+ * - retention_period?: number - Days to consider for retention
9132
+ * @returns Promise with retention metrics data
9133
+ */
9134
+ Fingerprinting.uniqueReturningReport = function (params) {
9135
+ return Requests.processRoute(FingerprintingRoute.routes.uniqueReturningReport, {}, undefined, params);
9136
+ };
9137
+ /**
9138
+ * Get fraud and bot detection metrics
9139
+ *
9140
+ * @param params Report options:
9141
+ * - title_id: string - Required title ID
9142
+ * - start_date?: string - Start date (YYYY-MM-DD)
9143
+ * - end_date?: string - End date (YYYY-MM-DD)
9144
+ * - min_confidence?: number - Minimum confidence score to flag (0-100)
9145
+ * @returns Promise with fraud detection data
9146
+ */
9147
+ Fingerprinting.fraudDetectionReport = function (params) {
9148
+ return Requests.processRoute(FingerprintingRoute.routes.fraudDetectionReport, {}, undefined, params);
9149
+ };
9150
+ /**
9151
+ * Get geolocation distribution of users
9152
+ *
9153
+ * @param params Report options:
9154
+ * - title_id: string - Required title ID
9155
+ * - start_date?: string - Start date (YYYY-MM-DD)
9156
+ * - end_date?: string - End date (YYYY-MM-DD)
9157
+ * - group_by?: 'country'|'region'|'city' - Grouping level
9158
+ * @returns Promise with geolocation report data
9159
+ */
9160
+ Fingerprinting.geolocationReport = function (params) {
9161
+ return Requests.processRoute(FingerprintingRoute.routes.geolocationReport, {}, undefined, params);
9162
+ };
9163
+ return Fingerprinting;
9164
+ }());
9165
+
8936
9166
  var TeamsRoute = /** @class */ (function () {
8937
9167
  function TeamsRoute() {
8938
9168
  }
@@ -13809,7 +14039,8 @@ var Glitch = /** @class */ (function () {
13809
14039
  Scheduler: Scheduler,
13810
14040
  Funnel: Funnel,
13811
14041
  SocialStats: SocialStats,
13812
- WebsiteAnalytics: WebsiteAnalytics
14042
+ WebsiteAnalytics: WebsiteAnalytics,
14043
+ Fingerprinting: Fingerprinting
13813
14044
  };
13814
14045
  Glitch.util = {
13815
14046
  Requests: Requests,