@schibsted/pulse-sdk 8.0.0-rc.4 → 8.0.0-rc.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/Tracker.js +75 -188
- package/dist/cjs/builders/actor.js +3 -3
- package/dist/cjs/identity/actor.js +18 -6
- package/dist/cjs/leaveTrackingTpaas/constants.js +2 -7
- package/dist/cjs/leaveTrackingTpaas/index.js +52 -40
- package/dist/cjs/tracker-proxy/consts.js +2 -7
- package/dist/cjs/version.js +1 -1
- package/dist/ejs/Tracker.js +77 -190
- package/dist/ejs/builders/actor.js +2 -2
- package/dist/ejs/identity/actor.js +19 -7
- package/dist/ejs/leaveTrackingTpaas/constants.js +1 -5
- package/dist/ejs/leaveTrackingTpaas/index.js +53 -41
- package/dist/ejs/tracker-proxy/consts.js +2 -7
- package/dist/ejs/version.js +1 -1
- package/dist/types/Tracker.d.ts +18 -56
- package/dist/types/builders/actor.d.ts +3 -2
- package/dist/types/identity/actor.d.ts +2 -2
- package/dist/types/identity/cis.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/leaveTrackingTpaas/constants.d.ts +1 -5
- package/dist/types/leaveTrackingTpaas/index.d.ts +6 -6
- package/dist/types/leaveTrackingTpaas/types.d.ts +1 -9
- package/dist/types/tracker-proxy/consts.d.ts +1 -1
- package/dist/types/types.d.ts +19 -13
- package/dist/types/version.d.ts +1 -1
- package/node_modules/@schibsted/pulse-utils/package.json +1 -1
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/catalogVersion.js +9 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders.js +63 -78
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/catalogVersion.js +6 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders.js +64 -72
- package/node_modules/@schibsted/tpaas-event-builder/dist/index.d.ts +607 -1018
- package/node_modules/@schibsted/tpaas-schemas/dist/cjs/constants.js +67 -109
- package/node_modules/@schibsted/tpaas-schemas/dist/ejs/constants.js +65 -107
- package/node_modules/@schibsted/tpaas-schemas/dist/index.d.ts +722 -1215
- package/package.json +2 -2
|
@@ -28,9 +28,9 @@ interface IPageRef {
|
|
|
28
28
|
*/
|
|
29
29
|
pageId?: string;
|
|
30
30
|
/**
|
|
31
|
-
* The
|
|
31
|
+
* The object type of the base pageview.
|
|
32
32
|
*/
|
|
33
|
-
pageType?: "Article" | "
|
|
33
|
+
pageType?: "Article" | "AudioPage" | "Error" | "Frontpage" | "HealthPage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudioPage" | "LockedVideoPage" | "Login" | "Page" | "SportsPage" | "Title" | "VideoPage" | "Weather";
|
|
34
34
|
/**
|
|
35
35
|
* The URL of the page.
|
|
36
36
|
*/
|
|
@@ -141,6 +141,10 @@ interface ITracker {
|
|
|
141
141
|
version: string;
|
|
142
142
|
}
|
|
143
143
|
interface IAnonymousViewUIElement {
|
|
144
|
+
/**
|
|
145
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
146
|
+
*/
|
|
147
|
+
catalogVersion: string;
|
|
144
148
|
/**
|
|
145
149
|
* The unique identifier for the event.
|
|
146
150
|
*/
|
|
@@ -218,6 +222,10 @@ interface IUser {
|
|
|
218
222
|
userSdrn: string;
|
|
219
223
|
}
|
|
220
224
|
interface ICancelSubscription {
|
|
225
|
+
/**
|
|
226
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
227
|
+
*/
|
|
228
|
+
catalogVersion: string;
|
|
221
229
|
consents?: IConsents;
|
|
222
230
|
device?: {
|
|
223
231
|
/**
|
|
@@ -381,6 +389,10 @@ interface ISession {
|
|
|
381
389
|
xDomainId?: string;
|
|
382
390
|
}
|
|
383
391
|
interface IChangePushNotificationSettings {
|
|
392
|
+
/**
|
|
393
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
394
|
+
*/
|
|
395
|
+
catalogVersion: string;
|
|
384
396
|
consents: IConsents;
|
|
385
397
|
device: IDevice;
|
|
386
398
|
/**
|
|
@@ -398,6 +410,10 @@ interface IChangePushNotificationSettings {
|
|
|
398
410
|
* The push topics the user have enabled.
|
|
399
411
|
*/
|
|
400
412
|
enabledTopics: string[];
|
|
413
|
+
/**
|
|
414
|
+
* Whether the user have enabled or disabled push notifications.
|
|
415
|
+
*/
|
|
416
|
+
isPushEnabled: boolean;
|
|
401
417
|
/**
|
|
402
418
|
* The type of the object.
|
|
403
419
|
*/
|
|
@@ -459,6 +475,10 @@ interface IContent {
|
|
|
459
475
|
tags: string[];
|
|
460
476
|
}
|
|
461
477
|
interface ICompletedHealthAction {
|
|
478
|
+
/**
|
|
479
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
480
|
+
*/
|
|
481
|
+
catalogVersion: string;
|
|
462
482
|
consents: IConsents;
|
|
463
483
|
device: IDevice;
|
|
464
484
|
/**
|
|
@@ -549,6 +569,10 @@ interface ICompletedHealthAction {
|
|
|
549
569
|
user?: IUser;
|
|
550
570
|
}
|
|
551
571
|
interface IEngagementAudio {
|
|
572
|
+
/**
|
|
573
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
574
|
+
*/
|
|
575
|
+
catalogVersion: string;
|
|
552
576
|
consents: IConsents;
|
|
553
577
|
device: IDevice;
|
|
554
578
|
/**
|
|
@@ -566,7 +590,7 @@ interface IEngagementAudio {
|
|
|
566
590
|
/**
|
|
567
591
|
* Semantic event type (e.g. "start" (first start), "replay", “pause”. "next", "stop" etc.).
|
|
568
592
|
*/
|
|
569
|
-
engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch";
|
|
593
|
+
engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch" | "Load";
|
|
570
594
|
};
|
|
571
595
|
/**
|
|
572
596
|
* The unique identifier for the event.
|
|
@@ -577,20 +601,57 @@ interface IEngagementAudio {
|
|
|
577
601
|
*/
|
|
578
602
|
eventType: "Engagement";
|
|
579
603
|
experiments?: IExperiments;
|
|
580
|
-
|
|
581
|
-
|
|
604
|
+
/**
|
|
605
|
+
* Type of user interaction with the audio
|
|
606
|
+
*/
|
|
607
|
+
interaction?: {
|
|
582
608
|
/**
|
|
583
|
-
*
|
|
609
|
+
* How the audio is consumed by the user at any given time
|
|
584
610
|
*/
|
|
585
|
-
|
|
611
|
+
displayMode: "Normal" | "Fullscreen" | "Minimized" | "Background" | "Chromecast" | "Airplay" | "Carplay";
|
|
612
|
+
/**
|
|
613
|
+
* True if the audio is muted
|
|
614
|
+
*/
|
|
615
|
+
isMuted: boolean;
|
|
586
616
|
/**
|
|
587
|
-
*
|
|
617
|
+
* Indicates how the audio started
|
|
588
618
|
*/
|
|
589
|
-
|
|
619
|
+
playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
590
620
|
/**
|
|
591
|
-
*
|
|
621
|
+
* The current playback speed
|
|
592
622
|
*/
|
|
593
|
-
|
|
623
|
+
playbackSpeed?: number;
|
|
624
|
+
/**
|
|
625
|
+
* The offset of the current playback from the start of the audio in milliseconds
|
|
626
|
+
*/
|
|
627
|
+
positionMs: number;
|
|
628
|
+
/**
|
|
629
|
+
* The playback position in the audio where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position
|
|
630
|
+
*/
|
|
631
|
+
prevPositionMs: string;
|
|
632
|
+
/**
|
|
633
|
+
* The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
|
|
634
|
+
*/
|
|
635
|
+
seekFromMs?: number;
|
|
636
|
+
/**
|
|
637
|
+
* The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
|
|
638
|
+
*/
|
|
639
|
+
seekToMs?: number;
|
|
640
|
+
/**
|
|
641
|
+
* How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc
|
|
642
|
+
*/
|
|
643
|
+
viewtimeMs: number;
|
|
644
|
+
};
|
|
645
|
+
metrics?: IMetrics;
|
|
646
|
+
object: {
|
|
647
|
+
/**
|
|
648
|
+
* The editorial category of this audio
|
|
649
|
+
*/
|
|
650
|
+
category: string;
|
|
651
|
+
/**
|
|
652
|
+
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
653
|
+
*/
|
|
654
|
+
containerName: string;
|
|
594
655
|
/**
|
|
595
656
|
* The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
|
|
596
657
|
*/
|
|
@@ -600,9 +661,21 @@ interface IEngagementAudio {
|
|
|
600
661
|
*/
|
|
601
662
|
elementSize?: "XS" | "S" | "M" | "L" | "XL";
|
|
602
663
|
/**
|
|
603
|
-
*
|
|
664
|
+
* The UI surface or context from which the audio playback was initiated, such as the frontpage, an article embed, podcast-page or play-next etc
|
|
604
665
|
*/
|
|
605
|
-
|
|
666
|
+
entryPoint: string;
|
|
667
|
+
/**
|
|
668
|
+
* Which episode
|
|
669
|
+
*/
|
|
670
|
+
episode?: string;
|
|
671
|
+
/**
|
|
672
|
+
* Audio thumbnail from Stream to use in (Kilkaya) dashboards
|
|
673
|
+
*/
|
|
674
|
+
imageUrl: string;
|
|
675
|
+
/**
|
|
676
|
+
* True if audio is accesible for the user
|
|
677
|
+
*/
|
|
678
|
+
isAccessible: boolean;
|
|
606
679
|
/**
|
|
607
680
|
* The name of the audio.
|
|
608
681
|
*/
|
|
@@ -617,13 +690,13 @@ interface IEngagementAudio {
|
|
|
617
690
|
objectSdrn: string;
|
|
618
691
|
objectType: "Audio";
|
|
619
692
|
/**
|
|
620
|
-
* Indicates how the audio
|
|
693
|
+
* Indicates how the audio is configured to start
|
|
621
694
|
*/
|
|
622
|
-
|
|
695
|
+
playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
623
696
|
/**
|
|
624
|
-
* The
|
|
697
|
+
* The type of player exposed to the user
|
|
625
698
|
*/
|
|
626
|
-
|
|
699
|
+
player: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
|
|
627
700
|
/**
|
|
628
701
|
* A unique ID for this player instance.
|
|
629
702
|
*/
|
|
@@ -633,37 +706,26 @@ interface IEngagementAudio {
|
|
|
633
706
|
*/
|
|
634
707
|
playlistId?: string;
|
|
635
708
|
/**
|
|
636
|
-
* The unique ID for this audio when published
|
|
709
|
+
* The unique ID for this audio when published in PodMe.
|
|
637
710
|
*/
|
|
638
711
|
podmeId?: string;
|
|
639
|
-
/**
|
|
640
|
-
* The offset of the current playback from the start of the audio in milliseconds.
|
|
641
|
-
*/
|
|
642
|
-
positionMs: number;
|
|
643
|
-
/**
|
|
644
|
-
* The playback position in the audio where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position.
|
|
645
|
-
*/
|
|
646
|
-
prevPositionMs: number;
|
|
647
712
|
/**
|
|
648
713
|
* The position of the audio in the playlist.
|
|
649
714
|
*/
|
|
650
715
|
queuePosition?: number;
|
|
651
716
|
/**
|
|
652
|
-
*
|
|
717
|
+
* Which season
|
|
653
718
|
*/
|
|
654
|
-
|
|
719
|
+
season?: string;
|
|
655
720
|
/**
|
|
656
|
-
*
|
|
721
|
+
* Follow accesslevel from Stream (viewer access)
|
|
657
722
|
*/
|
|
658
|
-
|
|
723
|
+
streamAccessLevel: string;
|
|
659
724
|
/**
|
|
660
725
|
* Reflects the stream type as defined in Stream at the time of playback.
|
|
661
726
|
*/
|
|
662
727
|
streamType: string;
|
|
663
|
-
|
|
664
|
-
* How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
|
|
665
|
-
*/
|
|
666
|
-
userDurationMs: number;
|
|
728
|
+
tags?: string[];
|
|
667
729
|
/**
|
|
668
730
|
* Type of audio. Fetched from content type in Stream.
|
|
669
731
|
*/
|
|
@@ -700,6 +762,10 @@ interface IEngagement {
|
|
|
700
762
|
elementName: string;
|
|
701
763
|
}
|
|
702
764
|
interface IEngagementForm {
|
|
765
|
+
/**
|
|
766
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
767
|
+
*/
|
|
768
|
+
catalogVersion: string;
|
|
703
769
|
consents: IConsents;
|
|
704
770
|
device: IDevice;
|
|
705
771
|
engagement: IEngagement;
|
|
@@ -781,6 +847,10 @@ interface IEngagementForm {
|
|
|
781
847
|
user?: IUser;
|
|
782
848
|
}
|
|
783
849
|
interface IEngagementHealthUIElement {
|
|
850
|
+
/**
|
|
851
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
852
|
+
*/
|
|
853
|
+
catalogVersion: string;
|
|
784
854
|
consents: IConsents;
|
|
785
855
|
device: IDevice;
|
|
786
856
|
engagement: IEngagement;
|
|
@@ -873,6 +943,10 @@ interface IEngagementHealthUIElement {
|
|
|
873
943
|
user?: IUser;
|
|
874
944
|
}
|
|
875
945
|
interface IEngagementNotification {
|
|
946
|
+
/**
|
|
947
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
948
|
+
*/
|
|
949
|
+
catalogVersion: string;
|
|
876
950
|
consents: IConsents;
|
|
877
951
|
device: IDevice;
|
|
878
952
|
engagement: IEngagement;
|
|
@@ -938,6 +1012,10 @@ interface IEngagementNotification {
|
|
|
938
1012
|
user?: IUser;
|
|
939
1013
|
}
|
|
940
1014
|
interface IEngagementOffer {
|
|
1015
|
+
/**
|
|
1016
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1017
|
+
*/
|
|
1018
|
+
catalogVersion: string;
|
|
941
1019
|
consents: IConsents;
|
|
942
1020
|
device: IDevice;
|
|
943
1021
|
engagement: IEngagement;
|
|
@@ -1035,6 +1113,10 @@ interface IPlacement {
|
|
|
1035
1113
|
source?: string;
|
|
1036
1114
|
}
|
|
1037
1115
|
interface IEngagementTeaser {
|
|
1116
|
+
/**
|
|
1117
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1118
|
+
*/
|
|
1119
|
+
catalogVersion: string;
|
|
1038
1120
|
consents: IConsents;
|
|
1039
1121
|
device: IDevice;
|
|
1040
1122
|
engagement: IEngagement;
|
|
@@ -1085,14 +1167,6 @@ interface IEngagementTeaser {
|
|
|
1085
1167
|
* The parent’s primary direction along which components are laid out.
|
|
1086
1168
|
*/
|
|
1087
1169
|
primaryAxis: "Horizontal" | "Vertical";
|
|
1088
|
-
/**
|
|
1089
|
-
* The position of this component along the primary axis.
|
|
1090
|
-
*/
|
|
1091
|
-
primaryPosition: number;
|
|
1092
|
-
/**
|
|
1093
|
-
* The position of this component along the secondary axis.
|
|
1094
|
-
*/
|
|
1095
|
-
secondaryPosition: number;
|
|
1096
1170
|
/**
|
|
1097
1171
|
* The title of the teaser.
|
|
1098
1172
|
*/
|
|
@@ -1124,6 +1198,10 @@ interface IEngagementTeaser {
|
|
|
1124
1198
|
user?: IUser;
|
|
1125
1199
|
}
|
|
1126
1200
|
interface IEngagementUIElement {
|
|
1201
|
+
/**
|
|
1202
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1203
|
+
*/
|
|
1204
|
+
catalogVersion: string;
|
|
1127
1205
|
consents: IConsents;
|
|
1128
1206
|
device: IDevice;
|
|
1129
1207
|
engagement: IEngagement;
|
|
@@ -1195,6 +1273,10 @@ interface IEngagementUIElement {
|
|
|
1195
1273
|
user?: IUser;
|
|
1196
1274
|
}
|
|
1197
1275
|
interface IEngagementVideo {
|
|
1276
|
+
/**
|
|
1277
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1278
|
+
*/
|
|
1279
|
+
catalogVersion: string;
|
|
1198
1280
|
consents: IConsents;
|
|
1199
1281
|
device: IDevice;
|
|
1200
1282
|
/**
|
|
@@ -1212,7 +1294,7 @@ interface IEngagementVideo {
|
|
|
1212
1294
|
/**
|
|
1213
1295
|
* Semantic event type (e.g. "start" (first start), "replay", “pause”. "next", "stop" etc.).
|
|
1214
1296
|
*/
|
|
1215
|
-
engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch" | "Prev";
|
|
1297
|
+
engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch" | "Prev" | "Load";
|
|
1216
1298
|
};
|
|
1217
1299
|
/**
|
|
1218
1300
|
* The unique identifier for the event.
|
|
@@ -1223,20 +1305,69 @@ interface IEngagementVideo {
|
|
|
1223
1305
|
*/
|
|
1224
1306
|
eventType: "Engagement";
|
|
1225
1307
|
experiments?: IExperiments;
|
|
1308
|
+
/**
|
|
1309
|
+
* Type of user interaction with the video
|
|
1310
|
+
*/
|
|
1311
|
+
interaction?: {
|
|
1312
|
+
/**
|
|
1313
|
+
* How the video is consumed by the user at any given time
|
|
1314
|
+
*/
|
|
1315
|
+
displayMode: "Normal" | "Sticky" | "Fullscreen" | "Overlay" | "Minimized" | "PictureInPicture" | "Chromecast" | "Airplay" | "Carplay" | "Background" | "Floating";
|
|
1316
|
+
/**
|
|
1317
|
+
* True if the video is muted.
|
|
1318
|
+
*/
|
|
1319
|
+
isMuted: boolean;
|
|
1320
|
+
/**
|
|
1321
|
+
* The number of times the video has automatically repeated itself.
|
|
1322
|
+
*/
|
|
1323
|
+
loopCount?: number;
|
|
1324
|
+
/**
|
|
1325
|
+
* Indicates how the video started.
|
|
1326
|
+
*/
|
|
1327
|
+
playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
1328
|
+
/**
|
|
1329
|
+
* The current playback speed.
|
|
1330
|
+
*/
|
|
1331
|
+
playbackSpeed?: number;
|
|
1332
|
+
/**
|
|
1333
|
+
* The offset of the current playback from the start of the video in milliseconds.
|
|
1334
|
+
*/
|
|
1335
|
+
positionMs: number;
|
|
1336
|
+
/**
|
|
1337
|
+
* The playback position in the video where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position.
|
|
1338
|
+
*/
|
|
1339
|
+
prevPositionMs: number;
|
|
1340
|
+
/**
|
|
1341
|
+
* The current playback quality.
|
|
1342
|
+
*/
|
|
1343
|
+
quality?: string;
|
|
1344
|
+
/**
|
|
1345
|
+
* The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
|
|
1346
|
+
*/
|
|
1347
|
+
seekFromMs?: number;
|
|
1348
|
+
/**
|
|
1349
|
+
* The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
|
|
1350
|
+
*/
|
|
1351
|
+
seekToMs?: number;
|
|
1352
|
+
/**
|
|
1353
|
+
* How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
|
|
1354
|
+
*/
|
|
1355
|
+
viewTimeMs: number;
|
|
1356
|
+
};
|
|
1226
1357
|
metrics?: IMetrics;
|
|
1227
1358
|
object: {
|
|
1228
1359
|
/**
|
|
1229
|
-
*
|
|
1360
|
+
* Numeric value of the video aspect ratio
|
|
1230
1361
|
*/
|
|
1231
|
-
|
|
1362
|
+
aspectRatio: number;
|
|
1232
1363
|
/**
|
|
1233
|
-
* The
|
|
1364
|
+
* The editorial category of this video
|
|
1234
1365
|
*/
|
|
1235
|
-
|
|
1366
|
+
category: string;
|
|
1236
1367
|
/**
|
|
1237
|
-
*
|
|
1368
|
+
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
1238
1369
|
*/
|
|
1239
|
-
|
|
1370
|
+
containerName: string;
|
|
1240
1371
|
/**
|
|
1241
1372
|
* The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
|
|
1242
1373
|
*/
|
|
@@ -1245,6 +1376,22 @@ interface IEngagementVideo {
|
|
|
1245
1376
|
* The size of the player.
|
|
1246
1377
|
*/
|
|
1247
1378
|
elementSize?: "XS" | "S" | "M" | "L" | "XL";
|
|
1379
|
+
/**
|
|
1380
|
+
* The UI surface or context from which the video playback was initiated, such as the frontpage, an article embed, a stories feed, a carousel, or play-next etc
|
|
1381
|
+
*/
|
|
1382
|
+
entryPoint: string;
|
|
1383
|
+
/**
|
|
1384
|
+
* Which episode
|
|
1385
|
+
*/
|
|
1386
|
+
episode?: string;
|
|
1387
|
+
/**
|
|
1388
|
+
* Video thumbnail from Stream to use in (Kilkaya) dashboards
|
|
1389
|
+
*/
|
|
1390
|
+
imageUrl: string;
|
|
1391
|
+
/**
|
|
1392
|
+
* True if the video is accessible for the user
|
|
1393
|
+
*/
|
|
1394
|
+
isAccessible: boolean;
|
|
1248
1395
|
/**
|
|
1249
1396
|
* True if the video is an ad published through editorial CMS and not Xandr.
|
|
1250
1397
|
*/
|
|
@@ -1253,18 +1400,10 @@ interface IEngagementVideo {
|
|
|
1253
1400
|
* True if the video has loop
|
|
1254
1401
|
*/
|
|
1255
1402
|
isLoop: boolean;
|
|
1256
|
-
/**
|
|
1257
|
-
* True if the video is muted.
|
|
1258
|
-
*/
|
|
1259
|
-
isMuted: boolean;
|
|
1260
1403
|
/**
|
|
1261
1404
|
* True if video is sponsored.
|
|
1262
1405
|
*/
|
|
1263
1406
|
isSponsored: boolean;
|
|
1264
|
-
/**
|
|
1265
|
-
* The number of times the video has automatically repeated itself.
|
|
1266
|
-
*/
|
|
1267
|
-
loopCount?: number;
|
|
1268
1407
|
/**
|
|
1269
1408
|
* The name of the video.
|
|
1270
1409
|
*/
|
|
@@ -1282,13 +1421,13 @@ interface IEngagementVideo {
|
|
|
1282
1421
|
*/
|
|
1283
1422
|
objectType: "Video";
|
|
1284
1423
|
/**
|
|
1285
|
-
* Indicates how the video
|
|
1424
|
+
* Indicates how the video is configured to start
|
|
1286
1425
|
*/
|
|
1287
|
-
|
|
1426
|
+
playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
1288
1427
|
/**
|
|
1289
|
-
* The
|
|
1428
|
+
* The type of player exposed to the user
|
|
1290
1429
|
*/
|
|
1291
|
-
|
|
1430
|
+
player: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
|
|
1292
1431
|
/**
|
|
1293
1432
|
* A unique ID for this player instance.
|
|
1294
1433
|
*/
|
|
@@ -1297,38 +1436,23 @@ interface IEngagementVideo {
|
|
|
1297
1436
|
* The ID of the playlist.
|
|
1298
1437
|
*/
|
|
1299
1438
|
playlistId?: string;
|
|
1300
|
-
/**
|
|
1301
|
-
* The offset of the current playback from the start of the video in milliseconds.
|
|
1302
|
-
*/
|
|
1303
|
-
positionMs: number;
|
|
1304
|
-
/**
|
|
1305
|
-
* The playback position in the video where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position.
|
|
1306
|
-
*/
|
|
1307
|
-
prevPositionMs: number;
|
|
1308
|
-
/**
|
|
1309
|
-
* The current playback quality.
|
|
1310
|
-
*/
|
|
1311
|
-
quality?: string;
|
|
1312
1439
|
/**
|
|
1313
1440
|
* The position of the video in the playlist.
|
|
1314
1441
|
*/
|
|
1315
1442
|
queuePosition?: number;
|
|
1316
1443
|
/**
|
|
1317
|
-
*
|
|
1444
|
+
* Which season
|
|
1318
1445
|
*/
|
|
1319
|
-
|
|
1446
|
+
season?: string;
|
|
1320
1447
|
/**
|
|
1321
|
-
*
|
|
1448
|
+
* Follow accesslevel from Stream (viewer access)
|
|
1322
1449
|
*/
|
|
1323
|
-
|
|
1450
|
+
streamAccessLevel: string;
|
|
1324
1451
|
/**
|
|
1325
1452
|
* Reflects the stream type as defined in Stream at the time of playback.
|
|
1326
1453
|
*/
|
|
1327
1454
|
streamType: string;
|
|
1328
|
-
|
|
1329
|
-
* How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
|
|
1330
|
-
*/
|
|
1331
|
-
userDurationMs: number;
|
|
1455
|
+
tags?: string[];
|
|
1332
1456
|
/**
|
|
1333
1457
|
* Type of video. Fetched from content type in Stream.
|
|
1334
1458
|
*/
|
|
@@ -1358,6 +1482,10 @@ interface IEngagementVideo {
|
|
|
1358
1482
|
user?: IUser;
|
|
1359
1483
|
}
|
|
1360
1484
|
interface IEngagementVideoAd {
|
|
1485
|
+
/**
|
|
1486
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1487
|
+
*/
|
|
1488
|
+
catalogVersion: string;
|
|
1361
1489
|
consents: IConsents;
|
|
1362
1490
|
device: IDevice;
|
|
1363
1491
|
/**
|
|
@@ -1386,6 +1514,20 @@ interface IEngagementVideoAd {
|
|
|
1386
1514
|
*/
|
|
1387
1515
|
eventType: "Engagement";
|
|
1388
1516
|
experiments?: IExperiments;
|
|
1517
|
+
/**
|
|
1518
|
+
* Type of user interaction with the video ad
|
|
1519
|
+
*
|
|
1520
|
+
*/
|
|
1521
|
+
interaction?: {
|
|
1522
|
+
/**
|
|
1523
|
+
* True if the ad is muted.
|
|
1524
|
+
*/
|
|
1525
|
+
isMuted: boolean;
|
|
1526
|
+
/**
|
|
1527
|
+
* Position (in milliseconds) for when the ad is skipped, stopped or completed.
|
|
1528
|
+
*/
|
|
1529
|
+
positionMs: number;
|
|
1530
|
+
};
|
|
1389
1531
|
object: {
|
|
1390
1532
|
/**
|
|
1391
1533
|
* Duration of this specific ad in milliseconds. If the duration is unknown or not provided by the ad server, the fallback is -1.
|
|
@@ -1419,10 +1561,6 @@ interface IEngagementVideoAd {
|
|
|
1419
1561
|
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
1420
1562
|
*/
|
|
1421
1563
|
containerName: string;
|
|
1422
|
-
/**
|
|
1423
|
-
* True if the ad is muted.
|
|
1424
|
-
*/
|
|
1425
|
-
isMuted: boolean;
|
|
1426
1564
|
/**
|
|
1427
1565
|
* The identifier of the asset the ad belongs to.
|
|
1428
1566
|
*/
|
|
@@ -1447,10 +1585,6 @@ interface IEngagementVideoAd {
|
|
|
1447
1585
|
* A unique ID for this player instance.
|
|
1448
1586
|
*/
|
|
1449
1587
|
playerId: string;
|
|
1450
|
-
/**
|
|
1451
|
-
* Position for when the ad is skipped, stopped or completed.
|
|
1452
|
-
*/
|
|
1453
|
-
positionMs: number;
|
|
1454
1588
|
};
|
|
1455
1589
|
page: {
|
|
1456
1590
|
content?: IContent;
|
|
@@ -1476,6 +1610,10 @@ interface IEngagementVideoAd {
|
|
|
1476
1610
|
user?: IUser;
|
|
1477
1611
|
}
|
|
1478
1612
|
interface IEngagementWidget {
|
|
1613
|
+
/**
|
|
1614
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1615
|
+
*/
|
|
1616
|
+
catalogVersion: string;
|
|
1479
1617
|
consents: IConsents;
|
|
1480
1618
|
device: IDevice;
|
|
1481
1619
|
engagement: IEngagement;
|
|
@@ -1517,14 +1655,6 @@ interface IEngagementWidget {
|
|
|
1517
1655
|
* The parent’s primary direction along which components are laid out.
|
|
1518
1656
|
*/
|
|
1519
1657
|
primaryAxis?: "Horizontal" | "Vertical";
|
|
1520
|
-
/**
|
|
1521
|
-
* The position of this component along the primary axis.
|
|
1522
|
-
*/
|
|
1523
|
-
primaryPosition: number;
|
|
1524
|
-
/**
|
|
1525
|
-
* The position of this component along the secondary axis.
|
|
1526
|
-
*/
|
|
1527
|
-
secondaryPosition: number;
|
|
1528
1658
|
};
|
|
1529
1659
|
page: {
|
|
1530
1660
|
content?: IContent;
|
|
@@ -1551,7 +1681,11 @@ interface IEngagementWidget {
|
|
|
1551
1681
|
tracker: ITracker;
|
|
1552
1682
|
user?: IUser;
|
|
1553
1683
|
}
|
|
1554
|
-
interface
|
|
1684
|
+
interface IImpressionForm {
|
|
1685
|
+
/**
|
|
1686
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1687
|
+
*/
|
|
1688
|
+
catalogVersion: string;
|
|
1555
1689
|
consents: IConsents;
|
|
1556
1690
|
device: IDevice;
|
|
1557
1691
|
/**
|
|
@@ -1564,59 +1698,12 @@ interface IImpressionAdSlot {
|
|
|
1564
1698
|
eventType: "Impression";
|
|
1565
1699
|
experiments?: IExperiments;
|
|
1566
1700
|
object: {
|
|
1567
|
-
availableFormats: ("Preroll" | "Bumper" | "Board" | "Netboard" | "Wallpaper" | "Fullscreen" | "BannerXL" | "Broadband" | "Skyscraper" | "Horseshoe" | "PauseBanner" | "Snapchat" | "FoodChannel")[];
|
|
1568
|
-
/**
|
|
1569
|
-
* The type of the object.
|
|
1570
|
-
*/
|
|
1571
|
-
objectType: "AdSlot";
|
|
1572
|
-
/**
|
|
1573
|
-
* The identifier of the player.
|
|
1574
|
-
*/
|
|
1575
|
-
playerId: string;
|
|
1576
1701
|
/**
|
|
1577
|
-
* The
|
|
1702
|
+
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1578
1703
|
*/
|
|
1579
|
-
|
|
1580
|
-
};
|
|
1581
|
-
page: {
|
|
1582
|
-
content?: IContent;
|
|
1583
|
-
info: IPageRef;
|
|
1704
|
+
containerName: string;
|
|
1584
1705
|
/**
|
|
1585
|
-
* The
|
|
1586
|
-
*/
|
|
1587
|
-
pageviewId: string;
|
|
1588
|
-
referrer?: IPageRef;
|
|
1589
|
-
utm?: IUtmTags;
|
|
1590
|
-
};
|
|
1591
|
-
provider: IProvider;
|
|
1592
|
-
/**
|
|
1593
|
-
* URL to the JSON schema for this event.
|
|
1594
|
-
*/
|
|
1595
|
-
schema: string;
|
|
1596
|
-
session: ISession;
|
|
1597
|
-
time: ITime;
|
|
1598
|
-
tracker: ITracker;
|
|
1599
|
-
user?: IUser;
|
|
1600
|
-
}
|
|
1601
|
-
interface IImpressionForm {
|
|
1602
|
-
consents: IConsents;
|
|
1603
|
-
device: IDevice;
|
|
1604
|
-
/**
|
|
1605
|
-
* The unique identifier for the event.
|
|
1606
|
-
*/
|
|
1607
|
-
eventId: string;
|
|
1608
|
-
/**
|
|
1609
|
-
* The type of the event.
|
|
1610
|
-
*/
|
|
1611
|
-
eventType: "Impression";
|
|
1612
|
-
experiments?: IExperiments;
|
|
1613
|
-
object: {
|
|
1614
|
-
/**
|
|
1615
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1616
|
-
*/
|
|
1617
|
-
containerName: string;
|
|
1618
|
-
/**
|
|
1619
|
-
* The size of the component.
|
|
1706
|
+
* The size of the component.
|
|
1620
1707
|
*/
|
|
1621
1708
|
elementSize?: "XS" | "S" | "M" | "L" | "XL";
|
|
1622
1709
|
fields: {
|
|
@@ -1683,6 +1770,10 @@ interface IImpressionForm {
|
|
|
1683
1770
|
user?: IUser;
|
|
1684
1771
|
}
|
|
1685
1772
|
interface IImpressionHealthUIElement {
|
|
1773
|
+
/**
|
|
1774
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1775
|
+
*/
|
|
1776
|
+
catalogVersion: string;
|
|
1686
1777
|
consents: IConsents;
|
|
1687
1778
|
device: IDevice;
|
|
1688
1779
|
/**
|
|
@@ -1781,6 +1872,10 @@ interface IImpressionHealthUIElement {
|
|
|
1781
1872
|
user?: IUser;
|
|
1782
1873
|
}
|
|
1783
1874
|
interface IImpressionNotification {
|
|
1875
|
+
/**
|
|
1876
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1877
|
+
*/
|
|
1878
|
+
catalogVersion: string;
|
|
1784
1879
|
consents: IConsents;
|
|
1785
1880
|
device: IDevice;
|
|
1786
1881
|
/**
|
|
@@ -1843,6 +1938,10 @@ interface IImpressionNotification {
|
|
|
1843
1938
|
user?: IUser;
|
|
1844
1939
|
}
|
|
1845
1940
|
interface IImpressionOffer {
|
|
1941
|
+
/**
|
|
1942
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1943
|
+
*/
|
|
1944
|
+
catalogVersion: string;
|
|
1846
1945
|
consents: IConsents;
|
|
1847
1946
|
device: IDevice;
|
|
1848
1947
|
/**
|
|
@@ -1895,7 +1994,7 @@ interface IImpressionOffer {
|
|
|
1895
1994
|
/**
|
|
1896
1995
|
* The variant/layout of the offer.
|
|
1897
1996
|
*/
|
|
1898
|
-
offerType
|
|
1997
|
+
offerType?: "Login" | "Meter" | "Paid";
|
|
1899
1998
|
};
|
|
1900
1999
|
page: {
|
|
1901
2000
|
content?: IContent;
|
|
@@ -1922,6 +2021,10 @@ interface IImpressionOffer {
|
|
|
1922
2021
|
user?: IUser;
|
|
1923
2022
|
}
|
|
1924
2023
|
interface IImpressionPlayer {
|
|
2024
|
+
/**
|
|
2025
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2026
|
+
*/
|
|
2027
|
+
catalogVersion: string;
|
|
1925
2028
|
consents: IConsents;
|
|
1926
2029
|
device: IDevice;
|
|
1927
2030
|
/**
|
|
@@ -1948,11 +2051,11 @@ interface IImpressionPlayer {
|
|
|
1948
2051
|
*/
|
|
1949
2052
|
foldPosition: "Above" | "Below" | "Unknown";
|
|
1950
2053
|
/**
|
|
1951
|
-
* The unique ID of the embedded asset ready to play in the player.
|
|
2054
|
+
* The unique ID of the embedded asset (not ads from Xandr) ready to play in the player.
|
|
1952
2055
|
*/
|
|
1953
2056
|
mediaAssetId: string;
|
|
1954
2057
|
/**
|
|
1955
|
-
* The name of the embedded asset. Fallback is -1 when name is not available.
|
|
2058
|
+
* The name of the embedded asset (not ads from Xandr). Fallback is -1 when name is not available.
|
|
1956
2059
|
*/
|
|
1957
2060
|
mediaAssetName: string;
|
|
1958
2061
|
/**
|
|
@@ -1966,15 +2069,15 @@ interface IImpressionPlayer {
|
|
|
1966
2069
|
/**
|
|
1967
2070
|
* The type of player exposed to the user.
|
|
1968
2071
|
*/
|
|
2072
|
+
player: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
|
|
2073
|
+
/**
|
|
2074
|
+
* The type of player engine exposed to the user.
|
|
2075
|
+
*/
|
|
1969
2076
|
playerEngine: "WebPlayer" | "AppPlayer";
|
|
1970
2077
|
/**
|
|
1971
2078
|
* A unique ID for this player instance.
|
|
1972
2079
|
*/
|
|
1973
2080
|
playerId: string;
|
|
1974
|
-
/**
|
|
1975
|
-
* The type of player exposed to the user.
|
|
1976
|
-
*/
|
|
1977
|
-
playerType: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
|
|
1978
2081
|
};
|
|
1979
2082
|
page: {
|
|
1980
2083
|
content?: IContent;
|
|
@@ -1998,6 +2101,10 @@ interface IImpressionPlayer {
|
|
|
1998
2101
|
user?: IUser;
|
|
1999
2102
|
}
|
|
2000
2103
|
interface IImpressionTeaser {
|
|
2104
|
+
/**
|
|
2105
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2106
|
+
*/
|
|
2107
|
+
catalogVersion: string;
|
|
2001
2108
|
consents: IConsents;
|
|
2002
2109
|
device: IDevice;
|
|
2003
2110
|
/**
|
|
@@ -2051,14 +2158,6 @@ interface IImpressionTeaser {
|
|
|
2051
2158
|
* The parent’s primary direction along which components are laid out.
|
|
2052
2159
|
*/
|
|
2053
2160
|
primaryAxis: "Horizontal" | "Vertical";
|
|
2054
|
-
/**
|
|
2055
|
-
* The position of this component along the primary axis.
|
|
2056
|
-
*/
|
|
2057
|
-
primaryPosition: number;
|
|
2058
|
-
/**
|
|
2059
|
-
* The position of this component along the secondary axis.
|
|
2060
|
-
*/
|
|
2061
|
-
secondaryPosition: number;
|
|
2062
2161
|
/**
|
|
2063
2162
|
* The title of the teaser.
|
|
2064
2163
|
*/
|
|
@@ -2090,6 +2189,10 @@ interface IImpressionTeaser {
|
|
|
2090
2189
|
user?: IUser;
|
|
2091
2190
|
}
|
|
2092
2191
|
interface IImpressionUIElement {
|
|
2192
|
+
/**
|
|
2193
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2194
|
+
*/
|
|
2195
|
+
catalogVersion: string;
|
|
2093
2196
|
consents: IConsents;
|
|
2094
2197
|
device: IDevice;
|
|
2095
2198
|
/**
|
|
@@ -2168,6 +2271,10 @@ interface IImpressionUIElement {
|
|
|
2168
2271
|
user?: IUser;
|
|
2169
2272
|
}
|
|
2170
2273
|
interface IImpressionWidget {
|
|
2274
|
+
/**
|
|
2275
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2276
|
+
*/
|
|
2277
|
+
catalogVersion: string;
|
|
2171
2278
|
consents: IConsents;
|
|
2172
2279
|
device: IDevice;
|
|
2173
2280
|
/**
|
|
@@ -2213,14 +2320,6 @@ interface IImpressionWidget {
|
|
|
2213
2320
|
* The parent’s primary direction along which components are laid out.
|
|
2214
2321
|
*/
|
|
2215
2322
|
primaryAxis: "Horizontal" | "Vertical";
|
|
2216
|
-
/**
|
|
2217
|
-
* The position of this component along the primary axis.
|
|
2218
|
-
*/
|
|
2219
|
-
primaryPosition: number;
|
|
2220
|
-
/**
|
|
2221
|
-
* The position of this component along the secondary axis.
|
|
2222
|
-
*/
|
|
2223
|
-
secondaryPosition: number;
|
|
2224
2323
|
};
|
|
2225
2324
|
page: {
|
|
2226
2325
|
content?: IContent;
|
|
@@ -2247,7 +2346,159 @@ interface IImpressionWidget {
|
|
|
2247
2346
|
tracker: ITracker;
|
|
2248
2347
|
user?: IUser;
|
|
2249
2348
|
}
|
|
2349
|
+
interface IInternalAccessDecision {
|
|
2350
|
+
/**
|
|
2351
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2352
|
+
*/
|
|
2353
|
+
catalogVersion: string;
|
|
2354
|
+
consents: IConsents;
|
|
2355
|
+
device: {
|
|
2356
|
+
/**
|
|
2357
|
+
* The client used to render the site.
|
|
2358
|
+
*/
|
|
2359
|
+
clientType?: "Chrome" | "Safari" | "Edge" | "Firefox" | "Samsung" | "NativeScreen" | "Webview" | "Other";
|
|
2360
|
+
/**
|
|
2361
|
+
* The device’s hardware category.
|
|
2362
|
+
*/
|
|
2363
|
+
deviceType?: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
|
|
2364
|
+
/**
|
|
2365
|
+
* The environment ID.
|
|
2366
|
+
*/
|
|
2367
|
+
environmentId: string;
|
|
2368
|
+
/**
|
|
2369
|
+
* The device’s operating system.
|
|
2370
|
+
*/
|
|
2371
|
+
operatingSystem?: "Windows" | "Mac" | "Linux" | "Other";
|
|
2372
|
+
/**
|
|
2373
|
+
* The raw userAgent string, if it exists.
|
|
2374
|
+
*/
|
|
2375
|
+
userAgent: string;
|
|
2376
|
+
};
|
|
2377
|
+
/**
|
|
2378
|
+
* The unique identifier for the event.
|
|
2379
|
+
*/
|
|
2380
|
+
eventId: string;
|
|
2381
|
+
/**
|
|
2382
|
+
* The type of the event.
|
|
2383
|
+
*/
|
|
2384
|
+
eventType: "Internal";
|
|
2385
|
+
experiments?: IExperiments;
|
|
2386
|
+
object: {
|
|
2387
|
+
arm: {
|
|
2388
|
+
/**
|
|
2389
|
+
* Unique ID of the experimental arm the user is assigned to.
|
|
2390
|
+
*/
|
|
2391
|
+
armId: string;
|
|
2392
|
+
/**
|
|
2393
|
+
* By which mechanism the user was assigned to the arm.
|
|
2394
|
+
*/
|
|
2395
|
+
assignmentSource: "Hash" | "Cache";
|
|
2396
|
+
/**
|
|
2397
|
+
* Complete setup of all arms at time of decision.
|
|
2398
|
+
*/
|
|
2399
|
+
config: {
|
|
2400
|
+
armId: string;
|
|
2401
|
+
version: string;
|
|
2402
|
+
weight: number;
|
|
2403
|
+
}[];
|
|
2404
|
+
/**
|
|
2405
|
+
* Unique ID of the arm configuration.
|
|
2406
|
+
*/
|
|
2407
|
+
configId: string;
|
|
2408
|
+
/**
|
|
2409
|
+
* End time of the arm assignment in UTC.
|
|
2410
|
+
*/
|
|
2411
|
+
endAt: string;
|
|
2412
|
+
/**
|
|
2413
|
+
* Start time of the arm assignment in UTC.
|
|
2414
|
+
*/
|
|
2415
|
+
startAt: string;
|
|
2416
|
+
};
|
|
2417
|
+
/**
|
|
2418
|
+
* When the decision system created the decision in UTC.
|
|
2419
|
+
*/
|
|
2420
|
+
decidedAt: string;
|
|
2421
|
+
/**
|
|
2422
|
+
* The decision made.
|
|
2423
|
+
*/
|
|
2424
|
+
decision: "Open" | "Close" | "Login";
|
|
2425
|
+
/**
|
|
2426
|
+
* Unique ID of the decision.
|
|
2427
|
+
*/
|
|
2428
|
+
decisionId: string;
|
|
2429
|
+
/**
|
|
2430
|
+
* Versioning of decision models.
|
|
2431
|
+
*/
|
|
2432
|
+
decisionPolicy: string;
|
|
2433
|
+
/**
|
|
2434
|
+
* Categorization of how the decision was made.
|
|
2435
|
+
*/
|
|
2436
|
+
decisionType: "RCT" | "Policy" | "Replay" | "Fallback";
|
|
2437
|
+
episode: {
|
|
2438
|
+
/**
|
|
2439
|
+
* End time of the episode in UTC.
|
|
2440
|
+
*/
|
|
2441
|
+
endAt: string;
|
|
2442
|
+
/**
|
|
2443
|
+
* Unique ID of the episode.
|
|
2444
|
+
*/
|
|
2445
|
+
episodeId: string;
|
|
2446
|
+
/**
|
|
2447
|
+
* Start time of the episode in UTC.
|
|
2448
|
+
*/
|
|
2449
|
+
startAt: string;
|
|
2450
|
+
};
|
|
2451
|
+
/**
|
|
2452
|
+
* The type of the object.
|
|
2453
|
+
*/
|
|
2454
|
+
objectType: "AccessDecision";
|
|
2455
|
+
/**
|
|
2456
|
+
* ID from SalesPoster service.
|
|
2457
|
+
*/
|
|
2458
|
+
requestId: string;
|
|
2459
|
+
};
|
|
2460
|
+
page?: {
|
|
2461
|
+
referrer?: IPageRef;
|
|
2462
|
+
};
|
|
2463
|
+
provider: IProvider;
|
|
2464
|
+
/**
|
|
2465
|
+
* URL to the JSON schema for this event.
|
|
2466
|
+
*/
|
|
2467
|
+
schema: string;
|
|
2468
|
+
target: {
|
|
2469
|
+
content: {
|
|
2470
|
+
/**
|
|
2471
|
+
* The access restriction placed on the content.
|
|
2472
|
+
*/
|
|
2473
|
+
accessLevel?: "Free" | "Login" | "Meter" | "Paid" | "Dynamic";
|
|
2474
|
+
/**
|
|
2475
|
+
* The format that this content is presented in.
|
|
2476
|
+
*/
|
|
2477
|
+
category?: "Article" | "Audio" | "Video" | "Weather" | "Title" | "Other";
|
|
2478
|
+
/**
|
|
2479
|
+
* The identifier of the content.
|
|
2480
|
+
*/
|
|
2481
|
+
contentId: string;
|
|
2482
|
+
/**
|
|
2483
|
+
* The subtype of the content.
|
|
2484
|
+
*/
|
|
2485
|
+
contentType?: "Article" | "LiveArticle" | "SpecialArticle" | "Podcast" | "Episode" | "Audiobook" | "AudiobookSample" | "Movie" | "Series" | "Story";
|
|
2486
|
+
/**
|
|
2487
|
+
* The id of the provider that requested the access decision and where the result will be shown (svdse). Note: Not the same as .provider.providerId.
|
|
2488
|
+
*/
|
|
2489
|
+
providerId: string;
|
|
2490
|
+
tags: string[];
|
|
2491
|
+
};
|
|
2492
|
+
};
|
|
2493
|
+
time: ITime;
|
|
2494
|
+
tracker: ITracker;
|
|
2495
|
+
user?: IUser;
|
|
2496
|
+
}
|
|
2250
2497
|
interface IInternalProbe {
|
|
2498
|
+
/**
|
|
2499
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2500
|
+
*/
|
|
2501
|
+
catalogVersion: string;
|
|
2251
2502
|
/**
|
|
2252
2503
|
* The unique identifier for the event.
|
|
2253
2504
|
*/
|
|
@@ -2278,6 +2529,10 @@ interface IInternalProbe {
|
|
|
2278
2529
|
time: ITime;
|
|
2279
2530
|
}
|
|
2280
2531
|
interface ILaunchApp {
|
|
2532
|
+
/**
|
|
2533
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2534
|
+
*/
|
|
2535
|
+
catalogVersion: string;
|
|
2281
2536
|
consents: IConsents;
|
|
2282
2537
|
device: IDevice;
|
|
2283
2538
|
/**
|
|
@@ -2344,6 +2599,10 @@ interface ILeave {
|
|
|
2344
2599
|
pageViewPercentage: number;
|
|
2345
2600
|
}
|
|
2346
2601
|
interface ILeaveArticle {
|
|
2602
|
+
/**
|
|
2603
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2604
|
+
*/
|
|
2605
|
+
catalogVersion: string;
|
|
2347
2606
|
consents: IConsents;
|
|
2348
2607
|
device: IDevice;
|
|
2349
2608
|
/**
|
|
@@ -2357,15 +2616,10 @@ interface ILeaveArticle {
|
|
|
2357
2616
|
experiments?: IExperiments;
|
|
2358
2617
|
leave: ILeave;
|
|
2359
2618
|
object: {
|
|
2360
|
-
authors: string[];
|
|
2361
2619
|
/**
|
|
2362
2620
|
* The editorial category of this article.
|
|
2363
2621
|
*/
|
|
2364
2622
|
category: string;
|
|
2365
|
-
/**
|
|
2366
|
-
* The hotness value that was set in the CMS.
|
|
2367
|
-
*/
|
|
2368
|
-
hotness: number;
|
|
2369
2623
|
/**
|
|
2370
2624
|
* True if scrolling up/down transitions to the next or previous article.
|
|
2371
2625
|
*/
|
|
@@ -2374,10 +2628,6 @@ interface ILeaveArticle {
|
|
|
2374
2628
|
* The publication date of this version of the article.
|
|
2375
2629
|
*/
|
|
2376
2630
|
lastUpdatedDate: string;
|
|
2377
|
-
/**
|
|
2378
|
-
* The lifetime value that was set in the CMS.
|
|
2379
|
-
*/
|
|
2380
|
-
lifetime: number;
|
|
2381
2631
|
/**
|
|
2382
2632
|
* The newsroom that published the article.
|
|
2383
2633
|
*/
|
|
@@ -2398,10 +2648,6 @@ interface ILeaveArticle {
|
|
|
2398
2648
|
* The publication date of the article.
|
|
2399
2649
|
*/
|
|
2400
2650
|
publicationDate: string;
|
|
2401
|
-
/**
|
|
2402
|
-
* The name of the company that sponsored the article. Omitted if the article was not sponsored.
|
|
2403
|
-
*/
|
|
2404
|
-
sponsor?: string;
|
|
2405
2651
|
/**
|
|
2406
2652
|
* The title of the page.
|
|
2407
2653
|
*/
|
|
@@ -2414,10 +2660,6 @@ interface ILeaveArticle {
|
|
|
2414
2660
|
* The version counter of the article.
|
|
2415
2661
|
*/
|
|
2416
2662
|
versionCounter: number;
|
|
2417
|
-
/**
|
|
2418
|
-
* The number of words in this version of the article.
|
|
2419
|
-
*/
|
|
2420
|
-
wordCount: number;
|
|
2421
2663
|
};
|
|
2422
2664
|
page: {
|
|
2423
2665
|
content: IContent;
|
|
@@ -2470,6 +2712,10 @@ interface ILeaveAudio {
|
|
|
2470
2712
|
playlistPositionPercentage?: number;
|
|
2471
2713
|
}
|
|
2472
2714
|
interface ILeaveAudioPage {
|
|
2715
|
+
/**
|
|
2716
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2717
|
+
*/
|
|
2718
|
+
catalogVersion: string;
|
|
2473
2719
|
consents: IConsents;
|
|
2474
2720
|
device: IDevice;
|
|
2475
2721
|
/**
|
|
@@ -2480,8 +2726,10 @@ interface ILeaveAudioPage {
|
|
|
2480
2726
|
* The type of the event.
|
|
2481
2727
|
*/
|
|
2482
2728
|
eventType: "Leave";
|
|
2729
|
+
experiments?: IExperiments;
|
|
2483
2730
|
leave: ILeave;
|
|
2484
2731
|
leaveAudio: ILeaveAudio;
|
|
2732
|
+
metrics?: IMetrics;
|
|
2485
2733
|
object: {
|
|
2486
2734
|
/**
|
|
2487
2735
|
* The location of the page in the brand’s page hierarchy.
|
|
@@ -2496,10 +2744,6 @@ interface ILeaveAudioPage {
|
|
|
2496
2744
|
*/
|
|
2497
2745
|
objectSdrn: string;
|
|
2498
2746
|
objectType: "AudioPage";
|
|
2499
|
-
/**
|
|
2500
|
-
* The ID of the playlist.
|
|
2501
|
-
*/
|
|
2502
|
-
playlistId?: string;
|
|
2503
2747
|
/**
|
|
2504
2748
|
* The title of the page.
|
|
2505
2749
|
*/
|
|
@@ -2530,6 +2774,10 @@ interface ILeaveAudioPage {
|
|
|
2530
2774
|
user?: IUser;
|
|
2531
2775
|
}
|
|
2532
2776
|
interface ILeaveError {
|
|
2777
|
+
/**
|
|
2778
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2779
|
+
*/
|
|
2780
|
+
catalogVersion: string;
|
|
2533
2781
|
consents: IConsents;
|
|
2534
2782
|
device: IDevice;
|
|
2535
2783
|
/**
|
|
@@ -2596,6 +2844,10 @@ interface ILeaveError {
|
|
|
2596
2844
|
user?: IUser;
|
|
2597
2845
|
}
|
|
2598
2846
|
interface ILeaveFrontpage {
|
|
2847
|
+
/**
|
|
2848
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2849
|
+
*/
|
|
2850
|
+
catalogVersion: string;
|
|
2599
2851
|
consents: IConsents;
|
|
2600
2852
|
device: IDevice;
|
|
2601
2853
|
/**
|
|
@@ -2670,6 +2922,10 @@ interface ILeaveFrontpage {
|
|
|
2670
2922
|
user?: IUser;
|
|
2671
2923
|
}
|
|
2672
2924
|
interface ILeaveLandingpage {
|
|
2925
|
+
/**
|
|
2926
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2927
|
+
*/
|
|
2928
|
+
catalogVersion: string;
|
|
2673
2929
|
consents: IConsents;
|
|
2674
2930
|
device: IDevice;
|
|
2675
2931
|
/**
|
|
@@ -2732,6 +2988,10 @@ interface ILeaveLandingpage {
|
|
|
2732
2988
|
user?: IUser;
|
|
2733
2989
|
}
|
|
2734
2990
|
interface ILeaveListing {
|
|
2991
|
+
/**
|
|
2992
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2993
|
+
*/
|
|
2994
|
+
catalogVersion: string;
|
|
2735
2995
|
consents: IConsents;
|
|
2736
2996
|
device: IDevice;
|
|
2737
2997
|
/**
|
|
@@ -2814,6 +3074,10 @@ interface ILeaveListing {
|
|
|
2814
3074
|
user?: IUser;
|
|
2815
3075
|
}
|
|
2816
3076
|
interface ILeaveLockedArticle {
|
|
3077
|
+
/**
|
|
3078
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3079
|
+
*/
|
|
3080
|
+
catalogVersion: string;
|
|
2817
3081
|
consents: IConsents;
|
|
2818
3082
|
device: IDevice;
|
|
2819
3083
|
/**
|
|
@@ -2827,15 +3091,10 @@ interface ILeaveLockedArticle {
|
|
|
2827
3091
|
experiments?: IExperiments;
|
|
2828
3092
|
leave: ILeave;
|
|
2829
3093
|
object: {
|
|
2830
|
-
authors: string[];
|
|
2831
3094
|
/**
|
|
2832
3095
|
* The location of the page in the brand’s page hierarchy.
|
|
2833
3096
|
*/
|
|
2834
3097
|
category: string;
|
|
2835
|
-
/**
|
|
2836
|
-
* The hotness value that was set in the CMS.
|
|
2837
|
-
*/
|
|
2838
|
-
hotness: number;
|
|
2839
3098
|
/**
|
|
2840
3099
|
* True if scrolling up/down transitions to the next or previous article.
|
|
2841
3100
|
*/
|
|
@@ -2844,10 +3103,6 @@ interface ILeaveLockedArticle {
|
|
|
2844
3103
|
* The publication date of this version of the article.
|
|
2845
3104
|
*/
|
|
2846
3105
|
lastUpdatedDate: string;
|
|
2847
|
-
/**
|
|
2848
|
-
* The lifetime value that was set in the CMS.
|
|
2849
|
-
*/
|
|
2850
|
-
lifetime: number;
|
|
2851
3106
|
/**
|
|
2852
3107
|
* The newsroom that published the article.
|
|
2853
3108
|
*/
|
|
@@ -2864,6 +3119,10 @@ interface ILeaveLockedArticle {
|
|
|
2864
3119
|
* The type of this page.
|
|
2865
3120
|
*/
|
|
2866
3121
|
objectType: "LockedArticle";
|
|
3122
|
+
/**
|
|
3123
|
+
* Indicator if the offer was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
3124
|
+
*/
|
|
3125
|
+
offerFoldPosition: "Above" | "Below" | "Unknown";
|
|
2867
3126
|
/**
|
|
2868
3127
|
* The reason the user saw this paywall instead of the content.
|
|
2869
3128
|
*/
|
|
@@ -2872,10 +3131,6 @@ interface ILeaveLockedArticle {
|
|
|
2872
3131
|
* The publication date of the article.
|
|
2873
3132
|
*/
|
|
2874
3133
|
publicationDate: string;
|
|
2875
|
-
/**
|
|
2876
|
-
* The name of the company that sponsored the article. Omitted if the article was not sponsored.
|
|
2877
|
-
*/
|
|
2878
|
-
sponsor?: string;
|
|
2879
3134
|
/**
|
|
2880
3135
|
* The title of the page.
|
|
2881
3136
|
*/
|
|
@@ -2888,10 +3143,6 @@ interface ILeaveLockedArticle {
|
|
|
2888
3143
|
* The version counter of the article.
|
|
2889
3144
|
*/
|
|
2890
3145
|
versionCounter: number;
|
|
2891
|
-
/**
|
|
2892
|
-
* The number of words in this version of the article.
|
|
2893
|
-
*/
|
|
2894
|
-
wordCount: number;
|
|
2895
3146
|
};
|
|
2896
3147
|
page: {
|
|
2897
3148
|
content: IContent;
|
|
@@ -2917,182 +3168,63 @@ interface ILeaveLockedArticle {
|
|
|
2917
3168
|
tracker: ITracker;
|
|
2918
3169
|
user?: IUser;
|
|
2919
3170
|
}
|
|
2920
|
-
interface
|
|
3171
|
+
interface ILeaveLockedAudioPage {
|
|
3172
|
+
/**
|
|
3173
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3174
|
+
*/
|
|
3175
|
+
catalogVersion: string;
|
|
2921
3176
|
consents: IConsents;
|
|
2922
3177
|
device: IDevice;
|
|
2923
3178
|
/**
|
|
2924
|
-
*
|
|
3179
|
+
* The unique identifier for the event.
|
|
2925
3180
|
*/
|
|
2926
3181
|
eventId: string;
|
|
2927
3182
|
/**
|
|
2928
|
-
* The type of event.
|
|
3183
|
+
* The type of the event.
|
|
2929
3184
|
*/
|
|
2930
3185
|
eventType: "Leave";
|
|
2931
3186
|
experiments?: IExperiments;
|
|
2932
3187
|
leave: ILeave;
|
|
3188
|
+
metrics?: IMetrics;
|
|
2933
3189
|
object: {
|
|
2934
3190
|
/**
|
|
2935
|
-
* The
|
|
3191
|
+
* The location of the page in the brand’s page hierarchy.
|
|
2936
3192
|
*/
|
|
2937
3193
|
category: string;
|
|
2938
3194
|
/**
|
|
2939
|
-
*
|
|
2940
|
-
*/
|
|
2941
|
-
containerName: string;
|
|
2942
|
-
/**
|
|
2943
|
-
* The context in which the recommendation was made.
|
|
2944
|
-
*/
|
|
2945
|
-
curateContext?: string;
|
|
2946
|
-
/**
|
|
2947
|
-
* The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
|
|
2948
|
-
*/
|
|
2949
|
-
durationMs: number;
|
|
2950
|
-
/**
|
|
2951
|
-
* The UI surface or context from which the audio playback was initiated, such as the frontpage, an article embed, podcast-page or play-next etc.
|
|
2952
|
-
*/
|
|
2953
|
-
entryPoint: string;
|
|
2954
|
-
/**
|
|
2955
|
-
* Which episode.
|
|
2956
|
-
*/
|
|
2957
|
-
episode?: string;
|
|
2958
|
-
/**
|
|
2959
|
-
* Audio thumbnail from Stream to use in (Kilkaya) dashboards.
|
|
2960
|
-
*/
|
|
2961
|
-
imageUrl: string;
|
|
2962
|
-
/**
|
|
2963
|
-
* True if the audio is accessible to the user.
|
|
3195
|
+
* True if content is accessible to the user.
|
|
2964
3196
|
*/
|
|
2965
3197
|
isAccessible: boolean;
|
|
2966
3198
|
/**
|
|
2967
|
-
* The
|
|
2968
|
-
*/
|
|
2969
|
-
name: string;
|
|
2970
|
-
/**
|
|
2971
|
-
* The unique ID of this audio.
|
|
3199
|
+
* The unique ID of this page.
|
|
2972
3200
|
*/
|
|
2973
3201
|
objectId: string;
|
|
2974
3202
|
/**
|
|
2975
|
-
* The unique SDRN of this
|
|
3203
|
+
* The unique SDRN of this page.
|
|
2976
3204
|
*/
|
|
2977
3205
|
objectSdrn: string;
|
|
2978
|
-
|
|
3206
|
+
/**
|
|
3207
|
+
* The type of the object.
|
|
3208
|
+
*/
|
|
3209
|
+
objectType: "LockedAudioPage";
|
|
2979
3210
|
/**
|
|
2980
3211
|
* The reason the user saw this paywall instead of the content.
|
|
2981
3212
|
*/
|
|
2982
3213
|
paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
|
|
2983
3214
|
/**
|
|
2984
|
-
*
|
|
3215
|
+
* The title of the page.
|
|
2985
3216
|
*/
|
|
2986
|
-
|
|
3217
|
+
title: string;
|
|
3218
|
+
};
|
|
3219
|
+
page: {
|
|
3220
|
+
content?: IContent;
|
|
3221
|
+
info: IPageRef;
|
|
2987
3222
|
/**
|
|
2988
|
-
*
|
|
3223
|
+
* The browser navigation that got the user to the current page.
|
|
2989
3224
|
*/
|
|
2990
|
-
|
|
3225
|
+
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
2991
3226
|
/**
|
|
2992
|
-
* The
|
|
2993
|
-
*/
|
|
2994
|
-
playlistId?: string;
|
|
2995
|
-
/**
|
|
2996
|
-
* The unique ID for this audio when published at PodMe.
|
|
2997
|
-
*/
|
|
2998
|
-
podmeId?: string;
|
|
2999
|
-
/**
|
|
3000
|
-
* The position of the audio in the playlist.
|
|
3001
|
-
*/
|
|
3002
|
-
queuePosition?: number;
|
|
3003
|
-
/**
|
|
3004
|
-
* Which season.
|
|
3005
|
-
*/
|
|
3006
|
-
season?: string;
|
|
3007
|
-
/**
|
|
3008
|
-
* Follow accesslevel from Stream (viewer access).
|
|
3009
|
-
*/
|
|
3010
|
-
streamAccessLevel: string;
|
|
3011
|
-
/**
|
|
3012
|
-
* Reflects the stream type as defined in Stream at the time of playback.
|
|
3013
|
-
*/
|
|
3014
|
-
streamType: string;
|
|
3015
|
-
tags?: string[];
|
|
3016
|
-
/**
|
|
3017
|
-
* Type of audio. Fetched from content type in Stream.
|
|
3018
|
-
*/
|
|
3019
|
-
variant: string;
|
|
3020
|
-
};
|
|
3021
|
-
page: {
|
|
3022
|
-
content?: IContent;
|
|
3023
|
-
info: IPageRef;
|
|
3024
|
-
/**
|
|
3025
|
-
* The browser navigation that got the user to the current page.
|
|
3026
|
-
*/
|
|
3027
|
-
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3028
|
-
/**
|
|
3029
|
-
* The pageviewID.
|
|
3030
|
-
*/
|
|
3031
|
-
pageviewId: string;
|
|
3032
|
-
referrer?: IPageRef;
|
|
3033
|
-
utm?: IUtmTags;
|
|
3034
|
-
};
|
|
3035
|
-
provider: IProvider;
|
|
3036
|
-
/**
|
|
3037
|
-
* The schema of the event.
|
|
3038
|
-
*/
|
|
3039
|
-
schema: string;
|
|
3040
|
-
session: ISession;
|
|
3041
|
-
time: ITime;
|
|
3042
|
-
tracker: ITracker;
|
|
3043
|
-
user?: IUser;
|
|
3044
|
-
}
|
|
3045
|
-
interface ILeaveLockedAudioPage {
|
|
3046
|
-
consents: IConsents;
|
|
3047
|
-
device: IDevice;
|
|
3048
|
-
/**
|
|
3049
|
-
* The unique identifier for the event.
|
|
3050
|
-
*/
|
|
3051
|
-
eventId: string;
|
|
3052
|
-
/**
|
|
3053
|
-
* The type of the event.
|
|
3054
|
-
*/
|
|
3055
|
-
eventType: "Leave";
|
|
3056
|
-
leave: ILeave;
|
|
3057
|
-
object: {
|
|
3058
|
-
/**
|
|
3059
|
-
* The location of the page in the brand’s page hierarchy.
|
|
3060
|
-
*/
|
|
3061
|
-
category: string;
|
|
3062
|
-
/**
|
|
3063
|
-
* True if content is accessible to the user.
|
|
3064
|
-
*/
|
|
3065
|
-
isAccessible: boolean;
|
|
3066
|
-
/**
|
|
3067
|
-
* The unique ID of this page.
|
|
3068
|
-
*/
|
|
3069
|
-
objectId: string;
|
|
3070
|
-
/**
|
|
3071
|
-
* The unique SDRN of this page.
|
|
3072
|
-
*/
|
|
3073
|
-
objectSdrn: string;
|
|
3074
|
-
/**
|
|
3075
|
-
* The type of the object.
|
|
3076
|
-
*/
|
|
3077
|
-
objectType: "LockedAudioPage";
|
|
3078
|
-
/**
|
|
3079
|
-
* The reason the user saw this paywall instead of the content.
|
|
3080
|
-
*/
|
|
3081
|
-
paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
|
|
3082
|
-
/**
|
|
3083
|
-
* The title of the page.
|
|
3084
|
-
*/
|
|
3085
|
-
title: string;
|
|
3086
|
-
};
|
|
3087
|
-
page: {
|
|
3088
|
-
content?: IContent;
|
|
3089
|
-
info: IPageRef;
|
|
3090
|
-
/**
|
|
3091
|
-
* The browser navigation that got the user to the current page.
|
|
3092
|
-
*/
|
|
3093
|
-
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3094
|
-
/**
|
|
3095
|
-
* The pageviewID.
|
|
3227
|
+
* The pageviewID.
|
|
3096
3228
|
*/
|
|
3097
3229
|
pageviewId: string;
|
|
3098
3230
|
referrer?: IPageRef;
|
|
@@ -3108,138 +3240,11 @@ interface ILeaveLockedAudioPage {
|
|
|
3108
3240
|
tracker: ITracker;
|
|
3109
3241
|
user?: IUser;
|
|
3110
3242
|
}
|
|
3111
|
-
interface
|
|
3112
|
-
consents: IConsents;
|
|
3113
|
-
device: IDevice;
|
|
3114
|
-
/**
|
|
3115
|
-
* Event ID
|
|
3116
|
-
*/
|
|
3117
|
-
eventId: string;
|
|
3118
|
-
/**
|
|
3119
|
-
* The type of event.
|
|
3120
|
-
*/
|
|
3121
|
-
eventType: "Leave";
|
|
3122
|
-
experiments?: IExperiments;
|
|
3123
|
-
leave: ILeave;
|
|
3124
|
-
object: {
|
|
3125
|
-
/**
|
|
3126
|
-
* Numeric value of the video aspect ratio.
|
|
3127
|
-
*/
|
|
3128
|
-
aspectRatio: number;
|
|
3129
|
-
/**
|
|
3130
|
-
* The editorial category of this video.
|
|
3131
|
-
*/
|
|
3132
|
-
category: string;
|
|
3133
|
-
/**
|
|
3134
|
-
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
3135
|
-
*/
|
|
3136
|
-
containerName: string;
|
|
3137
|
-
/**
|
|
3138
|
-
* The context in which the recommendation was made.
|
|
3139
|
-
*/
|
|
3140
|
-
curateContext?: string;
|
|
3141
|
-
/**
|
|
3142
|
-
* The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
|
|
3143
|
-
*/
|
|
3144
|
-
durationMs: number;
|
|
3145
|
-
/**
|
|
3146
|
-
* The UI surface or context from which the video playback was initiated, such as the frontpage, an article embed, a stories feed, a carousel, or play-next etc.
|
|
3147
|
-
*/
|
|
3148
|
-
entryPoint: string;
|
|
3149
|
-
/**
|
|
3150
|
-
* Which episode.
|
|
3151
|
-
*/
|
|
3152
|
-
episode?: string;
|
|
3153
|
-
/**
|
|
3154
|
-
* Video thumbnail from Stream to use in (Kilkaya) dashboards.
|
|
3155
|
-
*/
|
|
3156
|
-
imageUrl: string;
|
|
3157
|
-
/**
|
|
3158
|
-
* True if the content is accessible to the user.
|
|
3159
|
-
*/
|
|
3160
|
-
isAccessible: boolean;
|
|
3161
|
-
/**
|
|
3162
|
-
* The name of the video.
|
|
3163
|
-
*/
|
|
3164
|
-
name: string;
|
|
3165
|
-
/**
|
|
3166
|
-
* The unique ID of this video.
|
|
3167
|
-
*/
|
|
3168
|
-
objectId: string;
|
|
3169
|
-
/**
|
|
3170
|
-
* The unique SDRN for this video.
|
|
3171
|
-
*/
|
|
3172
|
-
objectSdrn: string;
|
|
3173
|
-
/**
|
|
3174
|
-
* The type of the object.
|
|
3175
|
-
*/
|
|
3176
|
-
objectType: "LockedVideo";
|
|
3177
|
-
/**
|
|
3178
|
-
* The reason the user saw this paywall instead of the content.
|
|
3179
|
-
*/
|
|
3180
|
-
paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
|
|
3181
|
-
/**
|
|
3182
|
-
* Indicates how the video is configured to start.
|
|
3183
|
-
*/
|
|
3184
|
-
playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
3185
|
-
/**
|
|
3186
|
-
* A unique ID for this player instance.
|
|
3187
|
-
*/
|
|
3188
|
-
playerId: string;
|
|
3189
|
-
/**
|
|
3190
|
-
* The ID of the playlist.
|
|
3191
|
-
*/
|
|
3192
|
-
playlistId?: string;
|
|
3193
|
-
/**
|
|
3194
|
-
* The position of the video in the playlist.
|
|
3195
|
-
*/
|
|
3196
|
-
queuePosition?: number;
|
|
3197
|
-
/**
|
|
3198
|
-
* Which season.
|
|
3199
|
-
*/
|
|
3200
|
-
season?: string;
|
|
3201
|
-
/**
|
|
3202
|
-
* Follow accesslevel from Stream (viewer access).
|
|
3203
|
-
*/
|
|
3204
|
-
streamAccessLevel: string;
|
|
3205
|
-
/**
|
|
3206
|
-
* Reflects the stream type as defined in Stream at the time of playback.
|
|
3207
|
-
*/
|
|
3208
|
-
streamType: string;
|
|
3209
|
-
/**
|
|
3210
|
-
* Tags from Stream.
|
|
3211
|
-
*/
|
|
3212
|
-
tags?: string[];
|
|
3213
|
-
/**
|
|
3214
|
-
* Type of video. Fetched from content type in Stream.
|
|
3215
|
-
*/
|
|
3216
|
-
variant: string;
|
|
3217
|
-
};
|
|
3218
|
-
page: {
|
|
3219
|
-
content?: IContent;
|
|
3220
|
-
info: IPageRef;
|
|
3221
|
-
/**
|
|
3222
|
-
* The browser navigation that got the user to the current page.
|
|
3223
|
-
*/
|
|
3224
|
-
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3225
|
-
/**
|
|
3226
|
-
* The pageviewID.
|
|
3227
|
-
*/
|
|
3228
|
-
pageviewId: string;
|
|
3229
|
-
referrer?: IPageRef;
|
|
3230
|
-
utm?: IUtmTags;
|
|
3231
|
-
};
|
|
3232
|
-
provider: IProvider;
|
|
3243
|
+
interface ILeaveLockedVideoPage {
|
|
3233
3244
|
/**
|
|
3234
|
-
* The
|
|
3245
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3235
3246
|
*/
|
|
3236
|
-
|
|
3237
|
-
session: ISession;
|
|
3238
|
-
time: ITime;
|
|
3239
|
-
tracker: ITracker;
|
|
3240
|
-
user?: IUser;
|
|
3241
|
-
}
|
|
3242
|
-
interface ILeaveLockedVideoPage {
|
|
3247
|
+
catalogVersion: string;
|
|
3243
3248
|
consents: IConsents;
|
|
3244
3249
|
device: IDevice;
|
|
3245
3250
|
/**
|
|
@@ -3250,7 +3255,9 @@ interface ILeaveLockedVideoPage {
|
|
|
3250
3255
|
* The type of the event.
|
|
3251
3256
|
*/
|
|
3252
3257
|
eventType: "Leave";
|
|
3258
|
+
experiments?: IExperiments;
|
|
3253
3259
|
leave: ILeave;
|
|
3260
|
+
metrics?: IMetrics;
|
|
3254
3261
|
object: {
|
|
3255
3262
|
/**
|
|
3256
3263
|
* The location of the page in the brand’s page hierarchy.
|
|
@@ -3306,6 +3313,10 @@ interface ILeaveLockedVideoPage {
|
|
|
3306
3313
|
user?: IUser;
|
|
3307
3314
|
}
|
|
3308
3315
|
interface ILeavePage {
|
|
3316
|
+
/**
|
|
3317
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3318
|
+
*/
|
|
3319
|
+
catalogVersion: string;
|
|
3309
3320
|
consents: IConsents;
|
|
3310
3321
|
device: IDevice;
|
|
3311
3322
|
/**
|
|
@@ -3329,6 +3340,7 @@ interface ILeavePage {
|
|
|
3329
3340
|
* The type of this page.
|
|
3330
3341
|
*/
|
|
3331
3342
|
objectType: "Page";
|
|
3343
|
+
tags?: string[];
|
|
3332
3344
|
/**
|
|
3333
3345
|
* The title of the page.
|
|
3334
3346
|
*/
|
|
@@ -3361,11 +3373,11 @@ interface ISports {
|
|
|
3361
3373
|
/**
|
|
3362
3374
|
* Unique ID of the athlete.
|
|
3363
3375
|
*/
|
|
3364
|
-
|
|
3376
|
+
athleteId?: number;
|
|
3365
3377
|
/**
|
|
3366
3378
|
* Name of the athlete.
|
|
3367
3379
|
*/
|
|
3368
|
-
|
|
3380
|
+
athleteName?: string;
|
|
3369
3381
|
/**
|
|
3370
3382
|
* Unique ID of the competition.
|
|
3371
3383
|
*/
|
|
@@ -3464,6 +3476,10 @@ interface ISports {
|
|
|
3464
3476
|
userTheme?: "Light" | "Dark" | "System" | "Other";
|
|
3465
3477
|
}
|
|
3466
3478
|
interface ILeaveSportsPage {
|
|
3479
|
+
/**
|
|
3480
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3481
|
+
*/
|
|
3482
|
+
catalogVersion: string;
|
|
3467
3483
|
consents: IConsents;
|
|
3468
3484
|
device: IDevice;
|
|
3469
3485
|
/**
|
|
@@ -3555,6 +3571,10 @@ interface ILeaveStories {
|
|
|
3555
3571
|
storiesStarted: number;
|
|
3556
3572
|
}
|
|
3557
3573
|
interface ILeaveVideoPage {
|
|
3574
|
+
/**
|
|
3575
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3576
|
+
*/
|
|
3577
|
+
catalogVersion: string;
|
|
3558
3578
|
consents: IConsents;
|
|
3559
3579
|
device: IDevice;
|
|
3560
3580
|
/**
|
|
@@ -3565,8 +3585,10 @@ interface ILeaveVideoPage {
|
|
|
3565
3585
|
* The type of the event.
|
|
3566
3586
|
*/
|
|
3567
3587
|
eventType: "Leave";
|
|
3588
|
+
experiments?: IExperiments;
|
|
3568
3589
|
leave: ILeave;
|
|
3569
3590
|
leaveStories?: ILeaveStories;
|
|
3591
|
+
metrics?: IMetrics;
|
|
3570
3592
|
object: {
|
|
3571
3593
|
/**
|
|
3572
3594
|
* The location of the page in the brand's page hierarchy.
|
|
@@ -3584,10 +3606,6 @@ interface ILeaveVideoPage {
|
|
|
3584
3606
|
* The type of the object.
|
|
3585
3607
|
*/
|
|
3586
3608
|
objectType: "VideoPage";
|
|
3587
|
-
/**
|
|
3588
|
-
* The ID of the playlist.
|
|
3589
|
-
*/
|
|
3590
|
-
playlistId?: string;
|
|
3591
3609
|
/**
|
|
3592
3610
|
* The title of the page.
|
|
3593
3611
|
*/
|
|
@@ -3618,6 +3636,10 @@ interface ILeaveVideoPage {
|
|
|
3618
3636
|
user?: IUser;
|
|
3619
3637
|
}
|
|
3620
3638
|
interface ILeaveWeather {
|
|
3639
|
+
/**
|
|
3640
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3641
|
+
*/
|
|
3642
|
+
catalogVersion: string;
|
|
3621
3643
|
consents: IConsents;
|
|
3622
3644
|
device: IDevice;
|
|
3623
3645
|
/**
|
|
@@ -3647,6 +3669,10 @@ interface ILeaveWeather {
|
|
|
3647
3669
|
user?: IUser;
|
|
3648
3670
|
}
|
|
3649
3671
|
interface IPurchaseSubscription {
|
|
3672
|
+
/**
|
|
3673
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3674
|
+
*/
|
|
3675
|
+
catalogVersion: string;
|
|
3650
3676
|
consents?: IConsents;
|
|
3651
3677
|
/**
|
|
3652
3678
|
* Information about the device.
|
|
@@ -3767,6 +3793,10 @@ interface ILocation {
|
|
|
3767
3793
|
longitude: string;
|
|
3768
3794
|
}
|
|
3769
3795
|
interface IViewArticle {
|
|
3796
|
+
/**
|
|
3797
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3798
|
+
*/
|
|
3799
|
+
catalogVersion: string;
|
|
3770
3800
|
consents: IConsents;
|
|
3771
3801
|
device: IDevice;
|
|
3772
3802
|
/**
|
|
@@ -3866,159 +3896,42 @@ interface IViewArticle {
|
|
|
3866
3896
|
tracker: ITracker;
|
|
3867
3897
|
user?: IUser;
|
|
3868
3898
|
}
|
|
3869
|
-
interface
|
|
3899
|
+
interface IViewAudioPage {
|
|
3900
|
+
/**
|
|
3901
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3902
|
+
*/
|
|
3903
|
+
catalogVersion: string;
|
|
3870
3904
|
consents: IConsents;
|
|
3871
3905
|
device: IDevice;
|
|
3872
3906
|
/**
|
|
3873
|
-
*
|
|
3907
|
+
* The unique identifier for the event.
|
|
3874
3908
|
*/
|
|
3875
3909
|
eventId: string;
|
|
3910
|
+
/**
|
|
3911
|
+
* The type of the event.
|
|
3912
|
+
*/
|
|
3876
3913
|
eventType: "View";
|
|
3877
3914
|
experiments?: IExperiments;
|
|
3878
3915
|
metrics?: IMetrics;
|
|
3879
3916
|
object: {
|
|
3880
3917
|
/**
|
|
3881
|
-
* The
|
|
3918
|
+
* The location of the page in the brand’s page hierarchy.
|
|
3882
3919
|
*/
|
|
3883
3920
|
category: string;
|
|
3884
3921
|
/**
|
|
3885
|
-
*
|
|
3922
|
+
* The unique ID of this page.
|
|
3886
3923
|
*/
|
|
3887
|
-
|
|
3924
|
+
objectId: string;
|
|
3888
3925
|
/**
|
|
3889
|
-
* The
|
|
3926
|
+
* The unique SDRN of this page.
|
|
3890
3927
|
*/
|
|
3891
|
-
|
|
3928
|
+
objectSdrn: string;
|
|
3892
3929
|
/**
|
|
3893
|
-
* The
|
|
3930
|
+
* The type of the object.
|
|
3894
3931
|
*/
|
|
3895
|
-
|
|
3932
|
+
objectType: "AudioPage";
|
|
3896
3933
|
/**
|
|
3897
|
-
* The
|
|
3898
|
-
*/
|
|
3899
|
-
entryPoint: string;
|
|
3900
|
-
/**
|
|
3901
|
-
* Which episode.
|
|
3902
|
-
*/
|
|
3903
|
-
episode?: string;
|
|
3904
|
-
/**
|
|
3905
|
-
* Audio thumbnail from Stream to use in (Kilkaya) dashboards.
|
|
3906
|
-
*/
|
|
3907
|
-
imageUrl: string;
|
|
3908
|
-
/**
|
|
3909
|
-
* True if audio is accessible for the user.
|
|
3910
|
-
*/
|
|
3911
|
-
isAccessible: boolean;
|
|
3912
|
-
/**
|
|
3913
|
-
* The name of the audio.
|
|
3914
|
-
*/
|
|
3915
|
-
name: string;
|
|
3916
|
-
/**
|
|
3917
|
-
* The unique ID for this audio.
|
|
3918
|
-
*/
|
|
3919
|
-
objectId: string;
|
|
3920
|
-
/**
|
|
3921
|
-
* The unique SDRN for this audio.
|
|
3922
|
-
*/
|
|
3923
|
-
objectSdrn: string;
|
|
3924
|
-
objectType: "Audio";
|
|
3925
|
-
/**
|
|
3926
|
-
* Indicates how the audio is configured to start.
|
|
3927
|
-
*/
|
|
3928
|
-
playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
3929
|
-
/**
|
|
3930
|
-
* A unique ID for this player instance.
|
|
3931
|
-
*/
|
|
3932
|
-
playerId: string;
|
|
3933
|
-
/**
|
|
3934
|
-
* The ID of the playlist.
|
|
3935
|
-
*/
|
|
3936
|
-
playlistId?: string;
|
|
3937
|
-
/**
|
|
3938
|
-
* The unique ID for this audio when published at PodMe.
|
|
3939
|
-
*/
|
|
3940
|
-
podmeId?: string;
|
|
3941
|
-
/**
|
|
3942
|
-
* The position of the audio in the playlist.
|
|
3943
|
-
*/
|
|
3944
|
-
queuePosition?: number;
|
|
3945
|
-
/**
|
|
3946
|
-
* Which season.
|
|
3947
|
-
*/
|
|
3948
|
-
season?: string;
|
|
3949
|
-
/**
|
|
3950
|
-
* Follow accesslevel from Stream (viewer access).
|
|
3951
|
-
*/
|
|
3952
|
-
streamAccessLevel: string;
|
|
3953
|
-
/**
|
|
3954
|
-
* Reflects the stream type as defined in Stream at the time of playback.
|
|
3955
|
-
*/
|
|
3956
|
-
streamType: string;
|
|
3957
|
-
/**
|
|
3958
|
-
* Tags from Stream.
|
|
3959
|
-
*/
|
|
3960
|
-
tags?: string[];
|
|
3961
|
-
/**
|
|
3962
|
-
* Type of audio. Fetched from content type in Stream.
|
|
3963
|
-
*/
|
|
3964
|
-
variant: string;
|
|
3965
|
-
};
|
|
3966
|
-
page: {
|
|
3967
|
-
content?: IContent;
|
|
3968
|
-
info: IPageRef;
|
|
3969
|
-
/**
|
|
3970
|
-
* The browser navigation that got the user to the current page.
|
|
3971
|
-
*/
|
|
3972
|
-
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3973
|
-
/**
|
|
3974
|
-
* The pageviewID.
|
|
3975
|
-
*/
|
|
3976
|
-
pageviewId: string;
|
|
3977
|
-
referrer?: IPageRef;
|
|
3978
|
-
utm?: IUtmTags;
|
|
3979
|
-
};
|
|
3980
|
-
provider: IProvider;
|
|
3981
|
-
/**
|
|
3982
|
-
* The schema of the event.
|
|
3983
|
-
*/
|
|
3984
|
-
schema: string;
|
|
3985
|
-
session: ISession;
|
|
3986
|
-
time: ITime;
|
|
3987
|
-
tracker: ITracker;
|
|
3988
|
-
user?: IUser;
|
|
3989
|
-
}
|
|
3990
|
-
interface IViewAudioPage {
|
|
3991
|
-
consents: IConsents;
|
|
3992
|
-
device: IDevice;
|
|
3993
|
-
/**
|
|
3994
|
-
* The unique identifier for the event.
|
|
3995
|
-
*/
|
|
3996
|
-
eventId: string;
|
|
3997
|
-
/**
|
|
3998
|
-
* The type of the event.
|
|
3999
|
-
*/
|
|
4000
|
-
eventType: "View";
|
|
4001
|
-
experiments?: IExperiments;
|
|
4002
|
-
metrics?: IMetrics;
|
|
4003
|
-
object: {
|
|
4004
|
-
/**
|
|
4005
|
-
* The location of the page in the brand’s page hierarchy.
|
|
4006
|
-
*/
|
|
4007
|
-
category: string;
|
|
4008
|
-
/**
|
|
4009
|
-
* The unique ID of this page.
|
|
4010
|
-
*/
|
|
4011
|
-
objectId: string;
|
|
4012
|
-
/**
|
|
4013
|
-
* The unique SDRN of this page.
|
|
4014
|
-
*/
|
|
4015
|
-
objectSdrn: string;
|
|
4016
|
-
/**
|
|
4017
|
-
* The type of the object.
|
|
4018
|
-
*/
|
|
4019
|
-
objectType: "AudioPage";
|
|
4020
|
-
/**
|
|
4021
|
-
* The title of the page.
|
|
3934
|
+
* The title of the page.
|
|
4022
3935
|
*/
|
|
4023
3936
|
title: string;
|
|
4024
3937
|
};
|
|
@@ -4047,6 +3960,10 @@ interface IViewAudioPage {
|
|
|
4047
3960
|
user?: IUser;
|
|
4048
3961
|
}
|
|
4049
3962
|
interface IViewError {
|
|
3963
|
+
/**
|
|
3964
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3965
|
+
*/
|
|
3966
|
+
catalogVersion: string;
|
|
4050
3967
|
consents: IConsents;
|
|
4051
3968
|
device: IDevice;
|
|
4052
3969
|
/**
|
|
@@ -4109,6 +4026,10 @@ interface IViewError {
|
|
|
4109
4026
|
user?: IUser;
|
|
4110
4027
|
}
|
|
4111
4028
|
interface IViewFrontpage {
|
|
4029
|
+
/**
|
|
4030
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4031
|
+
*/
|
|
4032
|
+
catalogVersion: string;
|
|
4112
4033
|
consents: IConsents;
|
|
4113
4034
|
device: IDevice;
|
|
4114
4035
|
/**
|
|
@@ -4184,6 +4105,10 @@ interface IViewFrontpage {
|
|
|
4184
4105
|
user?: IUser;
|
|
4185
4106
|
}
|
|
4186
4107
|
interface IViewHealthPage {
|
|
4108
|
+
/**
|
|
4109
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4110
|
+
*/
|
|
4111
|
+
catalogVersion: string;
|
|
4187
4112
|
consents: IConsents;
|
|
4188
4113
|
device: IDevice;
|
|
4189
4114
|
/**
|
|
@@ -4267,6 +4192,10 @@ interface IViewHealthPage {
|
|
|
4267
4192
|
user?: IUser;
|
|
4268
4193
|
}
|
|
4269
4194
|
interface IViewLandingpage {
|
|
4195
|
+
/**
|
|
4196
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4197
|
+
*/
|
|
4198
|
+
catalogVersion: string;
|
|
4270
4199
|
consents: IConsents;
|
|
4271
4200
|
device: IDevice;
|
|
4272
4201
|
/**
|
|
@@ -4317,6 +4246,10 @@ interface IViewLandingpage {
|
|
|
4317
4246
|
user?: IUser;
|
|
4318
4247
|
}
|
|
4319
4248
|
interface IViewListing {
|
|
4249
|
+
/**
|
|
4250
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4251
|
+
*/
|
|
4252
|
+
catalogVersion: string;
|
|
4320
4253
|
consents: IConsents;
|
|
4321
4254
|
device: IDevice;
|
|
4322
4255
|
/**
|
|
@@ -4395,6 +4328,10 @@ interface IViewListing {
|
|
|
4395
4328
|
user?: IUser;
|
|
4396
4329
|
}
|
|
4397
4330
|
interface IViewLockedArticle {
|
|
4331
|
+
/**
|
|
4332
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4333
|
+
*/
|
|
4334
|
+
catalogVersion: string;
|
|
4398
4335
|
consents: IConsents;
|
|
4399
4336
|
device: IDevice;
|
|
4400
4337
|
/**
|
|
@@ -4444,6 +4381,10 @@ interface IViewLockedArticle {
|
|
|
4444
4381
|
* The type of this page.
|
|
4445
4382
|
*/
|
|
4446
4383
|
objectType: "LockedArticle";
|
|
4384
|
+
/**
|
|
4385
|
+
* Indicator if the offer was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
4386
|
+
*/
|
|
4387
|
+
offerFoldPosition: "Above" | "Below" | "Unknown";
|
|
4447
4388
|
/**
|
|
4448
4389
|
* The reason the user saw this paywall instead of the content.
|
|
4449
4390
|
*/
|
|
@@ -4497,132 +4438,11 @@ interface IViewLockedArticle {
|
|
|
4497
4438
|
tracker: ITracker;
|
|
4498
4439
|
user?: IUser;
|
|
4499
4440
|
}
|
|
4500
|
-
interface
|
|
4501
|
-
consents: IConsents;
|
|
4502
|
-
device: IDevice;
|
|
4503
|
-
/**
|
|
4504
|
-
* Event ID
|
|
4505
|
-
*/
|
|
4506
|
-
eventId: string;
|
|
4507
|
-
/**
|
|
4508
|
-
* The type of the event.
|
|
4509
|
-
*/
|
|
4510
|
-
eventType: "View";
|
|
4511
|
-
experiments?: IExperiments;
|
|
4512
|
-
metrics?: IMetrics;
|
|
4513
|
-
object: {
|
|
4514
|
-
/**
|
|
4515
|
-
* The editorial category of this audio.
|
|
4516
|
-
*/
|
|
4517
|
-
category: string;
|
|
4518
|
-
/**
|
|
4519
|
-
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
4520
|
-
*/
|
|
4521
|
-
containerName: string;
|
|
4522
|
-
/**
|
|
4523
|
-
* The context in which the recommendation was made.
|
|
4524
|
-
*/
|
|
4525
|
-
curateContext?: string;
|
|
4526
|
-
/**
|
|
4527
|
-
* The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
|
|
4528
|
-
*/
|
|
4529
|
-
durationMs: number;
|
|
4530
|
-
/**
|
|
4531
|
-
* The UI surface or context from which the audio playback was initiated, such as the frontpage, an article embed, podcast-page or play-next etc.
|
|
4532
|
-
*/
|
|
4533
|
-
entryPoint: string;
|
|
4534
|
-
/**
|
|
4535
|
-
* Which episode.
|
|
4536
|
-
*/
|
|
4537
|
-
episode?: string;
|
|
4538
|
-
/**
|
|
4539
|
-
* Audio thumbnail from Stream to use in (Kilkaya) dashboards.
|
|
4540
|
-
*/
|
|
4541
|
-
imageUrl: string;
|
|
4542
|
-
/**
|
|
4543
|
-
* True if the audio is accessible for the user.
|
|
4544
|
-
*/
|
|
4545
|
-
isAccessible: boolean;
|
|
4546
|
-
/**
|
|
4547
|
-
* The name of the audio.
|
|
4548
|
-
*/
|
|
4549
|
-
name: string;
|
|
4550
|
-
/**
|
|
4551
|
-
* The unique ID of this audio.
|
|
4552
|
-
*/
|
|
4553
|
-
objectId: string;
|
|
4554
|
-
/**
|
|
4555
|
-
* The unique SDRN for this audio.
|
|
4556
|
-
*/
|
|
4557
|
-
objectSdrn: string;
|
|
4558
|
-
objectType: "LockedAudio";
|
|
4559
|
-
/**
|
|
4560
|
-
* The reason the user saw this paywall instead of the audio.
|
|
4561
|
-
*/
|
|
4562
|
-
paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
|
|
4563
|
-
/**
|
|
4564
|
-
* Indicates how the audio is configured to start.
|
|
4565
|
-
*/
|
|
4566
|
-
playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
4567
|
-
/**
|
|
4568
|
-
* A unique ID for this player instance.
|
|
4569
|
-
*/
|
|
4570
|
-
playerId: string;
|
|
4571
|
-
/**
|
|
4572
|
-
* The ID of the playlist.
|
|
4573
|
-
*/
|
|
4574
|
-
playlistId?: string;
|
|
4575
|
-
/**
|
|
4576
|
-
* The unique ID for this audio when published at PodMe.
|
|
4577
|
-
*/
|
|
4578
|
-
podmeId?: string;
|
|
4579
|
-
/**
|
|
4580
|
-
* The position of the audio in the playlist.
|
|
4581
|
-
*/
|
|
4582
|
-
queuePosition?: number;
|
|
4583
|
-
/**
|
|
4584
|
-
* Which season.
|
|
4585
|
-
*/
|
|
4586
|
-
season?: string;
|
|
4587
|
-
/**
|
|
4588
|
-
* Follow accesslevel from Stream (viewer access).
|
|
4589
|
-
*/
|
|
4590
|
-
streamAccessLevel: string;
|
|
4591
|
-
/**
|
|
4592
|
-
* Reflects the stream type as defined in Stream at the time of playback.
|
|
4593
|
-
*/
|
|
4594
|
-
streamType: string;
|
|
4595
|
-
tags?: string[];
|
|
4596
|
-
/**
|
|
4597
|
-
* Type of audio. Fetched from content type in Stream.
|
|
4598
|
-
*/
|
|
4599
|
-
variant: string;
|
|
4600
|
-
};
|
|
4601
|
-
page: {
|
|
4602
|
-
content?: IContent;
|
|
4603
|
-
info: IPageRef;
|
|
4604
|
-
/**
|
|
4605
|
-
* The browser navigation that got the user to the current page.
|
|
4606
|
-
*/
|
|
4607
|
-
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4608
|
-
/**
|
|
4609
|
-
* The pageviewID.
|
|
4610
|
-
*/
|
|
4611
|
-
pageviewId: string;
|
|
4612
|
-
referrer?: IPageRef;
|
|
4613
|
-
utm?: IUtmTags;
|
|
4614
|
-
};
|
|
4615
|
-
provider: IProvider;
|
|
4441
|
+
interface IViewLockedAudioPage {
|
|
4616
4442
|
/**
|
|
4617
|
-
* The
|
|
4443
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4618
4444
|
*/
|
|
4619
|
-
|
|
4620
|
-
session: ISession;
|
|
4621
|
-
time: ITime;
|
|
4622
|
-
tracker: ITracker;
|
|
4623
|
-
user?: IUser;
|
|
4624
|
-
}
|
|
4625
|
-
interface IViewLockedAudioPage {
|
|
4445
|
+
catalogVersion: string;
|
|
4626
4446
|
consents: IConsents;
|
|
4627
4447
|
device: IDevice;
|
|
4628
4448
|
/**
|
|
@@ -4689,138 +4509,11 @@ interface IViewLockedAudioPage {
|
|
|
4689
4509
|
tracker: ITracker;
|
|
4690
4510
|
user?: IUser;
|
|
4691
4511
|
}
|
|
4692
|
-
interface
|
|
4693
|
-
consents: IConsents;
|
|
4694
|
-
device: IDevice;
|
|
4695
|
-
/**
|
|
4696
|
-
* Event ID
|
|
4697
|
-
*/
|
|
4698
|
-
eventId: string;
|
|
4699
|
-
/**
|
|
4700
|
-
* The type of the event.
|
|
4701
|
-
*/
|
|
4702
|
-
eventType: "View";
|
|
4703
|
-
experiments?: IExperiments;
|
|
4704
|
-
metrics?: IMetrics;
|
|
4705
|
-
object: {
|
|
4706
|
-
/**
|
|
4707
|
-
* Numeric value of the video aspect ratio.
|
|
4708
|
-
*/
|
|
4709
|
-
aspectRatio: number;
|
|
4710
|
-
/**
|
|
4711
|
-
* The editorial category of this video.
|
|
4712
|
-
*/
|
|
4713
|
-
category: string;
|
|
4714
|
-
/**
|
|
4715
|
-
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
4716
|
-
*/
|
|
4717
|
-
containerName: string;
|
|
4718
|
-
/**
|
|
4719
|
-
* The context in which the recommendation was made.
|
|
4720
|
-
*/
|
|
4721
|
-
curateContext?: string;
|
|
4722
|
-
/**
|
|
4723
|
-
* The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
|
|
4724
|
-
*/
|
|
4725
|
-
durationMs: number;
|
|
4726
|
-
/**
|
|
4727
|
-
* The UI surface or context from which the video playback was initiated, such as the frontpage, an article embed, a stories feed, a carousel, or play-next etc.
|
|
4728
|
-
*/
|
|
4729
|
-
entryPoint: string;
|
|
4730
|
-
/**
|
|
4731
|
-
* Which episode.
|
|
4732
|
-
*/
|
|
4733
|
-
episode?: string;
|
|
4734
|
-
/**
|
|
4735
|
-
* Video thumbnail from Stream to use in (Kilkaya) dashboards.
|
|
4736
|
-
*/
|
|
4737
|
-
imageUrl: string;
|
|
4738
|
-
/**
|
|
4739
|
-
* True if the content is accessible to the user.
|
|
4740
|
-
*/
|
|
4741
|
-
isAccessible: boolean;
|
|
4742
|
-
/**
|
|
4743
|
-
* The name of the video.
|
|
4744
|
-
*/
|
|
4745
|
-
name: string;
|
|
4746
|
-
/**
|
|
4747
|
-
* The unique ID of this video.
|
|
4748
|
-
*/
|
|
4749
|
-
objectId: string;
|
|
4750
|
-
/**
|
|
4751
|
-
* The unique SDRN for this video.
|
|
4752
|
-
*/
|
|
4753
|
-
objectSdrn: string;
|
|
4754
|
-
/**
|
|
4755
|
-
* The type of this object.
|
|
4756
|
-
*/
|
|
4757
|
-
objectType: "LockedVideo";
|
|
4758
|
-
/**
|
|
4759
|
-
* The reason the user saw this paywall instead of the content.
|
|
4760
|
-
*/
|
|
4761
|
-
paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
|
|
4762
|
-
/**
|
|
4763
|
-
* Indicates how the video is configured to start.
|
|
4764
|
-
*/
|
|
4765
|
-
playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
4766
|
-
/**
|
|
4767
|
-
* A unique ID for this player instance.
|
|
4768
|
-
*/
|
|
4769
|
-
playerId: string;
|
|
4770
|
-
/**
|
|
4771
|
-
* The ID of the playlist.
|
|
4772
|
-
*/
|
|
4773
|
-
playlistId?: string;
|
|
4774
|
-
/**
|
|
4775
|
-
* The position of the video in the playlist.
|
|
4776
|
-
*/
|
|
4777
|
-
queuePosition?: number;
|
|
4778
|
-
/**
|
|
4779
|
-
* Which season.
|
|
4780
|
-
*/
|
|
4781
|
-
season?: string;
|
|
4782
|
-
/**
|
|
4783
|
-
* Follow accesslevel from Stream (viewer access).
|
|
4784
|
-
*/
|
|
4785
|
-
streamAccessLevel: string;
|
|
4786
|
-
/**
|
|
4787
|
-
* Reflects the stream type as defined in Stream at the time of playback.
|
|
4788
|
-
*/
|
|
4789
|
-
streamType: string;
|
|
4790
|
-
/**
|
|
4791
|
-
* Tags from Stream.
|
|
4792
|
-
*/
|
|
4793
|
-
tags?: string[];
|
|
4794
|
-
/**
|
|
4795
|
-
* Type of video. Fetched from content type in Stream.
|
|
4796
|
-
*/
|
|
4797
|
-
variant: string;
|
|
4798
|
-
};
|
|
4799
|
-
page: {
|
|
4800
|
-
content?: IContent;
|
|
4801
|
-
info: IPageRef;
|
|
4802
|
-
/**
|
|
4803
|
-
* The browser navigation that got the user to the current page.
|
|
4804
|
-
*/
|
|
4805
|
-
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4806
|
-
/**
|
|
4807
|
-
* The pageviewID.
|
|
4808
|
-
*/
|
|
4809
|
-
pageviewId: string;
|
|
4810
|
-
referrer?: IPageRef;
|
|
4811
|
-
utm?: IUtmTags;
|
|
4812
|
-
};
|
|
4813
|
-
provider: IProvider;
|
|
4512
|
+
interface IViewLockedVideoPage {
|
|
4814
4513
|
/**
|
|
4815
|
-
* The
|
|
4514
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4816
4515
|
*/
|
|
4817
|
-
|
|
4818
|
-
session: ISession;
|
|
4819
|
-
time: ITime;
|
|
4820
|
-
tracker: ITracker;
|
|
4821
|
-
user?: IUser;
|
|
4822
|
-
}
|
|
4823
|
-
interface IViewLockedVideoPage {
|
|
4516
|
+
catalogVersion: string;
|
|
4824
4517
|
consents: IConsents;
|
|
4825
4518
|
device: IDevice;
|
|
4826
4519
|
/**
|
|
@@ -4888,6 +4581,10 @@ interface IViewLockedVideoPage {
|
|
|
4888
4581
|
user?: IUser;
|
|
4889
4582
|
}
|
|
4890
4583
|
interface IViewPage {
|
|
4584
|
+
/**
|
|
4585
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4586
|
+
*/
|
|
4587
|
+
catalogVersion: string;
|
|
4891
4588
|
consents: IConsents;
|
|
4892
4589
|
device: IDevice;
|
|
4893
4590
|
/**
|
|
@@ -4947,6 +4644,10 @@ interface IViewPage {
|
|
|
4947
4644
|
user?: IUser;
|
|
4948
4645
|
}
|
|
4949
4646
|
interface IViewSportsPage {
|
|
4647
|
+
/**
|
|
4648
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4649
|
+
*/
|
|
4650
|
+
catalogVersion: string;
|
|
4950
4651
|
consents: IConsents;
|
|
4951
4652
|
device: IDevice;
|
|
4952
4653
|
/**
|
|
@@ -5007,6 +4708,10 @@ interface IViewSportsPage {
|
|
|
5007
4708
|
user?: IUser;
|
|
5008
4709
|
}
|
|
5009
4710
|
interface IViewTitle {
|
|
4711
|
+
/**
|
|
4712
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4713
|
+
*/
|
|
4714
|
+
catalogVersion: string;
|
|
5010
4715
|
consents: IConsents;
|
|
5011
4716
|
device: IDevice;
|
|
5012
4717
|
/**
|
|
@@ -5071,133 +4776,11 @@ interface IViewTitle {
|
|
|
5071
4776
|
tracker: ITracker;
|
|
5072
4777
|
user?: IUser;
|
|
5073
4778
|
}
|
|
5074
|
-
interface
|
|
5075
|
-
consents: IConsents;
|
|
5076
|
-
device: IDevice;
|
|
5077
|
-
/**
|
|
5078
|
-
* Event ID
|
|
5079
|
-
*/
|
|
5080
|
-
eventId: string;
|
|
5081
|
-
eventType: "View";
|
|
5082
|
-
experiments?: IExperiments;
|
|
5083
|
-
metrics?: IMetrics;
|
|
5084
|
-
object: {
|
|
5085
|
-
/**
|
|
5086
|
-
* Numeric value of the video aspect ratio.
|
|
5087
|
-
*/
|
|
5088
|
-
aspectRatio: number;
|
|
5089
|
-
/**
|
|
5090
|
-
* The editorial category of this video.
|
|
5091
|
-
*/
|
|
5092
|
-
category: string;
|
|
5093
|
-
/**
|
|
5094
|
-
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
5095
|
-
*/
|
|
5096
|
-
containerName: string;
|
|
5097
|
-
/**
|
|
5098
|
-
* The context in which the recommendation was made.
|
|
5099
|
-
*/
|
|
5100
|
-
curateContext?: string;
|
|
5101
|
-
/**
|
|
5102
|
-
* The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
|
|
5103
|
-
*/
|
|
5104
|
-
durationMs: number;
|
|
5105
|
-
/**
|
|
5106
|
-
* The UI surface or context from which the video playback was initiated, such as the frontpage, an article embed, a stories feed, a carousel, or play-next etc
|
|
5107
|
-
*/
|
|
5108
|
-
entryPoint: string;
|
|
5109
|
-
/**
|
|
5110
|
-
* Which episode
|
|
5111
|
-
*/
|
|
5112
|
-
episode?: string;
|
|
5113
|
-
/**
|
|
5114
|
-
* Video thumbnail from Stream to use in (Kilkaya) dashboards
|
|
5115
|
-
*/
|
|
5116
|
-
imageUrl: string;
|
|
5117
|
-
/**
|
|
5118
|
-
* True if the content is accessible to the user.
|
|
5119
|
-
*/
|
|
5120
|
-
isAccessible: boolean;
|
|
5121
|
-
/**
|
|
5122
|
-
* True if the video is an ad published through editorial CMS and not Xandr.
|
|
5123
|
-
*/
|
|
5124
|
-
isAd: boolean;
|
|
5125
|
-
/**
|
|
5126
|
-
* True if video is sponsored.
|
|
5127
|
-
*/
|
|
5128
|
-
isSponsored: boolean;
|
|
5129
|
-
/**
|
|
5130
|
-
* The name of the video.
|
|
5131
|
-
*/
|
|
5132
|
-
name: string;
|
|
5133
|
-
/**
|
|
5134
|
-
* The unique ID of this video.
|
|
5135
|
-
*/
|
|
5136
|
-
objectId: string;
|
|
5137
|
-
/**
|
|
5138
|
-
* The unique SDRN for this video.
|
|
5139
|
-
*/
|
|
5140
|
-
objectSdrn: string;
|
|
5141
|
-
objectType: "Video";
|
|
5142
|
-
/**
|
|
5143
|
-
* Indicates how the video is configured to start.
|
|
5144
|
-
*/
|
|
5145
|
-
playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
5146
|
-
/**
|
|
5147
|
-
* A unique ID for this player instance.
|
|
5148
|
-
*/
|
|
5149
|
-
playerId: string;
|
|
5150
|
-
/**
|
|
5151
|
-
* The ID of the playlist.
|
|
5152
|
-
*/
|
|
5153
|
-
playlistId?: string;
|
|
5154
|
-
/**
|
|
5155
|
-
* The position of the video in the playlist.
|
|
5156
|
-
*/
|
|
5157
|
-
queuePosition?: number;
|
|
5158
|
-
/**
|
|
5159
|
-
* Which season
|
|
5160
|
-
*/
|
|
5161
|
-
season?: string;
|
|
5162
|
-
/**
|
|
5163
|
-
* Follow accesslevel from Stream (viewer access)
|
|
5164
|
-
*/
|
|
5165
|
-
streamAccessLevel: string;
|
|
5166
|
-
/**
|
|
5167
|
-
* Reflects the stream type as defined in Stream at the time of playback.
|
|
5168
|
-
*/
|
|
5169
|
-
streamType: string;
|
|
5170
|
-
tags?: string[];
|
|
5171
|
-
/**
|
|
5172
|
-
* Type of video. Fetched from content type in Stream.
|
|
5173
|
-
*/
|
|
5174
|
-
variant: string;
|
|
5175
|
-
};
|
|
5176
|
-
page: {
|
|
5177
|
-
content?: IContent;
|
|
5178
|
-
info: IPageRef;
|
|
5179
|
-
/**
|
|
5180
|
-
* The browser navigation that got the user to the current page.
|
|
5181
|
-
*/
|
|
5182
|
-
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
5183
|
-
/**
|
|
5184
|
-
* The pageviewID.
|
|
5185
|
-
*/
|
|
5186
|
-
pageviewId: string;
|
|
5187
|
-
referrer?: IPageRef;
|
|
5188
|
-
utm?: IUtmTags;
|
|
5189
|
-
};
|
|
5190
|
-
provider: IProvider;
|
|
4779
|
+
interface IViewVideoPage {
|
|
5191
4780
|
/**
|
|
5192
|
-
* The
|
|
4781
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
5193
4782
|
*/
|
|
5194
|
-
|
|
5195
|
-
session: ISession;
|
|
5196
|
-
time: ITime;
|
|
5197
|
-
tracker: ITracker;
|
|
5198
|
-
user?: IUser;
|
|
5199
|
-
}
|
|
5200
|
-
interface IViewVideoPage {
|
|
4783
|
+
catalogVersion: string;
|
|
5201
4784
|
consents: IConsents;
|
|
5202
4785
|
device: IDevice;
|
|
5203
4786
|
/**
|
|
@@ -5257,6 +4840,10 @@ interface IViewVideoPage {
|
|
|
5257
4840
|
user?: IUser;
|
|
5258
4841
|
}
|
|
5259
4842
|
interface IViewWeather {
|
|
4843
|
+
/**
|
|
4844
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4845
|
+
*/
|
|
4846
|
+
catalogVersion: string;
|
|
5260
4847
|
consents: IConsents;
|
|
5261
4848
|
device: IDevice;
|
|
5262
4849
|
/**
|
|
@@ -5323,7 +4910,7 @@ interface IViewWeather {
|
|
|
5323
4910
|
tracker: ITracker;
|
|
5324
4911
|
user?: IUser;
|
|
5325
4912
|
}
|
|
5326
|
-
type ITpaasEvent = IAnonymousViewUIElement | ICancelSubscription | IChangePushNotificationSettings | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementNotification | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget |
|
|
4913
|
+
type ITpaasEvent = IAnonymousViewUIElement | ICancelSubscription | IChangePushNotificationSettings | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementNotification | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionForm | IImpressionHealthUIElement | IImpressionNotification | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | IInternalAccessDecision | IInternalProbe | ILaunchApp | ILeaveArticle | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedArticle | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | IPurchaseSubscription | IViewArticle | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedArticle | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
|
|
5327
4914
|
type UserParams = Pick<IUser, "hasAnySubscription" | "region"> & {
|
|
5328
4915
|
id: string;
|
|
5329
4916
|
realm: string;
|
|
@@ -5348,13 +4935,13 @@ export interface TpaasEventBuilderDependencies {
|
|
|
5348
4935
|
experiments?: IExperiments;
|
|
5349
4936
|
currentPage?: IPageRef;
|
|
5350
4937
|
}
|
|
5351
|
-
type OmittedProperties = "user" | "eventId" | "consents" | "device" | "time" | "tracker" | "session" | "eventType" | "schema" | "object.objectType" | "isAnonymous" | "provider.providerId" | "provider.providerSdrn" | "page.pageviewId" | "page.utm" | "page.info" | "page.referrer.url";
|
|
4938
|
+
type OmittedProperties = "user" | "eventId" | "consents" | "device" | "time" | "tracker" | "session" | "eventType" | "schema" | "object.objectType" | "isAnonymous" | "provider.providerId" | "provider.providerSdrn" | "page.pageviewId" | "page.utm" | "page.info" | "page.referrer.url" | "catalogVersion";
|
|
5352
4939
|
type DeepOmit<T, K extends string> = T extends readonly unknown[] ? T : T extends object ? {
|
|
5353
4940
|
[P in keyof T as P extends K ? never : P]: DeepOmit<T[P], K extends `${Exclude<P, symbol>}.${infer R}` ? R : never>;
|
|
5354
4941
|
} extends infer Result ? {
|
|
5355
4942
|
[P in keyof Result as Result[P] extends Record<string, never> ? never : P]: Result[P];
|
|
5356
4943
|
} : never : T;
|
|
5357
|
-
type OptionalNavigationType<T
|
|
4944
|
+
type OptionalNavigationType<T> = T extends {
|
|
5358
4945
|
page: {
|
|
5359
4946
|
navigationType: infer N;
|
|
5360
4947
|
};
|
|
@@ -5362,19 +4949,27 @@ type OptionalNavigationType<T extends ITpaasEvent> = T extends {
|
|
|
5362
4949
|
page: Omit<T["page"], "navigationType"> & {
|
|
5363
4950
|
navigationType?: N;
|
|
5364
4951
|
};
|
|
4952
|
+
} : T extends {
|
|
4953
|
+
page?: {
|
|
4954
|
+
navigationType: infer N;
|
|
4955
|
+
};
|
|
4956
|
+
} ? Omit<T, "page"> & {
|
|
4957
|
+
page?: Omit<NonNullable<T["page"]>, "navigationType"> & {
|
|
4958
|
+
navigationType?: N;
|
|
4959
|
+
};
|
|
5365
4960
|
} : T;
|
|
5366
|
-
type WithRequired<T, K extends keyof T> = T & {
|
|
5367
|
-
[P in K]-?: T[P];
|
|
5368
|
-
};
|
|
5369
4961
|
/**
|
|
5370
4962
|
* InputParams is a utility type that omits certain properties from a given type T.
|
|
5371
4963
|
* @param T - The type from which properties will be omitted.
|
|
5372
4964
|
* @private
|
|
5373
4965
|
*
|
|
5374
4966
|
* @privateRemarks
|
|
5375
|
-
* the condition might look overkill, but it ensured that we require 'page' for HealthCompleted Action events on web only
|
|
5376
4967
|
*/
|
|
5377
|
-
export type InputParams<T extends ITpaasEvent> =
|
|
4968
|
+
export type InputParams<T extends ITpaasEvent> = DeepOmit<OptionalNavigationType<WithOptionalPage<T>>, OmittedProperties>;
|
|
4969
|
+
type WithOptionalPage<T> = T extends TpaasOptionalPageSchemas ? Omit<T, "page"> & {
|
|
4970
|
+
page?: T["page"];
|
|
4971
|
+
} : T;
|
|
4972
|
+
type TpaasOptionalPageSchemas = IAnonymousViewUIElement | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionForm | IImpressionHealthUIElement | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
|
|
5378
4973
|
/**
|
|
5379
4974
|
* Common builders output to be merged into all events
|
|
5380
4975
|
* @param createdAt
|
|
@@ -5401,7 +4996,7 @@ export declare const getCommonBuildersOutput: (createdAt: Date, { autoTrackerVer
|
|
|
5401
4996
|
info: {
|
|
5402
4997
|
url: string | undefined;
|
|
5403
4998
|
pageId: string | undefined;
|
|
5404
|
-
pageType: "
|
|
4999
|
+
pageType: "Article" | "AudioPage" | "Error" | "Frontpage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudioPage" | "LockedVideoPage" | "Page" | "SportsPage" | "VideoPage" | "Weather" | "HealthPage" | "Title" | "Login" | undefined;
|
|
5405
5000
|
};
|
|
5406
5001
|
};
|
|
5407
5002
|
user: IUser | undefined;
|
|
@@ -5435,6 +5030,7 @@ export declare const getCommonBuildersOutput: (createdAt: Date, { autoTrackerVer
|
|
|
5435
5030
|
proxyVersion: string | undefined;
|
|
5436
5031
|
trackerType: "JS" | "IOS" | "Android" | "Backend";
|
|
5437
5032
|
};
|
|
5033
|
+
catalogVersion: string;
|
|
5438
5034
|
provider: {
|
|
5439
5035
|
providerId: string;
|
|
5440
5036
|
providerSdrn: string;
|
|
@@ -5442,22 +5038,18 @@ export declare const getCommonBuildersOutput: (createdAt: Date, { autoTrackerVer
|
|
|
5442
5038
|
};
|
|
5443
5039
|
export declare function buildAnonymousViewUIElementEvent(input: InputParams<IAnonymousViewUIElement>, dependencies: Pick<TpaasEventBuilderDependencies, "autoTrackerVersion" | "isHybrid" | "version" | "pageviewId" | "providerId" | "experiments">): IAnonymousViewUIElement;
|
|
5444
5040
|
export declare function buildViewArticleEvent(input: InputParams<IViewArticle>, dependencies: TpaasEventBuilderDependencies): IViewArticle;
|
|
5445
|
-
export declare function buildViewAudioEvent(input: InputParams<IViewAudio>, dependencies: TpaasEventBuilderDependencies): IViewAudio;
|
|
5446
5041
|
export declare function buildViewAudioPageEvent(input: InputParams<IViewAudioPage>, dependencies: TpaasEventBuilderDependencies): IViewAudioPage;
|
|
5447
5042
|
export declare function buildViewErrorEvent(input: InputParams<IViewError>, dependencies: TpaasEventBuilderDependencies): IViewError;
|
|
5448
5043
|
export declare function buildViewFrontpageEvent(input: InputParams<IViewFrontpage>, dependencies: TpaasEventBuilderDependencies): IViewFrontpage;
|
|
5449
5044
|
export declare function buildViewLandingpageEvent(input: InputParams<IViewLandingpage>, dependencies: TpaasEventBuilderDependencies): IViewLandingpage;
|
|
5450
5045
|
export declare function buildViewListingEvent(input: InputParams<IViewListing>, dependencies: TpaasEventBuilderDependencies): IViewListing;
|
|
5451
5046
|
export declare function buildViewLockedArticleEvent(input: InputParams<IViewLockedArticle>, dependencies: TpaasEventBuilderDependencies): IViewLockedArticle;
|
|
5452
|
-
export declare function buildViewLockedAudioEvent(input: InputParams<IViewLockedAudio>, dependencies: TpaasEventBuilderDependencies): IViewLockedAudio;
|
|
5453
5047
|
export declare function buildViewLockedAudioPageEvent(input: InputParams<IViewLockedAudioPage>, dependencies: TpaasEventBuilderDependencies): IViewLockedAudioPage;
|
|
5454
|
-
export declare function buildViewLockedVideoEvent(input: InputParams<IViewLockedVideo>, dependencies: TpaasEventBuilderDependencies): IViewLockedVideo;
|
|
5455
5048
|
export declare function buildViewLockedVideoPageEvent(input: InputParams<IViewLockedVideoPage>, dependencies: TpaasEventBuilderDependencies): IViewLockedVideoPage;
|
|
5456
5049
|
export declare function buildLeaveLockedVideoPageEvent(input: InputParams<ILeaveLockedVideoPage>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedVideoPage;
|
|
5457
5050
|
export declare function buildViewPageEvent(input: InputParams<IViewPage>, dependencies: TpaasEventBuilderDependencies): IViewPage;
|
|
5458
5051
|
export declare function buildViewSportsPageEvent(input: InputParams<IViewSportsPage>, dependencies: TpaasEventBuilderDependencies): IViewSportsPage;
|
|
5459
5052
|
export declare function buildViewTitleEvent(input: InputParams<IViewTitle>, dependencies: TpaasEventBuilderDependencies): IViewTitle;
|
|
5460
|
-
export declare function buildViewVideoEvent(input: InputParams<IViewVideo>, dependencies: TpaasEventBuilderDependencies): IViewVideo;
|
|
5461
5053
|
export declare function buildViewVideoPageEvent(input: InputParams<IViewVideoPage>, dependencies: TpaasEventBuilderDependencies): IViewVideoPage;
|
|
5462
5054
|
export declare function buildViewWeatherEvent(input: InputParams<IViewWeather>, dependencies: TpaasEventBuilderDependencies): IViewWeather;
|
|
5463
5055
|
export declare function buildLeaveArticleEvent(input: InputParams<ILeaveArticle>, dependencies: TpaasEventBuilderDependencies): ILeaveArticle;
|
|
@@ -5467,9 +5059,7 @@ export declare function buildLeaveFrontpageEvent(input: InputParams<ILeaveFrontp
|
|
|
5467
5059
|
export declare function buildLeaveLandingpageEvent(input: InputParams<ILeaveLandingpage>, dependencies: TpaasEventBuilderDependencies): ILeaveLandingpage;
|
|
5468
5060
|
export declare function buildLeaveListingEvent(input: InputParams<ILeaveListing>, dependencies: TpaasEventBuilderDependencies): ILeaveListing;
|
|
5469
5061
|
export declare function buildLeaveLockedArticleEvent(input: InputParams<ILeaveLockedArticle>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedArticle;
|
|
5470
|
-
export declare function buildLeaveLockedAudioEvent(input: InputParams<ILeaveLockedAudio>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedAudio;
|
|
5471
5062
|
export declare function buildLeaveLockedAudioPageEvent(input: InputParams<ILeaveLockedAudioPage>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedAudioPage;
|
|
5472
|
-
export declare function buildLeaveLockedVideoEvent(input: InputParams<ILeaveLockedVideo>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedVideo;
|
|
5473
5063
|
export declare function buildLeavePageEvent(input: InputParams<ILeavePage>, dependencies: TpaasEventBuilderDependencies): ILeavePage;
|
|
5474
5064
|
export declare function buildLeaveSportsPageEvent(input: InputParams<ILeaveSportsPage>, dependencies: TpaasEventBuilderDependencies): ILeaveSportsPage;
|
|
5475
5065
|
export declare function buildLeaveVideoPageEvent(input: InputParams<ILeaveVideoPage>, dependencies: TpaasEventBuilderDependencies): ILeaveVideoPage;
|
|
@@ -5486,7 +5076,6 @@ export declare function buildCompletedHealthActionEvent(input: InputParams<IComp
|
|
|
5486
5076
|
export declare function buildEngagementHealthUIElementEvent(input: InputParams<IEngagementHealthUIElement>, dependencies: TpaasEventBuilderDependencies): IEngagementHealthUIElement;
|
|
5487
5077
|
export declare function buildViewHealthPageEvent(input: InputParams<IViewHealthPage>, dependencies: TpaasEventBuilderDependencies): IViewHealthPage;
|
|
5488
5078
|
export declare function buildImpressionHealthUIElementEvent(input: InputParams<IImpressionHealthUIElement>, dependencies: TpaasEventBuilderDependencies): IImpressionHealthUIElement;
|
|
5489
|
-
export declare function buildImpressionAdSlotEvent(input: InputParams<IImpressionAdSlot>, dependencies: TpaasEventBuilderDependencies): IImpressionAdSlot;
|
|
5490
5079
|
export declare function buildImpressionFormEvent(input: InputParams<IImpressionForm>, dependencies: TpaasEventBuilderDependencies): IImpressionForm;
|
|
5491
5080
|
export declare function buildImpressionOfferEvent(input: InputParams<IImpressionOffer>, dependencies: TpaasEventBuilderDependencies): IImpressionOffer;
|
|
5492
5081
|
export declare function buildImpressionPlayerEvent(input: InputParams<IImpressionPlayer>, dependencies: TpaasEventBuilderDependencies): IImpressionPlayer;
|