@schibsted/pulse-sdk 8.0.0-rc.6 → 8.0.0-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Tracker.js +92 -43
- package/dist/cjs/builders/experiments.js +1 -0
- package/dist/cjs/tracker-proxy/consts.js +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/visibility-observer/index.js +9 -7
- package/dist/cjs/wrapper/types/event.js +5 -0
- package/dist/ejs/Tracker.js +93 -44
- package/dist/ejs/builders/experiments.js +1 -1
- package/dist/ejs/tracker-proxy/consts.js +1 -0
- package/dist/ejs/version.js +1 -1
- package/dist/ejs/visibility-observer/index.js +9 -7
- package/dist/ejs/wrapper/types/event.js +4 -1
- package/dist/types/Tracker.d.ts +39 -17
- package/dist/types/builders/experiments.d.ts +1 -0
- package/dist/types/index.d.ts +0 -1
- package/dist/types/tracker-proxy/consts.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/visibility-observer/index.d.ts +6 -1
- package/dist/types/wrapper/types/event.d.ts +3 -1
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders.js +53 -47
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/guards.js +7 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/index.js +3 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders.js +53 -48
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/guards.js +4 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/index.js +1 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/index.d.ts +822 -198
- package/node_modules/@schibsted/tpaas-event-builder/package.json +2 -1
- package/node_modules/@schibsted/tpaas-schemas/dist/cjs/constants.js +66 -57
- package/node_modules/@schibsted/tpaas-schemas/dist/cjs/index.js +1 -0
- package/node_modules/@schibsted/tpaas-schemas/dist/cjs/types.js +2 -0
- package/node_modules/@schibsted/tpaas-schemas/dist/ejs/constants.js +64 -55
- package/node_modules/@schibsted/tpaas-schemas/dist/ejs/index.js +1 -0
- package/node_modules/@schibsted/tpaas-schemas/dist/ejs/types.js +1 -0
- package/node_modules/@schibsted/tpaas-schemas/dist/index.d.ts +888 -223
- package/package.json +4 -4
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
// Generated by dts-bundle-generator v9.5.1
|
|
2
2
|
|
|
3
|
+
declare const PAGE_TYPE_VALUES: readonly [
|
|
4
|
+
"Article",
|
|
5
|
+
"AudioPage",
|
|
6
|
+
"Error",
|
|
7
|
+
"Frontpage",
|
|
8
|
+
"HealthPage",
|
|
9
|
+
"Landingpage",
|
|
10
|
+
"Listing",
|
|
11
|
+
"LockedArticle",
|
|
12
|
+
"LockedAudioPage",
|
|
13
|
+
"LockedVideoPage",
|
|
14
|
+
"Login",
|
|
15
|
+
"Page",
|
|
16
|
+
"SportsPage",
|
|
17
|
+
"Title",
|
|
18
|
+
"VideoPage",
|
|
19
|
+
"Weather"
|
|
20
|
+
];
|
|
3
21
|
type IExperiments = {
|
|
4
22
|
/**
|
|
5
23
|
* Unique experiment identifier.
|
|
@@ -7,10 +25,12 @@ type IExperiments = {
|
|
|
7
25
|
experimentSdrn: string;
|
|
8
26
|
/**
|
|
9
27
|
* The name of the experiment
|
|
28
|
+
* @example "login-ab-test"
|
|
10
29
|
*/
|
|
11
30
|
name: string;
|
|
12
31
|
/**
|
|
13
32
|
* The name of the experimentation platform.
|
|
33
|
+
* @example "curate"
|
|
14
34
|
*/
|
|
15
35
|
platform: string;
|
|
16
36
|
/**
|
|
@@ -19,6 +39,7 @@ type IExperiments = {
|
|
|
19
39
|
testId?: string;
|
|
20
40
|
/**
|
|
21
41
|
* The level of the experiment variant.
|
|
42
|
+
* @example "control"
|
|
22
43
|
*/
|
|
23
44
|
variant: string;
|
|
24
45
|
}[];
|
|
@@ -33,34 +54,44 @@ interface IPageRef {
|
|
|
33
54
|
pageType?: "Article" | "AudioPage" | "Error" | "Frontpage" | "HealthPage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudioPage" | "LockedVideoPage" | "Login" | "Page" | "SportsPage" | "Title" | "VideoPage" | "Weather";
|
|
34
55
|
/**
|
|
35
56
|
* The URL of the page.
|
|
57
|
+
* @format uri
|
|
36
58
|
*/
|
|
37
59
|
url?: string;
|
|
38
60
|
}
|
|
39
61
|
interface IUtmTags {
|
|
40
62
|
/**
|
|
41
63
|
* The marketing campaign that brought the user to this page, if present.
|
|
64
|
+
* @pattern ^[a-zA-Z0-9-_]+$
|
|
65
|
+
* @example "fotball-league-25"
|
|
42
66
|
*/
|
|
43
67
|
utmCampaign?: string;
|
|
44
68
|
/**
|
|
45
69
|
* The UIElement a user engaged with to be sent here.
|
|
70
|
+
* @pattern ^[a-zA-Z0-9-_]+$
|
|
71
|
+
* @example "viewNowButton"
|
|
46
72
|
*/
|
|
47
73
|
utmContent?: string;
|
|
48
74
|
/**
|
|
49
75
|
* The channel that provided the traffic.
|
|
76
|
+
* @example "Social"
|
|
50
77
|
*/
|
|
51
78
|
utmMedium?: "Organic" | "Cpc" | "Email" | "Social" | "Referral" | "Display" | "Affiliate" | "Video" | "Internal";
|
|
52
79
|
/**
|
|
53
80
|
* The domain the user came from.
|
|
81
|
+
* @example "https://vg.no"
|
|
54
82
|
*/
|
|
55
83
|
utmSource?: string;
|
|
56
84
|
/**
|
|
57
85
|
* If paid medium: The keywords triggering the ad. Else: The keywords used by the search engine.
|
|
86
|
+
* @pattern ^[^+]+(?:\+[^+]+)*$
|
|
87
|
+
* @example "fotball+now+free"
|
|
58
88
|
*/
|
|
59
89
|
utmTerms?: string;
|
|
60
90
|
}
|
|
61
91
|
interface IProvider {
|
|
62
92
|
/**
|
|
63
93
|
* The equivalent of .product for Apps
|
|
94
|
+
* @pattern ^[a-zA-Z0-9-_]+$
|
|
64
95
|
*/
|
|
65
96
|
appProduct?: string;
|
|
66
97
|
/**
|
|
@@ -69,22 +100,43 @@ interface IProvider {
|
|
|
69
100
|
appVersion?: string;
|
|
70
101
|
/**
|
|
71
102
|
* The name of the component. Used to contact owners of the event. This should be a recognized name within the product.
|
|
103
|
+
* @pattern ^[a-zA-Z0-9-_]+$
|
|
104
|
+
* @example "liveWidget"
|
|
72
105
|
*/
|
|
73
106
|
component?: string;
|
|
74
107
|
/**
|
|
75
108
|
* The version of the component used.
|
|
109
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
|
|
110
|
+
* @example "2.3.4"
|
|
76
111
|
*/
|
|
77
112
|
componentVersion?: string;
|
|
113
|
+
/**
|
|
114
|
+
* The group or owner of the provider, used for aggregates and benchmark reports.
|
|
115
|
+
* @pattern ^[a-z0-9-:]+$
|
|
116
|
+
* @example "schibsted:vg"
|
|
117
|
+
*/
|
|
118
|
+
group?: string;
|
|
119
|
+
/**
|
|
120
|
+
* The name of the provider, used for readable reports and contact info.
|
|
121
|
+
* @pattern ^[a-z0-9-]+$
|
|
122
|
+
* @example "vestnytt"
|
|
123
|
+
*/
|
|
124
|
+
name?: string;
|
|
78
125
|
/**
|
|
79
126
|
* The name of the product. Used to contact owners of the event. This should be a recognized name within the organization of the provider.
|
|
127
|
+
* @pattern ^[a-zA-Z0-9-_]+$
|
|
128
|
+
* @example "Feeds"
|
|
80
129
|
*/
|
|
81
130
|
product?: string;
|
|
82
131
|
/**
|
|
83
132
|
* The providerID.
|
|
133
|
+
* @example "aftonbladet"
|
|
84
134
|
*/
|
|
85
135
|
providerId: string;
|
|
86
136
|
/**
|
|
87
137
|
* The provider SDRN.
|
|
138
|
+
* @pattern ^sdrn:schibsted:client:[a-z][a-z0-9-]+$
|
|
139
|
+
* @example "sdrn:schibsted:client:aftonbladet"
|
|
88
140
|
*/
|
|
89
141
|
providerSdrn: string;
|
|
90
142
|
/**
|
|
@@ -93,30 +145,38 @@ interface IProvider {
|
|
|
93
145
|
stage: "Dev" | "Test" | "Pro";
|
|
94
146
|
/**
|
|
95
147
|
* Version of the product.
|
|
148
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
|
|
149
|
+
* @example "2.3.4"
|
|
96
150
|
*/
|
|
97
151
|
version?: string;
|
|
98
152
|
}
|
|
99
153
|
interface ITime {
|
|
100
154
|
/**
|
|
101
155
|
* Timestamp at event creation (in UTC).
|
|
156
|
+
* @format date-time
|
|
102
157
|
*/
|
|
103
158
|
createdAt: string;
|
|
104
159
|
/**
|
|
105
160
|
* Estimate of actual time of event creation. (UTC)
|
|
161
|
+
* @format date-time
|
|
106
162
|
*/
|
|
107
163
|
publishedAt?: string;
|
|
108
164
|
/**
|
|
109
165
|
* Timestamp at event re-publish. (UTC)
|
|
166
|
+
* @format date-time
|
|
110
167
|
*/
|
|
111
168
|
republishedAt?: string;
|
|
112
169
|
/**
|
|
113
170
|
* Timestamp at event transmission. (UTC, client-side)
|
|
171
|
+
* @format date-time
|
|
114
172
|
*/
|
|
115
173
|
sentAt: string;
|
|
116
174
|
}
|
|
117
175
|
interface ITracker {
|
|
118
176
|
/**
|
|
119
177
|
* If the auto-tracker was used, the version of the autotracker library.
|
|
178
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
|
|
179
|
+
* @example "2.3.4"
|
|
120
180
|
*/
|
|
121
181
|
autoTrackerVersion?: string;
|
|
122
182
|
/**
|
|
@@ -129,24 +189,32 @@ interface ITracker {
|
|
|
129
189
|
isHybrid: boolean;
|
|
130
190
|
/**
|
|
131
191
|
* The version of the proxy.
|
|
192
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
|
|
193
|
+
* @example "2.3.4"
|
|
132
194
|
*/
|
|
133
195
|
proxyVersion?: string;
|
|
134
196
|
/**
|
|
135
197
|
* The SDK being used. If no SDK was used, use “backend”.
|
|
198
|
+
* @example "JS"
|
|
136
199
|
*/
|
|
137
200
|
trackerType: "JS" | "IOS" | "Android" | "Backend";
|
|
138
201
|
/**
|
|
139
202
|
* The version of the tracker.
|
|
203
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
|
|
204
|
+
* @example "2.3.4"
|
|
140
205
|
*/
|
|
141
206
|
version: string;
|
|
142
207
|
}
|
|
143
208
|
interface IAnonymousViewUIElement {
|
|
144
209
|
/**
|
|
145
210
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
211
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
212
|
+
* @example "1.2.3"
|
|
146
213
|
*/
|
|
147
214
|
catalogVersion: string;
|
|
148
215
|
/**
|
|
149
216
|
* The unique identifier for the event.
|
|
217
|
+
* @format uuid
|
|
150
218
|
*/
|
|
151
219
|
eventId: string;
|
|
152
220
|
/**
|
|
@@ -168,6 +236,7 @@ interface IAnonymousViewUIElement {
|
|
|
168
236
|
page: {
|
|
169
237
|
/**
|
|
170
238
|
* The pageviewID.
|
|
239
|
+
* @format uuid
|
|
171
240
|
*/
|
|
172
241
|
pageviewId: string;
|
|
173
242
|
referrer?: IPageRef;
|
|
@@ -176,6 +245,8 @@ interface IAnonymousViewUIElement {
|
|
|
176
245
|
provider: IProvider;
|
|
177
246
|
/**
|
|
178
247
|
* URL to the JSON schema for this event.
|
|
248
|
+
* @format uri
|
|
249
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
179
250
|
*/
|
|
180
251
|
schema: string;
|
|
181
252
|
time: ITime;
|
|
@@ -200,30 +271,40 @@ interface IConsents {
|
|
|
200
271
|
personalization: "Accepted" | "Rejected" | "Unknown";
|
|
201
272
|
/**
|
|
202
273
|
* The source of consent information
|
|
274
|
+
* @pattern ^[a-zA-Z-_]+$
|
|
275
|
+
* @example "cache"
|
|
203
276
|
*/
|
|
204
277
|
source: string;
|
|
205
278
|
}
|
|
206
279
|
interface IUser {
|
|
207
280
|
/**
|
|
208
281
|
* True if the user has an active subscription
|
|
282
|
+
* @example true
|
|
209
283
|
*/
|
|
210
284
|
hasAnySubscription: boolean;
|
|
211
285
|
/**
|
|
212
286
|
* The region of primary belonging
|
|
287
|
+
* @example "Norway"
|
|
213
288
|
*/
|
|
214
289
|
region?: "Norway" | "Sweden" | "Finland";
|
|
215
290
|
/**
|
|
216
291
|
* The user ID.
|
|
292
|
+
* @pattern ^[a-zA-Z0-9-]+$
|
|
293
|
+
* @example "12345678"
|
|
217
294
|
*/
|
|
218
295
|
userId: string;
|
|
219
296
|
/**
|
|
220
297
|
* The user SDRN.
|
|
298
|
+
* @pattern ^sdrn:[a-z.-]+:user:[a-zA-Z0-9-]+$
|
|
299
|
+
* @example "sdrn:schibsted:user:12345678"
|
|
221
300
|
*/
|
|
222
301
|
userSdrn: string;
|
|
223
302
|
}
|
|
224
303
|
interface ICancelSubscription {
|
|
225
304
|
/**
|
|
226
305
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
306
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
307
|
+
* @example "1.2.3"
|
|
227
308
|
*/
|
|
228
309
|
catalogVersion: string;
|
|
229
310
|
consents?: IConsents;
|
|
@@ -234,11 +315,14 @@ interface ICancelSubscription {
|
|
|
234
315
|
deviceType: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
|
|
235
316
|
/**
|
|
236
317
|
* The environmentId.
|
|
318
|
+
* @pattern ^[0-9a-fA-F-]+$
|
|
319
|
+
* @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
|
|
237
320
|
*/
|
|
238
321
|
environmentId: string;
|
|
239
322
|
};
|
|
240
323
|
/**
|
|
241
324
|
* The unique identifier for the event.
|
|
325
|
+
* @format uuid
|
|
242
326
|
*/
|
|
243
327
|
eventId: string;
|
|
244
328
|
/**
|
|
@@ -249,6 +333,7 @@ interface ICancelSubscription {
|
|
|
249
333
|
object: {
|
|
250
334
|
/**
|
|
251
335
|
* Date specifying when the subscription is cancelled.
|
|
336
|
+
* @format date
|
|
252
337
|
*/
|
|
253
338
|
cancelDate?: string;
|
|
254
339
|
/**
|
|
@@ -261,6 +346,7 @@ interface ICancelSubscription {
|
|
|
261
346
|
cancelledBy?: string;
|
|
262
347
|
/**
|
|
263
348
|
* Date when access to the service was ends, meaning when the customer lose access.
|
|
349
|
+
* @format date
|
|
264
350
|
*/
|
|
265
351
|
churnDate?: string;
|
|
266
352
|
/**
|
|
@@ -273,6 +359,7 @@ interface ICancelSubscription {
|
|
|
273
359
|
fullPrice?: number;
|
|
274
360
|
/**
|
|
275
361
|
* The unique identifier of the subscription, which corresponds to subscription number in URS.
|
|
362
|
+
* @pattern ^sdrn:[a-zA-Z0-9-]+:subscription:[a-zA-Z0-9_-]+$
|
|
276
363
|
*/
|
|
277
364
|
objectSdrn: string;
|
|
278
365
|
/**
|
|
@@ -299,6 +386,8 @@ interface ICancelSubscription {
|
|
|
299
386
|
provider: IProvider;
|
|
300
387
|
/**
|
|
301
388
|
* URL to the JSON schema for this event.
|
|
389
|
+
* @format uri
|
|
390
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
302
391
|
*/
|
|
303
392
|
schema: string;
|
|
304
393
|
time: ITime;
|
|
@@ -308,18 +397,22 @@ interface ICancelSubscription {
|
|
|
308
397
|
type IMetrics = {
|
|
309
398
|
/**
|
|
310
399
|
* A grouping key for the metric, e.g. curate’s blendId.
|
|
400
|
+
* @example "front-ranker-v7"
|
|
311
401
|
*/
|
|
312
402
|
key: string;
|
|
313
403
|
/**
|
|
314
404
|
* Name of the metric, e.g., "topKScore".
|
|
405
|
+
* @example "topKScore"
|
|
315
406
|
*/
|
|
316
407
|
name: string;
|
|
317
408
|
/**
|
|
318
409
|
* Source of the metric, e.g., "Curate".
|
|
410
|
+
* @example "curate"
|
|
319
411
|
*/
|
|
320
412
|
source: string;
|
|
321
413
|
/**
|
|
322
414
|
* The value of the template.
|
|
415
|
+
* @example 42
|
|
323
416
|
*/
|
|
324
417
|
value: number;
|
|
325
418
|
}[];
|
|
@@ -338,6 +431,8 @@ interface IDevice {
|
|
|
338
431
|
deviceType: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
|
|
339
432
|
/**
|
|
340
433
|
* The environmentId.
|
|
434
|
+
* @pattern ^[0-9a-fA-F-]+$
|
|
435
|
+
* @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
|
|
341
436
|
*/
|
|
342
437
|
environmentId: string;
|
|
343
438
|
ipAddress?: string;
|
|
@@ -347,10 +442,12 @@ interface IDevice {
|
|
|
347
442
|
jweIds?: string;
|
|
348
443
|
/**
|
|
349
444
|
* Mobile only: The brand name of the device.
|
|
445
|
+
* @example "Samsung"
|
|
350
446
|
*/
|
|
351
447
|
mobileBrand?: string;
|
|
352
448
|
/**
|
|
353
449
|
* Mobile only: The model of the device.
|
|
450
|
+
* @example "SM-S918B"
|
|
354
451
|
*/
|
|
355
452
|
mobileModel?: string;
|
|
356
453
|
/**
|
|
@@ -363,6 +460,7 @@ interface IDevice {
|
|
|
363
460
|
screenOrientation: "Portrait" | "Landscape";
|
|
364
461
|
/**
|
|
365
462
|
* The raw userAgent string, if it exists.
|
|
463
|
+
* @example "Mozilla/5.0 (Linux; Android 13; SM-S918B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Mobile Safari/537.36"
|
|
366
464
|
*/
|
|
367
465
|
userAgent?: string;
|
|
368
466
|
/**
|
|
@@ -377,26 +475,34 @@ interface ISession {
|
|
|
377
475
|
isFirstEvent: boolean;
|
|
378
476
|
/**
|
|
379
477
|
* The sessionID.
|
|
478
|
+
* @pattern ^[0-9a-f-]+$
|
|
479
|
+
* @example "079bc17a-4ee8-42ab-a29f-2fbba4cd403f"
|
|
380
480
|
*/
|
|
381
481
|
sessionId: string;
|
|
382
482
|
/**
|
|
383
483
|
* Timestamp of when the session started.
|
|
484
|
+
* @format date-time
|
|
384
485
|
*/
|
|
385
486
|
startTime: string;
|
|
386
487
|
/**
|
|
387
488
|
* The session ID on a partner domain (set via query parameter), else the current session ID. This value is used to connect cross-domain events such as behavior events to purchase events.
|
|
489
|
+
* @pattern ^[0-9a-f-]+$
|
|
490
|
+
* @example "079bc17a-4ee8-42ab-a29f-2fbba4cd403f"
|
|
388
491
|
*/
|
|
389
492
|
xDomainId?: string;
|
|
390
493
|
}
|
|
391
494
|
interface IChangePushNotificationSettings {
|
|
392
495
|
/**
|
|
393
496
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
497
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
498
|
+
* @example "1.2.3"
|
|
394
499
|
*/
|
|
395
500
|
catalogVersion: string;
|
|
396
501
|
consents: IConsents;
|
|
397
502
|
device: IDevice;
|
|
398
503
|
/**
|
|
399
504
|
* The unique identifier for the event.
|
|
505
|
+
* @format uuid
|
|
400
506
|
*/
|
|
401
507
|
eventId: string;
|
|
402
508
|
/**
|
|
@@ -422,6 +528,8 @@ interface IChangePushNotificationSettings {
|
|
|
422
528
|
provider: IProvider;
|
|
423
529
|
/**
|
|
424
530
|
* URL to the JSON schema for this event.
|
|
531
|
+
* @format uri
|
|
532
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
425
533
|
*/
|
|
426
534
|
schema: string;
|
|
427
535
|
session: ISession;
|
|
@@ -432,20 +540,24 @@ interface IChangePushNotificationSettings {
|
|
|
432
540
|
interface IHealthOrigin {
|
|
433
541
|
/**
|
|
434
542
|
* The specific UI element or component that navigated to this page.
|
|
543
|
+
* @example "logging_hq_button"
|
|
435
544
|
*/
|
|
436
545
|
content?: string;
|
|
437
546
|
/**
|
|
438
547
|
* The feature area that navigated to this page
|
|
548
|
+
* @example "meal_logging"
|
|
439
549
|
*/
|
|
440
550
|
feature?: string;
|
|
441
551
|
/**
|
|
442
552
|
* The origin name / place that the user navigated from.
|
|
553
|
+
* @example "logbook"
|
|
443
554
|
*/
|
|
444
555
|
name?: string;
|
|
445
556
|
}
|
|
446
557
|
interface IContent {
|
|
447
558
|
/**
|
|
448
559
|
* The access restriction placed on the content.
|
|
560
|
+
* @example "Free"
|
|
449
561
|
*/
|
|
450
562
|
accessLevel: "Free" | "Login" | "Meter" | "Paid";
|
|
451
563
|
/**
|
|
@@ -454,10 +566,12 @@ interface IContent {
|
|
|
454
566
|
category: "Article" | "Audio" | "Video" | "Weather" | "Title" | "Other";
|
|
455
567
|
/**
|
|
456
568
|
* The identifier of the content.
|
|
569
|
+
* @example "QMkj9q"
|
|
457
570
|
*/
|
|
458
571
|
contentId: string;
|
|
459
572
|
/**
|
|
460
573
|
* The canonical title of the content.
|
|
574
|
+
* @example "Norge vinner 3-0 mot Italia i VM-kvalifiseringen."
|
|
461
575
|
*/
|
|
462
576
|
contentTitle: string;
|
|
463
577
|
/**
|
|
@@ -472,17 +586,20 @@ interface IContent {
|
|
|
472
586
|
* A list of product features that give access to this content. (Uses OR, i.e., having one is enough for access.)
|
|
473
587
|
*/
|
|
474
588
|
requiredProductFeatures?: string[];
|
|
475
|
-
tags
|
|
589
|
+
tags?: string[];
|
|
476
590
|
}
|
|
477
591
|
interface ICompletedHealthAction {
|
|
478
592
|
/**
|
|
479
593
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
594
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
595
|
+
* @example "1.2.3"
|
|
480
596
|
*/
|
|
481
597
|
catalogVersion: string;
|
|
482
598
|
consents: IConsents;
|
|
483
599
|
device: IDevice;
|
|
484
600
|
/**
|
|
485
601
|
* The unique identifier for the event.
|
|
602
|
+
* @format uuid
|
|
486
603
|
*/
|
|
487
604
|
eventId: string;
|
|
488
605
|
/**
|
|
@@ -501,20 +618,24 @@ interface ICompletedHealthAction {
|
|
|
501
618
|
actionType: "Logged" | "Scanned" | "Started" | "SetFilters" | "Added" | "Removed" | "Completed" | "Achieved" | "Saved" | "Deleted" | "Updated" | "Shared";
|
|
502
619
|
/**
|
|
503
620
|
* The health category this action relates to.
|
|
621
|
+
* @example "nutrition"
|
|
504
622
|
*/
|
|
505
623
|
category?: string;
|
|
506
624
|
/**
|
|
507
625
|
* Freeform custom properties with dynamic field names for health-specific action data.
|
|
626
|
+
* @additionalProperties true
|
|
508
627
|
*/
|
|
509
628
|
custom?: {
|
|
510
629
|
[k: string]: unknown;
|
|
511
630
|
};
|
|
512
631
|
/**
|
|
513
632
|
* The user intent or purpose of this event.
|
|
633
|
+
* @example "edit daily note"
|
|
514
634
|
*/
|
|
515
635
|
intent?: string;
|
|
516
636
|
/**
|
|
517
637
|
* The descriptive name of the action that was completed.
|
|
638
|
+
* @example "Logged breakfast meal"
|
|
518
639
|
*/
|
|
519
640
|
name?: string;
|
|
520
641
|
/**
|
|
@@ -535,6 +656,7 @@ interface ICompletedHealthAction {
|
|
|
535
656
|
tags?: string[];
|
|
536
657
|
/**
|
|
537
658
|
* The title of the completion message or confirmation shown to the user.
|
|
659
|
+
* @example "Barcode scanned successfully"
|
|
538
660
|
*/
|
|
539
661
|
title?: string;
|
|
540
662
|
};
|
|
@@ -546,6 +668,7 @@ interface ICompletedHealthAction {
|
|
|
546
668
|
info: IPageRef;
|
|
547
669
|
/**
|
|
548
670
|
* The pageviewID of the page where the action occurred.
|
|
671
|
+
* @format uuid
|
|
549
672
|
*/
|
|
550
673
|
pageviewId: string;
|
|
551
674
|
referrer?: IPageRef;
|
|
@@ -554,6 +677,8 @@ interface ICompletedHealthAction {
|
|
|
554
677
|
provider: IProvider;
|
|
555
678
|
/**
|
|
556
679
|
* URL to the JSON schema for this event.
|
|
680
|
+
* @format uri
|
|
681
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
557
682
|
*/
|
|
558
683
|
schema: string;
|
|
559
684
|
session: ISession;
|
|
@@ -571,6 +696,8 @@ interface ICompletedHealthAction {
|
|
|
571
696
|
interface IEngagementAudio {
|
|
572
697
|
/**
|
|
573
698
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
699
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
700
|
+
* @example "1.2.3"
|
|
574
701
|
*/
|
|
575
702
|
catalogVersion: string;
|
|
576
703
|
consents: IConsents;
|
|
@@ -594,6 +721,7 @@ interface IEngagementAudio {
|
|
|
594
721
|
};
|
|
595
722
|
/**
|
|
596
723
|
* The unique identifier for the event.
|
|
724
|
+
* @format uuid
|
|
597
725
|
*/
|
|
598
726
|
eventId: string;
|
|
599
727
|
/**
|
|
@@ -619,6 +747,7 @@ interface IEngagementAudio {
|
|
|
619
747
|
playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
620
748
|
/**
|
|
621
749
|
* The current playback speed
|
|
750
|
+
* @exclusiveMinimum 0
|
|
622
751
|
*/
|
|
623
752
|
playbackSpeed?: number;
|
|
624
753
|
/**
|
|
@@ -626,9 +755,9 @@ interface IEngagementAudio {
|
|
|
626
755
|
*/
|
|
627
756
|
positionMs: number;
|
|
628
757
|
/**
|
|
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
|
|
758
|
+
* 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
759
|
*/
|
|
631
|
-
prevPositionMs:
|
|
760
|
+
prevPositionMs: number;
|
|
632
761
|
/**
|
|
633
762
|
* The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
|
|
634
763
|
*/
|
|
@@ -648,10 +777,6 @@ interface IEngagementAudio {
|
|
|
648
777
|
* The editorial category of this audio
|
|
649
778
|
*/
|
|
650
779
|
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;
|
|
655
780
|
/**
|
|
656
781
|
* The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
|
|
657
782
|
*/
|
|
@@ -660,10 +785,6 @@ interface IEngagementAudio {
|
|
|
660
785
|
* The size of the player.
|
|
661
786
|
*/
|
|
662
787
|
elementSize?: "XS" | "S" | "M" | "L" | "XL";
|
|
663
|
-
/**
|
|
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
|
|
665
|
-
*/
|
|
666
|
-
entryPoint: string;
|
|
667
788
|
/**
|
|
668
789
|
* Which episode
|
|
669
790
|
*/
|
|
@@ -711,6 +832,7 @@ interface IEngagementAudio {
|
|
|
711
832
|
podmeId?: string;
|
|
712
833
|
/**
|
|
713
834
|
* The position of the audio in the playlist.
|
|
835
|
+
* @minimum 0
|
|
714
836
|
*/
|
|
715
837
|
queuePosition?: number;
|
|
716
838
|
/**
|
|
@@ -736,14 +858,23 @@ interface IEngagementAudio {
|
|
|
736
858
|
info: IPageRef;
|
|
737
859
|
/**
|
|
738
860
|
* The pageviewID.
|
|
861
|
+
* @format uuid
|
|
739
862
|
*/
|
|
740
863
|
pageviewId: string;
|
|
741
864
|
referrer?: IPageRef;
|
|
742
865
|
utm?: IUtmTags;
|
|
743
866
|
};
|
|
867
|
+
placement: {
|
|
868
|
+
/**
|
|
869
|
+
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
870
|
+
*/
|
|
871
|
+
containerName: string;
|
|
872
|
+
};
|
|
744
873
|
provider: IProvider;
|
|
745
874
|
/**
|
|
746
875
|
* URL to the JSON schema for this event.
|
|
876
|
+
* @format uri
|
|
877
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
747
878
|
*/
|
|
748
879
|
schema: string;
|
|
749
880
|
session: ISession;
|
|
@@ -758,12 +889,15 @@ interface IEngagement {
|
|
|
758
889
|
action: "Click" | "Scroll" | "Drag" | "Drop" | "DoubleClick";
|
|
759
890
|
/**
|
|
760
891
|
* The name of the UIElement being interacted with.
|
|
892
|
+
* @example "AwesomeButton"
|
|
761
893
|
*/
|
|
762
894
|
elementName: string;
|
|
763
895
|
}
|
|
764
896
|
interface IEngagementForm {
|
|
765
897
|
/**
|
|
766
898
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
899
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
900
|
+
* @example "1.2.3"
|
|
767
901
|
*/
|
|
768
902
|
catalogVersion: string;
|
|
769
903
|
consents: IConsents;
|
|
@@ -771,6 +905,7 @@ interface IEngagementForm {
|
|
|
771
905
|
engagement: IEngagement;
|
|
772
906
|
/**
|
|
773
907
|
* Event ID
|
|
908
|
+
* @format uuid
|
|
774
909
|
*/
|
|
775
910
|
eventId: string;
|
|
776
911
|
/**
|
|
@@ -779,10 +914,6 @@ interface IEngagementForm {
|
|
|
779
914
|
eventType: "Engagement";
|
|
780
915
|
experiments?: IExperiments;
|
|
781
916
|
object: {
|
|
782
|
-
/**
|
|
783
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
784
|
-
*/
|
|
785
|
-
containerName: string;
|
|
786
917
|
/**
|
|
787
918
|
* The size of the component.
|
|
788
919
|
*/
|
|
@@ -827,14 +958,23 @@ interface IEngagementForm {
|
|
|
827
958
|
info: IPageRef;
|
|
828
959
|
/**
|
|
829
960
|
* The pageviewID.
|
|
961
|
+
* @format uuid
|
|
830
962
|
*/
|
|
831
963
|
pageviewId: string;
|
|
832
964
|
referrer?: IPageRef;
|
|
833
965
|
utm?: IUtmTags;
|
|
834
966
|
};
|
|
967
|
+
placement: {
|
|
968
|
+
/**
|
|
969
|
+
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
970
|
+
*/
|
|
971
|
+
containerName: string;
|
|
972
|
+
};
|
|
835
973
|
provider: IProvider;
|
|
836
974
|
/**
|
|
837
975
|
* The schema of the event.
|
|
976
|
+
* @format uri
|
|
977
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
838
978
|
*/
|
|
839
979
|
schema: string;
|
|
840
980
|
session: ISession;
|
|
@@ -849,6 +989,8 @@ interface IEngagementForm {
|
|
|
849
989
|
interface IEngagementHealthUIElement {
|
|
850
990
|
/**
|
|
851
991
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
992
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
993
|
+
* @example "1.2.3"
|
|
852
994
|
*/
|
|
853
995
|
catalogVersion: string;
|
|
854
996
|
consents: IConsents;
|
|
@@ -856,6 +998,7 @@ interface IEngagementHealthUIElement {
|
|
|
856
998
|
engagement: IEngagement;
|
|
857
999
|
/**
|
|
858
1000
|
* The unique identifier for the event.
|
|
1001
|
+
* @format uuid
|
|
859
1002
|
*/
|
|
860
1003
|
eventId: string;
|
|
861
1004
|
/**
|
|
@@ -870,14 +1013,12 @@ interface IEngagementHealthUIElement {
|
|
|
870
1013
|
object: {
|
|
871
1014
|
/**
|
|
872
1015
|
* The health category this UI element relates to.
|
|
1016
|
+
* @example "breakfast"
|
|
873
1017
|
*/
|
|
874
1018
|
category?: string;
|
|
875
|
-
/**
|
|
876
|
-
* The closest parent container used for traffic attribution.
|
|
877
|
-
*/
|
|
878
|
-
containerName: string;
|
|
879
1019
|
/**
|
|
880
1020
|
* Freeform custom properties with dynamic field names for health-specific UI engagement data.
|
|
1021
|
+
* @additionalProperties true
|
|
881
1022
|
*/
|
|
882
1023
|
custom?: {
|
|
883
1024
|
[k: string]: unknown;
|
|
@@ -888,14 +1029,17 @@ interface IEngagementHealthUIElement {
|
|
|
888
1029
|
elementSize: "XS" | "S" | "M" | "L" | "XL";
|
|
889
1030
|
/**
|
|
890
1031
|
* The text content of the UI element.
|
|
1032
|
+
* @example "Scan Barcode"
|
|
891
1033
|
*/
|
|
892
1034
|
elementText?: string;
|
|
893
1035
|
/**
|
|
894
1036
|
* The user intent or purpose of this event.
|
|
1037
|
+
* @example "log calories"
|
|
895
1038
|
*/
|
|
896
1039
|
intent?: string;
|
|
897
1040
|
/**
|
|
898
1041
|
* The name of the UI element.
|
|
1042
|
+
* @example "Grilled Chicken Recipe"
|
|
899
1043
|
*/
|
|
900
1044
|
name: string;
|
|
901
1045
|
/**
|
|
@@ -920,14 +1064,24 @@ interface IEngagementHealthUIElement {
|
|
|
920
1064
|
info: IPageRef;
|
|
921
1065
|
/**
|
|
922
1066
|
* The pageviewID of the parent page.
|
|
1067
|
+
* @format uuid
|
|
923
1068
|
*/
|
|
924
1069
|
pageviewId: string;
|
|
925
1070
|
referrer?: IPageRef;
|
|
926
1071
|
utm?: IUtmTags;
|
|
927
1072
|
};
|
|
1073
|
+
placement: {
|
|
1074
|
+
/**
|
|
1075
|
+
* The closest parent container used for traffic attribution.
|
|
1076
|
+
* @example "recipes"
|
|
1077
|
+
*/
|
|
1078
|
+
containerName: string;
|
|
1079
|
+
};
|
|
928
1080
|
provider: IProvider;
|
|
929
1081
|
/**
|
|
930
1082
|
* URL to the JSON schema for this event.
|
|
1083
|
+
* @format uri
|
|
1084
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
931
1085
|
*/
|
|
932
1086
|
schema: string;
|
|
933
1087
|
session: ISession;
|
|
@@ -945,6 +1099,8 @@ interface IEngagementHealthUIElement {
|
|
|
945
1099
|
interface IEngagementNotification {
|
|
946
1100
|
/**
|
|
947
1101
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1102
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
1103
|
+
* @example "1.2.3"
|
|
948
1104
|
*/
|
|
949
1105
|
catalogVersion: string;
|
|
950
1106
|
consents: IConsents;
|
|
@@ -952,6 +1108,7 @@ interface IEngagementNotification {
|
|
|
952
1108
|
engagement: IEngagement;
|
|
953
1109
|
/**
|
|
954
1110
|
* Schema ID
|
|
1111
|
+
* @format uuid
|
|
955
1112
|
*/
|
|
956
1113
|
eventId: string;
|
|
957
1114
|
/**
|
|
@@ -1000,6 +1157,8 @@ interface IEngagementNotification {
|
|
|
1000
1157
|
provider: IProvider;
|
|
1001
1158
|
/**
|
|
1002
1159
|
* The schema of the event.
|
|
1160
|
+
* @format uri
|
|
1161
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1003
1162
|
*/
|
|
1004
1163
|
schema: string;
|
|
1005
1164
|
session: ISession;
|
|
@@ -1014,6 +1173,8 @@ interface IEngagementNotification {
|
|
|
1014
1173
|
interface IEngagementOffer {
|
|
1015
1174
|
/**
|
|
1016
1175
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1176
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
1177
|
+
* @example "1.2.3"
|
|
1017
1178
|
*/
|
|
1018
1179
|
catalogVersion: string;
|
|
1019
1180
|
consents: IConsents;
|
|
@@ -1021,6 +1182,7 @@ interface IEngagementOffer {
|
|
|
1021
1182
|
engagement: IEngagement;
|
|
1022
1183
|
/**
|
|
1023
1184
|
* Event ID
|
|
1185
|
+
* @format uuid
|
|
1024
1186
|
*/
|
|
1025
1187
|
eventId: string;
|
|
1026
1188
|
/**
|
|
@@ -1031,12 +1193,9 @@ interface IEngagementOffer {
|
|
|
1031
1193
|
object: {
|
|
1032
1194
|
/**
|
|
1033
1195
|
* The campaign associated with this offer.
|
|
1196
|
+
* @example "summer-sale"
|
|
1034
1197
|
*/
|
|
1035
1198
|
campaign: string;
|
|
1036
|
-
/**
|
|
1037
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1038
|
-
*/
|
|
1039
|
-
containerName?: string;
|
|
1040
1199
|
/**
|
|
1041
1200
|
* The size of the component.
|
|
1042
1201
|
*/
|
|
@@ -1058,10 +1217,6 @@ interface IEngagementOffer {
|
|
|
1058
1217
|
*/
|
|
1059
1218
|
objectType: "Offer";
|
|
1060
1219
|
offerCodes?: string[];
|
|
1061
|
-
/**
|
|
1062
|
-
* The position where this offer was placed.
|
|
1063
|
-
*/
|
|
1064
|
-
offerPlacement: string;
|
|
1065
1220
|
/**
|
|
1066
1221
|
* The variant/layout of the offer.
|
|
1067
1222
|
*/
|
|
@@ -1072,14 +1227,27 @@ interface IEngagementOffer {
|
|
|
1072
1227
|
info: IPageRef;
|
|
1073
1228
|
/**
|
|
1074
1229
|
* The pageviewID.
|
|
1230
|
+
* @format uuid
|
|
1075
1231
|
*/
|
|
1076
1232
|
pageviewId: string;
|
|
1077
1233
|
referrer?: IPageRef;
|
|
1078
1234
|
utm?: IUtmTags;
|
|
1079
1235
|
};
|
|
1236
|
+
placement: {
|
|
1237
|
+
/**
|
|
1238
|
+
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1239
|
+
*/
|
|
1240
|
+
containerName?: string;
|
|
1241
|
+
/**
|
|
1242
|
+
* The position where this offer was placed.
|
|
1243
|
+
*/
|
|
1244
|
+
offerPlacement: string;
|
|
1245
|
+
};
|
|
1080
1246
|
provider: IProvider;
|
|
1081
1247
|
/**
|
|
1082
1248
|
* The schema of the event.
|
|
1249
|
+
* @format uri
|
|
1250
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1083
1251
|
*/
|
|
1084
1252
|
schema: string;
|
|
1085
1253
|
session: ISession;
|
|
@@ -1093,6 +1261,10 @@ interface IEngagementOffer {
|
|
|
1093
1261
|
}
|
|
1094
1262
|
interface IPlacement {
|
|
1095
1263
|
columnName: "main" | "aside";
|
|
1264
|
+
/**
|
|
1265
|
+
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1266
|
+
*/
|
|
1267
|
+
containerName: string;
|
|
1096
1268
|
/**
|
|
1097
1269
|
* The context in which the recommendation was made.
|
|
1098
1270
|
*/
|
|
@@ -1101,13 +1273,23 @@ interface IPlacement {
|
|
|
1101
1273
|
* The source of the impression/engagement.
|
|
1102
1274
|
*/
|
|
1103
1275
|
curateSource?: string;
|
|
1276
|
+
/**
|
|
1277
|
+
* Indicator if the player was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
1278
|
+
*/
|
|
1279
|
+
foldPosition: "Above" | "Below" | "Unknown";
|
|
1104
1280
|
positionInBundle: number;
|
|
1281
|
+
/**
|
|
1282
|
+
* The parent’s primary direction along which components are laid out.
|
|
1283
|
+
*/
|
|
1284
|
+
primaryAxis: "Horizontal" | "Vertical";
|
|
1105
1285
|
/**
|
|
1106
1286
|
* The position of this component along the primary axis.
|
|
1287
|
+
* @minimum 1
|
|
1107
1288
|
*/
|
|
1108
1289
|
primaryPosition: number;
|
|
1109
1290
|
/**
|
|
1110
1291
|
* The position of this component along the secondary axis.
|
|
1292
|
+
* @minimum 1
|
|
1111
1293
|
*/
|
|
1112
1294
|
secondaryPosition: number;
|
|
1113
1295
|
source?: string;
|
|
@@ -1115,6 +1297,8 @@ interface IPlacement {
|
|
|
1115
1297
|
interface IEngagementTeaser {
|
|
1116
1298
|
/**
|
|
1117
1299
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1300
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
1301
|
+
* @example "1.2.3"
|
|
1118
1302
|
*/
|
|
1119
1303
|
catalogVersion: string;
|
|
1120
1304
|
consents: IConsents;
|
|
@@ -1122,6 +1306,7 @@ interface IEngagementTeaser {
|
|
|
1122
1306
|
engagement: IEngagement;
|
|
1123
1307
|
/**
|
|
1124
1308
|
* Event ID
|
|
1309
|
+
* @format uuid
|
|
1125
1310
|
*/
|
|
1126
1311
|
eventId: string;
|
|
1127
1312
|
/**
|
|
@@ -1131,10 +1316,6 @@ interface IEngagementTeaser {
|
|
|
1131
1316
|
experiments?: IExperiments;
|
|
1132
1317
|
metrics?: IMetrics;
|
|
1133
1318
|
object: {
|
|
1134
|
-
/**
|
|
1135
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1136
|
-
*/
|
|
1137
|
-
containerName: string;
|
|
1138
1319
|
/**
|
|
1139
1320
|
* The engine producing this teaser. Use “editorial” for manually curated item.
|
|
1140
1321
|
*/
|
|
@@ -1163,10 +1344,6 @@ interface IEngagementTeaser {
|
|
|
1163
1344
|
* The type of the component.
|
|
1164
1345
|
*/
|
|
1165
1346
|
objectType: "Teaser";
|
|
1166
|
-
/**
|
|
1167
|
-
* The parent’s primary direction along which components are laid out.
|
|
1168
|
-
*/
|
|
1169
|
-
primaryAxis: "Horizontal" | "Vertical";
|
|
1170
1347
|
/**
|
|
1171
1348
|
* The title of the teaser.
|
|
1172
1349
|
*/
|
|
@@ -1177,6 +1354,7 @@ interface IEngagementTeaser {
|
|
|
1177
1354
|
info: IPageRef;
|
|
1178
1355
|
/**
|
|
1179
1356
|
* The pageviewID.
|
|
1357
|
+
* @format uuid
|
|
1180
1358
|
*/
|
|
1181
1359
|
pageviewId: string;
|
|
1182
1360
|
referrer?: IPageRef;
|
|
@@ -1186,6 +1364,8 @@ interface IEngagementTeaser {
|
|
|
1186
1364
|
provider: IProvider;
|
|
1187
1365
|
/**
|
|
1188
1366
|
* The schema of the event.
|
|
1367
|
+
* @format uri
|
|
1368
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1189
1369
|
*/
|
|
1190
1370
|
schema: string;
|
|
1191
1371
|
session: ISession;
|
|
@@ -1200,6 +1380,8 @@ interface IEngagementTeaser {
|
|
|
1200
1380
|
interface IEngagementUIElement {
|
|
1201
1381
|
/**
|
|
1202
1382
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1383
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
1384
|
+
* @example "1.2.3"
|
|
1203
1385
|
*/
|
|
1204
1386
|
catalogVersion: string;
|
|
1205
1387
|
consents: IConsents;
|
|
@@ -1207,6 +1389,7 @@ interface IEngagementUIElement {
|
|
|
1207
1389
|
engagement: IEngagement;
|
|
1208
1390
|
/**
|
|
1209
1391
|
* Event ID
|
|
1392
|
+
* @format uuid
|
|
1210
1393
|
*/
|
|
1211
1394
|
eventId: string;
|
|
1212
1395
|
/**
|
|
@@ -1215,10 +1398,6 @@ interface IEngagementUIElement {
|
|
|
1215
1398
|
eventType: "Engagement";
|
|
1216
1399
|
experiments?: IExperiments;
|
|
1217
1400
|
object: {
|
|
1218
|
-
/**
|
|
1219
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1220
|
-
*/
|
|
1221
|
-
containerName: string;
|
|
1222
1401
|
/**
|
|
1223
1402
|
* The size of the component.
|
|
1224
1403
|
*/
|
|
@@ -1253,14 +1432,23 @@ interface IEngagementUIElement {
|
|
|
1253
1432
|
info: IPageRef;
|
|
1254
1433
|
/**
|
|
1255
1434
|
* The pageviewID.
|
|
1435
|
+
* @format uuid
|
|
1256
1436
|
*/
|
|
1257
1437
|
pageviewId: string;
|
|
1258
1438
|
referrer?: IPageRef;
|
|
1259
1439
|
utm?: IUtmTags;
|
|
1260
1440
|
};
|
|
1441
|
+
placement: {
|
|
1442
|
+
/**
|
|
1443
|
+
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1444
|
+
*/
|
|
1445
|
+
containerName: string;
|
|
1446
|
+
};
|
|
1261
1447
|
provider: IProvider;
|
|
1262
1448
|
/**
|
|
1263
1449
|
* The schema of the event.
|
|
1450
|
+
* @format uri
|
|
1451
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1264
1452
|
*/
|
|
1265
1453
|
schema: string;
|
|
1266
1454
|
session: ISession;
|
|
@@ -1275,6 +1463,8 @@ interface IEngagementUIElement {
|
|
|
1275
1463
|
interface IEngagementVideo {
|
|
1276
1464
|
/**
|
|
1277
1465
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1466
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
1467
|
+
* @example "1.2.3"
|
|
1278
1468
|
*/
|
|
1279
1469
|
catalogVersion: string;
|
|
1280
1470
|
consents: IConsents;
|
|
@@ -1298,6 +1488,7 @@ interface IEngagementVideo {
|
|
|
1298
1488
|
};
|
|
1299
1489
|
/**
|
|
1300
1490
|
* The unique identifier for the event.
|
|
1491
|
+
* @format uuid
|
|
1301
1492
|
*/
|
|
1302
1493
|
eventId: string;
|
|
1303
1494
|
/**
|
|
@@ -1327,6 +1518,7 @@ interface IEngagementVideo {
|
|
|
1327
1518
|
playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
|
|
1328
1519
|
/**
|
|
1329
1520
|
* The current playback speed.
|
|
1521
|
+
* @exclusiveMinimum 0
|
|
1330
1522
|
*/
|
|
1331
1523
|
playbackSpeed?: number;
|
|
1332
1524
|
/**
|
|
@@ -1350,9 +1542,9 @@ interface IEngagementVideo {
|
|
|
1350
1542
|
*/
|
|
1351
1543
|
seekToMs?: number;
|
|
1352
1544
|
/**
|
|
1353
|
-
* How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc
|
|
1545
|
+
* How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc
|
|
1354
1546
|
*/
|
|
1355
|
-
|
|
1547
|
+
viewtimeMs: number;
|
|
1356
1548
|
};
|
|
1357
1549
|
metrics?: IMetrics;
|
|
1358
1550
|
object: {
|
|
@@ -1364,10 +1556,6 @@ interface IEngagementVideo {
|
|
|
1364
1556
|
* The editorial category of this video
|
|
1365
1557
|
*/
|
|
1366
1558
|
category: string;
|
|
1367
|
-
/**
|
|
1368
|
-
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
1369
|
-
*/
|
|
1370
|
-
containerName: string;
|
|
1371
1559
|
/**
|
|
1372
1560
|
* The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
|
|
1373
1561
|
*/
|
|
@@ -1376,10 +1564,6 @@ interface IEngagementVideo {
|
|
|
1376
1564
|
* The size of the player.
|
|
1377
1565
|
*/
|
|
1378
1566
|
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
1567
|
/**
|
|
1384
1568
|
* Which episode
|
|
1385
1569
|
*/
|
|
@@ -1438,6 +1622,7 @@ interface IEngagementVideo {
|
|
|
1438
1622
|
playlistId?: string;
|
|
1439
1623
|
/**
|
|
1440
1624
|
* The position of the video in the playlist.
|
|
1625
|
+
* @minimum 0
|
|
1441
1626
|
*/
|
|
1442
1627
|
queuePosition?: number;
|
|
1443
1628
|
/**
|
|
@@ -1463,14 +1648,23 @@ interface IEngagementVideo {
|
|
|
1463
1648
|
info: IPageRef;
|
|
1464
1649
|
/**
|
|
1465
1650
|
* The pageviewID.
|
|
1651
|
+
* @format uuid
|
|
1466
1652
|
*/
|
|
1467
1653
|
pageviewId: string;
|
|
1468
1654
|
referrer?: IPageRef;
|
|
1469
1655
|
utm?: IUtmTags;
|
|
1470
1656
|
};
|
|
1657
|
+
placement: {
|
|
1658
|
+
/**
|
|
1659
|
+
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
1660
|
+
*/
|
|
1661
|
+
containerName: string;
|
|
1662
|
+
};
|
|
1471
1663
|
provider: IProvider;
|
|
1472
1664
|
/**
|
|
1473
1665
|
* URL to the JSON schema for this event.
|
|
1666
|
+
* @format uri
|
|
1667
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1474
1668
|
*/
|
|
1475
1669
|
schema: string;
|
|
1476
1670
|
session: ISession;
|
|
@@ -1484,6 +1678,8 @@ interface IEngagementVideo {
|
|
|
1484
1678
|
interface IEngagementVideoAd {
|
|
1485
1679
|
/**
|
|
1486
1680
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1681
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
1682
|
+
* @example "1.2.3"
|
|
1487
1683
|
*/
|
|
1488
1684
|
catalogVersion: string;
|
|
1489
1685
|
consents: IConsents;
|
|
@@ -1507,6 +1703,7 @@ interface IEngagementVideoAd {
|
|
|
1507
1703
|
};
|
|
1508
1704
|
/**
|
|
1509
1705
|
* The unique identifier for the event.
|
|
1706
|
+
* @format uuid
|
|
1510
1707
|
*/
|
|
1511
1708
|
eventId: string;
|
|
1512
1709
|
/**
|
|
@@ -1557,10 +1754,6 @@ interface IEngagementVideoAd {
|
|
|
1557
1754
|
* Indicates where the ad appears in the playback sequence (e.g. preroll, midroll, postroll, overlay). Describes the ad position relative to the video, not the ad’s creative type.
|
|
1558
1755
|
*/
|
|
1559
1756
|
adSlot: "Preroll" | "Midroll" | "Postroll" | "Overlay";
|
|
1560
|
-
/**
|
|
1561
|
-
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
1562
|
-
*/
|
|
1563
|
-
containerName: string;
|
|
1564
1757
|
/**
|
|
1565
1758
|
* The identifier of the asset the ad belongs to.
|
|
1566
1759
|
*/
|
|
@@ -1591,14 +1784,23 @@ interface IEngagementVideoAd {
|
|
|
1591
1784
|
info: IPageRef;
|
|
1592
1785
|
/**
|
|
1593
1786
|
* The pageviewID.
|
|
1787
|
+
* @format uuid
|
|
1594
1788
|
*/
|
|
1595
1789
|
pageviewId: string;
|
|
1596
1790
|
referrer?: IPageRef;
|
|
1597
1791
|
utm?: IUtmTags;
|
|
1598
1792
|
};
|
|
1793
|
+
placement: {
|
|
1794
|
+
/**
|
|
1795
|
+
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
|
|
1796
|
+
*/
|
|
1797
|
+
containerName: string;
|
|
1798
|
+
};
|
|
1599
1799
|
provider: IProvider;
|
|
1600
1800
|
/**
|
|
1601
1801
|
* URL to the JSON schema for this event.
|
|
1802
|
+
* @format uri
|
|
1803
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1602
1804
|
*/
|
|
1603
1805
|
schema: string;
|
|
1604
1806
|
session: ISession;
|
|
@@ -1612,6 +1814,8 @@ interface IEngagementVideoAd {
|
|
|
1612
1814
|
interface IEngagementWidget {
|
|
1613
1815
|
/**
|
|
1614
1816
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1817
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
1818
|
+
* @example "1.2.3"
|
|
1615
1819
|
*/
|
|
1616
1820
|
catalogVersion: string;
|
|
1617
1821
|
consents: IConsents;
|
|
@@ -1619,6 +1823,7 @@ interface IEngagementWidget {
|
|
|
1619
1823
|
engagement: IEngagement;
|
|
1620
1824
|
/**
|
|
1621
1825
|
* Event ID
|
|
1826
|
+
* @format uuid
|
|
1622
1827
|
*/
|
|
1623
1828
|
eventId: string;
|
|
1624
1829
|
/**
|
|
@@ -1626,11 +1831,8 @@ interface IEngagementWidget {
|
|
|
1626
1831
|
*/
|
|
1627
1832
|
eventType: "Engagement";
|
|
1628
1833
|
experiments?: IExperiments;
|
|
1834
|
+
metrics?: IMetrics;
|
|
1629
1835
|
object: {
|
|
1630
|
-
/**
|
|
1631
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1632
|
-
*/
|
|
1633
|
-
containerName?: string;
|
|
1634
1836
|
/**
|
|
1635
1837
|
* The size of the component.
|
|
1636
1838
|
*/
|
|
@@ -1651,16 +1853,13 @@ interface IEngagementWidget {
|
|
|
1651
1853
|
* The type of the component.
|
|
1652
1854
|
*/
|
|
1653
1855
|
objectType: "Widget";
|
|
1654
|
-
/**
|
|
1655
|
-
* The parent’s primary direction along which components are laid out.
|
|
1656
|
-
*/
|
|
1657
|
-
primaryAxis?: "Horizontal" | "Vertical";
|
|
1658
1856
|
};
|
|
1659
1857
|
page: {
|
|
1660
1858
|
content?: IContent;
|
|
1661
1859
|
info: IPageRef;
|
|
1662
1860
|
/**
|
|
1663
1861
|
* The pageviewID.
|
|
1862
|
+
* @format uuid
|
|
1664
1863
|
*/
|
|
1665
1864
|
pageviewId: string;
|
|
1666
1865
|
referrer?: IPageRef;
|
|
@@ -1670,6 +1869,8 @@ interface IEngagementWidget {
|
|
|
1670
1869
|
provider: IProvider;
|
|
1671
1870
|
/**
|
|
1672
1871
|
* The schema of the event.
|
|
1872
|
+
* @format uri
|
|
1873
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1673
1874
|
*/
|
|
1674
1875
|
schema: string;
|
|
1675
1876
|
session: ISession;
|
|
@@ -1681,15 +1882,18 @@ interface IEngagementWidget {
|
|
|
1681
1882
|
tracker: ITracker;
|
|
1682
1883
|
user?: IUser;
|
|
1683
1884
|
}
|
|
1684
|
-
interface
|
|
1885
|
+
interface IImpressionAdSlot {
|
|
1685
1886
|
/**
|
|
1686
1887
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1888
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
1889
|
+
* @example "1.2.3"
|
|
1687
1890
|
*/
|
|
1688
1891
|
catalogVersion: string;
|
|
1689
1892
|
consents: IConsents;
|
|
1690
1893
|
device: IDevice;
|
|
1691
1894
|
/**
|
|
1692
1895
|
* The unique identifier for the event.
|
|
1896
|
+
* @format uuid
|
|
1693
1897
|
*/
|
|
1694
1898
|
eventId: string;
|
|
1695
1899
|
/**
|
|
@@ -1697,11 +1901,77 @@ interface IImpressionForm {
|
|
|
1697
1901
|
*/
|
|
1698
1902
|
eventType: "Impression";
|
|
1699
1903
|
experiments?: IExperiments;
|
|
1904
|
+
metrics?: IMetrics;
|
|
1700
1905
|
object: {
|
|
1701
1906
|
/**
|
|
1702
|
-
*
|
|
1907
|
+
* Ad product name used by SMS.
|
|
1703
1908
|
*/
|
|
1704
|
-
|
|
1909
|
+
adFormat: string;
|
|
1910
|
+
/**
|
|
1911
|
+
* The size of the component.
|
|
1912
|
+
*/
|
|
1913
|
+
elementSize: "XS" | "S" | "M" | "L" | "XL";
|
|
1914
|
+
/**
|
|
1915
|
+
* The name of the component.
|
|
1916
|
+
*/
|
|
1917
|
+
name: string;
|
|
1918
|
+
/**
|
|
1919
|
+
* The unique ID for this component.
|
|
1920
|
+
*/
|
|
1921
|
+
objectId: string;
|
|
1922
|
+
/**
|
|
1923
|
+
* The unique SDRN for this component.
|
|
1924
|
+
*/
|
|
1925
|
+
objectSdrn: string;
|
|
1926
|
+
/**
|
|
1927
|
+
* The type of the object.
|
|
1928
|
+
*/
|
|
1929
|
+
objectType: "AdSlot";
|
|
1930
|
+
};
|
|
1931
|
+
page: {
|
|
1932
|
+
content?: IContent;
|
|
1933
|
+
info: IPageRef;
|
|
1934
|
+
/**
|
|
1935
|
+
* The pageviewID.
|
|
1936
|
+
* @format uuid
|
|
1937
|
+
*/
|
|
1938
|
+
pageviewId: string;
|
|
1939
|
+
referrer?: IPageRef;
|
|
1940
|
+
utm?: IUtmTags;
|
|
1941
|
+
};
|
|
1942
|
+
placement: IPlacement;
|
|
1943
|
+
provider: IProvider;
|
|
1944
|
+
/**
|
|
1945
|
+
* URL to the JSON schema for this event.
|
|
1946
|
+
* @format uri
|
|
1947
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1948
|
+
*/
|
|
1949
|
+
schema: string;
|
|
1950
|
+
session: ISession;
|
|
1951
|
+
time: ITime;
|
|
1952
|
+
tracker: ITracker;
|
|
1953
|
+
user?: IUser;
|
|
1954
|
+
}
|
|
1955
|
+
interface IImpressionForm {
|
|
1956
|
+
/**
|
|
1957
|
+
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
1958
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
1959
|
+
* @example "1.2.3"
|
|
1960
|
+
*/
|
|
1961
|
+
catalogVersion: string;
|
|
1962
|
+
consents: IConsents;
|
|
1963
|
+
device: IDevice;
|
|
1964
|
+
/**
|
|
1965
|
+
* The unique identifier for the event.
|
|
1966
|
+
* @format uuid
|
|
1967
|
+
*/
|
|
1968
|
+
eventId: string;
|
|
1969
|
+
/**
|
|
1970
|
+
* The type of the event.
|
|
1971
|
+
*/
|
|
1972
|
+
eventType: "Impression";
|
|
1973
|
+
experiments?: IExperiments;
|
|
1974
|
+
object: {
|
|
1705
1975
|
/**
|
|
1706
1976
|
* The size of the component.
|
|
1707
1977
|
*/
|
|
@@ -1724,10 +1994,6 @@ interface IImpressionForm {
|
|
|
1724
1994
|
*/
|
|
1725
1995
|
required: boolean;
|
|
1726
1996
|
}[];
|
|
1727
|
-
/**
|
|
1728
|
-
* Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
1729
|
-
*/
|
|
1730
|
-
foldPosition: "Above" | "Below" | "Unknown";
|
|
1731
1997
|
/**
|
|
1732
1998
|
* The name of the component.
|
|
1733
1999
|
*/
|
|
@@ -1750,14 +2016,27 @@ interface IImpressionForm {
|
|
|
1750
2016
|
info: IPageRef;
|
|
1751
2017
|
/**
|
|
1752
2018
|
* The pageviewID.
|
|
2019
|
+
* @format uuid
|
|
1753
2020
|
*/
|
|
1754
2021
|
pageviewId: string;
|
|
1755
2022
|
referrer?: IPageRef;
|
|
1756
2023
|
utm?: IUtmTags;
|
|
1757
2024
|
};
|
|
2025
|
+
placement: {
|
|
2026
|
+
/**
|
|
2027
|
+
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
2028
|
+
*/
|
|
2029
|
+
containerName: string;
|
|
2030
|
+
/**
|
|
2031
|
+
* Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
2032
|
+
*/
|
|
2033
|
+
foldPosition: "Above" | "Below" | "Unknown";
|
|
2034
|
+
};
|
|
1758
2035
|
provider: IProvider;
|
|
1759
2036
|
/**
|
|
1760
2037
|
* URL to the JSON schema for this event.
|
|
2038
|
+
* @format uri
|
|
2039
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1761
2040
|
*/
|
|
1762
2041
|
schema: string;
|
|
1763
2042
|
session: ISession;
|
|
@@ -1772,12 +2051,15 @@ interface IImpressionForm {
|
|
|
1772
2051
|
interface IImpressionHealthUIElement {
|
|
1773
2052
|
/**
|
|
1774
2053
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2054
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2055
|
+
* @example "1.2.3"
|
|
1775
2056
|
*/
|
|
1776
2057
|
catalogVersion: string;
|
|
1777
2058
|
consents: IConsents;
|
|
1778
2059
|
device: IDevice;
|
|
1779
2060
|
/**
|
|
1780
2061
|
* The unique identifier for the event.
|
|
2062
|
+
* @format uuid
|
|
1781
2063
|
*/
|
|
1782
2064
|
eventId: string;
|
|
1783
2065
|
/**
|
|
@@ -1792,18 +2074,17 @@ interface IImpressionHealthUIElement {
|
|
|
1792
2074
|
object: {
|
|
1793
2075
|
/**
|
|
1794
2076
|
* The health category this content relates to.
|
|
2077
|
+
* @example "breakfast"
|
|
1795
2078
|
*/
|
|
1796
2079
|
category?: string;
|
|
1797
|
-
/**
|
|
1798
|
-
* The parent container or page section where this content appears.
|
|
1799
|
-
*/
|
|
1800
|
-
containerName?: string;
|
|
1801
2080
|
/**
|
|
1802
2081
|
* The specific type of health content being viewed.
|
|
2082
|
+
* @example "modal"
|
|
1803
2083
|
*/
|
|
1804
2084
|
contentType: string;
|
|
1805
2085
|
/**
|
|
1806
2086
|
* Freeform custom properties with dynamic field names for health-specific data.
|
|
2087
|
+
* @additionalProperties true
|
|
1807
2088
|
*/
|
|
1808
2089
|
custom?: {
|
|
1809
2090
|
[k: string]: unknown;
|
|
@@ -1812,16 +2093,14 @@ interface IImpressionHealthUIElement {
|
|
|
1812
2093
|
* The size of the content element.
|
|
1813
2094
|
*/
|
|
1814
2095
|
elementSize?: "XS" | "S" | "M" | "L" | "XL";
|
|
1815
|
-
/**
|
|
1816
|
-
* Position relative to the fold or if it's an overlay element.
|
|
1817
|
-
*/
|
|
1818
|
-
foldPosition?: "Above" | "Below" | "Overlay" | "Unknown";
|
|
1819
2096
|
/**
|
|
1820
2097
|
* The user intent or purpose of this event.
|
|
2098
|
+
* @example "log calories"
|
|
1821
2099
|
*/
|
|
1822
2100
|
intent?: string;
|
|
1823
2101
|
/**
|
|
1824
2102
|
* The name/title of the health content element.
|
|
2103
|
+
* @example "Question quiz"
|
|
1825
2104
|
*/
|
|
1826
2105
|
name: string;
|
|
1827
2106
|
/**
|
|
@@ -1849,14 +2128,28 @@ interface IImpressionHealthUIElement {
|
|
|
1849
2128
|
info: IPageRef;
|
|
1850
2129
|
/**
|
|
1851
2130
|
* The pageviewID of the parent page.
|
|
2131
|
+
* @format uuid
|
|
1852
2132
|
*/
|
|
1853
2133
|
pageviewId: string;
|
|
1854
2134
|
referrer?: IPageRef;
|
|
1855
2135
|
utm?: IUtmTags;
|
|
1856
2136
|
};
|
|
2137
|
+
placement?: {
|
|
2138
|
+
/**
|
|
2139
|
+
* The parent container or page section where this content appears.
|
|
2140
|
+
* @example "Logbook"
|
|
2141
|
+
*/
|
|
2142
|
+
containerName?: string;
|
|
2143
|
+
/**
|
|
2144
|
+
* Position relative to the fold or if it's an overlay element.
|
|
2145
|
+
*/
|
|
2146
|
+
foldPosition?: "Above" | "Below" | "Overlay" | "Unknown";
|
|
2147
|
+
};
|
|
1857
2148
|
provider: IProvider;
|
|
1858
2149
|
/**
|
|
1859
2150
|
* URL to the JSON schema for this event.
|
|
2151
|
+
* @format uri
|
|
2152
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1860
2153
|
*/
|
|
1861
2154
|
schema: string;
|
|
1862
2155
|
session: ISession;
|
|
@@ -1874,12 +2167,15 @@ interface IImpressionHealthUIElement {
|
|
|
1874
2167
|
interface IImpressionNotification {
|
|
1875
2168
|
/**
|
|
1876
2169
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2170
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2171
|
+
* @example "1.2.3"
|
|
1877
2172
|
*/
|
|
1878
2173
|
catalogVersion: string;
|
|
1879
2174
|
consents: IConsents;
|
|
1880
2175
|
device: IDevice;
|
|
1881
2176
|
/**
|
|
1882
2177
|
* The unique identifier for the event.
|
|
2178
|
+
* @format uuid
|
|
1883
2179
|
*/
|
|
1884
2180
|
eventId: string;
|
|
1885
2181
|
/**
|
|
@@ -1926,6 +2222,8 @@ interface IImpressionNotification {
|
|
|
1926
2222
|
provider: IProvider;
|
|
1927
2223
|
/**
|
|
1928
2224
|
* URL to the JSON schema for this event.
|
|
2225
|
+
* @format uri
|
|
2226
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
1929
2227
|
*/
|
|
1930
2228
|
schema: string;
|
|
1931
2229
|
session: ISession;
|
|
@@ -1940,12 +2238,15 @@ interface IImpressionNotification {
|
|
|
1940
2238
|
interface IImpressionOffer {
|
|
1941
2239
|
/**
|
|
1942
2240
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2241
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2242
|
+
* @example "1.2.3"
|
|
1943
2243
|
*/
|
|
1944
2244
|
catalogVersion: string;
|
|
1945
2245
|
consents: IConsents;
|
|
1946
2246
|
device: IDevice;
|
|
1947
2247
|
/**
|
|
1948
2248
|
* The unique identifier for the event.
|
|
2249
|
+
* @format uuid
|
|
1949
2250
|
*/
|
|
1950
2251
|
eventId: string;
|
|
1951
2252
|
/**
|
|
@@ -1956,20 +2257,13 @@ interface IImpressionOffer {
|
|
|
1956
2257
|
object: {
|
|
1957
2258
|
/**
|
|
1958
2259
|
* The campaign associated with this offer.
|
|
2260
|
+
* @example "summer-sale"
|
|
1959
2261
|
*/
|
|
1960
2262
|
campaign: string;
|
|
1961
|
-
/**
|
|
1962
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
1963
|
-
*/
|
|
1964
|
-
containerName: string;
|
|
1965
2263
|
/**
|
|
1966
2264
|
* The size of the component.
|
|
1967
2265
|
*/
|
|
1968
2266
|
elementSize?: "XS" | "S" | "M" | "L" | "XL";
|
|
1969
|
-
/**
|
|
1970
|
-
* Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
1971
|
-
*/
|
|
1972
|
-
foldPosition: "Above" | "Below" | "Unknown";
|
|
1973
2267
|
/**
|
|
1974
2268
|
* The name of the component.
|
|
1975
2269
|
*/
|
|
@@ -1987,10 +2281,6 @@ interface IImpressionOffer {
|
|
|
1987
2281
|
*/
|
|
1988
2282
|
objectType: "Offer";
|
|
1989
2283
|
offerCodes: string[];
|
|
1990
|
-
/**
|
|
1991
|
-
* The position where this offer was placed.
|
|
1992
|
-
*/
|
|
1993
|
-
offerPlacement: string;
|
|
1994
2284
|
/**
|
|
1995
2285
|
* The variant/layout of the offer.
|
|
1996
2286
|
*/
|
|
@@ -2001,14 +2291,31 @@ interface IImpressionOffer {
|
|
|
2001
2291
|
info: IPageRef;
|
|
2002
2292
|
/**
|
|
2003
2293
|
* The pageviewID.
|
|
2294
|
+
* @format uuid
|
|
2004
2295
|
*/
|
|
2005
2296
|
pageviewId: string;
|
|
2006
2297
|
referrer?: IPageRef;
|
|
2007
2298
|
utm?: IUtmTags;
|
|
2008
2299
|
};
|
|
2300
|
+
placement: {
|
|
2301
|
+
/**
|
|
2302
|
+
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
2303
|
+
*/
|
|
2304
|
+
containerName: string;
|
|
2305
|
+
/**
|
|
2306
|
+
* Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
2307
|
+
*/
|
|
2308
|
+
foldPosition: "Above" | "Below" | "Unknown";
|
|
2309
|
+
/**
|
|
2310
|
+
* The position where this offer was placed.
|
|
2311
|
+
*/
|
|
2312
|
+
offerPlacement: string;
|
|
2313
|
+
};
|
|
2009
2314
|
provider: IProvider;
|
|
2010
2315
|
/**
|
|
2011
2316
|
* URL to the JSON schema for this event.
|
|
2317
|
+
* @format uri
|
|
2318
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2012
2319
|
*/
|
|
2013
2320
|
schema: string;
|
|
2014
2321
|
session: ISession;
|
|
@@ -2023,12 +2330,15 @@ interface IImpressionOffer {
|
|
|
2023
2330
|
interface IImpressionPlayer {
|
|
2024
2331
|
/**
|
|
2025
2332
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2333
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2334
|
+
* @example "1.2.3"
|
|
2026
2335
|
*/
|
|
2027
2336
|
catalogVersion: string;
|
|
2028
2337
|
consents: IConsents;
|
|
2029
2338
|
device: IDevice;
|
|
2030
2339
|
/**
|
|
2031
2340
|
* The unique identifier for the event.
|
|
2341
|
+
* @format uuid
|
|
2032
2342
|
*/
|
|
2033
2343
|
eventId: string;
|
|
2034
2344
|
/**
|
|
@@ -2038,18 +2348,10 @@ interface IImpressionPlayer {
|
|
|
2038
2348
|
experiments?: IExperiments;
|
|
2039
2349
|
metrics?: IMetrics;
|
|
2040
2350
|
object: {
|
|
2041
|
-
/**
|
|
2042
|
-
* ContainerName is the name of the UI container/module in which the player renders (not the player type or content type)
|
|
2043
|
-
*/
|
|
2044
|
-
containerName: string;
|
|
2045
2351
|
/**
|
|
2046
2352
|
* The size of the player.
|
|
2047
2353
|
*/
|
|
2048
2354
|
elementSize?: "XS" | "S" | "M" | "L" | "XL";
|
|
2049
|
-
/**
|
|
2050
|
-
* Indicator if the player was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
2051
|
-
*/
|
|
2052
|
-
foldPosition: "Above" | "Below" | "Unknown";
|
|
2053
2355
|
/**
|
|
2054
2356
|
* The unique ID of the embedded asset (not ads from Xandr) ready to play in the player.
|
|
2055
2357
|
*/
|
|
@@ -2084,6 +2386,7 @@ interface IImpressionPlayer {
|
|
|
2084
2386
|
info: IPageRef;
|
|
2085
2387
|
/**
|
|
2086
2388
|
* The pageviewID.
|
|
2389
|
+
* @format uuid
|
|
2087
2390
|
*/
|
|
2088
2391
|
pageviewId: string;
|
|
2089
2392
|
referrer?: IPageRef;
|
|
@@ -2093,6 +2396,8 @@ interface IImpressionPlayer {
|
|
|
2093
2396
|
provider: IProvider;
|
|
2094
2397
|
/**
|
|
2095
2398
|
* URL to the JSON schema for this event.
|
|
2399
|
+
* @format uri
|
|
2400
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2096
2401
|
*/
|
|
2097
2402
|
schema: string;
|
|
2098
2403
|
session: ISession;
|
|
@@ -2103,12 +2408,15 @@ interface IImpressionPlayer {
|
|
|
2103
2408
|
interface IImpressionTeaser {
|
|
2104
2409
|
/**
|
|
2105
2410
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2411
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2412
|
+
* @example "1.2.3"
|
|
2106
2413
|
*/
|
|
2107
2414
|
catalogVersion: string;
|
|
2108
2415
|
consents: IConsents;
|
|
2109
2416
|
device: IDevice;
|
|
2110
2417
|
/**
|
|
2111
2418
|
* The unique identifier for the event.
|
|
2419
|
+
* @format uuid
|
|
2112
2420
|
*/
|
|
2113
2421
|
eventId: string;
|
|
2114
2422
|
/**
|
|
@@ -2118,10 +2426,6 @@ interface IImpressionTeaser {
|
|
|
2118
2426
|
experiments?: IExperiments;
|
|
2119
2427
|
metrics?: IMetrics;
|
|
2120
2428
|
object: {
|
|
2121
|
-
/**
|
|
2122
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
2123
|
-
*/
|
|
2124
|
-
containerName: string;
|
|
2125
2429
|
/**
|
|
2126
2430
|
* The engine producing this teaser. Use “editorial” for manually curated item.
|
|
2127
2431
|
*/
|
|
@@ -2134,10 +2438,6 @@ interface IImpressionTeaser {
|
|
|
2134
2438
|
* The size of the component.
|
|
2135
2439
|
*/
|
|
2136
2440
|
elementSize?: "XS" | "S" | "M" | "L" | "XL";
|
|
2137
|
-
/**
|
|
2138
|
-
* Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
2139
|
-
*/
|
|
2140
|
-
foldPosition: "Above" | "Below" | "Unknown";
|
|
2141
2441
|
/**
|
|
2142
2442
|
* The name of the component.
|
|
2143
2443
|
*/
|
|
@@ -2154,10 +2454,6 @@ interface IImpressionTeaser {
|
|
|
2154
2454
|
* The type of the object.
|
|
2155
2455
|
*/
|
|
2156
2456
|
objectType: "Teaser";
|
|
2157
|
-
/**
|
|
2158
|
-
* The parent’s primary direction along which components are laid out.
|
|
2159
|
-
*/
|
|
2160
|
-
primaryAxis: "Horizontal" | "Vertical";
|
|
2161
2457
|
/**
|
|
2162
2458
|
* The title of the teaser.
|
|
2163
2459
|
*/
|
|
@@ -2168,6 +2464,7 @@ interface IImpressionTeaser {
|
|
|
2168
2464
|
info: IPageRef;
|
|
2169
2465
|
/**
|
|
2170
2466
|
* The pageviewID.
|
|
2467
|
+
* @format uuid
|
|
2171
2468
|
*/
|
|
2172
2469
|
pageviewId: string;
|
|
2173
2470
|
referrer?: IPageRef;
|
|
@@ -2177,6 +2474,8 @@ interface IImpressionTeaser {
|
|
|
2177
2474
|
provider: IProvider;
|
|
2178
2475
|
/**
|
|
2179
2476
|
* URL to the JSON schema for this event.
|
|
2477
|
+
* @format uri
|
|
2478
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2180
2479
|
*/
|
|
2181
2480
|
schema: string;
|
|
2182
2481
|
session: ISession;
|
|
@@ -2191,12 +2490,15 @@ interface IImpressionTeaser {
|
|
|
2191
2490
|
interface IImpressionUIElement {
|
|
2192
2491
|
/**
|
|
2193
2492
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2493
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2494
|
+
* @example "1.2.3"
|
|
2194
2495
|
*/
|
|
2195
2496
|
catalogVersion: string;
|
|
2196
2497
|
consents: IConsents;
|
|
2197
2498
|
device: IDevice;
|
|
2198
2499
|
/**
|
|
2199
2500
|
* The unique identifier for the event.
|
|
2501
|
+
* @format uuid
|
|
2200
2502
|
*/
|
|
2201
2503
|
eventId: string;
|
|
2202
2504
|
/**
|
|
@@ -2205,10 +2507,6 @@ interface IImpressionUIElement {
|
|
|
2205
2507
|
eventType: "Impression";
|
|
2206
2508
|
experiments?: IExperiments;
|
|
2207
2509
|
object: {
|
|
2208
|
-
/**
|
|
2209
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
2210
|
-
*/
|
|
2211
|
-
containerName: string;
|
|
2212
2510
|
/**
|
|
2213
2511
|
* The size of the component.
|
|
2214
2512
|
*/
|
|
@@ -2221,10 +2519,6 @@ interface IImpressionUIElement {
|
|
|
2221
2519
|
* The type of UIElement (div, span, a, …).
|
|
2222
2520
|
*/
|
|
2223
2521
|
elementType: string;
|
|
2224
|
-
/**
|
|
2225
|
-
* Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
2226
|
-
*/
|
|
2227
|
-
foldPosition: "Above" | "Below" | "Unknown";
|
|
2228
2522
|
/**
|
|
2229
2523
|
* The name of the component.
|
|
2230
2524
|
*/
|
|
@@ -2251,14 +2545,27 @@ interface IImpressionUIElement {
|
|
|
2251
2545
|
info: IPageRef;
|
|
2252
2546
|
/**
|
|
2253
2547
|
* The pageviewID.
|
|
2548
|
+
* @format uuid
|
|
2254
2549
|
*/
|
|
2255
2550
|
pageviewId: string;
|
|
2256
2551
|
referrer?: IPageRef;
|
|
2257
2552
|
utm?: IUtmTags;
|
|
2258
2553
|
};
|
|
2554
|
+
placement: {
|
|
2555
|
+
/**
|
|
2556
|
+
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
2557
|
+
*/
|
|
2558
|
+
containerName: string;
|
|
2559
|
+
/**
|
|
2560
|
+
* Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
2561
|
+
*/
|
|
2562
|
+
foldPosition: "Above" | "Below" | "Unknown";
|
|
2563
|
+
};
|
|
2259
2564
|
provider: IProvider;
|
|
2260
2565
|
/**
|
|
2261
2566
|
* URL to the JSON schema for this event.
|
|
2567
|
+
* @format uri
|
|
2568
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2262
2569
|
*/
|
|
2263
2570
|
schema: string;
|
|
2264
2571
|
session: ISession;
|
|
@@ -2273,12 +2580,15 @@ interface IImpressionUIElement {
|
|
|
2273
2580
|
interface IImpressionWidget {
|
|
2274
2581
|
/**
|
|
2275
2582
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2583
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2584
|
+
* @example "1.2.3"
|
|
2276
2585
|
*/
|
|
2277
2586
|
catalogVersion: string;
|
|
2278
2587
|
consents: IConsents;
|
|
2279
2588
|
device: IDevice;
|
|
2280
2589
|
/**
|
|
2281
2590
|
* The unique identifier for the event.
|
|
2591
|
+
* @format uuid
|
|
2282
2592
|
*/
|
|
2283
2593
|
eventId: string;
|
|
2284
2594
|
/**
|
|
@@ -2288,18 +2598,10 @@ interface IImpressionWidget {
|
|
|
2288
2598
|
experiments?: IExperiments;
|
|
2289
2599
|
metrics?: IMetrics;
|
|
2290
2600
|
object: {
|
|
2291
|
-
/**
|
|
2292
|
-
* The closest parent container used for traffic attribution. When in doubt use “page”.
|
|
2293
|
-
*/
|
|
2294
|
-
containerName: string;
|
|
2295
2601
|
/**
|
|
2296
2602
|
* The size of the component.
|
|
2297
2603
|
*/
|
|
2298
2604
|
elementSize?: "XS" | "S" | "M" | "L" | "XL";
|
|
2299
|
-
/**
|
|
2300
|
-
* Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
|
|
2301
|
-
*/
|
|
2302
|
-
foldPosition: "Above" | "Below" | "Unknown";
|
|
2303
2605
|
/**
|
|
2304
2606
|
* The name of the component.
|
|
2305
2607
|
*/
|
|
@@ -2316,16 +2618,13 @@ interface IImpressionWidget {
|
|
|
2316
2618
|
* The type of the object.
|
|
2317
2619
|
*/
|
|
2318
2620
|
objectType: "Widget";
|
|
2319
|
-
/**
|
|
2320
|
-
* The parent’s primary direction along which components are laid out.
|
|
2321
|
-
*/
|
|
2322
|
-
primaryAxis: "Horizontal" | "Vertical";
|
|
2323
2621
|
};
|
|
2324
2622
|
page: {
|
|
2325
2623
|
content?: IContent;
|
|
2326
2624
|
info: IPageRef;
|
|
2327
2625
|
/**
|
|
2328
2626
|
* The pageviewID.
|
|
2627
|
+
* @format uuid
|
|
2329
2628
|
*/
|
|
2330
2629
|
pageviewId: string;
|
|
2331
2630
|
referrer?: IPageRef;
|
|
@@ -2335,6 +2634,8 @@ interface IImpressionWidget {
|
|
|
2335
2634
|
provider: IProvider;
|
|
2336
2635
|
/**
|
|
2337
2636
|
* URL to the JSON schema for this event.
|
|
2637
|
+
* @format uri
|
|
2638
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2338
2639
|
*/
|
|
2339
2640
|
schema: string;
|
|
2340
2641
|
session: ISession;
|
|
@@ -2349,6 +2650,8 @@ interface IImpressionWidget {
|
|
|
2349
2650
|
interface IInternalAccessDecision {
|
|
2350
2651
|
/**
|
|
2351
2652
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2653
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2654
|
+
* @example "1.2.3"
|
|
2352
2655
|
*/
|
|
2353
2656
|
catalogVersion: string;
|
|
2354
2657
|
consents: IConsents;
|
|
@@ -2363,6 +2666,7 @@ interface IInternalAccessDecision {
|
|
|
2363
2666
|
deviceType?: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
|
|
2364
2667
|
/**
|
|
2365
2668
|
* The environment ID.
|
|
2669
|
+
* @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
|
|
2366
2670
|
*/
|
|
2367
2671
|
environmentId: string;
|
|
2368
2672
|
/**
|
|
@@ -2376,6 +2680,7 @@ interface IInternalAccessDecision {
|
|
|
2376
2680
|
};
|
|
2377
2681
|
/**
|
|
2378
2682
|
* The unique identifier for the event.
|
|
2683
|
+
* @format uuid
|
|
2379
2684
|
*/
|
|
2380
2685
|
eventId: string;
|
|
2381
2686
|
/**
|
|
@@ -2384,7 +2689,7 @@ interface IInternalAccessDecision {
|
|
|
2384
2689
|
eventType: "Internal";
|
|
2385
2690
|
experiments?: IExperiments;
|
|
2386
2691
|
object: {
|
|
2387
|
-
arm
|
|
2692
|
+
arm?: {
|
|
2388
2693
|
/**
|
|
2389
2694
|
* Unique ID of the experimental arm the user is assigned to.
|
|
2390
2695
|
*/
|
|
@@ -2399,6 +2704,10 @@ interface IInternalAccessDecision {
|
|
|
2399
2704
|
config: {
|
|
2400
2705
|
armId: string;
|
|
2401
2706
|
version: string;
|
|
2707
|
+
/**
|
|
2708
|
+
* @minimum 0
|
|
2709
|
+
* @maximum 1
|
|
2710
|
+
*/
|
|
2402
2711
|
weight: number;
|
|
2403
2712
|
}[];
|
|
2404
2713
|
/**
|
|
@@ -2407,15 +2716,18 @@ interface IInternalAccessDecision {
|
|
|
2407
2716
|
configId: string;
|
|
2408
2717
|
/**
|
|
2409
2718
|
* End time of the arm assignment in UTC.
|
|
2719
|
+
* @format date-time
|
|
2410
2720
|
*/
|
|
2411
2721
|
endAt: string;
|
|
2412
2722
|
/**
|
|
2413
2723
|
* Start time of the arm assignment in UTC.
|
|
2724
|
+
* @format date-time
|
|
2414
2725
|
*/
|
|
2415
2726
|
startAt: string;
|
|
2416
2727
|
};
|
|
2417
2728
|
/**
|
|
2418
2729
|
* When the decision system created the decision in UTC.
|
|
2730
|
+
* @format date-time
|
|
2419
2731
|
*/
|
|
2420
2732
|
decidedAt: string;
|
|
2421
2733
|
/**
|
|
@@ -2433,10 +2745,11 @@ interface IInternalAccessDecision {
|
|
|
2433
2745
|
/**
|
|
2434
2746
|
* Categorization of how the decision was made.
|
|
2435
2747
|
*/
|
|
2436
|
-
decisionType: "
|
|
2437
|
-
episode
|
|
2748
|
+
decisionType: "Policy" | "Replay" | "Fallback";
|
|
2749
|
+
episode?: {
|
|
2438
2750
|
/**
|
|
2439
2751
|
* End time of the episode in UTC.
|
|
2752
|
+
* @format date-time
|
|
2440
2753
|
*/
|
|
2441
2754
|
endAt: string;
|
|
2442
2755
|
/**
|
|
@@ -2445,9 +2758,14 @@ interface IInternalAccessDecision {
|
|
|
2445
2758
|
episodeId: string;
|
|
2446
2759
|
/**
|
|
2447
2760
|
* Start time of the episode in UTC.
|
|
2761
|
+
* @format date-time
|
|
2448
2762
|
*/
|
|
2449
2763
|
startAt: string;
|
|
2450
2764
|
};
|
|
2765
|
+
/**
|
|
2766
|
+
* Internal Decision System error that caused the fallback.
|
|
2767
|
+
*/
|
|
2768
|
+
fallbackReason?: "EngineTimeout" | "EpisodeReadError" | "EpisodeWriteError" | "RequestCountError" | "ArmReadError" | "ArmWriteError";
|
|
2451
2769
|
/**
|
|
2452
2770
|
* The type of the object.
|
|
2453
2771
|
*/
|
|
@@ -2463,6 +2781,8 @@ interface IInternalAccessDecision {
|
|
|
2463
2781
|
provider: IProvider;
|
|
2464
2782
|
/**
|
|
2465
2783
|
* URL to the JSON schema for this event.
|
|
2784
|
+
* @format uri
|
|
2785
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2466
2786
|
*/
|
|
2467
2787
|
schema: string;
|
|
2468
2788
|
target: {
|
|
@@ -2497,10 +2817,13 @@ interface IInternalAccessDecision {
|
|
|
2497
2817
|
interface IInternalProbe {
|
|
2498
2818
|
/**
|
|
2499
2819
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2820
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2821
|
+
* @example "1.2.3"
|
|
2500
2822
|
*/
|
|
2501
2823
|
catalogVersion: string;
|
|
2502
2824
|
/**
|
|
2503
2825
|
* The unique identifier for the event.
|
|
2826
|
+
* @format uuid
|
|
2504
2827
|
*/
|
|
2505
2828
|
eventId: string;
|
|
2506
2829
|
/**
|
|
@@ -2516,6 +2839,8 @@ interface IInternalProbe {
|
|
|
2516
2839
|
provider: IProvider;
|
|
2517
2840
|
/**
|
|
2518
2841
|
* URL to the JSON schema for this event.
|
|
2842
|
+
* @format uri
|
|
2843
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2519
2844
|
*/
|
|
2520
2845
|
schema: string;
|
|
2521
2846
|
/**
|
|
@@ -2531,12 +2856,15 @@ interface IInternalProbe {
|
|
|
2531
2856
|
interface ILaunchApp {
|
|
2532
2857
|
/**
|
|
2533
2858
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2859
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2860
|
+
* @example "1.2.3"
|
|
2534
2861
|
*/
|
|
2535
2862
|
catalogVersion: string;
|
|
2536
2863
|
consents: IConsents;
|
|
2537
2864
|
device: IDevice;
|
|
2538
2865
|
/**
|
|
2539
2866
|
* The unique identifier for the event.
|
|
2867
|
+
* @format uuid
|
|
2540
2868
|
*/
|
|
2541
2869
|
eventId: string;
|
|
2542
2870
|
/**
|
|
@@ -2546,6 +2874,9 @@ interface ILaunchApp {
|
|
|
2546
2874
|
experiments?: IExperiments;
|
|
2547
2875
|
metrics?: IMetrics;
|
|
2548
2876
|
object: {
|
|
2877
|
+
/**
|
|
2878
|
+
* @additionalProperties true
|
|
2879
|
+
*/
|
|
2549
2880
|
custom: {
|
|
2550
2881
|
[k: string]: unknown;
|
|
2551
2882
|
};
|
|
@@ -2557,6 +2888,8 @@ interface ILaunchApp {
|
|
|
2557
2888
|
provider: IProvider;
|
|
2558
2889
|
/**
|
|
2559
2890
|
* URL to the JSON schema for this event.
|
|
2891
|
+
* @format uri
|
|
2892
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2560
2893
|
*/
|
|
2561
2894
|
schema: string;
|
|
2562
2895
|
session: ISession;
|
|
@@ -2567,14 +2900,18 @@ interface ILaunchApp {
|
|
|
2567
2900
|
interface ILeave {
|
|
2568
2901
|
/**
|
|
2569
2902
|
* The total active time a user spends on the page in milliseconds. Active implies a timespan of less than 30 sec since triggering one of the following browser events(On web): 'mousedown', 'mousemove', 'keydown', 'scroll', 'touchstart'.
|
|
2903
|
+
* @exclusiveMinimum 0
|
|
2570
2904
|
*/
|
|
2571
2905
|
activityDurationMs: number;
|
|
2572
2906
|
/**
|
|
2573
2907
|
* The total time the user spent on the page in milliseconds.
|
|
2908
|
+
* @exclusiveMinimum 0
|
|
2574
2909
|
*/
|
|
2575
2910
|
durationMs: number;
|
|
2576
2911
|
/**
|
|
2577
2912
|
* The maximum relative scroll position of the article when the user leaves it.
|
|
2913
|
+
* @minimum 0
|
|
2914
|
+
* @maximum 1
|
|
2578
2915
|
*/
|
|
2579
2916
|
maxObjectViewPercentage: number;
|
|
2580
2917
|
/**
|
|
@@ -2583,10 +2920,14 @@ interface ILeave {
|
|
|
2583
2920
|
maxPageScrollPosition: number;
|
|
2584
2921
|
/**
|
|
2585
2922
|
* The maximum relative scroll position of the page when the user leaves it.
|
|
2923
|
+
* @minimum 0
|
|
2924
|
+
* @maximum 1
|
|
2586
2925
|
*/
|
|
2587
2926
|
maxPageViewPercentage: number;
|
|
2588
2927
|
/**
|
|
2589
2928
|
* The relative scroll position of the article when the user leaves it.
|
|
2929
|
+
* @minimum 0
|
|
2930
|
+
* @maximum 1
|
|
2590
2931
|
*/
|
|
2591
2932
|
objectViewPercentage: number;
|
|
2592
2933
|
/**
|
|
@@ -2595,18 +2936,23 @@ interface ILeave {
|
|
|
2595
2936
|
pageScrollPosition: number;
|
|
2596
2937
|
/**
|
|
2597
2938
|
* The relative scroll position of the page when the user leaves it.
|
|
2939
|
+
* @minimum 0
|
|
2940
|
+
* @maximum 1
|
|
2598
2941
|
*/
|
|
2599
2942
|
pageViewPercentage: number;
|
|
2600
2943
|
}
|
|
2601
2944
|
interface ILeaveArticle {
|
|
2602
2945
|
/**
|
|
2603
2946
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
2947
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
2948
|
+
* @example "1.2.3"
|
|
2604
2949
|
*/
|
|
2605
2950
|
catalogVersion: string;
|
|
2606
2951
|
consents: IConsents;
|
|
2607
2952
|
device: IDevice;
|
|
2608
2953
|
/**
|
|
2609
2954
|
* Event ID
|
|
2955
|
+
* @format uuid
|
|
2610
2956
|
*/
|
|
2611
2957
|
eventId: string;
|
|
2612
2958
|
/**
|
|
@@ -2615,7 +2961,9 @@ interface ILeaveArticle {
|
|
|
2615
2961
|
eventType: "Leave";
|
|
2616
2962
|
experiments?: IExperiments;
|
|
2617
2963
|
leave: ILeave;
|
|
2964
|
+
metrics?: IMetrics;
|
|
2618
2965
|
object: {
|
|
2966
|
+
authors: string[];
|
|
2619
2967
|
/**
|
|
2620
2968
|
* The editorial category of this article.
|
|
2621
2969
|
*/
|
|
@@ -2626,10 +2974,12 @@ interface ILeaveArticle {
|
|
|
2626
2974
|
isStacked: boolean;
|
|
2627
2975
|
/**
|
|
2628
2976
|
* The publication date of this version of the article.
|
|
2977
|
+
* @format date-time
|
|
2629
2978
|
*/
|
|
2630
2979
|
lastUpdatedDate: string;
|
|
2631
2980
|
/**
|
|
2632
2981
|
* The newsroom that published the article.
|
|
2982
|
+
* @example "vg"
|
|
2633
2983
|
*/
|
|
2634
2984
|
newsroom: string;
|
|
2635
2985
|
/**
|
|
@@ -2646,20 +2996,35 @@ interface ILeaveArticle {
|
|
|
2646
2996
|
objectType: "Article";
|
|
2647
2997
|
/**
|
|
2648
2998
|
* The publication date of the article.
|
|
2999
|
+
* @format date-time
|
|
2649
3000
|
*/
|
|
2650
3001
|
publicationDate: string;
|
|
3002
|
+
/**
|
|
3003
|
+
* The name of the company that sponsored the article. Empty if the article was not sponsored.
|
|
3004
|
+
*/
|
|
3005
|
+
sponsor?: string;
|
|
2651
3006
|
/**
|
|
2652
3007
|
* The title of the page.
|
|
2653
3008
|
*/
|
|
2654
3009
|
title: string;
|
|
3010
|
+
/**
|
|
3011
|
+
* Url of the article top or when missing article main image.
|
|
3012
|
+
*/
|
|
3013
|
+
topImageUrl?: string;
|
|
2655
3014
|
/**
|
|
2656
3015
|
* The type of article.
|
|
2657
3016
|
*/
|
|
2658
3017
|
variant: "Article" | "LiveArticle" | "Special";
|
|
2659
3018
|
/**
|
|
2660
3019
|
* The version counter of the article.
|
|
3020
|
+
* @minimum 0
|
|
2661
3021
|
*/
|
|
2662
3022
|
versionCounter: number;
|
|
3023
|
+
/**
|
|
3024
|
+
* The number of words in this version of the article.
|
|
3025
|
+
* @exclusiveMinimum 0
|
|
3026
|
+
*/
|
|
3027
|
+
wordCount: number;
|
|
2663
3028
|
};
|
|
2664
3029
|
page: {
|
|
2665
3030
|
content: IContent;
|
|
@@ -2670,6 +3035,7 @@ interface ILeaveArticle {
|
|
|
2670
3035
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
|
|
2671
3036
|
/**
|
|
2672
3037
|
* The pageviewID.
|
|
3038
|
+
* @format uuid
|
|
2673
3039
|
*/
|
|
2674
3040
|
pageviewId: string;
|
|
2675
3041
|
referrer?: IPageRef;
|
|
@@ -2678,6 +3044,8 @@ interface ILeaveArticle {
|
|
|
2678
3044
|
provider: IProvider;
|
|
2679
3045
|
/**
|
|
2680
3046
|
* The schema of the event.
|
|
3047
|
+
* @format uri
|
|
3048
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2681
3049
|
*/
|
|
2682
3050
|
schema: string;
|
|
2683
3051
|
session: ISession;
|
|
@@ -2688,6 +3056,7 @@ interface ILeaveArticle {
|
|
|
2688
3056
|
interface ILeaveAudio {
|
|
2689
3057
|
/**
|
|
2690
3058
|
* The total active time a user spends on the page in milliseconds. Active implies a timespan of less than 30 sec since triggering one of the following browser events(On web): 'mousedown', 'mousemove', 'keydown', 'scroll', 'touchstart'.
|
|
3059
|
+
* @exclusiveMinimum 0
|
|
2691
3060
|
*/
|
|
2692
3061
|
activityDurationMs: number;
|
|
2693
3062
|
/**
|
|
@@ -2700,6 +3069,7 @@ interface ILeaveAudio {
|
|
|
2700
3069
|
audioStarted: number;
|
|
2701
3070
|
/**
|
|
2702
3071
|
* The total time the user spent on the page in milliseconds.
|
|
3072
|
+
* @exclusiveMinimum 0
|
|
2703
3073
|
*/
|
|
2704
3074
|
durationMs: number;
|
|
2705
3075
|
/**
|
|
@@ -2708,18 +3078,23 @@ interface ILeaveAudio {
|
|
|
2708
3078
|
maxPlaylistPosition?: number;
|
|
2709
3079
|
/**
|
|
2710
3080
|
* How far the user came into the playlist shown in percentage.
|
|
3081
|
+
* @minimum 0
|
|
3082
|
+
* @maximum 1
|
|
2711
3083
|
*/
|
|
2712
3084
|
playlistPositionPercentage?: number;
|
|
2713
3085
|
}
|
|
2714
3086
|
interface ILeaveAudioPage {
|
|
2715
3087
|
/**
|
|
2716
3088
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3089
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3090
|
+
* @example "1.2.3"
|
|
2717
3091
|
*/
|
|
2718
3092
|
catalogVersion: string;
|
|
2719
3093
|
consents: IConsents;
|
|
2720
3094
|
device: IDevice;
|
|
2721
3095
|
/**
|
|
2722
3096
|
* The unique identifier for the event.
|
|
3097
|
+
* @format uuid
|
|
2723
3098
|
*/
|
|
2724
3099
|
eventId: string;
|
|
2725
3100
|
/**
|
|
@@ -2758,6 +3133,7 @@ interface ILeaveAudioPage {
|
|
|
2758
3133
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
2759
3134
|
/**
|
|
2760
3135
|
* The pageviewID.
|
|
3136
|
+
* @format uuid
|
|
2761
3137
|
*/
|
|
2762
3138
|
pageviewId: string;
|
|
2763
3139
|
referrer?: IPageRef;
|
|
@@ -2766,6 +3142,8 @@ interface ILeaveAudioPage {
|
|
|
2766
3142
|
provider: IProvider;
|
|
2767
3143
|
/**
|
|
2768
3144
|
* URL to the JSON schema for this event.
|
|
3145
|
+
* @format uri
|
|
3146
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2769
3147
|
*/
|
|
2770
3148
|
schema: string;
|
|
2771
3149
|
session: ISession;
|
|
@@ -2776,12 +3154,15 @@ interface ILeaveAudioPage {
|
|
|
2776
3154
|
interface ILeaveError {
|
|
2777
3155
|
/**
|
|
2778
3156
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3157
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3158
|
+
* @example "1.2.3"
|
|
2779
3159
|
*/
|
|
2780
3160
|
catalogVersion: string;
|
|
2781
3161
|
consents: IConsents;
|
|
2782
3162
|
device: IDevice;
|
|
2783
3163
|
/**
|
|
2784
3164
|
* Event ID
|
|
3165
|
+
* @format uuid
|
|
2785
3166
|
*/
|
|
2786
3167
|
eventId: string;
|
|
2787
3168
|
/**
|
|
@@ -2797,10 +3178,12 @@ interface ILeaveError {
|
|
|
2797
3178
|
category?: string;
|
|
2798
3179
|
/**
|
|
2799
3180
|
* The response code of the page.
|
|
3181
|
+
* @example 418
|
|
2800
3182
|
*/
|
|
2801
3183
|
errorCode: number;
|
|
2802
3184
|
/**
|
|
2803
3185
|
* The error message.
|
|
3186
|
+
* @example "I'm a teapot"
|
|
2804
3187
|
*/
|
|
2805
3188
|
errorMessage: string;
|
|
2806
3189
|
/**
|
|
@@ -2828,6 +3211,7 @@ interface ILeaveError {
|
|
|
2828
3211
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
|
|
2829
3212
|
/**
|
|
2830
3213
|
* The pageviewID.
|
|
3214
|
+
* @format uuid
|
|
2831
3215
|
*/
|
|
2832
3216
|
pageviewId: string;
|
|
2833
3217
|
referrer?: IPageRef;
|
|
@@ -2836,6 +3220,8 @@ interface ILeaveError {
|
|
|
2836
3220
|
provider: IProvider;
|
|
2837
3221
|
/**
|
|
2838
3222
|
* The schema of the event.
|
|
3223
|
+
* @format uri
|
|
3224
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2839
3225
|
*/
|
|
2840
3226
|
schema: string;
|
|
2841
3227
|
session: ISession;
|
|
@@ -2846,12 +3232,15 @@ interface ILeaveError {
|
|
|
2846
3232
|
interface ILeaveFrontpage {
|
|
2847
3233
|
/**
|
|
2848
3234
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3235
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3236
|
+
* @example "1.2.3"
|
|
2849
3237
|
*/
|
|
2850
3238
|
catalogVersion: string;
|
|
2851
3239
|
consents: IConsents;
|
|
2852
3240
|
device: IDevice;
|
|
2853
3241
|
/**
|
|
2854
3242
|
* Event ID
|
|
3243
|
+
* @format uuid
|
|
2855
3244
|
*/
|
|
2856
3245
|
eventId: string;
|
|
2857
3246
|
/**
|
|
@@ -2860,11 +3249,8 @@ interface ILeaveFrontpage {
|
|
|
2860
3249
|
eventType: "Leave";
|
|
2861
3250
|
experiments?: IExperiments;
|
|
2862
3251
|
leave: ILeave;
|
|
3252
|
+
metrics?: IMetrics;
|
|
2863
3253
|
object: {
|
|
2864
|
-
/**
|
|
2865
|
-
* The location of the page in the brand’s page hierarchy.
|
|
2866
|
-
*/
|
|
2867
|
-
category?: string;
|
|
2868
3254
|
/**
|
|
2869
3255
|
* The engine producing this listing. Use “editorial” for manually curated lists.
|
|
2870
3256
|
*/
|
|
@@ -2875,6 +3261,7 @@ interface ILeaveFrontpage {
|
|
|
2875
3261
|
isInfinite: boolean;
|
|
2876
3262
|
/**
|
|
2877
3263
|
* The total number of items in the listing, or -1 if unknown.
|
|
3264
|
+
* @minimum -1
|
|
2878
3265
|
*/
|
|
2879
3266
|
itemsTotal: number;
|
|
2880
3267
|
/**
|
|
@@ -2889,10 +3276,6 @@ interface ILeaveFrontpage {
|
|
|
2889
3276
|
* The type of this page.
|
|
2890
3277
|
*/
|
|
2891
3278
|
objectType: "Frontpage";
|
|
2892
|
-
/**
|
|
2893
|
-
* Indicates how results are sorted. Use “editorial” for manually curated lists.
|
|
2894
|
-
*/
|
|
2895
|
-
sortingMethod: "Time" | "Editorial" | "Relevance" | "Alphabetical";
|
|
2896
3279
|
/**
|
|
2897
3280
|
* The title of the page.
|
|
2898
3281
|
*/
|
|
@@ -2906,6 +3289,7 @@ interface ILeaveFrontpage {
|
|
|
2906
3289
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
2907
3290
|
/**
|
|
2908
3291
|
* The pageviewID.
|
|
3292
|
+
* @format uuid
|
|
2909
3293
|
*/
|
|
2910
3294
|
pageviewId: string;
|
|
2911
3295
|
referrer?: IPageRef;
|
|
@@ -2914,6 +3298,8 @@ interface ILeaveFrontpage {
|
|
|
2914
3298
|
provider: IProvider;
|
|
2915
3299
|
/**
|
|
2916
3300
|
* The schema of the event.
|
|
3301
|
+
* @format uri
|
|
3302
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2917
3303
|
*/
|
|
2918
3304
|
schema: string;
|
|
2919
3305
|
session: ISession;
|
|
@@ -2924,12 +3310,15 @@ interface ILeaveFrontpage {
|
|
|
2924
3310
|
interface ILeaveLandingpage {
|
|
2925
3311
|
/**
|
|
2926
3312
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3313
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3314
|
+
* @example "1.2.3"
|
|
2927
3315
|
*/
|
|
2928
3316
|
catalogVersion: string;
|
|
2929
3317
|
consents: IConsents;
|
|
2930
3318
|
device: IDevice;
|
|
2931
3319
|
/**
|
|
2932
3320
|
* Event ID
|
|
3321
|
+
* @format uuid
|
|
2933
3322
|
*/
|
|
2934
3323
|
eventId: string;
|
|
2935
3324
|
/**
|
|
@@ -2941,6 +3330,7 @@ interface ILeaveLandingpage {
|
|
|
2941
3330
|
object: {
|
|
2942
3331
|
/**
|
|
2943
3332
|
* The name of the landing page campaign.
|
|
3333
|
+
* @example "summer-sale"
|
|
2944
3334
|
*/
|
|
2945
3335
|
campaign?: string;
|
|
2946
3336
|
/**
|
|
@@ -2972,6 +3362,7 @@ interface ILeaveLandingpage {
|
|
|
2972
3362
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
2973
3363
|
/**
|
|
2974
3364
|
* The pageviewID.
|
|
3365
|
+
* @format uuid
|
|
2975
3366
|
*/
|
|
2976
3367
|
pageviewId: string;
|
|
2977
3368
|
referrer?: IPageRef;
|
|
@@ -2980,6 +3371,8 @@ interface ILeaveLandingpage {
|
|
|
2980
3371
|
provider: IProvider;
|
|
2981
3372
|
/**
|
|
2982
3373
|
* The schema of the event.
|
|
3374
|
+
* @format uri
|
|
3375
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
2983
3376
|
*/
|
|
2984
3377
|
schema: string;
|
|
2985
3378
|
session: ISession;
|
|
@@ -2990,12 +3383,15 @@ interface ILeaveLandingpage {
|
|
|
2990
3383
|
interface ILeaveListing {
|
|
2991
3384
|
/**
|
|
2992
3385
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3386
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3387
|
+
* @example "1.2.3"
|
|
2993
3388
|
*/
|
|
2994
3389
|
catalogVersion: string;
|
|
2995
3390
|
consents: IConsents;
|
|
2996
3391
|
device: IDevice;
|
|
2997
3392
|
/**
|
|
2998
3393
|
* Event ID
|
|
3394
|
+
* @format uuid
|
|
2999
3395
|
*/
|
|
3000
3396
|
eventId: string;
|
|
3001
3397
|
/**
|
|
@@ -3004,9 +3400,11 @@ interface ILeaveListing {
|
|
|
3004
3400
|
eventType: "Leave";
|
|
3005
3401
|
experiments?: IExperiments;
|
|
3006
3402
|
leave: ILeave;
|
|
3403
|
+
metrics?: IMetrics;
|
|
3007
3404
|
object: {
|
|
3008
3405
|
/**
|
|
3009
3406
|
* The location of the page in the brand’s page hierarchy.
|
|
3407
|
+
* @pattern ^[a-z0-9-]+(>[a-z0-9-]+)*$
|
|
3010
3408
|
*/
|
|
3011
3409
|
category?: string;
|
|
3012
3410
|
/**
|
|
@@ -3019,12 +3417,13 @@ interface ILeaveListing {
|
|
|
3019
3417
|
isInfinite: boolean;
|
|
3020
3418
|
/**
|
|
3021
3419
|
* The total number of items in the listing, or -1 if unknown.
|
|
3420
|
+
* @minimum -1
|
|
3022
3421
|
*/
|
|
3023
3422
|
itemsTotal: number;
|
|
3024
3423
|
/**
|
|
3025
3424
|
* The type of listing page, e.g. 'tag', 'section' etc.
|
|
3026
3425
|
*/
|
|
3027
|
-
listingType:
|
|
3426
|
+
listingType: "Tag" | "Story" | "Section" | "Search" | "Author" | "Other";
|
|
3028
3427
|
/**
|
|
3029
3428
|
* The unique ID of this page.
|
|
3030
3429
|
*/
|
|
@@ -3039,6 +3438,7 @@ interface ILeaveListing {
|
|
|
3039
3438
|
objectType: "Listing";
|
|
3040
3439
|
/**
|
|
3041
3440
|
* Current pagination index. Zero if results are not paged.
|
|
3441
|
+
* @minimum 0
|
|
3042
3442
|
*/
|
|
3043
3443
|
pageNumber: number;
|
|
3044
3444
|
/**
|
|
@@ -3058,6 +3458,7 @@ interface ILeaveListing {
|
|
|
3058
3458
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3059
3459
|
/**
|
|
3060
3460
|
* The pageviewID.
|
|
3461
|
+
* @format uuid
|
|
3061
3462
|
*/
|
|
3062
3463
|
pageviewId: string;
|
|
3063
3464
|
referrer?: IPageRef;
|
|
@@ -3066,6 +3467,8 @@ interface ILeaveListing {
|
|
|
3066
3467
|
provider: IProvider;
|
|
3067
3468
|
/**
|
|
3068
3469
|
* The schema of the event.
|
|
3470
|
+
* @format uri
|
|
3471
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3069
3472
|
*/
|
|
3070
3473
|
schema: string;
|
|
3071
3474
|
session: ISession;
|
|
@@ -3076,12 +3479,15 @@ interface ILeaveListing {
|
|
|
3076
3479
|
interface ILeaveLockedArticle {
|
|
3077
3480
|
/**
|
|
3078
3481
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3482
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3483
|
+
* @example "1.2.3"
|
|
3079
3484
|
*/
|
|
3080
3485
|
catalogVersion: string;
|
|
3081
3486
|
consents: IConsents;
|
|
3082
3487
|
device: IDevice;
|
|
3083
3488
|
/**
|
|
3084
3489
|
* Event ID
|
|
3490
|
+
* @format uuid
|
|
3085
3491
|
*/
|
|
3086
3492
|
eventId: string;
|
|
3087
3493
|
/**
|
|
@@ -3090,7 +3496,9 @@ interface ILeaveLockedArticle {
|
|
|
3090
3496
|
eventType: "Leave";
|
|
3091
3497
|
experiments?: IExperiments;
|
|
3092
3498
|
leave: ILeave;
|
|
3499
|
+
metrics?: IMetrics;
|
|
3093
3500
|
object: {
|
|
3501
|
+
authors: string[];
|
|
3094
3502
|
/**
|
|
3095
3503
|
* The location of the page in the brand’s page hierarchy.
|
|
3096
3504
|
*/
|
|
@@ -3101,10 +3509,12 @@ interface ILeaveLockedArticle {
|
|
|
3101
3509
|
isStacked: boolean;
|
|
3102
3510
|
/**
|
|
3103
3511
|
* The publication date of this version of the article.
|
|
3512
|
+
* @format date-time
|
|
3104
3513
|
*/
|
|
3105
3514
|
lastUpdatedDate: string;
|
|
3106
3515
|
/**
|
|
3107
3516
|
* The newsroom that published the article.
|
|
3517
|
+
* @example "vg"
|
|
3108
3518
|
*/
|
|
3109
3519
|
newsroom: string;
|
|
3110
3520
|
/**
|
|
@@ -3129,20 +3539,35 @@ interface ILeaveLockedArticle {
|
|
|
3129
3539
|
paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
|
|
3130
3540
|
/**
|
|
3131
3541
|
* The publication date of the article.
|
|
3542
|
+
* @format date-time
|
|
3132
3543
|
*/
|
|
3133
3544
|
publicationDate: string;
|
|
3545
|
+
/**
|
|
3546
|
+
* The name of the company that sponsored the article. Omitted if the article was not sponsored.
|
|
3547
|
+
*/
|
|
3548
|
+
sponsor?: string;
|
|
3134
3549
|
/**
|
|
3135
3550
|
* The title of the page.
|
|
3136
3551
|
*/
|
|
3137
3552
|
title: string;
|
|
3553
|
+
/**
|
|
3554
|
+
* Url of the article top or when missing article main image.
|
|
3555
|
+
*/
|
|
3556
|
+
topImageUrl?: string;
|
|
3138
3557
|
/**
|
|
3139
3558
|
* The type of article.
|
|
3140
3559
|
*/
|
|
3141
3560
|
variant: "Article" | "LiveArticle" | "Special";
|
|
3142
3561
|
/**
|
|
3143
3562
|
* The version counter of the article.
|
|
3563
|
+
* @minimum 0
|
|
3144
3564
|
*/
|
|
3145
3565
|
versionCounter: number;
|
|
3566
|
+
/**
|
|
3567
|
+
* The number of words in this version of the article.
|
|
3568
|
+
* @exclusiveMinimum 0
|
|
3569
|
+
*/
|
|
3570
|
+
wordCount: number;
|
|
3146
3571
|
};
|
|
3147
3572
|
page: {
|
|
3148
3573
|
content: IContent;
|
|
@@ -3153,6 +3578,7 @@ interface ILeaveLockedArticle {
|
|
|
3153
3578
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
|
|
3154
3579
|
/**
|
|
3155
3580
|
* The pageviewID.
|
|
3581
|
+
* @format uuid
|
|
3156
3582
|
*/
|
|
3157
3583
|
pageviewId: string;
|
|
3158
3584
|
referrer?: IPageRef;
|
|
@@ -3161,6 +3587,8 @@ interface ILeaveLockedArticle {
|
|
|
3161
3587
|
provider: IProvider;
|
|
3162
3588
|
/**
|
|
3163
3589
|
* The schema of the event.
|
|
3590
|
+
* @format uri
|
|
3591
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3164
3592
|
*/
|
|
3165
3593
|
schema: string;
|
|
3166
3594
|
session: ISession;
|
|
@@ -3171,12 +3599,15 @@ interface ILeaveLockedArticle {
|
|
|
3171
3599
|
interface ILeaveLockedAudioPage {
|
|
3172
3600
|
/**
|
|
3173
3601
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3602
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3603
|
+
* @example "1.2.3"
|
|
3174
3604
|
*/
|
|
3175
3605
|
catalogVersion: string;
|
|
3176
3606
|
consents: IConsents;
|
|
3177
3607
|
device: IDevice;
|
|
3178
3608
|
/**
|
|
3179
3609
|
* The unique identifier for the event.
|
|
3610
|
+
* @format uuid
|
|
3180
3611
|
*/
|
|
3181
3612
|
eventId: string;
|
|
3182
3613
|
/**
|
|
@@ -3225,6 +3656,7 @@ interface ILeaveLockedAudioPage {
|
|
|
3225
3656
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3226
3657
|
/**
|
|
3227
3658
|
* The pageviewID.
|
|
3659
|
+
* @format uuid
|
|
3228
3660
|
*/
|
|
3229
3661
|
pageviewId: string;
|
|
3230
3662
|
referrer?: IPageRef;
|
|
@@ -3233,6 +3665,8 @@ interface ILeaveLockedAudioPage {
|
|
|
3233
3665
|
provider: IProvider;
|
|
3234
3666
|
/**
|
|
3235
3667
|
* URL to the JSON schema for this event.
|
|
3668
|
+
* @format uri
|
|
3669
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3236
3670
|
*/
|
|
3237
3671
|
schema: string;
|
|
3238
3672
|
session: ISession;
|
|
@@ -3243,12 +3677,15 @@ interface ILeaveLockedAudioPage {
|
|
|
3243
3677
|
interface ILeaveLockedVideoPage {
|
|
3244
3678
|
/**
|
|
3245
3679
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3680
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3681
|
+
* @example "1.2.3"
|
|
3246
3682
|
*/
|
|
3247
3683
|
catalogVersion: string;
|
|
3248
3684
|
consents: IConsents;
|
|
3249
3685
|
device: IDevice;
|
|
3250
3686
|
/**
|
|
3251
3687
|
* The unique identifier for the event.
|
|
3688
|
+
* @format uuid
|
|
3252
3689
|
*/
|
|
3253
3690
|
eventId: string;
|
|
3254
3691
|
/**
|
|
@@ -3297,6 +3734,7 @@ interface ILeaveLockedVideoPage {
|
|
|
3297
3734
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3298
3735
|
/**
|
|
3299
3736
|
* The pageviewID.
|
|
3737
|
+
* @format uuid
|
|
3300
3738
|
*/
|
|
3301
3739
|
pageviewId: string;
|
|
3302
3740
|
referrer?: IPageRef;
|
|
@@ -3305,6 +3743,8 @@ interface ILeaveLockedVideoPage {
|
|
|
3305
3743
|
provider: IProvider;
|
|
3306
3744
|
/**
|
|
3307
3745
|
* URL to the JSON schema for this event.
|
|
3746
|
+
* @format uri
|
|
3747
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3308
3748
|
*/
|
|
3309
3749
|
schema: string;
|
|
3310
3750
|
session: ISession;
|
|
@@ -3315,12 +3755,15 @@ interface ILeaveLockedVideoPage {
|
|
|
3315
3755
|
interface ILeavePage {
|
|
3316
3756
|
/**
|
|
3317
3757
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3758
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3759
|
+
* @example "1.2.3"
|
|
3318
3760
|
*/
|
|
3319
3761
|
catalogVersion: string;
|
|
3320
3762
|
consents: IConsents;
|
|
3321
3763
|
device: IDevice;
|
|
3322
3764
|
/**
|
|
3323
3765
|
* Event ID
|
|
3766
|
+
* @format uuid
|
|
3324
3767
|
*/
|
|
3325
3768
|
eventId: string;
|
|
3326
3769
|
/**
|
|
@@ -3329,6 +3772,7 @@ interface ILeavePage {
|
|
|
3329
3772
|
eventType: "Leave";
|
|
3330
3773
|
experiments?: IExperiments;
|
|
3331
3774
|
leave: ILeave;
|
|
3775
|
+
metrics?: IMetrics;
|
|
3332
3776
|
object: {
|
|
3333
3777
|
/**
|
|
3334
3778
|
* The location of the page in the brand’s page hierarchy.
|
|
@@ -3354,6 +3798,7 @@ interface ILeavePage {
|
|
|
3354
3798
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3355
3799
|
/**
|
|
3356
3800
|
* The pageviewID.
|
|
3801
|
+
* @format uuid
|
|
3357
3802
|
*/
|
|
3358
3803
|
pageviewId: string;
|
|
3359
3804
|
referrer?: IPageRef;
|
|
@@ -3362,6 +3807,8 @@ interface ILeavePage {
|
|
|
3362
3807
|
provider: IProvider;
|
|
3363
3808
|
/**
|
|
3364
3809
|
* The schema of the event.
|
|
3810
|
+
* @format uri
|
|
3811
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3365
3812
|
*/
|
|
3366
3813
|
schema: string;
|
|
3367
3814
|
session: ISession;
|
|
@@ -3384,6 +3831,7 @@ interface ISports {
|
|
|
3384
3831
|
competitionId?: string;
|
|
3385
3832
|
/**
|
|
3386
3833
|
* Name of the competition.
|
|
3834
|
+
* @example "Premier League"
|
|
3387
3835
|
*/
|
|
3388
3836
|
competitionName?: string;
|
|
3389
3837
|
/**
|
|
@@ -3392,6 +3840,7 @@ interface ISports {
|
|
|
3392
3840
|
competitionSeasonId?: number;
|
|
3393
3841
|
/**
|
|
3394
3842
|
* Name of the competition season.
|
|
3843
|
+
* @example "Premier League 2025/2026"
|
|
3395
3844
|
*/
|
|
3396
3845
|
competitionSeasonName?: string;
|
|
3397
3846
|
/**
|
|
@@ -3412,10 +3861,12 @@ interface ISports {
|
|
|
3412
3861
|
sportEventCoverage?: "Manual" | "SemiAutomatic" | "Automatic" | "AI";
|
|
3413
3862
|
/**
|
|
3414
3863
|
* Date (yyyy-mm-dd) of the sport event.
|
|
3864
|
+
* @format date
|
|
3415
3865
|
*/
|
|
3416
3866
|
sportEventDate?: string;
|
|
3417
3867
|
/**
|
|
3418
3868
|
* Timestamp of when the sport event starts.
|
|
3869
|
+
* @format date-time
|
|
3419
3870
|
*/
|
|
3420
3871
|
sportEventDatetime?: string;
|
|
3421
3872
|
/**
|
|
@@ -3448,6 +3899,7 @@ interface ISports {
|
|
|
3448
3899
|
teamId?: number;
|
|
3449
3900
|
/**
|
|
3450
3901
|
* Name of the team.
|
|
3902
|
+
* @example "Manchester United"
|
|
3451
3903
|
*/
|
|
3452
3904
|
teamName?: string;
|
|
3453
3905
|
/**
|
|
@@ -3478,12 +3930,15 @@ interface ISports {
|
|
|
3478
3930
|
interface ILeaveSportsPage {
|
|
3479
3931
|
/**
|
|
3480
3932
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
3933
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
3934
|
+
* @example "1.2.3"
|
|
3481
3935
|
*/
|
|
3482
3936
|
catalogVersion: string;
|
|
3483
3937
|
consents: IConsents;
|
|
3484
3938
|
device: IDevice;
|
|
3485
3939
|
/**
|
|
3486
3940
|
* The unique identifier for the event.
|
|
3941
|
+
* @format uuid
|
|
3487
3942
|
*/
|
|
3488
3943
|
eventId: string;
|
|
3489
3944
|
/**
|
|
@@ -3525,6 +3980,7 @@ interface ILeaveSportsPage {
|
|
|
3525
3980
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3526
3981
|
/**
|
|
3527
3982
|
* The pageviewID.
|
|
3983
|
+
* @format uuid
|
|
3528
3984
|
*/
|
|
3529
3985
|
pageviewId: string;
|
|
3530
3986
|
referrer?: IPageRef;
|
|
@@ -3533,6 +3989,8 @@ interface ILeaveSportsPage {
|
|
|
3533
3989
|
provider: IProvider;
|
|
3534
3990
|
/**
|
|
3535
3991
|
* URL to the JSON schema for this event.
|
|
3992
|
+
* @format uri
|
|
3993
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3536
3994
|
*/
|
|
3537
3995
|
schema: string;
|
|
3538
3996
|
session: ISession;
|
|
@@ -3543,6 +4001,7 @@ interface ILeaveSportsPage {
|
|
|
3543
4001
|
interface ILeaveStories {
|
|
3544
4002
|
/**
|
|
3545
4003
|
* The total active time a user spends on the page in milliseconds. Active implies a timespan of less than 30 sec since triggering one of the following browser events(On web): 'mousedown', 'mousemove', 'keydown', 'scroll', 'touchstart'.
|
|
4004
|
+
* @exclusiveMinimum 0
|
|
3546
4005
|
*/
|
|
3547
4006
|
activityDurationMs: number;
|
|
3548
4007
|
/**
|
|
@@ -3551,6 +4010,7 @@ interface ILeaveStories {
|
|
|
3551
4010
|
adCount: number;
|
|
3552
4011
|
/**
|
|
3553
4012
|
* The total time the user spent on the page in milliseconds.
|
|
4013
|
+
* @exclusiveMinimum 0
|
|
3554
4014
|
*/
|
|
3555
4015
|
durationMs: number;
|
|
3556
4016
|
/**
|
|
@@ -3559,6 +4019,8 @@ interface ILeaveStories {
|
|
|
3559
4019
|
maxPlaylistPosition: number;
|
|
3560
4020
|
/**
|
|
3561
4021
|
* How far the user came into the playlist shown in percentage.
|
|
4022
|
+
* @minimum 0
|
|
4023
|
+
* @maximum 1
|
|
3562
4024
|
*/
|
|
3563
4025
|
playlistPositionPercentage: number;
|
|
3564
4026
|
/**
|
|
@@ -3573,12 +4035,15 @@ interface ILeaveStories {
|
|
|
3573
4035
|
interface ILeaveVideoPage {
|
|
3574
4036
|
/**
|
|
3575
4037
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4038
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4039
|
+
* @example "1.2.3"
|
|
3576
4040
|
*/
|
|
3577
4041
|
catalogVersion: string;
|
|
3578
4042
|
consents: IConsents;
|
|
3579
4043
|
device: IDevice;
|
|
3580
4044
|
/**
|
|
3581
4045
|
* The unique identifier for the event.
|
|
4046
|
+
* @format uuid
|
|
3582
4047
|
*/
|
|
3583
4048
|
eventId: string;
|
|
3584
4049
|
/**
|
|
@@ -3620,6 +4085,7 @@ interface ILeaveVideoPage {
|
|
|
3620
4085
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3621
4086
|
/**
|
|
3622
4087
|
* The pageviewID.
|
|
4088
|
+
* @format uuid
|
|
3623
4089
|
*/
|
|
3624
4090
|
pageviewId: string;
|
|
3625
4091
|
referrer?: IPageRef;
|
|
@@ -3628,6 +4094,8 @@ interface ILeaveVideoPage {
|
|
|
3628
4094
|
provider: IProvider;
|
|
3629
4095
|
/**
|
|
3630
4096
|
* URL to the JSON schema for this event.
|
|
4097
|
+
* @format uri
|
|
4098
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3631
4099
|
*/
|
|
3632
4100
|
schema: string;
|
|
3633
4101
|
session: ISession;
|
|
@@ -3638,12 +4106,15 @@ interface ILeaveVideoPage {
|
|
|
3638
4106
|
interface ILeaveWeather {
|
|
3639
4107
|
/**
|
|
3640
4108
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4109
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4110
|
+
* @example "1.2.3"
|
|
3641
4111
|
*/
|
|
3642
4112
|
catalogVersion: string;
|
|
3643
4113
|
consents: IConsents;
|
|
3644
4114
|
device: IDevice;
|
|
3645
4115
|
/**
|
|
3646
4116
|
* Event ID
|
|
4117
|
+
* @format uuid
|
|
3647
4118
|
*/
|
|
3648
4119
|
eventId: string;
|
|
3649
4120
|
/**
|
|
@@ -3654,14 +4125,55 @@ interface ILeaveWeather {
|
|
|
3654
4125
|
leave: ILeave;
|
|
3655
4126
|
metrics?: IMetrics;
|
|
3656
4127
|
object: {
|
|
4128
|
+
/**
|
|
4129
|
+
* The editorial category of this forecast.
|
|
4130
|
+
*/
|
|
4131
|
+
category?: string;
|
|
4132
|
+
/**
|
|
4133
|
+
* The country within which the forecast is done.
|
|
4134
|
+
*/
|
|
4135
|
+
country: string;
|
|
4136
|
+
/**
|
|
4137
|
+
* The location within the region covered by this forecast.
|
|
4138
|
+
*/
|
|
4139
|
+
location?: string;
|
|
4140
|
+
/**
|
|
4141
|
+
* The unique ID of this page.
|
|
4142
|
+
*/
|
|
4143
|
+
objectId: string;
|
|
4144
|
+
/**
|
|
4145
|
+
* The unique SDRN of this page.
|
|
4146
|
+
*/
|
|
4147
|
+
objectSdrn: string;
|
|
3657
4148
|
/**
|
|
3658
4149
|
* The type of the schema.
|
|
3659
4150
|
*/
|
|
3660
4151
|
objectType: "Weather";
|
|
4152
|
+
/**
|
|
4153
|
+
* The region covered by the forecast.
|
|
4154
|
+
*/
|
|
4155
|
+
region: string;
|
|
4156
|
+
tags?: string[];
|
|
4157
|
+
};
|
|
4158
|
+
page: {
|
|
4159
|
+
info: IPageRef;
|
|
4160
|
+
/**
|
|
4161
|
+
* The browser navigation that got the user to the current page.
|
|
4162
|
+
*/
|
|
4163
|
+
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4164
|
+
/**
|
|
4165
|
+
* The pageviewID.
|
|
4166
|
+
* @format uuid
|
|
4167
|
+
*/
|
|
4168
|
+
pageviewId: string;
|
|
4169
|
+
referrer?: IPageRef;
|
|
4170
|
+
utm?: IUtmTags;
|
|
3661
4171
|
};
|
|
3662
4172
|
provider: IProvider;
|
|
3663
4173
|
/**
|
|
3664
4174
|
* The schema of the event.
|
|
4175
|
+
* @format uri
|
|
4176
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3665
4177
|
*/
|
|
3666
4178
|
schema: string;
|
|
3667
4179
|
time: ITime;
|
|
@@ -3671,6 +4183,8 @@ interface ILeaveWeather {
|
|
|
3671
4183
|
interface IPurchaseSubscription {
|
|
3672
4184
|
/**
|
|
3673
4185
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4186
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4187
|
+
* @example "1.2.3"
|
|
3674
4188
|
*/
|
|
3675
4189
|
catalogVersion: string;
|
|
3676
4190
|
consents?: IConsents;
|
|
@@ -3684,11 +4198,14 @@ interface IPurchaseSubscription {
|
|
|
3684
4198
|
deviceType: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
|
|
3685
4199
|
/**
|
|
3686
4200
|
* The environmentId.
|
|
4201
|
+
* @pattern ^[0-9a-fA-F-]+$
|
|
4202
|
+
* @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
|
|
3687
4203
|
*/
|
|
3688
4204
|
environmentId?: string;
|
|
3689
4205
|
};
|
|
3690
4206
|
/**
|
|
3691
4207
|
* The unique identifier for the event.
|
|
4208
|
+
* @format uuid
|
|
3692
4209
|
*/
|
|
3693
4210
|
eventId: string;
|
|
3694
4211
|
/**
|
|
@@ -3715,6 +4232,7 @@ interface IPurchaseSubscription {
|
|
|
3715
4232
|
fullPrice: number;
|
|
3716
4233
|
/**
|
|
3717
4234
|
* The unique identifier of the subscription, which corresponds to subscription number in URS.
|
|
4235
|
+
* @pattern ^sdrn:[a-zA-Z0-9-]+:subscription:[a-zA-Z0-9_-]+$
|
|
3718
4236
|
*/
|
|
3719
4237
|
objectSdrn: string;
|
|
3720
4238
|
/**
|
|
@@ -3776,11 +4294,14 @@ interface IPurchaseSubscription {
|
|
|
3776
4294
|
utm?: IUtmTags;
|
|
3777
4295
|
/**
|
|
3778
4296
|
* The session ID on a partner domain (set via query parameter), else the current session ID. This value is used to connect cross-domain events such as behavior events to purchase events.
|
|
4297
|
+
* @example "079bc17a-4ee8-42ab-a29f-2fbba4cd403f"
|
|
3779
4298
|
*/
|
|
3780
4299
|
xDomainId?: string;
|
|
3781
4300
|
};
|
|
3782
4301
|
/**
|
|
3783
4302
|
* URL to the JSON schema for this event.
|
|
4303
|
+
* @format uri
|
|
4304
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3784
4305
|
*/
|
|
3785
4306
|
schema: string;
|
|
3786
4307
|
time: ITime;
|
|
@@ -3789,18 +4310,27 @@ interface IPurchaseSubscription {
|
|
|
3789
4310
|
}
|
|
3790
4311
|
interface ILocation {
|
|
3791
4312
|
accuracy: number;
|
|
4313
|
+
/**
|
|
4314
|
+
* @pattern ^-?\d+(\.\d{1,3})?$
|
|
4315
|
+
*/
|
|
3792
4316
|
latitude: string;
|
|
4317
|
+
/**
|
|
4318
|
+
* @pattern ^-?\d+(\.\d{1,3})?$
|
|
4319
|
+
*/
|
|
3793
4320
|
longitude: string;
|
|
3794
4321
|
}
|
|
3795
4322
|
interface IViewArticle {
|
|
3796
4323
|
/**
|
|
3797
4324
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4325
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4326
|
+
* @example "1.2.3"
|
|
3798
4327
|
*/
|
|
3799
4328
|
catalogVersion: string;
|
|
3800
4329
|
consents: IConsents;
|
|
3801
4330
|
device: IDevice;
|
|
3802
4331
|
/**
|
|
3803
4332
|
* Event ID
|
|
4333
|
+
* @format uuid
|
|
3804
4334
|
*/
|
|
3805
4335
|
eventId: string;
|
|
3806
4336
|
/**
|
|
@@ -3809,30 +4339,25 @@ interface IViewArticle {
|
|
|
3809
4339
|
eventType: "View";
|
|
3810
4340
|
experiments?: IExperiments;
|
|
3811
4341
|
location?: ILocation;
|
|
4342
|
+
metrics?: IMetrics;
|
|
3812
4343
|
object: {
|
|
3813
4344
|
authors: string[];
|
|
3814
4345
|
/**
|
|
3815
4346
|
* The editorial category of this article.
|
|
3816
4347
|
*/
|
|
3817
4348
|
category: string;
|
|
3818
|
-
/**
|
|
3819
|
-
* The hotness value that was set in the CMS.
|
|
3820
|
-
*/
|
|
3821
|
-
hotness: number;
|
|
3822
4349
|
/**
|
|
3823
4350
|
* True if scrolling up/down transitions to the next or previous article.
|
|
3824
4351
|
*/
|
|
3825
4352
|
isStacked: boolean;
|
|
3826
4353
|
/**
|
|
3827
4354
|
* The publication date of this version of the article.
|
|
4355
|
+
* @format date-time
|
|
3828
4356
|
*/
|
|
3829
4357
|
lastUpdatedDate: string;
|
|
3830
|
-
/**
|
|
3831
|
-
* The lifetime value that was set in the CMS.
|
|
3832
|
-
*/
|
|
3833
|
-
lifetime: number;
|
|
3834
4358
|
/**
|
|
3835
4359
|
* The newsroom that published the article.
|
|
4360
|
+
* @example "vg"
|
|
3836
4361
|
*/
|
|
3837
4362
|
newsroom: string;
|
|
3838
4363
|
/**
|
|
@@ -3849,6 +4374,7 @@ interface IViewArticle {
|
|
|
3849
4374
|
objectType: "Article";
|
|
3850
4375
|
/**
|
|
3851
4376
|
* The publication date of the article.
|
|
4377
|
+
* @format date-time
|
|
3852
4378
|
*/
|
|
3853
4379
|
publicationDate: string;
|
|
3854
4380
|
/**
|
|
@@ -3859,16 +4385,22 @@ interface IViewArticle {
|
|
|
3859
4385
|
* The title of the page.
|
|
3860
4386
|
*/
|
|
3861
4387
|
title: string;
|
|
4388
|
+
/**
|
|
4389
|
+
* Url of the article top or when missing article main image.
|
|
4390
|
+
*/
|
|
4391
|
+
topImageUrl?: string;
|
|
3862
4392
|
/**
|
|
3863
4393
|
* The type of article.
|
|
3864
4394
|
*/
|
|
3865
4395
|
variant: "Article" | "LiveArticle" | "Special";
|
|
3866
4396
|
/**
|
|
3867
4397
|
* The version counter of the article.
|
|
4398
|
+
* @minimum 0
|
|
3868
4399
|
*/
|
|
3869
4400
|
versionCounter: number;
|
|
3870
4401
|
/**
|
|
3871
4402
|
* The number of words in this version of the article.
|
|
4403
|
+
* @exclusiveMinimum 0
|
|
3872
4404
|
*/
|
|
3873
4405
|
wordCount: number;
|
|
3874
4406
|
};
|
|
@@ -3881,6 +4413,7 @@ interface IViewArticle {
|
|
|
3881
4413
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
|
|
3882
4414
|
/**
|
|
3883
4415
|
* The pageviewID.
|
|
4416
|
+
* @format uuid
|
|
3884
4417
|
*/
|
|
3885
4418
|
pageviewId: string;
|
|
3886
4419
|
referrer?: IPageRef;
|
|
@@ -3889,6 +4422,8 @@ interface IViewArticle {
|
|
|
3889
4422
|
provider: IProvider;
|
|
3890
4423
|
/**
|
|
3891
4424
|
* The schema of the event.
|
|
4425
|
+
* @format uri
|
|
4426
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3892
4427
|
*/
|
|
3893
4428
|
schema: string;
|
|
3894
4429
|
session: ISession;
|
|
@@ -3899,12 +4434,15 @@ interface IViewArticle {
|
|
|
3899
4434
|
interface IViewAudioPage {
|
|
3900
4435
|
/**
|
|
3901
4436
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4437
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4438
|
+
* @example "1.2.3"
|
|
3902
4439
|
*/
|
|
3903
4440
|
catalogVersion: string;
|
|
3904
4441
|
consents: IConsents;
|
|
3905
4442
|
device: IDevice;
|
|
3906
4443
|
/**
|
|
3907
4444
|
* The unique identifier for the event.
|
|
4445
|
+
* @format uuid
|
|
3908
4446
|
*/
|
|
3909
4447
|
eventId: string;
|
|
3910
4448
|
/**
|
|
@@ -3944,6 +4482,7 @@ interface IViewAudioPage {
|
|
|
3944
4482
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
3945
4483
|
/**
|
|
3946
4484
|
* The pageviewID.
|
|
4485
|
+
* @format uuid
|
|
3947
4486
|
*/
|
|
3948
4487
|
pageviewId: string;
|
|
3949
4488
|
referrer?: IPageRef;
|
|
@@ -3952,6 +4491,8 @@ interface IViewAudioPage {
|
|
|
3952
4491
|
provider: IProvider;
|
|
3953
4492
|
/**
|
|
3954
4493
|
* URL to the JSON schema for this event.
|
|
4494
|
+
* @format uri
|
|
4495
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
3955
4496
|
*/
|
|
3956
4497
|
schema: string;
|
|
3957
4498
|
session: ISession;
|
|
@@ -3962,12 +4503,15 @@ interface IViewAudioPage {
|
|
|
3962
4503
|
interface IViewError {
|
|
3963
4504
|
/**
|
|
3964
4505
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4506
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4507
|
+
* @example "1.2.3"
|
|
3965
4508
|
*/
|
|
3966
4509
|
catalogVersion: string;
|
|
3967
4510
|
consents: IConsents;
|
|
3968
4511
|
device: IDevice;
|
|
3969
4512
|
/**
|
|
3970
4513
|
* Event ID
|
|
4514
|
+
* @format uuid
|
|
3971
4515
|
*/
|
|
3972
4516
|
eventId: string;
|
|
3973
4517
|
eventType: "View";
|
|
@@ -3979,10 +4523,12 @@ interface IViewError {
|
|
|
3979
4523
|
category?: string;
|
|
3980
4524
|
/**
|
|
3981
4525
|
* The response code of the page.
|
|
4526
|
+
* @example 418
|
|
3982
4527
|
*/
|
|
3983
4528
|
errorCode: number;
|
|
3984
4529
|
/**
|
|
3985
4530
|
* The error message.
|
|
4531
|
+
* @example "I'm a teapot"
|
|
3986
4532
|
*/
|
|
3987
4533
|
errorMessage: string;
|
|
3988
4534
|
/**
|
|
@@ -4010,6 +4556,7 @@ interface IViewError {
|
|
|
4010
4556
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
|
|
4011
4557
|
/**
|
|
4012
4558
|
* The pageviewID.
|
|
4559
|
+
* @format uuid
|
|
4013
4560
|
*/
|
|
4014
4561
|
pageviewId: string;
|
|
4015
4562
|
referrer?: IPageRef;
|
|
@@ -4018,6 +4565,8 @@ interface IViewError {
|
|
|
4018
4565
|
provider: IProvider;
|
|
4019
4566
|
/**
|
|
4020
4567
|
* The schema of the event.
|
|
4568
|
+
* @format uri
|
|
4569
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4021
4570
|
*/
|
|
4022
4571
|
schema: string;
|
|
4023
4572
|
session: ISession;
|
|
@@ -4028,12 +4577,15 @@ interface IViewError {
|
|
|
4028
4577
|
interface IViewFrontpage {
|
|
4029
4578
|
/**
|
|
4030
4579
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4580
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4581
|
+
* @example "1.2.3"
|
|
4031
4582
|
*/
|
|
4032
4583
|
catalogVersion: string;
|
|
4033
4584
|
consents: IConsents;
|
|
4034
4585
|
device: IDevice;
|
|
4035
4586
|
/**
|
|
4036
4587
|
* Event ID
|
|
4588
|
+
* @format uuid
|
|
4037
4589
|
*/
|
|
4038
4590
|
eventId: string;
|
|
4039
4591
|
/**
|
|
@@ -4044,10 +4596,6 @@ interface IViewFrontpage {
|
|
|
4044
4596
|
location?: ILocation;
|
|
4045
4597
|
metrics?: IMetrics;
|
|
4046
4598
|
object: {
|
|
4047
|
-
/**
|
|
4048
|
-
* The location of the page in the brand’s page hierarchy.
|
|
4049
|
-
*/
|
|
4050
|
-
category?: string;
|
|
4051
4599
|
/**
|
|
4052
4600
|
* The engine producing this listing. Use “editorial” for manually curated lists.
|
|
4053
4601
|
*/
|
|
@@ -4058,6 +4606,7 @@ interface IViewFrontpage {
|
|
|
4058
4606
|
isInfinite: boolean;
|
|
4059
4607
|
/**
|
|
4060
4608
|
* The total number of items in the listing, or -1 if unknown.
|
|
4609
|
+
* @minimum -1
|
|
4061
4610
|
*/
|
|
4062
4611
|
itemsTotal: number;
|
|
4063
4612
|
/**
|
|
@@ -4072,10 +4621,6 @@ interface IViewFrontpage {
|
|
|
4072
4621
|
* The type of this page.
|
|
4073
4622
|
*/
|
|
4074
4623
|
objectType: "Frontpage";
|
|
4075
|
-
/**
|
|
4076
|
-
* Indicates how results are sorted. Use “editorial” for manually curated lists.
|
|
4077
|
-
*/
|
|
4078
|
-
sortingMethod: "Time" | "Editorial" | "Relevance" | "Alphabetical";
|
|
4079
4624
|
/**
|
|
4080
4625
|
* The title of the page.
|
|
4081
4626
|
*/
|
|
@@ -4089,6 +4634,7 @@ interface IViewFrontpage {
|
|
|
4089
4634
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4090
4635
|
/**
|
|
4091
4636
|
* The pageviewID.
|
|
4637
|
+
* @format uuid
|
|
4092
4638
|
*/
|
|
4093
4639
|
pageviewId: string;
|
|
4094
4640
|
referrer?: IPageRef;
|
|
@@ -4097,6 +4643,8 @@ interface IViewFrontpage {
|
|
|
4097
4643
|
provider: IProvider;
|
|
4098
4644
|
/**
|
|
4099
4645
|
* The schema of the event.
|
|
4646
|
+
* @format uri
|
|
4647
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4100
4648
|
*/
|
|
4101
4649
|
schema: string;
|
|
4102
4650
|
session: ISession;
|
|
@@ -4107,12 +4655,15 @@ interface IViewFrontpage {
|
|
|
4107
4655
|
interface IViewHealthPage {
|
|
4108
4656
|
/**
|
|
4109
4657
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4658
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4659
|
+
* @example "1.2.3"
|
|
4110
4660
|
*/
|
|
4111
4661
|
catalogVersion: string;
|
|
4112
4662
|
consents: IConsents;
|
|
4113
4663
|
device: IDevice;
|
|
4114
4664
|
/**
|
|
4115
4665
|
* The unique identifier for the event.
|
|
4666
|
+
* @format uuid
|
|
4116
4667
|
*/
|
|
4117
4668
|
eventId: string;
|
|
4118
4669
|
/**
|
|
@@ -4127,20 +4678,24 @@ interface IViewHealthPage {
|
|
|
4127
4678
|
object: {
|
|
4128
4679
|
/**
|
|
4129
4680
|
* Used to pass the same information across events
|
|
4681
|
+
* @example "breakfast"
|
|
4130
4682
|
*/
|
|
4131
4683
|
category?: string;
|
|
4132
4684
|
/**
|
|
4133
4685
|
* Freeform custom properties with dynamic field names for health-specific data
|
|
4686
|
+
* @additionalProperties true
|
|
4134
4687
|
*/
|
|
4135
4688
|
custom?: {
|
|
4136
4689
|
[k: string]: unknown;
|
|
4137
4690
|
};
|
|
4138
4691
|
/**
|
|
4139
4692
|
* Description: The user intent or purpose of this event
|
|
4693
|
+
* @example "view logged foodstuff"
|
|
4140
4694
|
*/
|
|
4141
4695
|
intent?: string;
|
|
4142
4696
|
/**
|
|
4143
4697
|
* The name of page
|
|
4698
|
+
* @example "Logbook"
|
|
4144
4699
|
*/
|
|
4145
4700
|
name: string;
|
|
4146
4701
|
/**
|
|
@@ -4161,6 +4716,7 @@ interface IViewHealthPage {
|
|
|
4161
4716
|
tags?: string[];
|
|
4162
4717
|
/**
|
|
4163
4718
|
* The title of the health page
|
|
4719
|
+
* @example "Be well med Wellobe: Vecka 4"
|
|
4164
4720
|
*/
|
|
4165
4721
|
title?: string;
|
|
4166
4722
|
};
|
|
@@ -4176,6 +4732,7 @@ interface IViewHealthPage {
|
|
|
4176
4732
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4177
4733
|
/**
|
|
4178
4734
|
* The pageviewID.
|
|
4735
|
+
* @format uuid
|
|
4179
4736
|
*/
|
|
4180
4737
|
pageviewId: string;
|
|
4181
4738
|
referrer?: IPageRef;
|
|
@@ -4184,6 +4741,8 @@ interface IViewHealthPage {
|
|
|
4184
4741
|
provider: IProvider;
|
|
4185
4742
|
/**
|
|
4186
4743
|
* URL to the JSON schema for this event.
|
|
4744
|
+
* @format uri
|
|
4745
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4187
4746
|
*/
|
|
4188
4747
|
schema: string;
|
|
4189
4748
|
session: ISession;
|
|
@@ -4194,12 +4753,15 @@ interface IViewHealthPage {
|
|
|
4194
4753
|
interface IViewLandingpage {
|
|
4195
4754
|
/**
|
|
4196
4755
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4756
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4757
|
+
* @example "1.2.3"
|
|
4197
4758
|
*/
|
|
4198
4759
|
catalogVersion: string;
|
|
4199
4760
|
consents: IConsents;
|
|
4200
4761
|
device: IDevice;
|
|
4201
4762
|
/**
|
|
4202
4763
|
* Event ID
|
|
4764
|
+
* @format uuid
|
|
4203
4765
|
*/
|
|
4204
4766
|
eventId: string;
|
|
4205
4767
|
eventType: "View";
|
|
@@ -4230,6 +4792,7 @@ interface IViewLandingpage {
|
|
|
4230
4792
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4231
4793
|
/**
|
|
4232
4794
|
* The pageviewID.
|
|
4795
|
+
* @format uuid
|
|
4233
4796
|
*/
|
|
4234
4797
|
pageviewId: string;
|
|
4235
4798
|
referrer?: IPageRef;
|
|
@@ -4238,6 +4801,8 @@ interface IViewLandingpage {
|
|
|
4238
4801
|
provider: IProvider;
|
|
4239
4802
|
/**
|
|
4240
4803
|
* The schema of the event.
|
|
4804
|
+
* @format uri
|
|
4805
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4241
4806
|
*/
|
|
4242
4807
|
schema: string;
|
|
4243
4808
|
session: ISession;
|
|
@@ -4248,19 +4813,24 @@ interface IViewLandingpage {
|
|
|
4248
4813
|
interface IViewListing {
|
|
4249
4814
|
/**
|
|
4250
4815
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4816
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4817
|
+
* @example "1.2.3"
|
|
4251
4818
|
*/
|
|
4252
4819
|
catalogVersion: string;
|
|
4253
4820
|
consents: IConsents;
|
|
4254
4821
|
device: IDevice;
|
|
4255
4822
|
/**
|
|
4256
4823
|
* Event ID
|
|
4824
|
+
* @format uuid
|
|
4257
4825
|
*/
|
|
4258
4826
|
eventId: string;
|
|
4259
4827
|
eventType: "View";
|
|
4260
4828
|
experiments?: IExperiments;
|
|
4829
|
+
metrics?: IMetrics;
|
|
4261
4830
|
object: {
|
|
4262
4831
|
/**
|
|
4263
4832
|
* The location of the page in the brand’s page hierarchy.
|
|
4833
|
+
* @pattern ^[a-z0-9-]+(>[a-z0-9-]+)*$
|
|
4264
4834
|
*/
|
|
4265
4835
|
category?: string;
|
|
4266
4836
|
/**
|
|
@@ -4273,12 +4843,13 @@ interface IViewListing {
|
|
|
4273
4843
|
isInfinite: boolean;
|
|
4274
4844
|
/**
|
|
4275
4845
|
* The total number of items in the listing, or -1 if unknown.
|
|
4846
|
+
* @minimum -1
|
|
4276
4847
|
*/
|
|
4277
4848
|
itemsTotal: number;
|
|
4278
4849
|
/**
|
|
4279
4850
|
* The type of listing page, e.g. 'tag', 'section' etc.
|
|
4280
4851
|
*/
|
|
4281
|
-
listingType:
|
|
4852
|
+
listingType: "Tag" | "Story" | "Section" | "Search" | "Author" | "Other";
|
|
4282
4853
|
/**
|
|
4283
4854
|
* The unique ID of this page.
|
|
4284
4855
|
*/
|
|
@@ -4293,6 +4864,7 @@ interface IViewListing {
|
|
|
4293
4864
|
objectType: "Listing";
|
|
4294
4865
|
/**
|
|
4295
4866
|
* Current pagination index. Zero if results are not paged.
|
|
4867
|
+
* @minimum 0
|
|
4296
4868
|
*/
|
|
4297
4869
|
pageNumber: number;
|
|
4298
4870
|
/**
|
|
@@ -4312,6 +4884,7 @@ interface IViewListing {
|
|
|
4312
4884
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4313
4885
|
/**
|
|
4314
4886
|
* The pageviewID.
|
|
4887
|
+
* @format uuid
|
|
4315
4888
|
*/
|
|
4316
4889
|
pageviewId: string;
|
|
4317
4890
|
referrer?: IPageRef;
|
|
@@ -4320,6 +4893,8 @@ interface IViewListing {
|
|
|
4320
4893
|
provider: IProvider;
|
|
4321
4894
|
/**
|
|
4322
4895
|
* The schema of the event.
|
|
4896
|
+
* @format uri
|
|
4897
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4323
4898
|
*/
|
|
4324
4899
|
schema: string;
|
|
4325
4900
|
session: ISession;
|
|
@@ -4330,12 +4905,15 @@ interface IViewListing {
|
|
|
4330
4905
|
interface IViewLockedArticle {
|
|
4331
4906
|
/**
|
|
4332
4907
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
4908
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
4909
|
+
* @example "1.2.3"
|
|
4333
4910
|
*/
|
|
4334
4911
|
catalogVersion: string;
|
|
4335
4912
|
consents: IConsents;
|
|
4336
4913
|
device: IDevice;
|
|
4337
4914
|
/**
|
|
4338
4915
|
* Event ID
|
|
4916
|
+
* @format uuid
|
|
4339
4917
|
*/
|
|
4340
4918
|
eventId: string;
|
|
4341
4919
|
/**
|
|
@@ -4343,30 +4921,26 @@ interface IViewLockedArticle {
|
|
|
4343
4921
|
*/
|
|
4344
4922
|
eventType: "View";
|
|
4345
4923
|
experiments?: IExperiments;
|
|
4924
|
+
location?: ILocation;
|
|
4925
|
+
metrics?: IMetrics;
|
|
4346
4926
|
object: {
|
|
4347
4927
|
authors: string[];
|
|
4348
4928
|
/**
|
|
4349
4929
|
* The editorial category of this article.
|
|
4350
4930
|
*/
|
|
4351
4931
|
category: string;
|
|
4352
|
-
/**
|
|
4353
|
-
* The hotness value that was set in the CMS.
|
|
4354
|
-
*/
|
|
4355
|
-
hotness: number;
|
|
4356
4932
|
/**
|
|
4357
4933
|
* True if scrolling up/down transitions to the next or previous article.
|
|
4358
4934
|
*/
|
|
4359
4935
|
isStacked: boolean;
|
|
4360
4936
|
/**
|
|
4361
4937
|
* The publication date of this version of the article.
|
|
4938
|
+
* @format date-time
|
|
4362
4939
|
*/
|
|
4363
4940
|
lastUpdatedDate: string;
|
|
4364
|
-
/**
|
|
4365
|
-
* The lifetime value that was set in the CMS.
|
|
4366
|
-
*/
|
|
4367
|
-
lifetime: number;
|
|
4368
4941
|
/**
|
|
4369
4942
|
* The newsroom that published the article.
|
|
4943
|
+
* @example "vg"
|
|
4370
4944
|
*/
|
|
4371
4945
|
newsroom: string;
|
|
4372
4946
|
/**
|
|
@@ -4391,6 +4965,7 @@ interface IViewLockedArticle {
|
|
|
4391
4965
|
paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
|
|
4392
4966
|
/**
|
|
4393
4967
|
* The publication date of the article.
|
|
4968
|
+
* @format date-time
|
|
4394
4969
|
*/
|
|
4395
4970
|
publicationDate: string;
|
|
4396
4971
|
/**
|
|
@@ -4401,16 +4976,22 @@ interface IViewLockedArticle {
|
|
|
4401
4976
|
* The title of the page.
|
|
4402
4977
|
*/
|
|
4403
4978
|
title: string;
|
|
4979
|
+
/**
|
|
4980
|
+
* Url of the article top or when missing article main image.
|
|
4981
|
+
*/
|
|
4982
|
+
topImageUrl?: string;
|
|
4404
4983
|
/**
|
|
4405
4984
|
* The type of article.
|
|
4406
4985
|
*/
|
|
4407
4986
|
variant: "Article" | "LiveArticle" | "Special";
|
|
4408
4987
|
/**
|
|
4409
4988
|
* The version counter of the article.
|
|
4989
|
+
* @minimum 0
|
|
4410
4990
|
*/
|
|
4411
4991
|
versionCounter: number;
|
|
4412
4992
|
/**
|
|
4413
4993
|
* The number of words in this version of the article.
|
|
4994
|
+
* @exclusiveMinimum 0
|
|
4414
4995
|
*/
|
|
4415
4996
|
wordCount: number;
|
|
4416
4997
|
};
|
|
@@ -4423,6 +5004,7 @@ interface IViewLockedArticle {
|
|
|
4423
5004
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
|
|
4424
5005
|
/**
|
|
4425
5006
|
* The pageviewID.
|
|
5007
|
+
* @format uuid
|
|
4426
5008
|
*/
|
|
4427
5009
|
pageviewId: string;
|
|
4428
5010
|
referrer?: IPageRef;
|
|
@@ -4431,6 +5013,8 @@ interface IViewLockedArticle {
|
|
|
4431
5013
|
provider: IProvider;
|
|
4432
5014
|
/**
|
|
4433
5015
|
* The schema of the event.
|
|
5016
|
+
* @format uri
|
|
5017
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4434
5018
|
*/
|
|
4435
5019
|
schema: string;
|
|
4436
5020
|
session: ISession;
|
|
@@ -4441,12 +5025,15 @@ interface IViewLockedArticle {
|
|
|
4441
5025
|
interface IViewLockedAudioPage {
|
|
4442
5026
|
/**
|
|
4443
5027
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
5028
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
5029
|
+
* @example "1.2.3"
|
|
4444
5030
|
*/
|
|
4445
5031
|
catalogVersion: string;
|
|
4446
5032
|
consents: IConsents;
|
|
4447
5033
|
device: IDevice;
|
|
4448
5034
|
/**
|
|
4449
5035
|
* The unique identifier for the event.
|
|
5036
|
+
* @format uuid
|
|
4450
5037
|
*/
|
|
4451
5038
|
eventId: string;
|
|
4452
5039
|
/**
|
|
@@ -4494,6 +5081,7 @@ interface IViewLockedAudioPage {
|
|
|
4494
5081
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4495
5082
|
/**
|
|
4496
5083
|
* The pageviewID.
|
|
5084
|
+
* @format uuid
|
|
4497
5085
|
*/
|
|
4498
5086
|
pageviewId: string;
|
|
4499
5087
|
referrer?: IPageRef;
|
|
@@ -4502,6 +5090,8 @@ interface IViewLockedAudioPage {
|
|
|
4502
5090
|
provider: IProvider;
|
|
4503
5091
|
/**
|
|
4504
5092
|
* URL to the JSON schema for this event.
|
|
5093
|
+
* @format uri
|
|
5094
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4505
5095
|
*/
|
|
4506
5096
|
schema: string;
|
|
4507
5097
|
session: ISession;
|
|
@@ -4512,12 +5102,15 @@ interface IViewLockedAudioPage {
|
|
|
4512
5102
|
interface IViewLockedVideoPage {
|
|
4513
5103
|
/**
|
|
4514
5104
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
5105
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
5106
|
+
* @example "1.2.3"
|
|
4515
5107
|
*/
|
|
4516
5108
|
catalogVersion: string;
|
|
4517
5109
|
consents: IConsents;
|
|
4518
5110
|
device: IDevice;
|
|
4519
5111
|
/**
|
|
4520
5112
|
* The unique identifier for the event.
|
|
5113
|
+
* @format uuid
|
|
4521
5114
|
*/
|
|
4522
5115
|
eventId: string;
|
|
4523
5116
|
/**
|
|
@@ -4565,6 +5158,7 @@ interface IViewLockedVideoPage {
|
|
|
4565
5158
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4566
5159
|
/**
|
|
4567
5160
|
* The pageviewID.
|
|
5161
|
+
* @format uuid
|
|
4568
5162
|
*/
|
|
4569
5163
|
pageviewId: string;
|
|
4570
5164
|
referrer?: IPageRef;
|
|
@@ -4573,6 +5167,8 @@ interface IViewLockedVideoPage {
|
|
|
4573
5167
|
provider: IProvider;
|
|
4574
5168
|
/**
|
|
4575
5169
|
* URL to the JSON schema for this event.
|
|
5170
|
+
* @format uri
|
|
5171
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4576
5172
|
*/
|
|
4577
5173
|
schema: string;
|
|
4578
5174
|
session: ISession;
|
|
@@ -4583,12 +5179,15 @@ interface IViewLockedVideoPage {
|
|
|
4583
5179
|
interface IViewPage {
|
|
4584
5180
|
/**
|
|
4585
5181
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
5182
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
5183
|
+
* @example "1.2.3"
|
|
4586
5184
|
*/
|
|
4587
5185
|
catalogVersion: string;
|
|
4588
5186
|
consents: IConsents;
|
|
4589
5187
|
device: IDevice;
|
|
4590
5188
|
/**
|
|
4591
5189
|
* Event ID
|
|
5190
|
+
* @format uuid
|
|
4592
5191
|
*/
|
|
4593
5192
|
eventId: string;
|
|
4594
5193
|
/**
|
|
@@ -4628,6 +5227,7 @@ interface IViewPage {
|
|
|
4628
5227
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4629
5228
|
/**
|
|
4630
5229
|
* The pageviewID.
|
|
5230
|
+
* @format uuid
|
|
4631
5231
|
*/
|
|
4632
5232
|
pageviewId: string;
|
|
4633
5233
|
referrer?: IPageRef;
|
|
@@ -4636,6 +5236,8 @@ interface IViewPage {
|
|
|
4636
5236
|
provider: IProvider;
|
|
4637
5237
|
/**
|
|
4638
5238
|
* The schema of the event.
|
|
5239
|
+
* @format uri
|
|
5240
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4639
5241
|
*/
|
|
4640
5242
|
schema: string;
|
|
4641
5243
|
session: ISession;
|
|
@@ -4646,12 +5248,15 @@ interface IViewPage {
|
|
|
4646
5248
|
interface IViewSportsPage {
|
|
4647
5249
|
/**
|
|
4648
5250
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
5251
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
5252
|
+
* @example "1.2.3"
|
|
4649
5253
|
*/
|
|
4650
5254
|
catalogVersion: string;
|
|
4651
5255
|
consents: IConsents;
|
|
4652
5256
|
device: IDevice;
|
|
4653
5257
|
/**
|
|
4654
5258
|
* The unique identifier for the event.
|
|
5259
|
+
* @format uuid
|
|
4655
5260
|
*/
|
|
4656
5261
|
eventId: string;
|
|
4657
5262
|
/**
|
|
@@ -4692,6 +5297,7 @@ interface IViewSportsPage {
|
|
|
4692
5297
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4693
5298
|
/**
|
|
4694
5299
|
* The pageviewID.
|
|
5300
|
+
* @format uuid
|
|
4695
5301
|
*/
|
|
4696
5302
|
pageviewId: string;
|
|
4697
5303
|
referrer?: IPageRef;
|
|
@@ -4700,6 +5306,8 @@ interface IViewSportsPage {
|
|
|
4700
5306
|
provider: IProvider;
|
|
4701
5307
|
/**
|
|
4702
5308
|
* URL to the JSON schema for this event.
|
|
5309
|
+
* @format uri
|
|
5310
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4703
5311
|
*/
|
|
4704
5312
|
schema: string;
|
|
4705
5313
|
session: ISession;
|
|
@@ -4710,12 +5318,15 @@ interface IViewSportsPage {
|
|
|
4710
5318
|
interface IViewTitle {
|
|
4711
5319
|
/**
|
|
4712
5320
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
5321
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
5322
|
+
* @example "1.2.3"
|
|
4713
5323
|
*/
|
|
4714
5324
|
catalogVersion: string;
|
|
4715
5325
|
consents: IConsents;
|
|
4716
5326
|
device: IDevice;
|
|
4717
5327
|
/**
|
|
4718
5328
|
* Event ID
|
|
5329
|
+
* @format uuid
|
|
4719
5330
|
*/
|
|
4720
5331
|
eventId: string;
|
|
4721
5332
|
/**
|
|
@@ -4761,6 +5372,7 @@ interface IViewTitle {
|
|
|
4761
5372
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4762
5373
|
/**
|
|
4763
5374
|
* The pageviewID.
|
|
5375
|
+
* @format uuid
|
|
4764
5376
|
*/
|
|
4765
5377
|
pageviewId: string;
|
|
4766
5378
|
referrer?: IPageRef;
|
|
@@ -4769,6 +5381,8 @@ interface IViewTitle {
|
|
|
4769
5381
|
provider: IProvider;
|
|
4770
5382
|
/**
|
|
4771
5383
|
* The schema of the event.
|
|
5384
|
+
* @format uri
|
|
5385
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4772
5386
|
*/
|
|
4773
5387
|
schema: string;
|
|
4774
5388
|
session: ISession;
|
|
@@ -4779,12 +5393,15 @@ interface IViewTitle {
|
|
|
4779
5393
|
interface IViewVideoPage {
|
|
4780
5394
|
/**
|
|
4781
5395
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
5396
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
5397
|
+
* @example "1.2.3"
|
|
4782
5398
|
*/
|
|
4783
5399
|
catalogVersion: string;
|
|
4784
5400
|
consents: IConsents;
|
|
4785
5401
|
device: IDevice;
|
|
4786
5402
|
/**
|
|
4787
5403
|
* The unique identifier for the event.
|
|
5404
|
+
* @format uuid
|
|
4788
5405
|
*/
|
|
4789
5406
|
eventId: string;
|
|
4790
5407
|
/**
|
|
@@ -4824,6 +5441,7 @@ interface IViewVideoPage {
|
|
|
4824
5441
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4825
5442
|
/**
|
|
4826
5443
|
* The pageviewID.
|
|
5444
|
+
* @format uuid
|
|
4827
5445
|
*/
|
|
4828
5446
|
pageviewId: string;
|
|
4829
5447
|
referrer?: IPageRef;
|
|
@@ -4832,6 +5450,8 @@ interface IViewVideoPage {
|
|
|
4832
5450
|
provider: IProvider;
|
|
4833
5451
|
/**
|
|
4834
5452
|
* URL to the JSON schema for this event.
|
|
5453
|
+
* @format uri
|
|
5454
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4835
5455
|
*/
|
|
4836
5456
|
schema: string;
|
|
4837
5457
|
session: ISession;
|
|
@@ -4842,12 +5462,15 @@ interface IViewVideoPage {
|
|
|
4842
5462
|
interface IViewWeather {
|
|
4843
5463
|
/**
|
|
4844
5464
|
* The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
|
|
5465
|
+
* @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
|
|
5466
|
+
* @example "1.2.3"
|
|
4845
5467
|
*/
|
|
4846
5468
|
catalogVersion: string;
|
|
4847
5469
|
consents: IConsents;
|
|
4848
5470
|
device: IDevice;
|
|
4849
5471
|
/**
|
|
4850
5472
|
* Event ID
|
|
5473
|
+
* @format uuid
|
|
4851
5474
|
*/
|
|
4852
5475
|
eventId: string;
|
|
4853
5476
|
/**
|
|
@@ -4895,6 +5518,7 @@ interface IViewWeather {
|
|
|
4895
5518
|
navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
|
|
4896
5519
|
/**
|
|
4897
5520
|
* The pageviewID.
|
|
5521
|
+
* @format uuid
|
|
4898
5522
|
*/
|
|
4899
5523
|
pageviewId: string;
|
|
4900
5524
|
referrer?: IPageRef;
|
|
@@ -4903,6 +5527,8 @@ interface IViewWeather {
|
|
|
4903
5527
|
provider: IProvider;
|
|
4904
5528
|
/**
|
|
4905
5529
|
* The schema of the event.
|
|
5530
|
+
* @format uri
|
|
5531
|
+
* @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
|
|
4906
5532
|
*/
|
|
4907
5533
|
schema: string;
|
|
4908
5534
|
session: ISession;
|
|
@@ -4910,31 +5536,7 @@ interface IViewWeather {
|
|
|
4910
5536
|
tracker: ITracker;
|
|
4911
5537
|
user?: IUser;
|
|
4912
5538
|
}
|
|
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;
|
|
4914
|
-
type UserParams = Pick<IUser, "hasAnySubscription" | "region"> & {
|
|
4915
|
-
id: string;
|
|
4916
|
-
realm: string;
|
|
4917
|
-
};
|
|
4918
|
-
/**
|
|
4919
|
-
* @private
|
|
4920
|
-
*
|
|
4921
|
-
* @privateRemarks
|
|
4922
|
-
* These can be different from one event type to another, depending on the builders used by that event type.
|
|
4923
|
-
* However, for now, we use the same dependencies for all event types. let's make it more complex only if needed.
|
|
4924
|
-
*/
|
|
4925
|
-
export interface TpaasEventBuilderDependencies {
|
|
4926
|
-
user?: UserParams;
|
|
4927
|
-
autoTrackerVersion: ITracker["autoTrackerVersion"];
|
|
4928
|
-
version: ITracker["version"];
|
|
4929
|
-
isHybrid: ITracker["isHybrid"];
|
|
4930
|
-
consents?: IConsents;
|
|
4931
|
-
providerId: IProvider["providerId"];
|
|
4932
|
-
environmentId: IDevice["environmentId"];
|
|
4933
|
-
jwe: IDevice["jweIds"];
|
|
4934
|
-
pageviewId: string;
|
|
4935
|
-
experiments?: IExperiments;
|
|
4936
|
-
currentPage?: IPageRef;
|
|
4937
|
-
}
|
|
5539
|
+
type ITpaasEvent = IAnonymousViewUIElement | ICancelSubscription | IChangePushNotificationSettings | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementNotification | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionAdSlot | 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;
|
|
4938
5540
|
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";
|
|
4939
5541
|
type DeepOmit<T, K extends string> = T extends readonly unknown[] ? T : T extends object ? {
|
|
4940
5542
|
[P in keyof T as P extends K ? never : P]: DeepOmit<T[P], K extends `${Exclude<P, symbol>}.${infer R}` ? R : never>;
|
|
@@ -4958,25 +5560,44 @@ type OptionalNavigationType<T> = T extends {
|
|
|
4958
5560
|
navigationType?: N;
|
|
4959
5561
|
};
|
|
4960
5562
|
} : T;
|
|
5563
|
+
type WithOptionalPage<T> = T extends TpaasOptionalPageSchemas ? Omit<T, "page"> & {
|
|
5564
|
+
page?: T["page"];
|
|
5565
|
+
} : T;
|
|
5566
|
+
type TpaasOptionalPageSchemas = IAnonymousViewUIElement | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionAdSlot | IImpressionForm | IImpressionHealthUIElement | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
|
|
5567
|
+
type InputParams<T extends ITpaasEvent> = DeepOmit<OptionalNavigationType<WithOptionalPage<T>>, OmittedProperties>;
|
|
5568
|
+
type UserParams = Pick<IUser, "hasAnySubscription" | "region"> & {
|
|
5569
|
+
id: string;
|
|
5570
|
+
realm: string;
|
|
5571
|
+
};
|
|
4961
5572
|
/**
|
|
4962
|
-
* InputParams is a utility type that omits certain properties from a given type T.
|
|
4963
|
-
* @param T - The type from which properties will be omitted.
|
|
4964
5573
|
* @private
|
|
4965
5574
|
*
|
|
4966
5575
|
* @privateRemarks
|
|
5576
|
+
* These can be different from one event type to another, depending on the builders used by that event type.
|
|
5577
|
+
* However, for now, we use the same dependencies for all event types. let's make it more complex only if needed.
|
|
4967
5578
|
*/
|
|
4968
|
-
export
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
5579
|
+
export interface TpaasEventBuilderDependencies {
|
|
5580
|
+
user?: UserParams;
|
|
5581
|
+
autoTrackerVersion: ITracker["autoTrackerVersion"];
|
|
5582
|
+
version: ITracker["version"];
|
|
5583
|
+
isHybrid: ITracker["isHybrid"];
|
|
5584
|
+
consents?: IConsents;
|
|
5585
|
+
providerId: IProvider["providerId"];
|
|
5586
|
+
environmentId: IDevice["environmentId"];
|
|
5587
|
+
jwe: IDevice["jweIds"];
|
|
5588
|
+
pageviewId: string;
|
|
5589
|
+
experiments?: IExperiments;
|
|
5590
|
+
currentPage?: IPageRef;
|
|
5591
|
+
}
|
|
4973
5592
|
/**
|
|
4974
5593
|
* Common builders output to be merged into all events
|
|
4975
5594
|
* @param createdAt
|
|
4976
5595
|
* @param dependencies {TpaasEventBuilderDependencies}
|
|
4977
5596
|
* @private
|
|
4978
5597
|
*/
|
|
4979
|
-
export declare const getCommonBuildersOutput: (createdAt: Date,
|
|
5598
|
+
export declare const getCommonBuildersOutput: (createdAt: Date, dependencies: TpaasEventBuilderDependencies, input: InputParams<Extract<ITpaasEvent, {
|
|
5599
|
+
experiments?: IExperiments;
|
|
5600
|
+
}>>) => {
|
|
4980
5601
|
time: {
|
|
4981
5602
|
createdAt: string;
|
|
4982
5603
|
publishedAt: string | undefined;
|
|
@@ -5031,6 +5652,7 @@ export declare const getCommonBuildersOutput: (createdAt: Date, { autoTrackerVer
|
|
|
5031
5652
|
trackerType: "JS" | "IOS" | "Android" | "Backend";
|
|
5032
5653
|
};
|
|
5033
5654
|
catalogVersion: string;
|
|
5655
|
+
experiments: IExperiments | undefined;
|
|
5034
5656
|
provider: {
|
|
5035
5657
|
providerId: string;
|
|
5036
5658
|
providerSdrn: string;
|
|
@@ -5076,11 +5698,13 @@ export declare function buildCompletedHealthActionEvent(input: InputParams<IComp
|
|
|
5076
5698
|
export declare function buildEngagementHealthUIElementEvent(input: InputParams<IEngagementHealthUIElement>, dependencies: TpaasEventBuilderDependencies): IEngagementHealthUIElement;
|
|
5077
5699
|
export declare function buildViewHealthPageEvent(input: InputParams<IViewHealthPage>, dependencies: TpaasEventBuilderDependencies): IViewHealthPage;
|
|
5078
5700
|
export declare function buildImpressionHealthUIElementEvent(input: InputParams<IImpressionHealthUIElement>, dependencies: TpaasEventBuilderDependencies): IImpressionHealthUIElement;
|
|
5701
|
+
export declare function buildImpressionAdSlotEvent(input: InputParams<IImpressionAdSlot>, dependencies: TpaasEventBuilderDependencies): IImpressionAdSlot;
|
|
5079
5702
|
export declare function buildImpressionFormEvent(input: InputParams<IImpressionForm>, dependencies: TpaasEventBuilderDependencies): IImpressionForm;
|
|
5080
5703
|
export declare function buildImpressionOfferEvent(input: InputParams<IImpressionOffer>, dependencies: TpaasEventBuilderDependencies): IImpressionOffer;
|
|
5081
5704
|
export declare function buildImpressionPlayerEvent(input: InputParams<IImpressionPlayer>, dependencies: TpaasEventBuilderDependencies): IImpressionPlayer;
|
|
5082
5705
|
export declare function buildImpressionTeaserEvent(input: InputParams<IImpressionTeaser>, dependencies: TpaasEventBuilderDependencies): IImpressionTeaser;
|
|
5083
5706
|
export declare function buildImpressionUIElementEvent(input: InputParams<IImpressionUIElement>, dependencies: TpaasEventBuilderDependencies): IImpressionUIElement;
|
|
5084
5707
|
export declare function buildImpressionWidgetEvent(input: InputParams<IImpressionWidget>, dependencies: TpaasEventBuilderDependencies): IImpressionWidget;
|
|
5708
|
+
export declare function isPageType(pageType: string): pageType is (typeof PAGE_TYPE_VALUES)[number];
|
|
5085
5709
|
|
|
5086
5710
|
export {};
|