@epilot/app-client 0.0.7 → 0.0.9
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/definition.js +1 -1
- package/dist/openapi-runtime.json +31 -0
- package/dist/openapi.d.ts +159 -30
- package/dist/openapi.json +272 -62
- package/package.json +1 -1
package/dist/definition.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={187:function(e,p,t){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(p,"__esModule",{value:!0});var
|
|
1
|
+
(()=>{"use strict";var e={187:function(e,p,t){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(p,"__esModule",{value:!0});var s=r(t(466));p.default=s.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/app-configurations/upload-url":{"post":{"operationId":"getUploadUrl","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations":{"post":{"operationId":"publishApp","requestBody":{"$ref":"#/components/requestBodies/PublishAppRequest"},"responses":{}}},"/v1/app-configurations/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"get":{"operationId":"getAppConfiguration","responses":{}}},"/v1/app":{"get":{"operationId":"listInstalledApps","parameters":[{"name":"componentType","in":"query"},{"name":"enabled","in":"query"},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app/{appId}":{"get":{"operationId":"getInstalledApp","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}},"put":{"operationId":"installApp","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallAppRequest"},"responses":{}},"delete":{"operationId":"uninstallApp","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}}}},"components":{"requestBodies":{"PublishAppRequest":{"required":true,"content":{"application/json":{}}},"InstallAppRequest":{"content":{"application/json":{}}}}}}')}},p={},t=function t(r){var s=p[r];if(void 0!==s)return s.exports;var n=p[r]={exports:{}};return e[r].call(n.exports,n,n.exports,t),n.exports}(187),r=exports;for(var s in t)r[s]=t[s];t.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})})();
|
|
@@ -10,6 +10,27 @@
|
|
|
10
10
|
}
|
|
11
11
|
],
|
|
12
12
|
"paths": {
|
|
13
|
+
"/v1/app-configurations/upload-url": {
|
|
14
|
+
"post": {
|
|
15
|
+
"operationId": "getUploadUrl",
|
|
16
|
+
"requestBody": {
|
|
17
|
+
"required": true,
|
|
18
|
+
"content": {
|
|
19
|
+
"application/json": {}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"responses": {}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"/v1/app-configurations": {
|
|
26
|
+
"post": {
|
|
27
|
+
"operationId": "publishApp",
|
|
28
|
+
"requestBody": {
|
|
29
|
+
"$ref": "#/components/requestBodies/PublishAppRequest"
|
|
30
|
+
},
|
|
31
|
+
"responses": {}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
13
34
|
"/v1/app-configurations/{appId}": {
|
|
14
35
|
"parameters": [
|
|
15
36
|
{
|
|
@@ -32,6 +53,10 @@
|
|
|
32
53
|
"name": "componentType",
|
|
33
54
|
"in": "query"
|
|
34
55
|
},
|
|
56
|
+
{
|
|
57
|
+
"name": "enabled",
|
|
58
|
+
"in": "query"
|
|
59
|
+
},
|
|
35
60
|
{
|
|
36
61
|
"name": "page",
|
|
37
62
|
"in": "query"
|
|
@@ -85,6 +110,12 @@
|
|
|
85
110
|
},
|
|
86
111
|
"components": {
|
|
87
112
|
"requestBodies": {
|
|
113
|
+
"PublishAppRequest": {
|
|
114
|
+
"required": true,
|
|
115
|
+
"content": {
|
|
116
|
+
"application/json": {}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
88
119
|
"InstallAppRequest": {
|
|
89
120
|
"content": {
|
|
90
121
|
"application/json": {}
|
package/dist/openapi.d.ts
CHANGED
|
@@ -16,6 +16,12 @@ declare namespace Components {
|
|
|
16
16
|
*/
|
|
17
17
|
option_values?: Schemas.OptionsRef[];
|
|
18
18
|
}
|
|
19
|
+
export interface PublishAppRequest {
|
|
20
|
+
s3_reference: Schemas.S3Reference;
|
|
21
|
+
metadata?: {
|
|
22
|
+
access_level?: "public" | "private";
|
|
23
|
+
};
|
|
24
|
+
}
|
|
19
25
|
}
|
|
20
26
|
namespace Schemas {
|
|
21
27
|
/**
|
|
@@ -33,6 +39,7 @@ declare namespace Components {
|
|
|
33
39
|
*/
|
|
34
40
|
documentation_url?: string;
|
|
35
41
|
description?: TranslatedString;
|
|
42
|
+
notifications?: NotificationConfig;
|
|
36
43
|
created_by?: string;
|
|
37
44
|
created_at?: string;
|
|
38
45
|
/**
|
|
@@ -102,6 +109,10 @@ declare namespace Components {
|
|
|
102
109
|
* Markdown description of the app.
|
|
103
110
|
*/
|
|
104
111
|
description?: TranslatedString;
|
|
112
|
+
/**
|
|
113
|
+
* Configuration for developer notifications
|
|
114
|
+
*/
|
|
115
|
+
notifications?: NotificationConfig;
|
|
105
116
|
created_by?: string;
|
|
106
117
|
created_at?: string;
|
|
107
118
|
updated_at?: string;
|
|
@@ -124,39 +135,20 @@ declare namespace Components {
|
|
|
124
135
|
access_level?: "public" | "private";
|
|
125
136
|
}
|
|
126
137
|
export interface Author {
|
|
127
|
-
/**
|
|
128
|
-
* Unique identifier for the author
|
|
129
|
-
*/
|
|
130
|
-
id: string;
|
|
131
138
|
/**
|
|
132
139
|
* Name of the author
|
|
133
140
|
*/
|
|
134
|
-
name
|
|
141
|
+
name?: string;
|
|
135
142
|
/**
|
|
136
143
|
* Company of the author
|
|
137
144
|
*/
|
|
138
|
-
company
|
|
145
|
+
company: string;
|
|
139
146
|
/**
|
|
140
147
|
* Email of the author
|
|
141
148
|
*/
|
|
142
149
|
email?: string;
|
|
143
150
|
}
|
|
144
151
|
export type BaseComponent = {
|
|
145
|
-
component_type: "CUSTOM_JOURNEY_BLOCK";
|
|
146
|
-
configuration: JourneyBlockConfig;
|
|
147
|
-
/**
|
|
148
|
-
* Unique identifier for the component
|
|
149
|
-
*/
|
|
150
|
-
id: string;
|
|
151
|
-
name?: TranslatedString;
|
|
152
|
-
/**
|
|
153
|
-
* List of options for the app component
|
|
154
|
-
*/
|
|
155
|
-
options?: /* Options for the component configuration */ Options[];
|
|
156
|
-
} | {
|
|
157
|
-
component_type: "PORTAL_EXTENSION";
|
|
158
|
-
origin?: "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL";
|
|
159
|
-
configuration: PortalExtensionConfig;
|
|
160
152
|
/**
|
|
161
153
|
* Unique identifier for the component
|
|
162
154
|
*/
|
|
@@ -166,7 +158,7 @@ declare namespace Components {
|
|
|
166
158
|
* List of options for the app component
|
|
167
159
|
*/
|
|
168
160
|
options?: /* Options for the component configuration */ Options[];
|
|
169
|
-
};
|
|
161
|
+
} & (JourneyBlockComponent | PortalExtensionComponent);
|
|
170
162
|
export interface BaseComponentCommon {
|
|
171
163
|
/**
|
|
172
164
|
* Unique identifier for the component
|
|
@@ -211,16 +203,61 @@ declare namespace Components {
|
|
|
211
203
|
* Type of app component
|
|
212
204
|
*/
|
|
213
205
|
export type ComponentType = "CUSTOM_JOURNEY_BLOCK" | "PORTAL_EXTENSION";
|
|
206
|
+
export interface JourneyBlockComponent {
|
|
207
|
+
component_type: "CUSTOM_JOURNEY_BLOCK";
|
|
208
|
+
configuration: JourneyBlockConfig;
|
|
209
|
+
}
|
|
210
|
+
export interface JourneyBlockComponentArgs {
|
|
211
|
+
/**
|
|
212
|
+
* Key matching a config_option from the component
|
|
213
|
+
*/
|
|
214
|
+
key: string;
|
|
215
|
+
/**
|
|
216
|
+
* Flag to indicate if this option is required
|
|
217
|
+
*/
|
|
218
|
+
required?: boolean;
|
|
219
|
+
/**
|
|
220
|
+
* Description of what this component arg does
|
|
221
|
+
*/
|
|
222
|
+
description?: TranslatedString;
|
|
223
|
+
/**
|
|
224
|
+
* Human-readable label for the component arg
|
|
225
|
+
*/
|
|
226
|
+
label?: TranslatedString;
|
|
227
|
+
type?: "text" | "number" | "boolean";
|
|
228
|
+
}
|
|
214
229
|
export interface JourneyBlockConfig {
|
|
215
230
|
/**
|
|
216
231
|
* URL of the web component object
|
|
232
|
+
* example:
|
|
233
|
+
* https://cdn.apps.com/123/v1.0.0/bundle.js
|
|
217
234
|
*/
|
|
218
235
|
component_url: string;
|
|
219
236
|
/**
|
|
220
237
|
* Custom element tag for the component
|
|
221
238
|
*/
|
|
222
|
-
component_tag
|
|
239
|
+
component_tag: string;
|
|
240
|
+
/**
|
|
241
|
+
* Arguments to pass to the component
|
|
242
|
+
*/
|
|
243
|
+
component_args?: JourneyBlockComponentArgs[];
|
|
223
244
|
}
|
|
245
|
+
export interface NotificationConfig {
|
|
246
|
+
/**
|
|
247
|
+
* Email address to receive notifications
|
|
248
|
+
* example:
|
|
249
|
+
* developer@example.com
|
|
250
|
+
*/
|
|
251
|
+
email: string; // email
|
|
252
|
+
/**
|
|
253
|
+
* List of events to subscribe to
|
|
254
|
+
*/
|
|
255
|
+
events: [
|
|
256
|
+
NotificationEvent,
|
|
257
|
+
...NotificationEvent[]
|
|
258
|
+
];
|
|
259
|
+
}
|
|
260
|
+
export type NotificationEvent = "app.installed" | "app.uninstalled";
|
|
224
261
|
export interface Option {
|
|
225
262
|
/**
|
|
226
263
|
* Key matching a config_option from the component
|
|
@@ -251,7 +288,11 @@ declare namespace Components {
|
|
|
251
288
|
* Detailed description of what this configuration option does
|
|
252
289
|
*/
|
|
253
290
|
description?: string;
|
|
254
|
-
|
|
291
|
+
/**
|
|
292
|
+
* The configured value for this option. Is only present when the component is installed.
|
|
293
|
+
*/
|
|
294
|
+
value?: string;
|
|
295
|
+
type: "text" | "number" | "boolean" | "secret";
|
|
255
296
|
}
|
|
256
297
|
export interface OptionsRef {
|
|
257
298
|
/**
|
|
@@ -268,12 +309,17 @@ declare namespace Components {
|
|
|
268
309
|
[name: string]: string;
|
|
269
310
|
};
|
|
270
311
|
}
|
|
312
|
+
export interface PortalExtensionComponent {
|
|
313
|
+
component_type: "PORTAL_EXTENSION";
|
|
314
|
+
origin?: "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL";
|
|
315
|
+
configuration: PortalExtensionConfig;
|
|
316
|
+
}
|
|
271
317
|
export interface PortalExtensionConfig {
|
|
272
318
|
id?: string;
|
|
273
319
|
hooks?: {
|
|
274
320
|
id?: string;
|
|
275
321
|
type?: string;
|
|
276
|
-
name?:
|
|
322
|
+
name?: TranslatedString;
|
|
277
323
|
interval?: string[];
|
|
278
324
|
auth?: PortalAuth;
|
|
279
325
|
call?: {
|
|
@@ -289,8 +335,8 @@ declare namespace Components {
|
|
|
289
335
|
links?: {
|
|
290
336
|
id?: string;
|
|
291
337
|
type?: string;
|
|
292
|
-
name?:
|
|
293
|
-
description?:
|
|
338
|
+
name?: TranslatedString;
|
|
339
|
+
description?: TranslatedString;
|
|
294
340
|
condition?: string;
|
|
295
341
|
auth?: PortalAuth;
|
|
296
342
|
redirect?: {
|
|
@@ -327,10 +373,9 @@ declare namespace Components {
|
|
|
327
373
|
}
|
|
328
374
|
export interface UploadFilePayload {
|
|
329
375
|
/**
|
|
330
|
-
*
|
|
331
|
-
* example.manifest.zip
|
|
376
|
+
* ID of the app configuration. Required for app updates.
|
|
332
377
|
*/
|
|
333
|
-
|
|
378
|
+
app_id?: string;
|
|
334
379
|
}
|
|
335
380
|
}
|
|
336
381
|
}
|
|
@@ -355,6 +400,26 @@ declare namespace Paths {
|
|
|
355
400
|
}
|
|
356
401
|
}
|
|
357
402
|
}
|
|
403
|
+
namespace GetUploadUrl {
|
|
404
|
+
export type RequestBody = Components.Schemas.UploadFilePayload;
|
|
405
|
+
namespace Responses {
|
|
406
|
+
export interface $200 {
|
|
407
|
+
/**
|
|
408
|
+
* ID of the app configuration
|
|
409
|
+
*/
|
|
410
|
+
app_id?: string;
|
|
411
|
+
/**
|
|
412
|
+
* Presigned S3 URL for uploading the file
|
|
413
|
+
*/
|
|
414
|
+
upload_url: string;
|
|
415
|
+
s3_reference: Components.Schemas.S3Reference;
|
|
416
|
+
/**
|
|
417
|
+
* Timestamp when the upload URL expires
|
|
418
|
+
*/
|
|
419
|
+
expires_at?: string; // date-time
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
358
423
|
namespace InstallApp {
|
|
359
424
|
namespace Parameters {
|
|
360
425
|
export type AppId = string;
|
|
@@ -373,11 +438,13 @@ declare namespace Paths {
|
|
|
373
438
|
namespace ListInstalledApps {
|
|
374
439
|
namespace Parameters {
|
|
375
440
|
export type ComponentType = /* Type of app component */ Components.Schemas.ComponentType;
|
|
441
|
+
export type Enabled = boolean;
|
|
376
442
|
export type Page = number;
|
|
377
443
|
export type PageSize = number;
|
|
378
444
|
}
|
|
379
445
|
export interface QueryParameters {
|
|
380
446
|
componentType?: Parameters.ComponentType;
|
|
447
|
+
enabled?: Parameters.Enabled;
|
|
381
448
|
page?: Parameters.Page;
|
|
382
449
|
pageSize?: Parameters.PageSize;
|
|
383
450
|
}
|
|
@@ -392,6 +459,19 @@ declare namespace Paths {
|
|
|
392
459
|
}
|
|
393
460
|
}
|
|
394
461
|
}
|
|
462
|
+
namespace PublishApp {
|
|
463
|
+
export type RequestBody = Components.RequestBodies.PublishAppRequest;
|
|
464
|
+
namespace Responses {
|
|
465
|
+
export interface $202 {
|
|
466
|
+
app_id: string;
|
|
467
|
+
status: "pending" | "published";
|
|
468
|
+
/**
|
|
469
|
+
* Step Function execution ARN for status tracking
|
|
470
|
+
*/
|
|
471
|
+
execution_arn?: string;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
}
|
|
395
475
|
namespace UninstallApp {
|
|
396
476
|
namespace Parameters {
|
|
397
477
|
export type AppId = string;
|
|
@@ -417,6 +497,26 @@ declare namespace Paths {
|
|
|
417
497
|
}
|
|
418
498
|
|
|
419
499
|
export interface OperationMethods {
|
|
500
|
+
/**
|
|
501
|
+
* getUploadUrl - getUploadUrl
|
|
502
|
+
*
|
|
503
|
+
* Generate a presigned URL for uploading app package zip file
|
|
504
|
+
*/
|
|
505
|
+
'getUploadUrl'(
|
|
506
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
507
|
+
data?: Paths.GetUploadUrl.RequestBody,
|
|
508
|
+
config?: AxiosRequestConfig
|
|
509
|
+
): OperationResponse<Paths.GetUploadUrl.Responses.$200>
|
|
510
|
+
/**
|
|
511
|
+
* publishApp - publishApp
|
|
512
|
+
*
|
|
513
|
+
* Publish a new app configuration from uploaded zip file
|
|
514
|
+
*/
|
|
515
|
+
'publishApp'(
|
|
516
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
517
|
+
data?: Paths.PublishApp.RequestBody,
|
|
518
|
+
config?: AxiosRequestConfig
|
|
519
|
+
): OperationResponse<Paths.PublishApp.Responses.$202>
|
|
420
520
|
/**
|
|
421
521
|
* getAppConfiguration - getAppConfiguration
|
|
422
522
|
*
|
|
@@ -470,6 +570,30 @@ export interface OperationMethods {
|
|
|
470
570
|
}
|
|
471
571
|
|
|
472
572
|
export interface PathsDictionary {
|
|
573
|
+
['/v1/app-configurations/upload-url']: {
|
|
574
|
+
/**
|
|
575
|
+
* getUploadUrl - getUploadUrl
|
|
576
|
+
*
|
|
577
|
+
* Generate a presigned URL for uploading app package zip file
|
|
578
|
+
*/
|
|
579
|
+
'post'(
|
|
580
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
581
|
+
data?: Paths.GetUploadUrl.RequestBody,
|
|
582
|
+
config?: AxiosRequestConfig
|
|
583
|
+
): OperationResponse<Paths.GetUploadUrl.Responses.$200>
|
|
584
|
+
}
|
|
585
|
+
['/v1/app-configurations']: {
|
|
586
|
+
/**
|
|
587
|
+
* publishApp - publishApp
|
|
588
|
+
*
|
|
589
|
+
* Publish a new app configuration from uploaded zip file
|
|
590
|
+
*/
|
|
591
|
+
'post'(
|
|
592
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
593
|
+
data?: Paths.PublishApp.RequestBody,
|
|
594
|
+
config?: AxiosRequestConfig
|
|
595
|
+
): OperationResponse<Paths.PublishApp.Responses.$202>
|
|
596
|
+
}
|
|
473
597
|
['/v1/app-configurations/{appId}']: {
|
|
474
598
|
/**
|
|
475
599
|
* getAppConfiguration - getAppConfiguration
|
|
@@ -537,11 +661,16 @@ export type BaseComponent = Components.Schemas.BaseComponent;
|
|
|
537
661
|
export type BaseComponentCommon = Components.Schemas.BaseComponentCommon;
|
|
538
662
|
export type CallerIdentity = Components.Schemas.CallerIdentity;
|
|
539
663
|
export type ComponentType = Components.Schemas.ComponentType;
|
|
664
|
+
export type JourneyBlockComponent = Components.Schemas.JourneyBlockComponent;
|
|
665
|
+
export type JourneyBlockComponentArgs = Components.Schemas.JourneyBlockComponentArgs;
|
|
540
666
|
export type JourneyBlockConfig = Components.Schemas.JourneyBlockConfig;
|
|
667
|
+
export type NotificationConfig = Components.Schemas.NotificationConfig;
|
|
668
|
+
export type NotificationEvent = Components.Schemas.NotificationEvent;
|
|
541
669
|
export type Option = Components.Schemas.Option;
|
|
542
670
|
export type Options = Components.Schemas.Options;
|
|
543
671
|
export type OptionsRef = Components.Schemas.OptionsRef;
|
|
544
672
|
export type PortalAuth = Components.Schemas.PortalAuth;
|
|
673
|
+
export type PortalExtensionComponent = Components.Schemas.PortalExtensionComponent;
|
|
545
674
|
export type PortalExtensionConfig = Components.Schemas.PortalExtensionConfig;
|
|
546
675
|
export type S3Reference = Components.Schemas.S3Reference;
|
|
547
676
|
export type TranslatedString = Components.Schemas.TranslatedString;
|
package/dist/openapi.json
CHANGED
|
@@ -22,6 +22,99 @@
|
|
|
22
22
|
}
|
|
23
23
|
],
|
|
24
24
|
"paths": {
|
|
25
|
+
"/v1/app-configurations/upload-url": {
|
|
26
|
+
"post": {
|
|
27
|
+
"summary": "getUploadUrl",
|
|
28
|
+
"description": "Generate a presigned URL for uploading app package zip file",
|
|
29
|
+
"operationId": "getUploadUrl",
|
|
30
|
+
"requestBody": {
|
|
31
|
+
"required": true,
|
|
32
|
+
"content": {
|
|
33
|
+
"application/json": {
|
|
34
|
+
"schema": {
|
|
35
|
+
"$ref": "#/components/schemas/UploadFilePayload"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"responses": {
|
|
41
|
+
"200": {
|
|
42
|
+
"description": "Upload URL generated successfully",
|
|
43
|
+
"content": {
|
|
44
|
+
"application/json": {
|
|
45
|
+
"schema": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"required": [
|
|
48
|
+
"upload_url",
|
|
49
|
+
"s3_reference"
|
|
50
|
+
],
|
|
51
|
+
"properties": {
|
|
52
|
+
"app_id": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "ID of the app configuration"
|
|
55
|
+
},
|
|
56
|
+
"upload_url": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"description": "Presigned S3 URL for uploading the file"
|
|
59
|
+
},
|
|
60
|
+
"s3_reference": {
|
|
61
|
+
"$ref": "#/components/schemas/S3Reference"
|
|
62
|
+
},
|
|
63
|
+
"expires_at": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"format": "date-time",
|
|
66
|
+
"description": "Timestamp when the upload URL expires"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"/v1/app-configurations": {
|
|
77
|
+
"post": {
|
|
78
|
+
"summary": "publishApp",
|
|
79
|
+
"description": "Publish a new app configuration from uploaded zip file",
|
|
80
|
+
"operationId": "publishApp",
|
|
81
|
+
"requestBody": {
|
|
82
|
+
"$ref": "#/components/requestBodies/PublishAppRequest"
|
|
83
|
+
},
|
|
84
|
+
"responses": {
|
|
85
|
+
"202": {
|
|
86
|
+
"description": "App publication process started",
|
|
87
|
+
"content": {
|
|
88
|
+
"application/json": {
|
|
89
|
+
"schema": {
|
|
90
|
+
"type": "object",
|
|
91
|
+
"required": [
|
|
92
|
+
"app_id",
|
|
93
|
+
"status"
|
|
94
|
+
],
|
|
95
|
+
"properties": {
|
|
96
|
+
"app_id": {
|
|
97
|
+
"type": "string"
|
|
98
|
+
},
|
|
99
|
+
"status": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"enum": [
|
|
102
|
+
"pending",
|
|
103
|
+
"published"
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
"execution_arn": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"description": "Step Function execution ARN for status tracking"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
25
118
|
"/v1/app-configurations/{appId}": {
|
|
26
119
|
"parameters": [
|
|
27
120
|
{
|
|
@@ -70,6 +163,14 @@
|
|
|
70
163
|
"description": "Filter apps by specific component type",
|
|
71
164
|
"example": "CUSTOM_JOURNEY_BLOCK"
|
|
72
165
|
},
|
|
166
|
+
{
|
|
167
|
+
"name": "enabled",
|
|
168
|
+
"in": "query",
|
|
169
|
+
"schema": {
|
|
170
|
+
"type": "boolean"
|
|
171
|
+
},
|
|
172
|
+
"description": "Filter apps by enabled status"
|
|
173
|
+
},
|
|
73
174
|
{
|
|
74
175
|
"name": "page",
|
|
75
176
|
"in": "query",
|
|
@@ -209,6 +310,36 @@
|
|
|
209
310
|
},
|
|
210
311
|
"components": {
|
|
211
312
|
"requestBodies": {
|
|
313
|
+
"PublishAppRequest": {
|
|
314
|
+
"required": true,
|
|
315
|
+
"content": {
|
|
316
|
+
"application/json": {
|
|
317
|
+
"schema": {
|
|
318
|
+
"type": "object",
|
|
319
|
+
"required": [
|
|
320
|
+
"s3_reference"
|
|
321
|
+
],
|
|
322
|
+
"properties": {
|
|
323
|
+
"s3_reference": {
|
|
324
|
+
"$ref": "#/components/schemas/S3Reference"
|
|
325
|
+
},
|
|
326
|
+
"metadata": {
|
|
327
|
+
"type": "object",
|
|
328
|
+
"properties": {
|
|
329
|
+
"access_level": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"enum": [
|
|
332
|
+
"public",
|
|
333
|
+
"private"
|
|
334
|
+
]
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
},
|
|
212
343
|
"InstallAppRequest": {
|
|
213
344
|
"content": {
|
|
214
345
|
"application/json": {
|
|
@@ -267,10 +398,14 @@
|
|
|
267
398
|
"type": "string",
|
|
268
399
|
"description": "Detailed description of what this configuration option does"
|
|
269
400
|
},
|
|
401
|
+
"value": {
|
|
402
|
+
"type": "string",
|
|
403
|
+
"description": "The configured value for this option. Is only present when the component is installed."
|
|
404
|
+
},
|
|
270
405
|
"type": {
|
|
271
406
|
"type": "string",
|
|
272
407
|
"enum": [
|
|
273
|
-
"
|
|
408
|
+
"text",
|
|
274
409
|
"number",
|
|
275
410
|
"boolean",
|
|
276
411
|
"secret"
|
|
@@ -317,14 +452,11 @@
|
|
|
317
452
|
"UploadFilePayload": {
|
|
318
453
|
"type": "object",
|
|
319
454
|
"properties": {
|
|
320
|
-
"
|
|
455
|
+
"app_id": {
|
|
321
456
|
"type": "string",
|
|
322
|
-
"
|
|
457
|
+
"description": "ID of the app configuration. Required for app updates."
|
|
323
458
|
}
|
|
324
|
-
}
|
|
325
|
-
"required": [
|
|
326
|
-
"filename"
|
|
327
|
-
]
|
|
459
|
+
}
|
|
328
460
|
},
|
|
329
461
|
"S3Reference": {
|
|
330
462
|
"type": "object",
|
|
@@ -356,14 +488,9 @@
|
|
|
356
488
|
"Author": {
|
|
357
489
|
"type": "object",
|
|
358
490
|
"required": [
|
|
359
|
-
"
|
|
360
|
-
"name"
|
|
491
|
+
"company"
|
|
361
492
|
],
|
|
362
493
|
"properties": {
|
|
363
|
-
"id": {
|
|
364
|
-
"type": "string",
|
|
365
|
-
"description": "Unique identifier for the author"
|
|
366
|
-
},
|
|
367
494
|
"name": {
|
|
368
495
|
"type": "string",
|
|
369
496
|
"description": "Name of the author"
|
|
@@ -378,6 +505,36 @@
|
|
|
378
505
|
}
|
|
379
506
|
}
|
|
380
507
|
},
|
|
508
|
+
"NotificationConfig": {
|
|
509
|
+
"type": "object",
|
|
510
|
+
"required": [
|
|
511
|
+
"email",
|
|
512
|
+
"events"
|
|
513
|
+
],
|
|
514
|
+
"properties": {
|
|
515
|
+
"email": {
|
|
516
|
+
"type": "string",
|
|
517
|
+
"format": "email",
|
|
518
|
+
"description": "Email address to receive notifications",
|
|
519
|
+
"example": "developer@example.com"
|
|
520
|
+
},
|
|
521
|
+
"events": {
|
|
522
|
+
"type": "array",
|
|
523
|
+
"description": "List of events to subscribe to",
|
|
524
|
+
"items": {
|
|
525
|
+
"$ref": "#/components/schemas/NotificationEvent"
|
|
526
|
+
},
|
|
527
|
+
"minItems": 1
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
},
|
|
531
|
+
"NotificationEvent": {
|
|
532
|
+
"type": "string",
|
|
533
|
+
"enum": [
|
|
534
|
+
"app.installed",
|
|
535
|
+
"app.uninstalled"
|
|
536
|
+
]
|
|
537
|
+
},
|
|
381
538
|
"BaseComponentCommon": {
|
|
382
539
|
"type": "object",
|
|
383
540
|
"required": [
|
|
@@ -407,58 +564,65 @@
|
|
|
407
564
|
"$ref": "#/components/schemas/BaseComponentCommon"
|
|
408
565
|
},
|
|
409
566
|
{
|
|
567
|
+
"type": "object",
|
|
568
|
+
"discriminator": {
|
|
569
|
+
"propertyName": "component_type",
|
|
570
|
+
"mapping": {
|
|
571
|
+
"CUSTOM_JOURNEY_BLOCK": "#/components/schemas/JourneyBlockComponent",
|
|
572
|
+
"PORTAL_EXTENSION": "#/components/schemas/PortalExtensionComponent"
|
|
573
|
+
}
|
|
574
|
+
},
|
|
410
575
|
"oneOf": [
|
|
411
576
|
{
|
|
412
|
-
"
|
|
413
|
-
"required": [
|
|
414
|
-
"component_type",
|
|
415
|
-
"configuration"
|
|
416
|
-
],
|
|
417
|
-
"properties": {
|
|
418
|
-
"component_type": {
|
|
419
|
-
"type": "string",
|
|
420
|
-
"enum": [
|
|
421
|
-
"CUSTOM_JOURNEY_BLOCK"
|
|
422
|
-
]
|
|
423
|
-
},
|
|
424
|
-
"configuration": {
|
|
425
|
-
"$ref": "#/components/schemas/JourneyBlockConfig"
|
|
426
|
-
}
|
|
427
|
-
}
|
|
577
|
+
"$ref": "#/components/schemas/JourneyBlockComponent"
|
|
428
578
|
},
|
|
429
579
|
{
|
|
430
|
-
"
|
|
431
|
-
"required": [
|
|
432
|
-
"component_type",
|
|
433
|
-
"configuration"
|
|
434
|
-
],
|
|
435
|
-
"properties": {
|
|
436
|
-
"component_type": {
|
|
437
|
-
"type": "string",
|
|
438
|
-
"enum": [
|
|
439
|
-
"PORTAL_EXTENSION"
|
|
440
|
-
]
|
|
441
|
-
},
|
|
442
|
-
"origin": {
|
|
443
|
-
"type": "string",
|
|
444
|
-
"enum": [
|
|
445
|
-
"END_CUSTOMER_PORTAL",
|
|
446
|
-
"INSTALLER_PORTAL"
|
|
447
|
-
]
|
|
448
|
-
},
|
|
449
|
-
"configuration": {
|
|
450
|
-
"$ref": "#/components/schemas/PortalExtensionConfig"
|
|
451
|
-
}
|
|
452
|
-
}
|
|
580
|
+
"$ref": "#/components/schemas/PortalExtensionComponent"
|
|
453
581
|
}
|
|
454
582
|
]
|
|
455
583
|
}
|
|
584
|
+
]
|
|
585
|
+
},
|
|
586
|
+
"JourneyBlockComponent": {
|
|
587
|
+
"type": "object",
|
|
588
|
+
"required": [
|
|
589
|
+
"component_type",
|
|
590
|
+
"configuration"
|
|
456
591
|
],
|
|
457
|
-
"
|
|
458
|
-
"
|
|
459
|
-
|
|
460
|
-
"
|
|
461
|
-
|
|
592
|
+
"properties": {
|
|
593
|
+
"component_type": {
|
|
594
|
+
"type": "string",
|
|
595
|
+
"enum": [
|
|
596
|
+
"CUSTOM_JOURNEY_BLOCK"
|
|
597
|
+
]
|
|
598
|
+
},
|
|
599
|
+
"configuration": {
|
|
600
|
+
"$ref": "#/components/schemas/JourneyBlockConfig"
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
},
|
|
604
|
+
"PortalExtensionComponent": {
|
|
605
|
+
"type": "object",
|
|
606
|
+
"required": [
|
|
607
|
+
"component_type",
|
|
608
|
+
"configuration"
|
|
609
|
+
],
|
|
610
|
+
"properties": {
|
|
611
|
+
"component_type": {
|
|
612
|
+
"type": "string",
|
|
613
|
+
"enum": [
|
|
614
|
+
"PORTAL_EXTENSION"
|
|
615
|
+
]
|
|
616
|
+
},
|
|
617
|
+
"origin": {
|
|
618
|
+
"type": "string",
|
|
619
|
+
"enum": [
|
|
620
|
+
"END_CUSTOMER_PORTAL",
|
|
621
|
+
"INSTALLER_PORTAL"
|
|
622
|
+
]
|
|
623
|
+
},
|
|
624
|
+
"configuration": {
|
|
625
|
+
"$ref": "#/components/schemas/PortalExtensionConfig"
|
|
462
626
|
}
|
|
463
627
|
}
|
|
464
628
|
},
|
|
@@ -480,7 +644,7 @@
|
|
|
480
644
|
"type": "string"
|
|
481
645
|
},
|
|
482
646
|
"name": {
|
|
483
|
-
"
|
|
647
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
484
648
|
},
|
|
485
649
|
"interval": {
|
|
486
650
|
"type": "array",
|
|
@@ -526,10 +690,10 @@
|
|
|
526
690
|
"type": "string"
|
|
527
691
|
},
|
|
528
692
|
"name": {
|
|
529
|
-
"
|
|
693
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
530
694
|
},
|
|
531
695
|
"description": {
|
|
532
|
-
"
|
|
696
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
533
697
|
},
|
|
534
698
|
"condition": {
|
|
535
699
|
"type": "string"
|
|
@@ -580,16 +744,58 @@
|
|
|
580
744
|
"type": "object",
|
|
581
745
|
"required": [
|
|
582
746
|
"component_url",
|
|
583
|
-
"
|
|
747
|
+
"component_tag"
|
|
584
748
|
],
|
|
585
749
|
"properties": {
|
|
586
750
|
"component_url": {
|
|
587
751
|
"type": "string",
|
|
588
|
-
"description": "URL of the web component object"
|
|
752
|
+
"description": "URL of the web component object",
|
|
753
|
+
"example": "https://cdn.apps.com/123/v1.0.0/bundle.js"
|
|
589
754
|
},
|
|
590
755
|
"component_tag": {
|
|
591
756
|
"type": "string",
|
|
592
757
|
"description": "Custom element tag for the component"
|
|
758
|
+
},
|
|
759
|
+
"component_args": {
|
|
760
|
+
"type": "array",
|
|
761
|
+
"description": "Arguments to pass to the component",
|
|
762
|
+
"items": {
|
|
763
|
+
"$ref": "#/components/schemas/JourneyBlockComponentArgs"
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
},
|
|
768
|
+
"JourneyBlockComponentArgs": {
|
|
769
|
+
"type": "object",
|
|
770
|
+
"required": [
|
|
771
|
+
"key"
|
|
772
|
+
],
|
|
773
|
+
"properties": {
|
|
774
|
+
"key": {
|
|
775
|
+
"type": "string",
|
|
776
|
+
"description": "Key matching a config_option from the component"
|
|
777
|
+
},
|
|
778
|
+
"required": {
|
|
779
|
+
"type": "boolean",
|
|
780
|
+
"description": "Flag to indicate if this option is required",
|
|
781
|
+
"default": false
|
|
782
|
+
},
|
|
783
|
+
"description": {
|
|
784
|
+
"description": "Description of what this component arg does",
|
|
785
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
786
|
+
},
|
|
787
|
+
"label": {
|
|
788
|
+
"description": "Human-readable label for the component arg",
|
|
789
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
790
|
+
},
|
|
791
|
+
"type": {
|
|
792
|
+
"type": "string",
|
|
793
|
+
"enum": [
|
|
794
|
+
"text",
|
|
795
|
+
"number",
|
|
796
|
+
"boolean"
|
|
797
|
+
],
|
|
798
|
+
"default": "text"
|
|
593
799
|
}
|
|
594
800
|
}
|
|
595
801
|
},
|
|
@@ -669,6 +875,10 @@
|
|
|
669
875
|
"$ref": "#/components/schemas/TranslatedString",
|
|
670
876
|
"description": "Markdown description of the app."
|
|
671
877
|
},
|
|
878
|
+
"notifications": {
|
|
879
|
+
"$ref": "#/components/schemas/NotificationConfig",
|
|
880
|
+
"description": "Configuration for developer notifications"
|
|
881
|
+
},
|
|
672
882
|
"created_by": {
|
|
673
883
|
"type": "string",
|
|
674
884
|
"readOnly": true
|