@walkeros/cli 4.8.1 → 4.8.3-next-1793115089237
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/CHANGELOG.md +115 -3
- package/README.md +2 -2
- package/dist/cli.js +4149 -4149
- package/dist/dev.d.ts +51 -3
- package/dist/dev.js +186 -0
- package/dist/dev.js.map +1 -1
- package/dist/examples/README.md +12 -1
- package/dist/examples/contracts/app.json +261 -0
- package/dist/examples/contracts/base.json +708 -0
- package/dist/examples/contracts/ecommerce.json +963 -0
- package/dist/examples/contracts/leadgen.json +240 -0
- package/dist/examples/contracts/publisher.json +372 -0
- package/dist/examples/contracts/saas.json +229 -0
- package/dist/examples/contracts/travel.json +234 -0
- package/dist/examples/customers/README.md +4 -1
- package/dist/examples/event.json +1 -1
- package/dist/examples/flow-complete.json +107 -130
- package/dist/examples/flow-complete.md +12 -10
- package/dist/examples/flow-order-complete.json +1 -1
- package/dist/examples/flow.json +1 -1
- package/dist/examples/index.d.ts +34 -4
- package/dist/examples/index.js +128 -139
- package/dist/examples/index.js.map +1 -1
- package/dist/examples/shared/README.md +4 -0
- package/dist/index.d.ts +63 -223
- package/dist/index.js +572 -992
- package/dist/index.js.map +1 -1
- package/dist/validate.d.ts +1 -1
- package/dist/validate.js +337 -204
- package/dist/validate.js.map +1 -1
- package/examples/README.md +12 -1
- package/examples/contracts/app.json +261 -0
- package/examples/contracts/base.json +708 -0
- package/examples/contracts/ecommerce.json +963 -0
- package/examples/contracts/leadgen.json +240 -0
- package/examples/contracts/publisher.json +372 -0
- package/examples/contracts/saas.json +229 -0
- package/examples/contracts/travel.json +234 -0
- package/examples/customers/README.md +4 -1
- package/examples/event.json +1 -1
- package/examples/flow-complete.json +107 -130
- package/examples/flow-complete.md +12 -10
- package/examples/flow-order-complete.json +1 -1
- package/examples/flow.json +1 -1
- package/examples/shared/README.md +4 -0
- package/package.json +30 -30
- package/src/telemetry/flow.json +42 -34
- package/dist/examples/test.html +0 -43
- package/dist/examples/web-serve.js +0 -25503
- package/examples/test.html +0 -43
- package/examples/web-serve.js +0 -25503
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
{
|
|
2
|
+
"leadgen": {
|
|
3
|
+
"description": "Events of a B2B lead generation site, from the lead form to the won deal and the company account.",
|
|
4
|
+
"extend": "default",
|
|
5
|
+
"schema": {
|
|
6
|
+
"description": "What every lead generation event adds.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"user": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"account": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "The id of the company account the user belongs to.",
|
|
15
|
+
"examples": ["0e8c78ea9d97a7b8185e8632"]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"events": {
|
|
22
|
+
"lead": {
|
|
23
|
+
"submit": {
|
|
24
|
+
"title": "Lead submit",
|
|
25
|
+
"description": "A visitor sent a form that makes them a lead, such as a contact, demo or quote request. Every lead generation site needs it. The lead is named by its id, its form, or both.",
|
|
26
|
+
"examples": [
|
|
27
|
+
{
|
|
28
|
+
"name": "lead submit",
|
|
29
|
+
"data": {
|
|
30
|
+
"type": "contact",
|
|
31
|
+
"source": "Trade show",
|
|
32
|
+
"value": 2500,
|
|
33
|
+
"currency": "EUR"
|
|
34
|
+
},
|
|
35
|
+
"nested": [
|
|
36
|
+
{
|
|
37
|
+
"entity": "form",
|
|
38
|
+
"data": {
|
|
39
|
+
"id": "contact-form",
|
|
40
|
+
"name": "contact"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"trigger": "submit"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"properties": {
|
|
48
|
+
"data": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"description": "The lead.",
|
|
51
|
+
"dependentRequired": {
|
|
52
|
+
"value": ["currency"]
|
|
53
|
+
},
|
|
54
|
+
"properties": {
|
|
55
|
+
"id": {
|
|
56
|
+
"type": ["string", "number"],
|
|
57
|
+
"description": "The id of the lead in your own system."
|
|
58
|
+
},
|
|
59
|
+
"type": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"description": "What the visitor asked for, such as contact, demo or quote.",
|
|
62
|
+
"examples": ["contact"]
|
|
63
|
+
},
|
|
64
|
+
"source": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"description": "Where the lead came from, such as a trade show.",
|
|
67
|
+
"examples": ["Trade show"]
|
|
68
|
+
},
|
|
69
|
+
"value": {
|
|
70
|
+
"type": "number",
|
|
71
|
+
"description": "The expected value of the lead.",
|
|
72
|
+
"examples": [2500]
|
|
73
|
+
},
|
|
74
|
+
"currency": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"description": "The currency of value, as a three-letter code.",
|
|
77
|
+
"examples": ["EUR"]
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"nested": {
|
|
82
|
+
"type": "array",
|
|
83
|
+
"description": "The form that was sent.",
|
|
84
|
+
"items": {
|
|
85
|
+
"type": "object",
|
|
86
|
+
"properties": {
|
|
87
|
+
"entity": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"description": "A form.",
|
|
90
|
+
"examples": ["form"]
|
|
91
|
+
},
|
|
92
|
+
"data": {
|
|
93
|
+
"type": "object",
|
|
94
|
+
"description": "The form.",
|
|
95
|
+
"properties": {
|
|
96
|
+
"id": {
|
|
97
|
+
"type": ["string", "number"],
|
|
98
|
+
"description": "The id of the form.",
|
|
99
|
+
"examples": ["contact-form"]
|
|
100
|
+
},
|
|
101
|
+
"name": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"description": "The name of the form.",
|
|
104
|
+
"examples": ["contact"]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"anyOf": [
|
|
113
|
+
{
|
|
114
|
+
"required": ["data"],
|
|
115
|
+
"properties": {
|
|
116
|
+
"data": {
|
|
117
|
+
"required": ["id"]
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"required": ["nested"],
|
|
123
|
+
"properties": {
|
|
124
|
+
"nested": {
|
|
125
|
+
"contains": {
|
|
126
|
+
"required": ["entity"],
|
|
127
|
+
"properties": {
|
|
128
|
+
"entity": {
|
|
129
|
+
"enum": ["form"]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
"convert": {
|
|
139
|
+
"title": "Lead convert",
|
|
140
|
+
"description": "A lead became a customer, and the deal is won. Recommended for lead generation sites.",
|
|
141
|
+
"examples": [
|
|
142
|
+
{
|
|
143
|
+
"name": "lead convert",
|
|
144
|
+
"data": {
|
|
145
|
+
"id": "lead_4711",
|
|
146
|
+
"value": 2500,
|
|
147
|
+
"currency": "EUR"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"required": ["data"],
|
|
152
|
+
"properties": {
|
|
153
|
+
"data": {
|
|
154
|
+
"type": "object",
|
|
155
|
+
"description": "The won lead.",
|
|
156
|
+
"required": ["id"],
|
|
157
|
+
"dependentRequired": {
|
|
158
|
+
"value": ["currency"]
|
|
159
|
+
},
|
|
160
|
+
"properties": {
|
|
161
|
+
"id": {
|
|
162
|
+
"type": ["string", "number"],
|
|
163
|
+
"description": "The id of the lead in your own system.",
|
|
164
|
+
"examples": ["lead_4711"]
|
|
165
|
+
},
|
|
166
|
+
"value": {
|
|
167
|
+
"type": "number",
|
|
168
|
+
"description": "The value of the won deal.",
|
|
169
|
+
"examples": [2500]
|
|
170
|
+
},
|
|
171
|
+
"currency": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"description": "The currency of value, as a three-letter code.",
|
|
174
|
+
"examples": ["EUR"]
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"account": {
|
|
182
|
+
"create": {
|
|
183
|
+
"title": "Account create",
|
|
184
|
+
"description": "A company account was created. Recommended for B2B sites with company accounts.",
|
|
185
|
+
"examples": [
|
|
186
|
+
{
|
|
187
|
+
"name": "account create",
|
|
188
|
+
"data": {
|
|
189
|
+
"id": "0e8c78ea9d97a7b8185e8632",
|
|
190
|
+
"name": "Initech",
|
|
191
|
+
"industry": "Technology",
|
|
192
|
+
"employees": 329,
|
|
193
|
+
"plan": "enterprise"
|
|
194
|
+
},
|
|
195
|
+
"user": {
|
|
196
|
+
"id": "us3r",
|
|
197
|
+
"account": "0e8c78ea9d97a7b8185e8632"
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
],
|
|
201
|
+
"required": ["data"],
|
|
202
|
+
"properties": {
|
|
203
|
+
"data": {
|
|
204
|
+
"type": "object",
|
|
205
|
+
"description": "The company account.",
|
|
206
|
+
"required": ["id"],
|
|
207
|
+
"properties": {
|
|
208
|
+
"id": {
|
|
209
|
+
"type": ["string", "number"],
|
|
210
|
+
"description": "The id of the company account.",
|
|
211
|
+
"examples": ["0e8c78ea9d97a7b8185e8632"]
|
|
212
|
+
},
|
|
213
|
+
"name": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"description": "The name of the company.",
|
|
216
|
+
"examples": ["Initech"]
|
|
217
|
+
},
|
|
218
|
+
"industry": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"description": "The industry of the company.",
|
|
221
|
+
"examples": ["Technology"]
|
|
222
|
+
},
|
|
223
|
+
"employees": {
|
|
224
|
+
"type": "number",
|
|
225
|
+
"description": "How many people work at the company.",
|
|
226
|
+
"examples": [329]
|
|
227
|
+
},
|
|
228
|
+
"plan": {
|
|
229
|
+
"type": "string",
|
|
230
|
+
"description": "The plan of the account.",
|
|
231
|
+
"examples": ["enterprise"]
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
{
|
|
2
|
+
"publisher": {
|
|
3
|
+
"description": "Events of a publisher or media site: the pieces people read, the videos they watch and the pieces they share.",
|
|
4
|
+
"extend": "default",
|
|
5
|
+
"events": {
|
|
6
|
+
"content": {
|
|
7
|
+
"view": {
|
|
8
|
+
"title": "Content view",
|
|
9
|
+
"description": "A page about one piece, such as an article or a video, was shown. Recommended for every publisher.",
|
|
10
|
+
"examples": [
|
|
11
|
+
{
|
|
12
|
+
"name": "content view",
|
|
13
|
+
"data": {
|
|
14
|
+
"id": "C_12345",
|
|
15
|
+
"type": "article",
|
|
16
|
+
"title": "How to clean leather",
|
|
17
|
+
"category": "guides"
|
|
18
|
+
},
|
|
19
|
+
"trigger": "load"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"required": ["data"],
|
|
23
|
+
"properties": {
|
|
24
|
+
"data": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"description": "The piece.",
|
|
27
|
+
"required": ["id"],
|
|
28
|
+
"properties": {
|
|
29
|
+
"id": {
|
|
30
|
+
"type": ["string", "number"],
|
|
31
|
+
"description": "The id of the piece.",
|
|
32
|
+
"examples": ["C_12345"]
|
|
33
|
+
},
|
|
34
|
+
"type": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "The format of the piece, such as article or video.",
|
|
37
|
+
"examples": ["article"]
|
|
38
|
+
},
|
|
39
|
+
"title": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "The title of the piece.",
|
|
42
|
+
"examples": ["How to clean leather"]
|
|
43
|
+
},
|
|
44
|
+
"category": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "The category of the piece.",
|
|
47
|
+
"examples": ["guides"]
|
|
48
|
+
},
|
|
49
|
+
"author": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "The author named on the piece."
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"share": {
|
|
58
|
+
"title": "Content share",
|
|
59
|
+
"description": "A reader shared a piece. Recommended for most publishers.",
|
|
60
|
+
"examples": [
|
|
61
|
+
{
|
|
62
|
+
"name": "content share",
|
|
63
|
+
"data": {
|
|
64
|
+
"id": "C_12345"
|
|
65
|
+
},
|
|
66
|
+
"trigger": "click"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"required": ["data"],
|
|
70
|
+
"properties": {
|
|
71
|
+
"data": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"description": "The shared piece.",
|
|
74
|
+
"required": ["id"],
|
|
75
|
+
"properties": {
|
|
76
|
+
"id": {
|
|
77
|
+
"type": ["string", "number"],
|
|
78
|
+
"description": "The id of the piece.",
|
|
79
|
+
"examples": ["C_12345"]
|
|
80
|
+
},
|
|
81
|
+
"method": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "How the piece was shared."
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"video": {
|
|
91
|
+
"start": {
|
|
92
|
+
"title": "Video start",
|
|
93
|
+
"description": "A video started to play for the first time. Every publisher with video needs it. The video is named by its id, its URL, or both.",
|
|
94
|
+
"examples": [
|
|
95
|
+
{
|
|
96
|
+
"name": "video start",
|
|
97
|
+
"data": {
|
|
98
|
+
"id": "0129370",
|
|
99
|
+
"title": "walkerOS in 3 minutes",
|
|
100
|
+
"duration": 183,
|
|
101
|
+
"position": 0,
|
|
102
|
+
"live": false
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"properties": {
|
|
107
|
+
"data": {
|
|
108
|
+
"type": "object",
|
|
109
|
+
"description": "The video.",
|
|
110
|
+
"properties": {
|
|
111
|
+
"id": {
|
|
112
|
+
"type": ["string", "number"],
|
|
113
|
+
"description": "The id of the video.",
|
|
114
|
+
"examples": ["0129370"]
|
|
115
|
+
},
|
|
116
|
+
"url": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"description": "The address of the video."
|
|
119
|
+
},
|
|
120
|
+
"title": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"description": "The title of the video.",
|
|
123
|
+
"examples": ["walkerOS in 3 minutes"]
|
|
124
|
+
},
|
|
125
|
+
"duration": {
|
|
126
|
+
"type": "number",
|
|
127
|
+
"description": "The length of the video in seconds.",
|
|
128
|
+
"examples": [183]
|
|
129
|
+
},
|
|
130
|
+
"provider": {
|
|
131
|
+
"type": "string",
|
|
132
|
+
"description": "The player or video service that plays the video."
|
|
133
|
+
},
|
|
134
|
+
"position": {
|
|
135
|
+
"type": "number",
|
|
136
|
+
"description": "Where playback is, in seconds from the start.",
|
|
137
|
+
"examples": [0]
|
|
138
|
+
},
|
|
139
|
+
"live": {
|
|
140
|
+
"type": "boolean",
|
|
141
|
+
"description": "True for a live stream.",
|
|
142
|
+
"examples": [false]
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"anyOf": [
|
|
148
|
+
{
|
|
149
|
+
"required": ["data"],
|
|
150
|
+
"properties": {
|
|
151
|
+
"data": {
|
|
152
|
+
"required": ["id"]
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"required": ["data"],
|
|
158
|
+
"properties": {
|
|
159
|
+
"data": {
|
|
160
|
+
"required": ["url"]
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
},
|
|
166
|
+
"progress": {
|
|
167
|
+
"title": "Video progress",
|
|
168
|
+
"description": "Playback passed 10, 25, 50 or 75 percent of the video. Recommended for publishers with video.",
|
|
169
|
+
"examples": [
|
|
170
|
+
{
|
|
171
|
+
"name": "video progress",
|
|
172
|
+
"data": {
|
|
173
|
+
"id": "0129370",
|
|
174
|
+
"title": "walkerOS in 3 minutes",
|
|
175
|
+
"duration": 183,
|
|
176
|
+
"percent": 25,
|
|
177
|
+
"position": 46
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
"required": ["data"],
|
|
182
|
+
"properties": {
|
|
183
|
+
"data": {
|
|
184
|
+
"type": "object",
|
|
185
|
+
"description": "The video.",
|
|
186
|
+
"required": ["percent"],
|
|
187
|
+
"properties": {
|
|
188
|
+
"id": {
|
|
189
|
+
"type": ["string", "number"],
|
|
190
|
+
"description": "The id of the video.",
|
|
191
|
+
"examples": ["0129370"]
|
|
192
|
+
},
|
|
193
|
+
"url": {
|
|
194
|
+
"type": "string",
|
|
195
|
+
"description": "The address of the video."
|
|
196
|
+
},
|
|
197
|
+
"title": {
|
|
198
|
+
"type": "string",
|
|
199
|
+
"description": "The title of the video.",
|
|
200
|
+
"examples": ["walkerOS in 3 minutes"]
|
|
201
|
+
},
|
|
202
|
+
"duration": {
|
|
203
|
+
"type": "number",
|
|
204
|
+
"description": "The length of the video in seconds.",
|
|
205
|
+
"examples": [183]
|
|
206
|
+
},
|
|
207
|
+
"percent": {
|
|
208
|
+
"type": "number",
|
|
209
|
+
"description": "The mark playback passed, in percent of the duration: 10, 25, 50 or 75.",
|
|
210
|
+
"examples": [25]
|
|
211
|
+
},
|
|
212
|
+
"position": {
|
|
213
|
+
"type": "number",
|
|
214
|
+
"description": "Where playback is, in seconds from the start.",
|
|
215
|
+
"examples": [46]
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
"anyOf": [
|
|
221
|
+
{
|
|
222
|
+
"required": ["data"],
|
|
223
|
+
"properties": {
|
|
224
|
+
"data": {
|
|
225
|
+
"required": ["id"]
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"required": ["data"],
|
|
231
|
+
"properties": {
|
|
232
|
+
"data": {
|
|
233
|
+
"required": ["url"]
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
]
|
|
238
|
+
},
|
|
239
|
+
"pause": {
|
|
240
|
+
"title": "Video pause",
|
|
241
|
+
"description": "The viewer paused the video. Recommended for publishers with video.",
|
|
242
|
+
"examples": [
|
|
243
|
+
{
|
|
244
|
+
"name": "video pause",
|
|
245
|
+
"data": {
|
|
246
|
+
"id": "0129370",
|
|
247
|
+
"title": "walkerOS in 3 minutes",
|
|
248
|
+
"duration": 183,
|
|
249
|
+
"position": 46
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
],
|
|
253
|
+
"properties": {
|
|
254
|
+
"data": {
|
|
255
|
+
"type": "object",
|
|
256
|
+
"description": "The video.",
|
|
257
|
+
"properties": {
|
|
258
|
+
"id": {
|
|
259
|
+
"type": ["string", "number"],
|
|
260
|
+
"description": "The id of the video.",
|
|
261
|
+
"examples": ["0129370"]
|
|
262
|
+
},
|
|
263
|
+
"url": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"description": "The address of the video."
|
|
266
|
+
},
|
|
267
|
+
"title": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"description": "The title of the video.",
|
|
270
|
+
"examples": ["walkerOS in 3 minutes"]
|
|
271
|
+
},
|
|
272
|
+
"duration": {
|
|
273
|
+
"type": "number",
|
|
274
|
+
"description": "The length of the video in seconds.",
|
|
275
|
+
"examples": [183]
|
|
276
|
+
},
|
|
277
|
+
"position": {
|
|
278
|
+
"type": "number",
|
|
279
|
+
"description": "Where playback was paused, in seconds from the start.",
|
|
280
|
+
"examples": [46]
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
"anyOf": [
|
|
286
|
+
{
|
|
287
|
+
"required": ["data"],
|
|
288
|
+
"properties": {
|
|
289
|
+
"data": {
|
|
290
|
+
"required": ["id"]
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"required": ["data"],
|
|
296
|
+
"properties": {
|
|
297
|
+
"data": {
|
|
298
|
+
"required": ["url"]
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
]
|
|
303
|
+
},
|
|
304
|
+
"complete": {
|
|
305
|
+
"title": "Video complete",
|
|
306
|
+
"description": "The video played to its end. Every publisher with video needs it.",
|
|
307
|
+
"examples": [
|
|
308
|
+
{
|
|
309
|
+
"name": "video complete",
|
|
310
|
+
"data": {
|
|
311
|
+
"id": "0129370",
|
|
312
|
+
"title": "walkerOS in 3 minutes",
|
|
313
|
+
"duration": 183,
|
|
314
|
+
"position": 183
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
],
|
|
318
|
+
"properties": {
|
|
319
|
+
"data": {
|
|
320
|
+
"type": "object",
|
|
321
|
+
"description": "The video.",
|
|
322
|
+
"properties": {
|
|
323
|
+
"id": {
|
|
324
|
+
"type": ["string", "number"],
|
|
325
|
+
"description": "The id of the video.",
|
|
326
|
+
"examples": ["0129370"]
|
|
327
|
+
},
|
|
328
|
+
"url": {
|
|
329
|
+
"type": "string",
|
|
330
|
+
"description": "The address of the video."
|
|
331
|
+
},
|
|
332
|
+
"title": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"description": "The title of the video.",
|
|
335
|
+
"examples": ["walkerOS in 3 minutes"]
|
|
336
|
+
},
|
|
337
|
+
"duration": {
|
|
338
|
+
"type": "number",
|
|
339
|
+
"description": "The length of the video in seconds.",
|
|
340
|
+
"examples": [183]
|
|
341
|
+
},
|
|
342
|
+
"position": {
|
|
343
|
+
"type": "number",
|
|
344
|
+
"description": "Where playback ended, in seconds from the start.",
|
|
345
|
+
"examples": [183]
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"anyOf": [
|
|
351
|
+
{
|
|
352
|
+
"required": ["data"],
|
|
353
|
+
"properties": {
|
|
354
|
+
"data": {
|
|
355
|
+
"required": ["id"]
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"required": ["data"],
|
|
361
|
+
"properties": {
|
|
362
|
+
"data": {
|
|
363
|
+
"required": ["url"]
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
]
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|