@epilot/app-client 0.12.2 → 0.12.4
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 +35 -0
- package/dist/openapi.d.ts +238 -4
- package/dist/openapi.json +341 -10
- package/package.json +2 -2
package/dist/definition.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={330:function(e,r,t){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var
|
|
1
|
+
(()=>{"use strict";var e={330:function(e,r,t){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var p=n(t(466));r.default=p.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.1.0","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/public/app/{appId}/components/{componentId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"},{"name":"componentId","in":"path","required":true,"description":"ID of the component to retrieve"}],"get":{"operationId":"getPublicFacingComponent","responses":{}}},"/v1/app-configurations":{"get":{"operationId":"listConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}},"post":{"operationId":"createConfiguration","requestBody":{"$ref":"#/components/requestBodies/CreateConfigRequest"},"responses":{}}},"/v1/app-configurations/public":{"get":{"operationId":"listPublicConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/public/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"}],"get":{"operationId":"getPublicConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"get":{"operationId":"getConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}},"patch":{"operationId":"patchMetadata","requestBody":{"$ref":"#/components/requestBodies/PatchConfigMetadataRequest"},"responses":{}},"delete":{"operationId":"deleteConfiguration","responses":{}}},"/v1/app-configurations/{appId}/events":{"post":{"operationId":"queryEvents","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/bundle":{"post":{"operationId":"createBundleUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CreateBundlePresignedRequest"},"responses":{}}},"/v1/app-configurations/{appId}/zip":{"post":{"operationId":"createZipUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/logo":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"post":{"operationId":"createLogoUploadUrl","requestBody":{"$ref":"#/components/requestBodies/CreateLogoPresignedRequest"},"responses":{}},"delete":{"operationId":"deleteLogo","responses":{}}},"/v1/app-configurations/{appId}/versions":{"get":{"operationId":"listVersions","parameters":[{"name":"appId","in":"path","required":true},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}":{"get":{"operationId":"getVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"delete":{"operationId":"deleteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"patch":{"operationId":"patchVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/PatchVersionRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/review":{"get":{"operationId":"getReview","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"post":{"operationId":"createReview","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CreateReviewRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components":{"post":{"operationId":"createComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components/{componentId}":{"patch":{"operationId":"patchComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}},"delete":{"operationId":"deleteComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}":{"post":{"operationId":"cloneVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"sourceVersion","in":"path","required":true},{"name":"targetVersion","in":"path","required":true}],"responses":{}}},"/v1/app":{"get":{"operationId":"listInstallations","parameters":[{"name":"componentType","in":"query"},{"name":"enabled","in":"query"},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app/{appId}":{"get":{"operationId":"getInstallation","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}},"post":{"operationId":"install","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"patch":{"operationId":"patchInstallation","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"delete":{"operationId":"uninstall","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}}},"/v1/app/{appId}/promote-to/{version}":{"post":{"operationId":"promoteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}},"/v1/app-events":{"post":{"operationId":"ingestEvent","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/public/app/{appId}/proxy/{proxyName}/{path}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the installed app"},{"name":"proxyName","in":"path","required":true,"description":"Name of the proxy target as defined in the app manifest"},{"name":"path","in":"path","required":true,"description":"Path to forward to the proxy target"}],"get":{"operationId":"publicProxyGet","responses":{}},"post":{"operationId":"publicProxyPost","requestBody":{"content":{"application/json":{}}},"responses":{}}}},"components":{"requestBodies":{"CreateReviewRequest":{"required":true,"content":{"application/json":{}}},"CreateLogoPresignedRequest":{"required":true,"content":{"application/json":{}}},"CreateBundlePresignedRequest":{"required":true,"content":{"application/json":{}}},"PatchConfigMetadataRequest":{"required":true,"content":{"application/json":{}}},"PatchVersionRequest":{"required":true,"content":{"application/json":{}}},"UpsertComponentRequest":{"required":true,"content":{"application/json":{}}},"CreateConfigRequest":{"required":true,"content":{"application/json":{}}},"InstallRequest":{"content":{"application/json":{}}}}}}')}},r={},t=function t(n){var p=r[n];if(void 0!==p)return p.exports;var o=r[n]={exports:{}};return e[n].call(o.exports,o,o.exports,t),o.exports}(330),n=exports;for(var p in t)n[p]=t[p];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
|
|
@@ -501,6 +501,41 @@
|
|
|
501
501
|
},
|
|
502
502
|
"responses": {}
|
|
503
503
|
}
|
|
504
|
+
},
|
|
505
|
+
"/v1/public/app/{appId}/proxy/{proxyName}/{path}": {
|
|
506
|
+
"parameters": [
|
|
507
|
+
{
|
|
508
|
+
"name": "appId",
|
|
509
|
+
"in": "path",
|
|
510
|
+
"required": true,
|
|
511
|
+
"description": "ID of the installed app"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "proxyName",
|
|
515
|
+
"in": "path",
|
|
516
|
+
"required": true,
|
|
517
|
+
"description": "Name of the proxy target as defined in the app manifest"
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"name": "path",
|
|
521
|
+
"in": "path",
|
|
522
|
+
"required": true,
|
|
523
|
+
"description": "Path to forward to the proxy target"
|
|
524
|
+
}
|
|
525
|
+
],
|
|
526
|
+
"get": {
|
|
527
|
+
"operationId": "publicProxyGet",
|
|
528
|
+
"responses": {}
|
|
529
|
+
},
|
|
530
|
+
"post": {
|
|
531
|
+
"operationId": "publicProxyPost",
|
|
532
|
+
"requestBody": {
|
|
533
|
+
"content": {
|
|
534
|
+
"application/json": {}
|
|
535
|
+
}
|
|
536
|
+
},
|
|
537
|
+
"responses": {}
|
|
538
|
+
}
|
|
504
539
|
}
|
|
505
540
|
},
|
|
506
541
|
"components": {
|
package/dist/openapi.d.ts
CHANGED
|
@@ -138,6 +138,35 @@ declare namespace Components {
|
|
|
138
138
|
};
|
|
139
139
|
}[];
|
|
140
140
|
}
|
|
141
|
+
export interface ApiProxyComponent {
|
|
142
|
+
component_type: "API_PROXY";
|
|
143
|
+
configuration: /* Configuration for an API proxy component */ ApiProxyConfig;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Configuration for an API proxy component
|
|
147
|
+
*/
|
|
148
|
+
export interface ApiProxyConfig {
|
|
149
|
+
/**
|
|
150
|
+
* Human-friendly proxy name used in SDK calls
|
|
151
|
+
*/
|
|
152
|
+
name: string; // ^[a-zA-Z0-9_-]+$
|
|
153
|
+
/**
|
|
154
|
+
* Base URL of the target API. Must be HTTPS.
|
|
155
|
+
*/
|
|
156
|
+
target: string; // uri ^https://
|
|
157
|
+
/**
|
|
158
|
+
* Authentication strategy
|
|
159
|
+
*/
|
|
160
|
+
auth_type: "header" | "bearer" | "oauth2" | "none";
|
|
161
|
+
/**
|
|
162
|
+
* Header name for 'header' auth type
|
|
163
|
+
*/
|
|
164
|
+
auth_header?: string;
|
|
165
|
+
/**
|
|
166
|
+
* OAuth2 token endpoint URL
|
|
167
|
+
*/
|
|
168
|
+
token_url?: string; // uri ^https://
|
|
169
|
+
}
|
|
141
170
|
export interface AppBridgeSurfaceConfig {
|
|
142
171
|
/**
|
|
143
172
|
* URL of the uploaded App Bridge App. This is the entrypoint for the app
|
|
@@ -245,7 +274,7 @@ declare namespace Components {
|
|
|
245
274
|
surfaces?: {
|
|
246
275
|
[key: string]: any;
|
|
247
276
|
};
|
|
248
|
-
} & (JourneyBlockComponent | PortalBlockComponent | PortalExtensionComponent | CustomFlowActionComponent | ErpInformToolkitComponent | CustomCapabilityComponent | ExternalProductCatalogComponent | CustomPageComponent);
|
|
277
|
+
} & (JourneyBlockComponent | PortalBlockComponent | PortalExtensionComponent | CustomFlowActionComponent | ErpInformToolkitComponent | CustomCapabilityComponent | ExternalProductCatalogComponent | CustomPageComponent | ApiProxyComponent);
|
|
249
278
|
export interface BaseComponentCommon {
|
|
250
279
|
/**
|
|
251
280
|
* Unique identifier for the component
|
|
@@ -407,6 +436,22 @@ declare namespace Components {
|
|
|
407
436
|
* How often the subscription is billed
|
|
408
437
|
*/
|
|
409
438
|
export type BillingFrequency = "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM";
|
|
439
|
+
/**
|
|
440
|
+
* References another journey block by its ID. The configuring user picks
|
|
441
|
+
* a block from the journey via a dropdown in the journey-builder; the
|
|
442
|
+
* chosen block's ID is stored as the arg value (a string). The bundle can
|
|
443
|
+
* then call `subscribe(blockId, cb)` / `getValue(blockId)` against that ID.
|
|
444
|
+
*
|
|
445
|
+
*/
|
|
446
|
+
export interface BlockReferenceArg {
|
|
447
|
+
type?: "block_reference";
|
|
448
|
+
/**
|
|
449
|
+
* Restrict the picker to blocks of these journey block types
|
|
450
|
+
* (e.g. ["availability-check", "address"]). Omit to allow any type.
|
|
451
|
+
*
|
|
452
|
+
*/
|
|
453
|
+
allowed_types?: string[];
|
|
454
|
+
}
|
|
410
455
|
export interface BlueprintRef {
|
|
411
456
|
/**
|
|
412
457
|
* ID of the blueprint
|
|
@@ -453,7 +498,7 @@ declare namespace Components {
|
|
|
453
498
|
/**
|
|
454
499
|
* Type of app component
|
|
455
500
|
*/
|
|
456
|
-
export type ComponentType = "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE";
|
|
501
|
+
export type ComponentType = "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE" | "API_PROXY";
|
|
457
502
|
/**
|
|
458
503
|
* Configuration of the published app
|
|
459
504
|
*/
|
|
@@ -1214,7 +1259,7 @@ declare namespace Components {
|
|
|
1214
1259
|
* Unique identifier for this component arg
|
|
1215
1260
|
*/
|
|
1216
1261
|
key: string;
|
|
1217
|
-
type: "text" | "boolean" | "enum";
|
|
1262
|
+
type: "text" | "boolean" | "enum" | "block_reference";
|
|
1218
1263
|
/**
|
|
1219
1264
|
* Flag to indicate if this option is required
|
|
1220
1265
|
*/
|
|
@@ -1245,7 +1290,14 @@ declare namespace Components {
|
|
|
1245
1290
|
*/
|
|
1246
1291
|
de: string;
|
|
1247
1292
|
};
|
|
1248
|
-
} & (TextArg | BooleanArg | EnumArg
|
|
1293
|
+
} & (TextArg | BooleanArg | EnumArg | /**
|
|
1294
|
+
* References another journey block by its ID. The configuring user picks
|
|
1295
|
+
* a block from the journey via a dropdown in the journey-builder; the
|
|
1296
|
+
* chosen block's ID is stored as the arg value (a string). The bundle can
|
|
1297
|
+
* then call `subscribe(blockId, cb)` / `getValue(blockId)` against that ID.
|
|
1298
|
+
*
|
|
1299
|
+
*/
|
|
1300
|
+
BlockReferenceArg);
|
|
1249
1301
|
export interface JourneyBlockConfig {
|
|
1250
1302
|
override_dev_mode?: /* Override URL when app is in dev mode */ OverrideDevMode;
|
|
1251
1303
|
/**
|
|
@@ -1445,6 +1497,11 @@ declare namespace Components {
|
|
|
1445
1497
|
*
|
|
1446
1498
|
*/
|
|
1447
1499
|
PortalExtensionHookConsumptionDataRetrieval | /**
|
|
1500
|
+
* Hook that takes over the export of consumption data from the portal. When defined, the portal delegates exporting (e.g. CSV/Excel/PDF download) to the configured external source instead of generating the export itself. This hook is triggered when an end user requests a consumption export. The expected response to the call is:
|
|
1501
|
+
* - 200 with a JSON body describing the exported file (download_url, optional filename, content_type, expires_at)
|
|
1502
|
+
*
|
|
1503
|
+
*/
|
|
1504
|
+
PortalExtensionHookConsumptionExport | /**
|
|
1448
1505
|
* Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
|
|
1449
1506
|
* - 200 with the time series data
|
|
1450
1507
|
*
|
|
@@ -1488,6 +1545,16 @@ declare namespace Components {
|
|
|
1488
1545
|
};
|
|
1489
1546
|
}[];
|
|
1490
1547
|
}
|
|
1548
|
+
/**
|
|
1549
|
+
* An aggregation method advertised by a consumption data retrieval hook.
|
|
1550
|
+
*/
|
|
1551
|
+
export interface PortalExtensionHookConsumptionAggregationMethodOption {
|
|
1552
|
+
/**
|
|
1553
|
+
* Identifier of the option. Matches the `aggregation_method` value returned by the hook.
|
|
1554
|
+
*/
|
|
1555
|
+
id: "sum" | "average" | "min" | "max";
|
|
1556
|
+
label: TranslatedString;
|
|
1557
|
+
}
|
|
1491
1558
|
/**
|
|
1492
1559
|
* Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
|
|
1493
1560
|
* - 200 with the time series data
|
|
@@ -1504,6 +1571,16 @@ declare namespace Components {
|
|
|
1504
1571
|
* Intervals supported by the API. If omitted, it is assumed that all intervals are supported.
|
|
1505
1572
|
*/
|
|
1506
1573
|
intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M")[];
|
|
1574
|
+
/**
|
|
1575
|
+
* Consumption types advertised by the hook (e.g. `ht`/`nt`, `feed-in`/`feed-out`). The `id` has to match the `type` field returned in the consumption response.
|
|
1576
|
+
*
|
|
1577
|
+
*/
|
|
1578
|
+
type_options?: /* A consumption type advertised by a consumption data retrieval hook. */ PortalExtensionHookConsumptionOption[];
|
|
1579
|
+
/**
|
|
1580
|
+
* Aggregation methods advertised by the hook (e.g. `sum`, `average`, `min`, `max`). The `id` has to match the `aggregation_method` field returned in the consumption response.
|
|
1581
|
+
*
|
|
1582
|
+
*/
|
|
1583
|
+
aggregation_method_options?: /* An aggregation method advertised by a consumption data retrieval hook. */ PortalExtensionHookConsumptionAggregationMethodOption[];
|
|
1507
1584
|
auth?: PortalExtensionAuthBlock;
|
|
1508
1585
|
call: {
|
|
1509
1586
|
/**
|
|
@@ -1540,11 +1617,72 @@ declare namespace Components {
|
|
|
1540
1617
|
dataPath?: string;
|
|
1541
1618
|
};
|
|
1542
1619
|
/**
|
|
1620
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1621
|
+
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1622
|
+
*
|
|
1623
|
+
*/
|
|
1624
|
+
use_static_ips?: boolean;
|
|
1625
|
+
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
1626
|
+
}
|
|
1627
|
+
/**
|
|
1628
|
+
* Hook that takes over the export of consumption data from the portal. When defined, the portal delegates exporting (e.g. CSV/Excel/PDF download) to the configured external source instead of generating the export itself. This hook is triggered when an end user requests a consumption export. The expected response to the call is:
|
|
1629
|
+
* - 200 with a JSON body describing the exported file (download_url, optional filename, content_type, expires_at)
|
|
1630
|
+
*
|
|
1631
|
+
*/
|
|
1632
|
+
export interface PortalExtensionHookConsumptionExport {
|
|
1633
|
+
/**
|
|
1634
|
+
* Identifier of the hook. Should not change between updates.
|
|
1635
|
+
*/
|
|
1636
|
+
id: string; // ^[a-zA-Z0-9_-]+$
|
|
1637
|
+
name?: TranslatedString;
|
|
1638
|
+
type: "consumptionExport";
|
|
1639
|
+
auth?: PortalExtensionAuthBlock;
|
|
1640
|
+
call: {
|
|
1641
|
+
/**
|
|
1642
|
+
* HTTP method to use for the call
|
|
1643
|
+
*/
|
|
1644
|
+
method?: string;
|
|
1645
|
+
/**
|
|
1646
|
+
* URL to call. Supports variable interpolation.
|
|
1647
|
+
*/
|
|
1648
|
+
url: string;
|
|
1649
|
+
/**
|
|
1650
|
+
* Parameters to append to the URL. Supports variable interpolation.
|
|
1651
|
+
*/
|
|
1652
|
+
params?: {
|
|
1653
|
+
[name: string]: string;
|
|
1654
|
+
};
|
|
1655
|
+
/**
|
|
1656
|
+
* Headers to use. Supports variable interpolation.
|
|
1657
|
+
*/
|
|
1658
|
+
headers?: {
|
|
1659
|
+
[name: string]: string;
|
|
1660
|
+
};
|
|
1661
|
+
/**
|
|
1662
|
+
* Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
|
|
1663
|
+
*/
|
|
1664
|
+
body?: {
|
|
1665
|
+
[name: string]: any;
|
|
1666
|
+
};
|
|
1667
|
+
};
|
|
1668
|
+
/**
|
|
1669
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1543
1670
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1671
|
+
*
|
|
1544
1672
|
*/
|
|
1545
1673
|
use_static_ips?: boolean;
|
|
1546
1674
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
1547
1675
|
}
|
|
1676
|
+
/**
|
|
1677
|
+
* A consumption type advertised by a consumption data retrieval hook.
|
|
1678
|
+
*/
|
|
1679
|
+
export interface PortalExtensionHookConsumptionOption {
|
|
1680
|
+
/**
|
|
1681
|
+
* Identifier of the option. Matches the `type` value returned by the hook (e.g. `ht`, `nt`, `feed-in`).
|
|
1682
|
+
*/
|
|
1683
|
+
id: string;
|
|
1684
|
+
label: TranslatedString;
|
|
1685
|
+
}
|
|
1548
1686
|
/**
|
|
1549
1687
|
* Hook that replaces the built-in Contract identification for self-assignment. This hook involves an HTTP request whenever a user is trying to self-assign Contract(s).
|
|
1550
1688
|
* The expected response http status code to the call is:
|
|
@@ -1622,7 +1760,9 @@ declare namespace Components {
|
|
|
1622
1760
|
en: string;
|
|
1623
1761
|
};
|
|
1624
1762
|
/**
|
|
1763
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1625
1764
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1765
|
+
*
|
|
1626
1766
|
*/
|
|
1627
1767
|
use_static_ips?: boolean;
|
|
1628
1768
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -1679,7 +1819,9 @@ declare namespace Components {
|
|
|
1679
1819
|
dataPath?: string;
|
|
1680
1820
|
};
|
|
1681
1821
|
/**
|
|
1822
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1682
1823
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1824
|
+
*
|
|
1683
1825
|
*/
|
|
1684
1826
|
use_static_ips?: boolean;
|
|
1685
1827
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -1773,7 +1915,9 @@ declare namespace Components {
|
|
|
1773
1915
|
lower_limit?: string;
|
|
1774
1916
|
};
|
|
1775
1917
|
/**
|
|
1918
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1776
1919
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1920
|
+
*
|
|
1777
1921
|
*/
|
|
1778
1922
|
use_static_ips?: boolean;
|
|
1779
1923
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -1830,7 +1974,9 @@ declare namespace Components {
|
|
|
1830
1974
|
dataPath?: string;
|
|
1831
1975
|
};
|
|
1832
1976
|
/**
|
|
1977
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1833
1978
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1979
|
+
*
|
|
1834
1980
|
*/
|
|
1835
1981
|
use_static_ips?: boolean;
|
|
1836
1982
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -1882,7 +2028,9 @@ declare namespace Components {
|
|
|
1882
2028
|
result: string;
|
|
1883
2029
|
};
|
|
1884
2030
|
/**
|
|
2031
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1885
2032
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
2033
|
+
*
|
|
1886
2034
|
*/
|
|
1887
2035
|
use_static_ips?: boolean;
|
|
1888
2036
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -2607,6 +2755,32 @@ declare namespace Paths {
|
|
|
2607
2755
|
}
|
|
2608
2756
|
}
|
|
2609
2757
|
}
|
|
2758
|
+
namespace PublicProxyGet {
|
|
2759
|
+
namespace Responses {
|
|
2760
|
+
export interface $200 {
|
|
2761
|
+
}
|
|
2762
|
+
export interface $403 {
|
|
2763
|
+
}
|
|
2764
|
+
export interface $404 {
|
|
2765
|
+
}
|
|
2766
|
+
export interface $502 {
|
|
2767
|
+
}
|
|
2768
|
+
}
|
|
2769
|
+
}
|
|
2770
|
+
namespace PublicProxyPost {
|
|
2771
|
+
export interface RequestBody {
|
|
2772
|
+
}
|
|
2773
|
+
namespace Responses {
|
|
2774
|
+
export interface $200 {
|
|
2775
|
+
}
|
|
2776
|
+
export interface $403 {
|
|
2777
|
+
}
|
|
2778
|
+
export interface $404 {
|
|
2779
|
+
}
|
|
2780
|
+
export interface $502 {
|
|
2781
|
+
}
|
|
2782
|
+
}
|
|
2783
|
+
}
|
|
2610
2784
|
namespace QueryEvents {
|
|
2611
2785
|
namespace Parameters {
|
|
2612
2786
|
export type AppId = string;
|
|
@@ -2671,6 +2845,18 @@ declare namespace Paths {
|
|
|
2671
2845
|
componentId: Parameters.ComponentId;
|
|
2672
2846
|
}
|
|
2673
2847
|
}
|
|
2848
|
+
namespace V1PublicApp$AppIdProxy$ProxyName$Path {
|
|
2849
|
+
namespace Parameters {
|
|
2850
|
+
export type AppId = string;
|
|
2851
|
+
export type Path = string;
|
|
2852
|
+
export type ProxyName = string;
|
|
2853
|
+
}
|
|
2854
|
+
export interface PathParameters {
|
|
2855
|
+
appId: Parameters.AppId;
|
|
2856
|
+
proxyName: Parameters.ProxyName;
|
|
2857
|
+
path: Parameters.Path;
|
|
2858
|
+
}
|
|
2859
|
+
}
|
|
2674
2860
|
}
|
|
2675
2861
|
|
|
2676
2862
|
|
|
@@ -2976,6 +3162,26 @@ export interface OperationMethods {
|
|
|
2976
3162
|
data?: Paths.IngestEvent.RequestBody,
|
|
2977
3163
|
config?: AxiosRequestConfig
|
|
2978
3164
|
): OperationResponse<Paths.IngestEvent.Responses.$202>
|
|
3165
|
+
/**
|
|
3166
|
+
* publicProxyGet - publicProxyGet
|
|
3167
|
+
*
|
|
3168
|
+
* Forward a GET request to a registered proxy target from a public-facing component (e.g. journey blocks)
|
|
3169
|
+
*/
|
|
3170
|
+
'publicProxyGet'(
|
|
3171
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
3172
|
+
data?: any,
|
|
3173
|
+
config?: AxiosRequestConfig
|
|
3174
|
+
): OperationResponse<Paths.PublicProxyGet.Responses.$200>
|
|
3175
|
+
/**
|
|
3176
|
+
* publicProxyPost - publicProxyPost
|
|
3177
|
+
*
|
|
3178
|
+
* Forward a POST request to a registered proxy target from a public-facing component (e.g. journey blocks)
|
|
3179
|
+
*/
|
|
3180
|
+
'publicProxyPost'(
|
|
3181
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
3182
|
+
data?: Paths.PublicProxyPost.RequestBody,
|
|
3183
|
+
config?: AxiosRequestConfig
|
|
3184
|
+
): OperationResponse<Paths.PublicProxyPost.Responses.$200>
|
|
2979
3185
|
}
|
|
2980
3186
|
|
|
2981
3187
|
export interface PathsDictionary {
|
|
@@ -3318,6 +3524,28 @@ export interface PathsDictionary {
|
|
|
3318
3524
|
config?: AxiosRequestConfig
|
|
3319
3525
|
): OperationResponse<Paths.IngestEvent.Responses.$202>
|
|
3320
3526
|
}
|
|
3527
|
+
['/v1/public/app/{appId}/proxy/{proxyName}/{path}']: {
|
|
3528
|
+
/**
|
|
3529
|
+
* publicProxyGet - publicProxyGet
|
|
3530
|
+
*
|
|
3531
|
+
* Forward a GET request to a registered proxy target from a public-facing component (e.g. journey blocks)
|
|
3532
|
+
*/
|
|
3533
|
+
'get'(
|
|
3534
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
3535
|
+
data?: any,
|
|
3536
|
+
config?: AxiosRequestConfig
|
|
3537
|
+
): OperationResponse<Paths.PublicProxyGet.Responses.$200>
|
|
3538
|
+
/**
|
|
3539
|
+
* publicProxyPost - publicProxyPost
|
|
3540
|
+
*
|
|
3541
|
+
* Forward a POST request to a registered proxy target from a public-facing component (e.g. journey blocks)
|
|
3542
|
+
*/
|
|
3543
|
+
'post'(
|
|
3544
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
3545
|
+
data?: Paths.PublicProxyPost.RequestBody,
|
|
3546
|
+
config?: AxiosRequestConfig
|
|
3547
|
+
): OperationResponse<Paths.PublicProxyPost.Responses.$200>
|
|
3548
|
+
}
|
|
3321
3549
|
}
|
|
3322
3550
|
|
|
3323
3551
|
export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
|
|
@@ -3325,6 +3553,8 @@ export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
|
|
|
3325
3553
|
|
|
3326
3554
|
export type Actor = Components.Schemas.Actor;
|
|
3327
3555
|
export type AggregatedEvents = Components.Schemas.AggregatedEvents;
|
|
3556
|
+
export type ApiProxyComponent = Components.Schemas.ApiProxyComponent;
|
|
3557
|
+
export type ApiProxyConfig = Components.Schemas.ApiProxyConfig;
|
|
3328
3558
|
export type AppBridgeSurfaceConfig = Components.Schemas.AppBridgeSurfaceConfig;
|
|
3329
3559
|
export type AppEventData = Components.Schemas.AppEventData;
|
|
3330
3560
|
export type Audit = Components.Schemas.Audit;
|
|
@@ -3334,6 +3564,7 @@ export type BaseComponentCommon = Components.Schemas.BaseComponentCommon;
|
|
|
3334
3564
|
export type BaseCustomActionConfig = Components.Schemas.BaseCustomActionConfig;
|
|
3335
3565
|
export type BatchEventRequest = Components.Schemas.BatchEventRequest;
|
|
3336
3566
|
export type BillingFrequency = Components.Schemas.BillingFrequency;
|
|
3567
|
+
export type BlockReferenceArg = Components.Schemas.BlockReferenceArg;
|
|
3337
3568
|
export type BlueprintRef = Components.Schemas.BlueprintRef;
|
|
3338
3569
|
export type BooleanArg = Components.Schemas.BooleanArg;
|
|
3339
3570
|
export type CallerIdentity = Components.Schemas.CallerIdentity;
|
|
@@ -3373,7 +3604,10 @@ export type PortalBlockSurfaceConfig = Components.Schemas.PortalBlockSurfaceConf
|
|
|
3373
3604
|
export type PortalExtensionAuthBlock = Components.Schemas.PortalExtensionAuthBlock;
|
|
3374
3605
|
export type PortalExtensionComponent = Components.Schemas.PortalExtensionComponent;
|
|
3375
3606
|
export type PortalExtensionConfig = Components.Schemas.PortalExtensionConfig;
|
|
3607
|
+
export type PortalExtensionHookConsumptionAggregationMethodOption = Components.Schemas.PortalExtensionHookConsumptionAggregationMethodOption;
|
|
3376
3608
|
export type PortalExtensionHookConsumptionDataRetrieval = Components.Schemas.PortalExtensionHookConsumptionDataRetrieval;
|
|
3609
|
+
export type PortalExtensionHookConsumptionExport = Components.Schemas.PortalExtensionHookConsumptionExport;
|
|
3610
|
+
export type PortalExtensionHookConsumptionOption = Components.Schemas.PortalExtensionHookConsumptionOption;
|
|
3377
3611
|
export type PortalExtensionHookContractIdentification = Components.Schemas.PortalExtensionHookContractIdentification;
|
|
3378
3612
|
export type PortalExtensionHookCostDataRetrieval = Components.Schemas.PortalExtensionHookCostDataRetrieval;
|
|
3379
3613
|
export type PortalExtensionHookMeterReadingPlausibilityCheck = Components.Schemas.PortalExtensionHookMeterReadingPlausibilityCheck;
|
package/dist/openapi.json
CHANGED
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
{
|
|
18
18
|
"name": "App Analytics",
|
|
19
19
|
"description": "Analytics for installed apps"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "App Proxy",
|
|
23
|
+
"description": "Forward requests to external APIs via registered proxy targets"
|
|
20
24
|
}
|
|
21
25
|
],
|
|
22
26
|
"servers": [
|
|
@@ -1468,6 +1472,100 @@
|
|
|
1468
1472
|
}
|
|
1469
1473
|
}
|
|
1470
1474
|
}
|
|
1475
|
+
},
|
|
1476
|
+
"/v1/public/app/{appId}/proxy/{proxyName}/{path}": {
|
|
1477
|
+
"parameters": [
|
|
1478
|
+
{
|
|
1479
|
+
"name": "appId",
|
|
1480
|
+
"in": "path",
|
|
1481
|
+
"required": true,
|
|
1482
|
+
"schema": {
|
|
1483
|
+
"type": "string"
|
|
1484
|
+
},
|
|
1485
|
+
"description": "ID of the installed app"
|
|
1486
|
+
},
|
|
1487
|
+
{
|
|
1488
|
+
"name": "proxyName",
|
|
1489
|
+
"in": "path",
|
|
1490
|
+
"required": true,
|
|
1491
|
+
"schema": {
|
|
1492
|
+
"type": "string"
|
|
1493
|
+
},
|
|
1494
|
+
"description": "Name of the proxy target as defined in the app manifest"
|
|
1495
|
+
},
|
|
1496
|
+
{
|
|
1497
|
+
"name": "path",
|
|
1498
|
+
"in": "path",
|
|
1499
|
+
"required": true,
|
|
1500
|
+
"schema": {
|
|
1501
|
+
"type": "string"
|
|
1502
|
+
},
|
|
1503
|
+
"description": "Path to forward to the proxy target"
|
|
1504
|
+
}
|
|
1505
|
+
],
|
|
1506
|
+
"get": {
|
|
1507
|
+
"summary": "publicProxyGet",
|
|
1508
|
+
"operationId": "publicProxyGet",
|
|
1509
|
+
"description": "Forward a GET request to a registered proxy target from a public-facing component (e.g. journey blocks)",
|
|
1510
|
+
"tags": [
|
|
1511
|
+
"App Proxy"
|
|
1512
|
+
],
|
|
1513
|
+
"security": [
|
|
1514
|
+
{
|
|
1515
|
+
"EpilotAuth": []
|
|
1516
|
+
}
|
|
1517
|
+
],
|
|
1518
|
+
"responses": {
|
|
1519
|
+
"200": {
|
|
1520
|
+
"description": "Proxied response from the target API"
|
|
1521
|
+
},
|
|
1522
|
+
"403": {
|
|
1523
|
+
"description": "Forbidden - app not installed or no public component uses this proxy"
|
|
1524
|
+
},
|
|
1525
|
+
"404": {
|
|
1526
|
+
"description": "Proxy target not found"
|
|
1527
|
+
},
|
|
1528
|
+
"502": {
|
|
1529
|
+
"description": "Bad gateway - proxy target unreachable or error"
|
|
1530
|
+
}
|
|
1531
|
+
}
|
|
1532
|
+
},
|
|
1533
|
+
"post": {
|
|
1534
|
+
"summary": "publicProxyPost",
|
|
1535
|
+
"operationId": "publicProxyPost",
|
|
1536
|
+
"description": "Forward a POST request to a registered proxy target from a public-facing component (e.g. journey blocks)",
|
|
1537
|
+
"tags": [
|
|
1538
|
+
"App Proxy"
|
|
1539
|
+
],
|
|
1540
|
+
"security": [
|
|
1541
|
+
{
|
|
1542
|
+
"EpilotAuth": []
|
|
1543
|
+
}
|
|
1544
|
+
],
|
|
1545
|
+
"requestBody": {
|
|
1546
|
+
"content": {
|
|
1547
|
+
"application/json": {
|
|
1548
|
+
"schema": {
|
|
1549
|
+
"type": "object"
|
|
1550
|
+
}
|
|
1551
|
+
}
|
|
1552
|
+
}
|
|
1553
|
+
},
|
|
1554
|
+
"responses": {
|
|
1555
|
+
"200": {
|
|
1556
|
+
"description": "Proxied response from the target API"
|
|
1557
|
+
},
|
|
1558
|
+
"403": {
|
|
1559
|
+
"description": "Forbidden - app not installed or no public component uses this proxy"
|
|
1560
|
+
},
|
|
1561
|
+
"404": {
|
|
1562
|
+
"description": "Proxy target not found"
|
|
1563
|
+
},
|
|
1564
|
+
"502": {
|
|
1565
|
+
"description": "Bad gateway - proxy target unreachable or error"
|
|
1566
|
+
}
|
|
1567
|
+
}
|
|
1568
|
+
}
|
|
1471
1569
|
}
|
|
1472
1570
|
},
|
|
1473
1571
|
"components": {
|
|
@@ -1832,7 +1930,8 @@
|
|
|
1832
1930
|
"ERP_INFORM_TOOLKIT",
|
|
1833
1931
|
"CUSTOM_CAPABILITY",
|
|
1834
1932
|
"EXTERNAL_PRODUCT_CATALOG",
|
|
1835
|
-
"CUSTOM_PAGE"
|
|
1933
|
+
"CUSTOM_PAGE",
|
|
1934
|
+
"API_PROXY"
|
|
1836
1935
|
],
|
|
1837
1936
|
"description": "Type of app component"
|
|
1838
1937
|
},
|
|
@@ -1944,7 +2043,8 @@
|
|
|
1944
2043
|
"ERP_INFORM_TOOLKIT": "#/components/schemas/ErpInformToolkitComponent",
|
|
1945
2044
|
"CUSTOM_CAPABILITY": "#/components/schemas/CustomCapabilityComponent",
|
|
1946
2045
|
"EXTERNAL_PRODUCT_CATALOG": "#/components/schemas/ExternalProductCatalogComponent",
|
|
1947
|
-
"CUSTOM_PAGE": "#/components/schemas/CustomPageComponent"
|
|
2046
|
+
"CUSTOM_PAGE": "#/components/schemas/CustomPageComponent",
|
|
2047
|
+
"API_PROXY": "#/components/schemas/ApiProxyComponent"
|
|
1948
2048
|
}
|
|
1949
2049
|
},
|
|
1950
2050
|
"oneOf": [
|
|
@@ -1971,11 +2071,32 @@
|
|
|
1971
2071
|
},
|
|
1972
2072
|
{
|
|
1973
2073
|
"$ref": "#/components/schemas/CustomPageComponent"
|
|
2074
|
+
},
|
|
2075
|
+
{
|
|
2076
|
+
"$ref": "#/components/schemas/ApiProxyComponent"
|
|
1974
2077
|
}
|
|
1975
2078
|
]
|
|
1976
2079
|
}
|
|
1977
2080
|
]
|
|
1978
2081
|
},
|
|
2082
|
+
"ApiProxyComponent": {
|
|
2083
|
+
"type": "object",
|
|
2084
|
+
"required": [
|
|
2085
|
+
"component_type",
|
|
2086
|
+
"configuration"
|
|
2087
|
+
],
|
|
2088
|
+
"properties": {
|
|
2089
|
+
"component_type": {
|
|
2090
|
+
"type": "string",
|
|
2091
|
+
"enum": [
|
|
2092
|
+
"API_PROXY"
|
|
2093
|
+
]
|
|
2094
|
+
},
|
|
2095
|
+
"configuration": {
|
|
2096
|
+
"$ref": "#/components/schemas/ApiProxyConfig"
|
|
2097
|
+
}
|
|
2098
|
+
}
|
|
2099
|
+
},
|
|
1979
2100
|
"CustomCapabilityComponent": {
|
|
1980
2101
|
"type": "object",
|
|
1981
2102
|
"required": [
|
|
@@ -2488,6 +2609,7 @@
|
|
|
2488
2609
|
"contractIdentification": "#/components/schemas/PortalExtensionHookContractIdentification",
|
|
2489
2610
|
"priceDataRetrieval": "#/components/schemas/PortalExtensionHookPriceDataRetrieval",
|
|
2490
2611
|
"consumptionDataRetrieval": "#/components/schemas/PortalExtensionHookConsumptionDataRetrieval",
|
|
2612
|
+
"consumptionExport": "#/components/schemas/PortalExtensionHookConsumptionExport",
|
|
2491
2613
|
"costDataRetrieval": "#/components/schemas/PortalExtensionHookCostDataRetrieval",
|
|
2492
2614
|
"meterReadingPlausibilityCheck": "#/components/schemas/PortalExtensionHookMeterReadingPlausibilityCheck"
|
|
2493
2615
|
}
|
|
@@ -2505,6 +2627,9 @@
|
|
|
2505
2627
|
{
|
|
2506
2628
|
"$ref": "#/components/schemas/PortalExtensionHookConsumptionDataRetrieval"
|
|
2507
2629
|
},
|
|
2630
|
+
{
|
|
2631
|
+
"$ref": "#/components/schemas/PortalExtensionHookConsumptionExport"
|
|
2632
|
+
},
|
|
2508
2633
|
{
|
|
2509
2634
|
"$ref": "#/components/schemas/PortalExtensionHookCostDataRetrieval"
|
|
2510
2635
|
},
|
|
@@ -2594,7 +2719,8 @@
|
|
|
2594
2719
|
},
|
|
2595
2720
|
"use_static_ips": {
|
|
2596
2721
|
"type": "boolean",
|
|
2597
|
-
"
|
|
2722
|
+
"deprecated": true,
|
|
2723
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
2598
2724
|
"default": false
|
|
2599
2725
|
},
|
|
2600
2726
|
"secure_proxy": {
|
|
@@ -2707,7 +2833,8 @@
|
|
|
2707
2833
|
},
|
|
2708
2834
|
"use_static_ips": {
|
|
2709
2835
|
"type": "boolean",
|
|
2710
|
-
"
|
|
2836
|
+
"deprecated": true,
|
|
2837
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
2711
2838
|
"default": false
|
|
2712
2839
|
},
|
|
2713
2840
|
"secure_proxy": {
|
|
@@ -2818,7 +2945,8 @@
|
|
|
2818
2945
|
},
|
|
2819
2946
|
"use_static_ips": {
|
|
2820
2947
|
"type": "boolean",
|
|
2821
|
-
"
|
|
2948
|
+
"deprecated": true,
|
|
2949
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
2822
2950
|
"default": false
|
|
2823
2951
|
},
|
|
2824
2952
|
"secure_proxy": {
|
|
@@ -2918,7 +3046,8 @@
|
|
|
2918
3046
|
},
|
|
2919
3047
|
"use_static_ips": {
|
|
2920
3048
|
"type": "boolean",
|
|
2921
|
-
"
|
|
3049
|
+
"deprecated": true,
|
|
3050
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
2922
3051
|
"default": false
|
|
2923
3052
|
},
|
|
2924
3053
|
"secure_proxy": {
|
|
@@ -2963,6 +3092,20 @@
|
|
|
2963
3092
|
]
|
|
2964
3093
|
}
|
|
2965
3094
|
},
|
|
3095
|
+
"type_options": {
|
|
3096
|
+
"type": "array",
|
|
3097
|
+
"description": "Consumption types advertised by the hook (e.g. `ht`/`nt`, `feed-in`/`feed-out`). The `id` has to match the `type` field returned in the consumption response.\n",
|
|
3098
|
+
"items": {
|
|
3099
|
+
"$ref": "#/components/schemas/PortalExtensionHookConsumptionOption"
|
|
3100
|
+
}
|
|
3101
|
+
},
|
|
3102
|
+
"aggregation_method_options": {
|
|
3103
|
+
"type": "array",
|
|
3104
|
+
"description": "Aggregation methods advertised by the hook (e.g. `sum`, `average`, `min`, `max`). The `id` has to match the `aggregation_method` field returned in the consumption response.\n",
|
|
3105
|
+
"items": {
|
|
3106
|
+
"$ref": "#/components/schemas/PortalExtensionHookConsumptionAggregationMethodOption"
|
|
3107
|
+
}
|
|
3108
|
+
},
|
|
2966
3109
|
"auth": {
|
|
2967
3110
|
"$ref": "#/components/schemas/PortalExtensionAuthBlock"
|
|
2968
3111
|
},
|
|
@@ -3017,7 +3160,85 @@
|
|
|
3017
3160
|
},
|
|
3018
3161
|
"use_static_ips": {
|
|
3019
3162
|
"type": "boolean",
|
|
3020
|
-
"
|
|
3163
|
+
"deprecated": true,
|
|
3164
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
3165
|
+
"default": false
|
|
3166
|
+
},
|
|
3167
|
+
"secure_proxy": {
|
|
3168
|
+
"$ref": "#/components/schemas/PortalExtensionSecureProxy"
|
|
3169
|
+
}
|
|
3170
|
+
},
|
|
3171
|
+
"required": [
|
|
3172
|
+
"id",
|
|
3173
|
+
"type",
|
|
3174
|
+
"call"
|
|
3175
|
+
],
|
|
3176
|
+
"additionalProperties": false
|
|
3177
|
+
},
|
|
3178
|
+
"PortalExtensionHookConsumptionExport": {
|
|
3179
|
+
"description": "Hook that takes over the export of consumption data from the portal. When defined, the portal delegates exporting (e.g. CSV/Excel/PDF download) to the configured external source instead of generating the export itself. This hook is triggered when an end user requests a consumption export. The expected response to the call is:\n - 200 with a JSON body describing the exported file (download_url, optional filename, content_type, expires_at)\n",
|
|
3180
|
+
"type": "object",
|
|
3181
|
+
"properties": {
|
|
3182
|
+
"id": {
|
|
3183
|
+
"type": "string",
|
|
3184
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
3185
|
+
"description": "Identifier of the hook. Should not change between updates."
|
|
3186
|
+
},
|
|
3187
|
+
"name": {
|
|
3188
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
3189
|
+
},
|
|
3190
|
+
"type": {
|
|
3191
|
+
"type": "string",
|
|
3192
|
+
"enum": [
|
|
3193
|
+
"consumptionExport"
|
|
3194
|
+
]
|
|
3195
|
+
},
|
|
3196
|
+
"auth": {
|
|
3197
|
+
"$ref": "#/components/schemas/PortalExtensionAuthBlock"
|
|
3198
|
+
},
|
|
3199
|
+
"call": {
|
|
3200
|
+
"type": "object",
|
|
3201
|
+
"properties": {
|
|
3202
|
+
"method": {
|
|
3203
|
+
"type": "string",
|
|
3204
|
+
"description": "HTTP method to use for the call",
|
|
3205
|
+
"default": "GET"
|
|
3206
|
+
},
|
|
3207
|
+
"url": {
|
|
3208
|
+
"type": "string",
|
|
3209
|
+
"description": "URL to call. Supports variable interpolation."
|
|
3210
|
+
},
|
|
3211
|
+
"params": {
|
|
3212
|
+
"type": "object",
|
|
3213
|
+
"description": "Parameters to append to the URL. Supports variable interpolation.",
|
|
3214
|
+
"additionalProperties": {
|
|
3215
|
+
"type": "string"
|
|
3216
|
+
},
|
|
3217
|
+
"default": {}
|
|
3218
|
+
},
|
|
3219
|
+
"headers": {
|
|
3220
|
+
"type": "object",
|
|
3221
|
+
"description": "Headers to use. Supports variable interpolation.",
|
|
3222
|
+
"additionalProperties": {
|
|
3223
|
+
"type": "string"
|
|
3224
|
+
},
|
|
3225
|
+
"default": {}
|
|
3226
|
+
},
|
|
3227
|
+
"body": {
|
|
3228
|
+
"type": "object",
|
|
3229
|
+
"description": "Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.",
|
|
3230
|
+
"additionalProperties": true
|
|
3231
|
+
}
|
|
3232
|
+
},
|
|
3233
|
+
"required": [
|
|
3234
|
+
"url"
|
|
3235
|
+
],
|
|
3236
|
+
"additionalProperties": false
|
|
3237
|
+
},
|
|
3238
|
+
"use_static_ips": {
|
|
3239
|
+
"type": "boolean",
|
|
3240
|
+
"deprecated": true,
|
|
3241
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
3021
3242
|
"default": false
|
|
3022
3243
|
},
|
|
3023
3244
|
"secure_proxy": {
|
|
@@ -3031,6 +3252,48 @@
|
|
|
3031
3252
|
],
|
|
3032
3253
|
"additionalProperties": false
|
|
3033
3254
|
},
|
|
3255
|
+
"PortalExtensionHookConsumptionOption": {
|
|
3256
|
+
"type": "object",
|
|
3257
|
+
"description": "A consumption type advertised by a consumption data retrieval hook.",
|
|
3258
|
+
"properties": {
|
|
3259
|
+
"id": {
|
|
3260
|
+
"type": "string",
|
|
3261
|
+
"description": "Identifier of the option. Matches the `type` value returned by the hook (e.g. `ht`, `nt`, `feed-in`)."
|
|
3262
|
+
},
|
|
3263
|
+
"label": {
|
|
3264
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
3265
|
+
}
|
|
3266
|
+
},
|
|
3267
|
+
"required": [
|
|
3268
|
+
"id",
|
|
3269
|
+
"label"
|
|
3270
|
+
],
|
|
3271
|
+
"additionalProperties": false
|
|
3272
|
+
},
|
|
3273
|
+
"PortalExtensionHookConsumptionAggregationMethodOption": {
|
|
3274
|
+
"type": "object",
|
|
3275
|
+
"description": "An aggregation method advertised by a consumption data retrieval hook.",
|
|
3276
|
+
"properties": {
|
|
3277
|
+
"id": {
|
|
3278
|
+
"type": "string",
|
|
3279
|
+
"enum": [
|
|
3280
|
+
"sum",
|
|
3281
|
+
"average",
|
|
3282
|
+
"min",
|
|
3283
|
+
"max"
|
|
3284
|
+
],
|
|
3285
|
+
"description": "Identifier of the option. Matches the `aggregation_method` value returned by the hook."
|
|
3286
|
+
},
|
|
3287
|
+
"label": {
|
|
3288
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
3289
|
+
}
|
|
3290
|
+
},
|
|
3291
|
+
"required": [
|
|
3292
|
+
"id",
|
|
3293
|
+
"label"
|
|
3294
|
+
],
|
|
3295
|
+
"additionalProperties": false
|
|
3296
|
+
},
|
|
3034
3297
|
"PortalExtensionHookCostDataRetrieval": {
|
|
3035
3298
|
"description": "Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:\n - 200 with the time series data\n",
|
|
3036
3299
|
"type": "object",
|
|
@@ -3116,7 +3379,8 @@
|
|
|
3116
3379
|
},
|
|
3117
3380
|
"use_static_ips": {
|
|
3118
3381
|
"type": "boolean",
|
|
3119
|
-
"
|
|
3382
|
+
"deprecated": true,
|
|
3383
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
3120
3384
|
"default": false
|
|
3121
3385
|
},
|
|
3122
3386
|
"secure_proxy": {
|
|
@@ -3430,7 +3694,8 @@
|
|
|
3430
3694
|
"enum": [
|
|
3431
3695
|
"text",
|
|
3432
3696
|
"boolean",
|
|
3433
|
-
"enum"
|
|
3697
|
+
"enum",
|
|
3698
|
+
"block_reference"
|
|
3434
3699
|
]
|
|
3435
3700
|
},
|
|
3436
3701
|
"required": {
|
|
@@ -3467,7 +3732,8 @@
|
|
|
3467
3732
|
"mapping": {
|
|
3468
3733
|
"text": "#/components/schemas/TextArg",
|
|
3469
3734
|
"boolean": "#/components/schemas/BooleanArg",
|
|
3470
|
-
"enum": "#/components/schemas/EnumArg"
|
|
3735
|
+
"enum": "#/components/schemas/EnumArg",
|
|
3736
|
+
"block_reference": "#/components/schemas/BlockReferenceArg"
|
|
3471
3737
|
}
|
|
3472
3738
|
},
|
|
3473
3739
|
"oneOf": [
|
|
@@ -3479,6 +3745,9 @@
|
|
|
3479
3745
|
},
|
|
3480
3746
|
{
|
|
3481
3747
|
"$ref": "#/components/schemas/EnumArg"
|
|
3748
|
+
},
|
|
3749
|
+
{
|
|
3750
|
+
"$ref": "#/components/schemas/BlockReferenceArg"
|
|
3482
3751
|
}
|
|
3483
3752
|
]
|
|
3484
3753
|
}
|
|
@@ -3506,6 +3775,25 @@
|
|
|
3506
3775
|
}
|
|
3507
3776
|
}
|
|
3508
3777
|
},
|
|
3778
|
+
"BlockReferenceArg": {
|
|
3779
|
+
"type": "object",
|
|
3780
|
+
"description": "References another journey block by its ID. The configuring user picks\na block from the journey via a dropdown in the journey-builder; the\nchosen block's ID is stored as the arg value (a string). The bundle can\nthen call `subscribe(blockId, cb)` / `getValue(blockId)` against that ID.\n",
|
|
3781
|
+
"properties": {
|
|
3782
|
+
"type": {
|
|
3783
|
+
"type": "string",
|
|
3784
|
+
"enum": [
|
|
3785
|
+
"block_reference"
|
|
3786
|
+
]
|
|
3787
|
+
},
|
|
3788
|
+
"allowed_types": {
|
|
3789
|
+
"type": "array",
|
|
3790
|
+
"description": "Restrict the picker to blocks of these journey block types\n(e.g. [\"availability-check\", \"address\"]). Omit to allow any type.\n",
|
|
3791
|
+
"items": {
|
|
3792
|
+
"type": "string"
|
|
3793
|
+
}
|
|
3794
|
+
}
|
|
3795
|
+
}
|
|
3796
|
+
},
|
|
3509
3797
|
"EnumArg": {
|
|
3510
3798
|
"type": "object",
|
|
3511
3799
|
"required": [
|
|
@@ -3876,6 +4164,49 @@
|
|
|
3876
4164
|
}
|
|
3877
4165
|
}
|
|
3878
4166
|
},
|
|
4167
|
+
"ApiProxyConfig": {
|
|
4168
|
+
"type": "object",
|
|
4169
|
+
"description": "Configuration for an API proxy component",
|
|
4170
|
+
"required": [
|
|
4171
|
+
"name",
|
|
4172
|
+
"target",
|
|
4173
|
+
"auth_type"
|
|
4174
|
+
],
|
|
4175
|
+
"properties": {
|
|
4176
|
+
"name": {
|
|
4177
|
+
"type": "string",
|
|
4178
|
+
"description": "Human-friendly proxy name used in SDK calls",
|
|
4179
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
4180
|
+
"maxLength": 64
|
|
4181
|
+
},
|
|
4182
|
+
"target": {
|
|
4183
|
+
"type": "string",
|
|
4184
|
+
"format": "uri",
|
|
4185
|
+
"description": "Base URL of the target API. Must be HTTPS.",
|
|
4186
|
+
"pattern": "^https://"
|
|
4187
|
+
},
|
|
4188
|
+
"auth_type": {
|
|
4189
|
+
"type": "string",
|
|
4190
|
+
"enum": [
|
|
4191
|
+
"header",
|
|
4192
|
+
"bearer",
|
|
4193
|
+
"oauth2",
|
|
4194
|
+
"none"
|
|
4195
|
+
],
|
|
4196
|
+
"description": "Authentication strategy"
|
|
4197
|
+
},
|
|
4198
|
+
"auth_header": {
|
|
4199
|
+
"type": "string",
|
|
4200
|
+
"description": "Header name for 'header' auth type"
|
|
4201
|
+
},
|
|
4202
|
+
"token_url": {
|
|
4203
|
+
"type": "string",
|
|
4204
|
+
"format": "uri",
|
|
4205
|
+
"description": "OAuth2 token endpoint URL",
|
|
4206
|
+
"pattern": "^https://"
|
|
4207
|
+
}
|
|
4208
|
+
}
|
|
4209
|
+
},
|
|
3879
4210
|
"Grants": {
|
|
3880
4211
|
"type": "array",
|
|
3881
4212
|
"description": "Required grants for the app in order to call APIs for the installing tenant",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epilot/app-client",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"description": "JavaScript client library for the epilot App API",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"axios": "^1.11.0",
|
|
65
65
|
"copy-webpack-plugin": "^7.0.0",
|
|
66
66
|
"json-loader": "^0.5.7",
|
|
67
|
-
"openapicmd": "^2.
|
|
67
|
+
"openapicmd": "^2.9.2",
|
|
68
68
|
"ts-loader": "^8.0.14",
|
|
69
69
|
"ts-node": "^10.9.1",
|
|
70
70
|
"typescript": "^4.1.3",
|