glitch-javascript-sdk 1.7.6 → 1.7.8
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 +413 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/api/Ads.d.ts +188 -0
- package/dist/esm/api/Titles.d.ts +33 -3
- package/dist/esm/api/index.d.ts +2 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +413 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/routes/AdsRoute.d.ts +14 -0
- package/dist/index.d.ts +220 -3
- package/package.json +1 -1
- package/src/api/Ads.ts +409 -0
- package/src/api/Titles.ts +71 -10
- package/src/api/index.ts +2 -0
- package/src/index.ts +2 -2
- package/src/routes/AdsRoute.ts +127 -0
- package/src/routes/TitlesRoute.ts +27 -0
package/src/api/Titles.ts
CHANGED
|
@@ -366,9 +366,9 @@ class Titles {
|
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
/**
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
369
|
+
* List sessions for a specific title, with optional filters and pagination.
|
|
370
|
+
* Returns a paginated list of sessions with start/end times, session_length, user info, etc.
|
|
371
|
+
*/
|
|
372
372
|
public static listSessions<T>(
|
|
373
373
|
title_id: string,
|
|
374
374
|
params?: Record<string, any>
|
|
@@ -400,15 +400,76 @@ class Titles {
|
|
|
400
400
|
public static sessionsHistogram<T>(
|
|
401
401
|
title_id: string,
|
|
402
402
|
params?: Record<string, any>
|
|
403
|
-
|
|
403
|
+
): AxiosPromise<Response<T>> {
|
|
404
404
|
return Requests.processRoute(
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
405
|
+
TitlesRoute.routes.sessionsHistogram,
|
|
406
|
+
{},
|
|
407
|
+
{ title_id },
|
|
408
|
+
params
|
|
409
409
|
);
|
|
410
|
-
|
|
411
|
-
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Upload a CSV/Excel file containing daily UTM analytics for a specific title.
|
|
414
|
+
*
|
|
415
|
+
* @param title_id The UUID of the title
|
|
416
|
+
* @param file The CSV or Excel file
|
|
417
|
+
* @param data Optional form fields (if needed)
|
|
418
|
+
* @param params Optional query parameters
|
|
419
|
+
* @returns AxiosPromise
|
|
420
|
+
*/
|
|
421
|
+
public static importUtmAnalytics<T>(
|
|
422
|
+
title_id: string,
|
|
423
|
+
file: File | Blob,
|
|
424
|
+
data?: Record<string, any>,
|
|
425
|
+
params?: Record<string, any>
|
|
426
|
+
): AxiosPromise<Response<T>> {
|
|
427
|
+
const url = TitlesRoute.routes.importUtmAnalytics.url.replace("{title_id}", title_id);
|
|
428
|
+
return Requests.uploadFile<T>(url, "file", file, data, params);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Retrieve the UTM analytics data for a title (paginated, filterable, sortable).
|
|
433
|
+
*
|
|
434
|
+
* GET /titles/{title_id}/utm
|
|
435
|
+
*
|
|
436
|
+
* @param title_id The UUID of the title
|
|
437
|
+
* @param params Optional query params: start_date, end_date, source, device_type, sort_by, etc.
|
|
438
|
+
* @returns AxiosPromise
|
|
439
|
+
*/
|
|
440
|
+
public static getUtmAnalytics<T>(
|
|
441
|
+
title_id: string,
|
|
442
|
+
params?: Record<string, any>
|
|
443
|
+
): AxiosPromise<Response<T>> {
|
|
444
|
+
return Requests.processRoute(
|
|
445
|
+
TitlesRoute.routes.getUtmAnalytics,
|
|
446
|
+
{},
|
|
447
|
+
{ title_id },
|
|
448
|
+
params
|
|
449
|
+
);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
/**
|
|
453
|
+
* Analyze UTM data with optional group_by (source, campaign, medium, device_type, etc.)
|
|
454
|
+
*
|
|
455
|
+
* GET /titles/{title_id}/utm/analysis
|
|
456
|
+
*
|
|
457
|
+
* @param title_id The UUID of the title
|
|
458
|
+
* @param params e.g. ?group_by=source&start_date=YYYY-MM-DD
|
|
459
|
+
* @returns AxiosPromise
|
|
460
|
+
*/
|
|
461
|
+
public static analyzeUtmAnalytics<T>(
|
|
462
|
+
title_id: string,
|
|
463
|
+
params?: Record<string, any>
|
|
464
|
+
): AxiosPromise<Response<T>> {
|
|
465
|
+
return Requests.processRoute(
|
|
466
|
+
TitlesRoute.routes.analyzeUtmAnalytics,
|
|
467
|
+
{},
|
|
468
|
+
{ title_id },
|
|
469
|
+
params
|
|
470
|
+
);
|
|
471
|
+
}
|
|
472
|
+
|
|
412
473
|
|
|
413
474
|
}
|
|
414
475
|
|
package/src/api/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Auth from "./Auth";
|
|
2
|
+
import Ads from "./Ads";
|
|
2
3
|
import Competitions from "./Competitions";
|
|
3
4
|
import Communities from "./Communities";
|
|
4
5
|
import Users from "./Users";
|
|
@@ -31,6 +32,7 @@ import Funnel from "./Funnel";
|
|
|
31
32
|
import SocialStats from "./SocialStats";
|
|
32
33
|
import Hashtags from "./Hashtags";
|
|
33
34
|
|
|
35
|
+
export {Ads};
|
|
34
36
|
export {Auth};
|
|
35
37
|
export {Competitions};
|
|
36
38
|
export {Communities};
|
package/src/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { Config } from "./config";
|
|
|
6
6
|
import Auth from "./api/Auth";
|
|
7
7
|
import Competitions from "./api/Competitions";
|
|
8
8
|
import {Communities, Social} from "./api";
|
|
9
|
+
import { Ads } from "./api";
|
|
9
10
|
import { Users } from "./api";
|
|
10
11
|
import { Events } from "./api";
|
|
11
12
|
import { Teams } from "./api";
|
|
@@ -35,8 +36,6 @@ import {Funnel} from "./api";
|
|
|
35
36
|
import {SocialStats} from "./api";
|
|
36
37
|
import {Hashtags} from "./api";
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
39
|
import Requests from "./util/Requests";
|
|
41
40
|
import Parser from "./util/Parser";
|
|
42
41
|
import Session from "./util/Session";
|
|
@@ -67,6 +66,7 @@ class Glitch {
|
|
|
67
66
|
};
|
|
68
67
|
|
|
69
68
|
public static api = {
|
|
69
|
+
Ads: Ads,
|
|
70
70
|
Auth: Auth,
|
|
71
71
|
Campaigns : Campaigns,
|
|
72
72
|
Competitions: Competitions,
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import Route from "./interface";
|
|
2
|
+
import HTTP_METHODS from "../constants/HttpMethods";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* AdsRoute holds all the endpoint definitions for:
|
|
6
|
+
* - Ad Campaigns
|
|
7
|
+
* - Ad Groups (Ad Sets)
|
|
8
|
+
* - Ads (Creatives)
|
|
9
|
+
* - Ad Group Triggers
|
|
10
|
+
*/
|
|
11
|
+
class AdsRoute {
|
|
12
|
+
public static routes: { [key: string]: Route } = {
|
|
13
|
+
// ----------------------------------------------------------------
|
|
14
|
+
// AD CAMPAIGNS
|
|
15
|
+
// ----------------------------------------------------------------
|
|
16
|
+
getCampaigns: {
|
|
17
|
+
url: "/ads/campaigns",
|
|
18
|
+
method: HTTP_METHODS.GET,
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
createCampaign: {
|
|
22
|
+
url: "/ads/campaigns",
|
|
23
|
+
method: HTTP_METHODS.POST,
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
retrieveCampaign: {
|
|
27
|
+
url: "/ads/campaigns/{campaign_id}",
|
|
28
|
+
method: HTTP_METHODS.GET,
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
updateCampaign: {
|
|
32
|
+
url: "/ads/campaigns/{campaign_id}",
|
|
33
|
+
method: HTTP_METHODS.PUT,
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
deleteCampaign: {
|
|
37
|
+
url: "/ads/campaigns/{campaign_id}",
|
|
38
|
+
method: HTTP_METHODS.DELETE,
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
// ----------------------------------------------------------------
|
|
42
|
+
// AD GROUPS (AKA AD SETS)
|
|
43
|
+
// ----------------------------------------------------------------
|
|
44
|
+
getGroups: {
|
|
45
|
+
url: "/ads/campaigns/{campaign_id}/groups",
|
|
46
|
+
method: HTTP_METHODS.GET,
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
createGroup: {
|
|
50
|
+
url: "/ads/campaigns/{campaign_id}/groups",
|
|
51
|
+
method: HTTP_METHODS.POST,
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
retrieveGroup: {
|
|
55
|
+
url: "/ads/campaigns/{campaign_id}/groups/{group_id}",
|
|
56
|
+
method: HTTP_METHODS.GET,
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
updateGroup: {
|
|
60
|
+
url: "/ads/campaigns/{campaign_id}/groups/{group_id}",
|
|
61
|
+
method: HTTP_METHODS.PUT,
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
deleteGroup: {
|
|
65
|
+
url: "/ads/campaigns/{campaign_id}/groups/{group_id}",
|
|
66
|
+
method: HTTP_METHODS.DELETE,
|
|
67
|
+
},
|
|
68
|
+
|
|
69
|
+
// ----------------------------------------------------------------
|
|
70
|
+
// ADS (CREATIVES)
|
|
71
|
+
// ----------------------------------------------------------------
|
|
72
|
+
getAds: {
|
|
73
|
+
url: "/ads/creatives",
|
|
74
|
+
method: HTTP_METHODS.GET,
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
createAd: {
|
|
78
|
+
url: "/ads/creatives",
|
|
79
|
+
method: HTTP_METHODS.POST,
|
|
80
|
+
},
|
|
81
|
+
|
|
82
|
+
retrieveAd: {
|
|
83
|
+
url: "/ads/creatives/{ad_id}",
|
|
84
|
+
method: HTTP_METHODS.GET,
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
updateAd: {
|
|
88
|
+
url: "/ads/creatives/{ad_id}",
|
|
89
|
+
method: HTTP_METHODS.PUT,
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
deleteAd: {
|
|
93
|
+
url: "/ads/creatives/{ad_id}",
|
|
94
|
+
method: HTTP_METHODS.DELETE,
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
// ----------------------------------------------------------------
|
|
98
|
+
// AD GROUP TRIGGERS
|
|
99
|
+
// ----------------------------------------------------------------
|
|
100
|
+
getTriggers: {
|
|
101
|
+
url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers",
|
|
102
|
+
method: HTTP_METHODS.GET,
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
createTrigger: {
|
|
106
|
+
url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers",
|
|
107
|
+
method: HTTP_METHODS.POST,
|
|
108
|
+
},
|
|
109
|
+
|
|
110
|
+
retrieveTrigger: {
|
|
111
|
+
url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers/{trigger_id}",
|
|
112
|
+
method: HTTP_METHODS.GET,
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
updateTrigger: {
|
|
116
|
+
url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers/{trigger_id}",
|
|
117
|
+
method: HTTP_METHODS.PUT,
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
deleteTrigger: {
|
|
121
|
+
url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers/{trigger_id}",
|
|
122
|
+
method: HTTP_METHODS.DELETE,
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export default AdsRoute;
|
|
@@ -44,6 +44,33 @@ class TitlesRoute {
|
|
|
44
44
|
url: '/titles/{title_id}/sessions/histogram',
|
|
45
45
|
method: HTTP_METHODS.GET
|
|
46
46
|
},
|
|
47
|
+
/**
|
|
48
|
+
* 1) Import a CSV/Excel file containing daily UTM analytics data for a Title
|
|
49
|
+
* POST /titles/{title_id}/utm/import
|
|
50
|
+
*/
|
|
51
|
+
importUtmAnalytics: {
|
|
52
|
+
url: "/titles/{title_id}/utm/import",
|
|
53
|
+
method: HTTP_METHODS.POST,
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 2) Retrieve paginated/filterable UTM analytics data for a Title
|
|
58
|
+
* GET /titles/{title_id}/utm
|
|
59
|
+
*/
|
|
60
|
+
getUtmAnalytics: {
|
|
61
|
+
url: "/titles/{title_id}/utm",
|
|
62
|
+
method: HTTP_METHODS.GET,
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* 3) Analyze UTM data with optional group_by / dimension-based aggregates
|
|
67
|
+
* GET /titles/{title_id}/utm/analysis
|
|
68
|
+
*/
|
|
69
|
+
analyzeUtmAnalytics: {
|
|
70
|
+
url: "/titles/{title_id}/utm/analysis",
|
|
71
|
+
method: HTTP_METHODS.GET,
|
|
72
|
+
},
|
|
73
|
+
|
|
47
74
|
};
|
|
48
75
|
|
|
49
76
|
}
|