@epilot/pricing-client 3.17.4 → 3.17.5

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.
@@ -1 +1 @@
1
- (()=>{"use strict";var e={914:function(e,r,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=a(t(240));r.default=i.default},240:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"servers":[{"url":"https://pricing-api.sls.epilot.io"}],"paths":{"/v1/order":{"post":{"operationId":"createOrder","requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/order/{id}":{"put":{"operationId":"putOrder","parameters":[{"in":"path","name":"id","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/public/cart:checkout":{"post":{"operationId":"$checkoutCart","parameters":[{"in":"header","name":"X-Ivy-Org-ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/public/catalog":{"post":{"operationId":"$searchCatalog","parameters":[{"in":"header","name":"X-Ivy-Org-ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/public/availability:check":{"post":{"operationId":"$availabilityCheck","parameters":[{"in":"header","name":"X-Ivy-Org-ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/validate-availability/{id}":{"get":{"operationId":"$validateAvailabilityFile","parameters":[{"in":"path","name":"id","required":true},{"in":"header","name":"X-Epilot-Org-ID","required":true}]}},"/v1/public/opportunity":{"post":{"deprecated":true,"operationId":"$createOpportunity","parameters":[{"in":"header","name":"X-Ivy-Org-ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}}},"components":{}}')}},r={},t=function t(a){var i=r[a];if(void 0!==i)return i.exports;var o=r[a]={exports:{}};return e[a].call(o.exports,o,o.exports,t),o.exports}(914),a=exports;for(var i in t)a[i]=t[i];t.__esModule&&Object.defineProperty(a,"__esModule",{value:!0})})();
1
+ (()=>{"use strict";var e={914:function(e,r,t){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var a=i(t(240));r.default=a.default},240:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"servers":[{"url":"https://pricing-api.sls.epilot.io"}],"paths":{"/v1/order":{"post":{"operationId":"createOrder","requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/order/{id}":{"put":{"operationId":"putOrder","parameters":[{"in":"path","name":"id","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/public/cart:checkout":{"post":{"operationId":"$checkoutCart","parameters":[{"in":"header","name":"X-Ivy-Org-ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/public/catalog":{"post":{"operationId":"$searchCatalog","parameters":[{"in":"header","name":"X-Ivy-Org-ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/public/availability:check":{"post":{"operationId":"$availabilityCheck","parameters":[{"in":"header","name":"X-Ivy-Org-ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/validate-availability/{id}":{"get":{"operationId":"$validateAvailabilityFile","parameters":[{"in":"path","name":"id","required":true},{"in":"header","name":"X-Epilot-Org-ID","required":true}]}},"/v1/public/integration/{integrationId}/providers:search":{"post":{"operationId":"$searchProviders","parameters":[{"in":"header","name":"X-Epilot-Org-ID","required":true},{"in":"path","name":"integrationId","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/public/integration/{integrationId}/streets:search":{"post":{"operationId":"$searchStreets","parameters":[{"in":"header","name":"X-Epilot-Org-ID","required":true},{"in":"path","name":"integrationId","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}},"/v1/integration/{integrationId}/credentials":{"get":{"operationId":"$getCredentials","parameters":[{"in":"path","name":"integrationId","required":true},{"in":"header","name":"X-Epilot-Org-ID","required":true}]}},"/v1/integration/{integrationId}/credentials:save":{"put":{"operationId":"$saveCredentials","parameters":[{"in":"path","name":"integrationId","required":true},{"in":"header","name":"X-Epilot-Org-ID","required":true}],"requestBody":{"content":{"application/json":{}}}}},"/v1/integration/{integrationId}/credentials:delete":{"delete":{"operationId":"$deleteCredentials","parameters":[{"in":"path","name":"integrationId","required":true},{"in":"header","name":"X-Epilot-Org-ID","required":true}]}},"/v1/public/opportunity":{"post":{"deprecated":true,"operationId":"$createOpportunity","parameters":[{"in":"header","name":"X-Ivy-Org-ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}}}}},"components":{}}')}},r={},t=function t(i){var a=r[i];if(void 0!==a)return a.exports;var n=r[i]={exports:{}};return e[i].call(n.exports,n,n.exports,t),n.exports}(914),i=exports;for(var a in t)i[a]=t[a];t.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})})();
@@ -110,6 +110,108 @@
110
110
  ]
111
111
  }
112
112
  },
113
+ "/v1/public/integration/{integrationId}/providers:search": {
114
+ "post": {
115
+ "operationId": "$searchProviders",
116
+ "parameters": [
117
+ {
118
+ "in": "header",
119
+ "name": "X-Epilot-Org-ID",
120
+ "required": true
121
+ },
122
+ {
123
+ "in": "path",
124
+ "name": "integrationId",
125
+ "required": true
126
+ }
127
+ ],
128
+ "requestBody": {
129
+ "required": true,
130
+ "content": {
131
+ "application/json": {}
132
+ }
133
+ }
134
+ }
135
+ },
136
+ "/v1/public/integration/{integrationId}/streets:search": {
137
+ "post": {
138
+ "operationId": "$searchStreets",
139
+ "parameters": [
140
+ {
141
+ "in": "header",
142
+ "name": "X-Epilot-Org-ID",
143
+ "required": true
144
+ },
145
+ {
146
+ "in": "path",
147
+ "name": "integrationId",
148
+ "required": true
149
+ }
150
+ ],
151
+ "requestBody": {
152
+ "required": true,
153
+ "content": {
154
+ "application/json": {}
155
+ }
156
+ }
157
+ }
158
+ },
159
+ "/v1/integration/{integrationId}/credentials": {
160
+ "get": {
161
+ "operationId": "$getCredentials",
162
+ "parameters": [
163
+ {
164
+ "in": "path",
165
+ "name": "integrationId",
166
+ "required": true
167
+ },
168
+ {
169
+ "in": "header",
170
+ "name": "X-Epilot-Org-ID",
171
+ "required": true
172
+ }
173
+ ]
174
+ }
175
+ },
176
+ "/v1/integration/{integrationId}/credentials:save": {
177
+ "put": {
178
+ "operationId": "$saveCredentials",
179
+ "parameters": [
180
+ {
181
+ "in": "path",
182
+ "name": "integrationId",
183
+ "required": true
184
+ },
185
+ {
186
+ "in": "header",
187
+ "name": "X-Epilot-Org-ID",
188
+ "required": true
189
+ }
190
+ ],
191
+ "requestBody": {
192
+ "content": {
193
+ "application/json": {}
194
+ }
195
+ }
196
+ }
197
+ },
198
+ "/v1/integration/{integrationId}/credentials:delete": {
199
+ "delete": {
200
+ "operationId": "$deleteCredentials",
201
+ "parameters": [
202
+ {
203
+ "in": "path",
204
+ "name": "integrationId",
205
+ "required": true
206
+ },
207
+ {
208
+ "in": "header",
209
+ "name": "X-Epilot-Org-ID",
210
+ "required": true
211
+ }
212
+ ]
213
+ }
214
+ },
113
215
  "/v1/public/opportunity": {
114
216
  "post": {
115
217
  "deprecated": true,
package/dist/openapi.d.ts CHANGED
@@ -451,6 +451,23 @@ declare namespace Components {
451
451
  _updated_at?: string;
452
452
  };
453
453
  }
454
+ /**
455
+ * The basic auth credentials
456
+ */
457
+ export interface BasicAuthCredentials {
458
+ /**
459
+ * The username
460
+ * example:
461
+ * username
462
+ */
463
+ username: string;
464
+ /**
465
+ * The password
466
+ * example:
467
+ * 123456
468
+ */
469
+ password: string;
470
+ }
454
471
  export type BillingPeriod = "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly";
455
472
  /**
456
473
  * Supports shopping for products and services until ready for checkout.
@@ -1109,6 +1126,13 @@ declare namespace Components {
1109
1126
  _title?: string;
1110
1127
  $relation?: EntityRelation;
1111
1128
  }
1129
+ /**
1130
+ * The credentials response payload
1131
+ */
1132
+ export interface IntegrationCredentialsResult {
1133
+ schema?: /* The basic auth credentials */ BasicAuthCredentials;
1134
+ }
1135
+ export type IntegrationId = "enet" | "getag";
1112
1136
  /**
1113
1137
  * A set of key-value pairs used to store meta data information about an entity.
1114
1138
  */
@@ -2455,6 +2479,19 @@ declare namespace Components {
2455
2479
  */
2456
2480
  _updated_at?: string;
2457
2481
  }
2482
+ /**
2483
+ * The provider entity
2484
+ */
2485
+ export interface Provider {
2486
+ /**
2487
+ * The provider name
2488
+ */
2489
+ name: string;
2490
+ /**
2491
+ * The provider code
2492
+ */
2493
+ code: string;
2494
+ }
2458
2495
  /**
2459
2496
  * An amount associated with a specific recurrence.
2460
2497
  */
@@ -2567,6 +2604,63 @@ declare namespace Components {
2567
2604
  tax?: /* A tax amount associated with a specific tax rate. */ TaxAmountBreakdown;
2568
2605
  }
2569
2606
  export type SalesTax = "nontaxable" | "reduced" | "standard";
2607
+ /**
2608
+ * The credentials request payload
2609
+ */
2610
+ export interface SaveIntegrationCredentialsParams {
2611
+ schema?: /* The basic auth credentials */ BasicAuthCredentials;
2612
+ }
2613
+ /**
2614
+ * A search providers payload
2615
+ */
2616
+ export interface SearchProvidersParams {
2617
+ /**
2618
+ * The provider type (power or gas)
2619
+ */
2620
+ type: "power" | "gas";
2621
+ /**
2622
+ * The postal code to search for providers
2623
+ */
2624
+ postal_code: string;
2625
+ /**
2626
+ * The city to search for providers
2627
+ */
2628
+ city?: string | null;
2629
+ /**
2630
+ * The street to search for providers
2631
+ */
2632
+ street?: string | null;
2633
+ /**
2634
+ * The street number to search for providers
2635
+ */
2636
+ street_number?: string | null;
2637
+ }
2638
+ /**
2639
+ * The search providers payload
2640
+ */
2641
+ export type SearchProvidersResult = /* The provider entity */ Provider[];
2642
+ /**
2643
+ * A search streets payload
2644
+ */
2645
+ export interface SearchStreetsParams {
2646
+ /**
2647
+ * The postal code to search for providers
2648
+ */
2649
+ postal_code: string;
2650
+ /**
2651
+ * The city to search for providers
2652
+ */
2653
+ city: string | null;
2654
+ }
2655
+ /**
2656
+ * The street entity
2657
+ */
2658
+ export interface Street {
2659
+ /**
2660
+ * The street name
2661
+ */
2662
+ name: string;
2663
+ }
2570
2664
  /**
2571
2665
  * the tax configuration
2572
2666
  * example:
@@ -2730,7 +2824,7 @@ declare namespace Components {
2730
2824
  */
2731
2825
  taxes?: (/* A tax amount associated with a specific tax rate. */ TaxAmountBreakdown)[];
2732
2826
  /**
2733
- * The aggregated price items recurrences.
2827
+ * The aggregated price items tax amount per rate.
2734
2828
  */
2735
2829
  recurrences?: (/* An amount associated with a specific recurrence. */ RecurrenceAmount)[];
2736
2830
  /**
@@ -2855,6 +2949,58 @@ declare namespace Paths {
2855
2949
  export type $400 = Components.Schemas.Error;
2856
2950
  }
2857
2951
  }
2952
+ namespace $DeleteCredentials {
2953
+ export interface HeaderParameters {
2954
+ "X-Epilot-Org-ID": Parameters.XEpilotOrgID;
2955
+ }
2956
+ namespace Parameters {
2957
+ export type IntegrationId = Components.Schemas.IntegrationId;
2958
+ export type XEpilotOrgID = string;
2959
+ }
2960
+ export interface PathParameters {
2961
+ integrationId: Parameters.IntegrationId;
2962
+ }
2963
+ namespace Responses {
2964
+ export interface $204 {
2965
+ }
2966
+ export type $400 = Components.Schemas.Error;
2967
+ }
2968
+ }
2969
+ namespace $GetCredentials {
2970
+ export interface HeaderParameters {
2971
+ "X-Epilot-Org-ID": Parameters.XEpilotOrgID;
2972
+ }
2973
+ namespace Parameters {
2974
+ export type IntegrationId = Components.Schemas.IntegrationId;
2975
+ export type XEpilotOrgID = string;
2976
+ }
2977
+ export interface PathParameters {
2978
+ integrationId: Parameters.IntegrationId;
2979
+ }
2980
+ namespace Responses {
2981
+ export type $200 = /* The credentials response payload */ Components.Schemas.IntegrationCredentialsResult;
2982
+ export type $400 = Components.Schemas.Error;
2983
+ export type $404 = Components.Schemas.Error;
2984
+ }
2985
+ }
2986
+ namespace $SaveCredentials {
2987
+ export interface HeaderParameters {
2988
+ "X-Epilot-Org-ID": Parameters.XEpilotOrgID;
2989
+ }
2990
+ namespace Parameters {
2991
+ export type IntegrationId = Components.Schemas.IntegrationId;
2992
+ export type XEpilotOrgID = string;
2993
+ }
2994
+ export interface PathParameters {
2995
+ integrationId: Parameters.IntegrationId;
2996
+ }
2997
+ export type RequestBody = /* The credentials request payload */ Components.Schemas.SaveIntegrationCredentialsParams;
2998
+ namespace Responses {
2999
+ export interface $204 {
3000
+ }
3001
+ export type $400 = Components.Schemas.Error;
3002
+ }
3003
+ }
2858
3004
  namespace $SearchCatalog {
2859
3005
  export interface HeaderParameters {
2860
3006
  "X-Ivy-Org-ID": Parameters.XIvyOrgID;
@@ -2906,6 +3052,42 @@ declare namespace Paths {
2906
3052
  export type $400 = Components.Schemas.Error;
2907
3053
  }
2908
3054
  }
3055
+ namespace $SearchProviders {
3056
+ export interface HeaderParameters {
3057
+ "X-Epilot-Org-ID": Parameters.XEpilotOrgID;
3058
+ }
3059
+ namespace Parameters {
3060
+ export type IntegrationId = Components.Schemas.IntegrationId;
3061
+ export type XEpilotOrgID = string;
3062
+ }
3063
+ export interface PathParameters {
3064
+ integrationId: Parameters.IntegrationId;
3065
+ }
3066
+ export type RequestBody = /* A search providers payload */ Components.Schemas.SearchProvidersParams;
3067
+ namespace Responses {
3068
+ export type $200 = /* The search providers payload */ Components.Schemas.SearchProvidersResult;
3069
+ export type $400 = Components.Schemas.Error;
3070
+ export type $403 = Components.Schemas.Error;
3071
+ }
3072
+ }
3073
+ namespace $SearchStreets {
3074
+ export interface HeaderParameters {
3075
+ "X-Epilot-Org-ID": Parameters.XEpilotOrgID;
3076
+ }
3077
+ namespace Parameters {
3078
+ export type IntegrationId = Components.Schemas.IntegrationId;
3079
+ export type XEpilotOrgID = string;
3080
+ }
3081
+ export interface PathParameters {
3082
+ integrationId: Parameters.IntegrationId;
3083
+ }
3084
+ export type RequestBody = /* A search streets payload */ Components.Schemas.SearchStreetsParams;
3085
+ namespace Responses {
3086
+ export type $200 = /* The search providers payload */ Components.Schemas.SearchProvidersResult;
3087
+ export type $400 = Components.Schemas.Error;
3088
+ export type $403 = Components.Schemas.Error;
3089
+ }
3090
+ }
2909
3091
  namespace $ValidateAvailabilityFile {
2910
3092
  export interface HeaderParameters {
2911
3093
  "X-Epilot-Org-ID": Parameters.XEpilotOrgID;
@@ -3042,6 +3224,56 @@ export interface OperationMethods {
3042
3224
  data?: any,
3043
3225
  config?: AxiosRequestConfig
3044
3226
  ): OperationResponse<Paths.$ValidateAvailabilityFile.Responses.$200>
3227
+ /**
3228
+ * $searchProviders - searchProviders
3229
+ *
3230
+ * Returns the list of providers available based on a given location
3231
+ */
3232
+ '$searchProviders'(
3233
+ parameters?: Parameters<Paths.$SearchProviders.PathParameters & Paths.$SearchProviders.HeaderParameters> | null,
3234
+ data?: Paths.$SearchProviders.RequestBody,
3235
+ config?: AxiosRequestConfig
3236
+ ): OperationResponse<Paths.$SearchProviders.Responses.$200>
3237
+ /**
3238
+ * $searchStreets - searchStreets
3239
+ *
3240
+ * Returns the list of streets available for a given postal_code and city
3241
+ */
3242
+ '$searchStreets'(
3243
+ parameters?: Parameters<Paths.$SearchStreets.PathParameters & Paths.$SearchStreets.HeaderParameters> | null,
3244
+ data?: Paths.$SearchStreets.RequestBody,
3245
+ config?: AxiosRequestConfig
3246
+ ): OperationResponse<Paths.$SearchStreets.Responses.$200>
3247
+ /**
3248
+ * $getCredentials - getCredentials
3249
+ *
3250
+ * Gets the credentials for a given integration / organization
3251
+ */
3252
+ '$getCredentials'(
3253
+ parameters?: Parameters<Paths.$GetCredentials.PathParameters & Paths.$GetCredentials.HeaderParameters> | null,
3254
+ data?: any,
3255
+ config?: AxiosRequestConfig
3256
+ ): OperationResponse<Paths.$GetCredentials.Responses.$200>
3257
+ /**
3258
+ * $saveCredentials - saveCredentials
3259
+ *
3260
+ * Saves the credentials for a given integration / organization
3261
+ */
3262
+ '$saveCredentials'(
3263
+ parameters?: Parameters<Paths.$SaveCredentials.PathParameters & Paths.$SaveCredentials.HeaderParameters> | null,
3264
+ data?: Paths.$SaveCredentials.RequestBody,
3265
+ config?: AxiosRequestConfig
3266
+ ): OperationResponse<Paths.$SaveCredentials.Responses.$204>
3267
+ /**
3268
+ * $deleteCredentials - deleteCredentials
3269
+ *
3270
+ * Delete the credentials for a given integration / organization
3271
+ */
3272
+ '$deleteCredentials'(
3273
+ parameters?: Parameters<Paths.$DeleteCredentials.PathParameters & Paths.$DeleteCredentials.HeaderParameters> | null,
3274
+ data?: any,
3275
+ config?: AxiosRequestConfig
3276
+ ): OperationResponse<Paths.$DeleteCredentials.Responses.$204>
3045
3277
  /**
3046
3278
  * $createOpportunity - createOpportunity
3047
3279
  *
@@ -3142,6 +3374,66 @@ export interface PathsDictionary {
3142
3374
  config?: AxiosRequestConfig
3143
3375
  ): OperationResponse<Paths.$ValidateAvailabilityFile.Responses.$200>
3144
3376
  }
3377
+ ['/v1/public/integration/{integrationId}/providers:search']: {
3378
+ /**
3379
+ * $searchProviders - searchProviders
3380
+ *
3381
+ * Returns the list of providers available based on a given location
3382
+ */
3383
+ 'post'(
3384
+ parameters?: Parameters<Paths.$SearchProviders.PathParameters & Paths.$SearchProviders.HeaderParameters> | null,
3385
+ data?: Paths.$SearchProviders.RequestBody,
3386
+ config?: AxiosRequestConfig
3387
+ ): OperationResponse<Paths.$SearchProviders.Responses.$200>
3388
+ }
3389
+ ['/v1/public/integration/{integrationId}/streets:search']: {
3390
+ /**
3391
+ * $searchStreets - searchStreets
3392
+ *
3393
+ * Returns the list of streets available for a given postal_code and city
3394
+ */
3395
+ 'post'(
3396
+ parameters?: Parameters<Paths.$SearchStreets.PathParameters & Paths.$SearchStreets.HeaderParameters> | null,
3397
+ data?: Paths.$SearchStreets.RequestBody,
3398
+ config?: AxiosRequestConfig
3399
+ ): OperationResponse<Paths.$SearchStreets.Responses.$200>
3400
+ }
3401
+ ['/v1/integration/{integrationId}/credentials']: {
3402
+ /**
3403
+ * $getCredentials - getCredentials
3404
+ *
3405
+ * Gets the credentials for a given integration / organization
3406
+ */
3407
+ 'get'(
3408
+ parameters?: Parameters<Paths.$GetCredentials.PathParameters & Paths.$GetCredentials.HeaderParameters> | null,
3409
+ data?: any,
3410
+ config?: AxiosRequestConfig
3411
+ ): OperationResponse<Paths.$GetCredentials.Responses.$200>
3412
+ }
3413
+ ['/v1/integration/{integrationId}/credentials:save']: {
3414
+ /**
3415
+ * $saveCredentials - saveCredentials
3416
+ *
3417
+ * Saves the credentials for a given integration / organization
3418
+ */
3419
+ 'put'(
3420
+ parameters?: Parameters<Paths.$SaveCredentials.PathParameters & Paths.$SaveCredentials.HeaderParameters> | null,
3421
+ data?: Paths.$SaveCredentials.RequestBody,
3422
+ config?: AxiosRequestConfig
3423
+ ): OperationResponse<Paths.$SaveCredentials.Responses.$204>
3424
+ }
3425
+ ['/v1/integration/{integrationId}/credentials:delete']: {
3426
+ /**
3427
+ * $deleteCredentials - deleteCredentials
3428
+ *
3429
+ * Delete the credentials for a given integration / organization
3430
+ */
3431
+ 'delete'(
3432
+ parameters?: Parameters<Paths.$DeleteCredentials.PathParameters & Paths.$DeleteCredentials.HeaderParameters> | null,
3433
+ data?: any,
3434
+ config?: AxiosRequestConfig
3435
+ ): OperationResponse<Paths.$DeleteCredentials.Responses.$204>
3436
+ }
3145
3437
  ['/v1/public/opportunity']: {
3146
3438
  /**
3147
3439
  * $createOpportunity - createOpportunity
package/dist/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.0.3",
3
3
  "info": {
4
4
  "title": "Pricing API",
5
- "description": "The `pricing-api` hub sets the foundations for the following Pricing APIs:\n\n### Order API\nThis api enables the management of orders in epilot 360, providing features such as:\n - Automatic calculation of totals and price breakdowns for taxes on the Order entity\n - Product and pricing data validation\n\n### Shopping Cart API\nUsed to interact with a cart during a customer's checkout session, providing:\n - An unified data model to model a Shopping Cart\n - Product and pricing data validation\n - Checkout a cart into an order or quote\n\n### Catalog API\nProvides a way to query the entire catalog of products and prices.\n\n### Availability API\nProvides endpoints for querying products availability by a set of predefined dimensions.\n",
5
+ "description": "The `pricing-api` hub sets the foundations for the following Pricing APIs:\n\n### Order API\nThis api enables the management of orders in epilot 360, providing features such as:\n - Automatic calculation of totals and price breakdowns for taxes on the Order entity\n - Product and pricing data validation\n\n### Shopping Cart API\nUsed to interact with a cart during a customer's checkout session, providing:\n - An unified data model to model a Shopping Cart\n - Product and pricing data validation\n - Checkout a cart into an order or quote\n\n### Catalog API\nProvides a way to query the entire catalog of products and prices.\n\n### Availability API\nProvides endpoints for querying products availability by a set of predefined dimensions.\n\n### External Integrations API\nProvides endpoints for external integrations (e.g. Enet / GetAG).\n",
6
6
  "version": "1.0.0",
7
7
  "termsOfService": "https://epilot.cloud/agb",
8
8
  "contact": {
@@ -28,6 +28,10 @@
28
28
  "name": "Availability API",
29
29
  "description": "Provides endpoints for querying products availability by a set of predefined dimensions.\n"
30
30
  },
31
+ {
32
+ "name": "External Integrations API",
33
+ "description": "Provides endpoints for external integrations (e.g. Enet / GetAG).\n"
34
+ },
31
35
  {
32
36
  "name": "Deprecated Endpoints",
33
37
  "description": "Deprecated endpoints.\n"
@@ -804,6 +808,392 @@
804
808
  }
805
809
  }
806
810
  },
811
+ "/v1/public/integration/{integrationId}/providers:search": {
812
+ "post": {
813
+ "description": "Returns the list of providers available based on a given location",
814
+ "operationId": "$searchProviders",
815
+ "security": [],
816
+ "parameters": [
817
+ {
818
+ "in": "header",
819
+ "name": "X-Epilot-Org-ID",
820
+ "description": "The target Organization Id represented by the caller",
821
+ "schema": {
822
+ "type": "string"
823
+ },
824
+ "required": true,
825
+ "example": 739224
826
+ },
827
+ {
828
+ "in": "path",
829
+ "name": "integrationId",
830
+ "description": "The integration identifier",
831
+ "schema": {
832
+ "$ref": "#/components/schemas/IntegrationId"
833
+ },
834
+ "required": true,
835
+ "example": "getag"
836
+ }
837
+ ],
838
+ "summary": "searchProviders",
839
+ "tags": [
840
+ "External Integrations API"
841
+ ],
842
+ "requestBody": {
843
+ "required": true,
844
+ "content": {
845
+ "application/json": {
846
+ "schema": {
847
+ "$ref": "#/components/schemas/SearchProvidersParams"
848
+ },
849
+ "examples": {
850
+ "Search providers (power)": {
851
+ "value": {
852
+ "type": "power",
853
+ "postal_code": "04109",
854
+ "city": "Leipzig",
855
+ "street": "Willy-Brandt-Platz"
856
+ }
857
+ },
858
+ "Search providers (gas)": {
859
+ "value": {
860
+ "type": "gas",
861
+ "postal_code": "57008",
862
+ "city": "Cologne",
863
+ "street": "Media Park",
864
+ "street_number": "8a"
865
+ }
866
+ }
867
+ }
868
+ }
869
+ }
870
+ },
871
+ "responses": {
872
+ "200": {
873
+ "description": "The available providers response payload",
874
+ "content": {
875
+ "application/json": {
876
+ "schema": {
877
+ "$ref": "#/components/schemas/SearchProvidersResult"
878
+ },
879
+ "examples": {
880
+ "Response with available providers": {
881
+ "value": [
882
+ {
883
+ "name": "Provider 1",
884
+ "code": "code#1"
885
+ },
886
+ {
887
+ "name": "Provider 2",
888
+ "code": "code#2"
889
+ }
890
+ ]
891
+ }
892
+ }
893
+ }
894
+ }
895
+ },
896
+ "400": {
897
+ "description": "Invalid payload",
898
+ "content": {
899
+ "application/json": {
900
+ "schema": {
901
+ "$ref": "#/components/schemas/Error"
902
+ }
903
+ }
904
+ }
905
+ },
906
+ "403": {
907
+ "description": "Forbidden, no credentials found for the given integration / organization",
908
+ "content": {
909
+ "application/json": {
910
+ "schema": {
911
+ "$ref": "#/components/schemas/Error"
912
+ }
913
+ }
914
+ }
915
+ }
916
+ }
917
+ }
918
+ },
919
+ "/v1/public/integration/{integrationId}/streets:search": {
920
+ "post": {
921
+ "description": "Returns the list of streets available for a given postal_code and city",
922
+ "operationId": "$searchStreets",
923
+ "security": [],
924
+ "parameters": [
925
+ {
926
+ "in": "header",
927
+ "name": "X-Epilot-Org-ID",
928
+ "description": "The target Organization Id represented by the caller",
929
+ "schema": {
930
+ "type": "string"
931
+ },
932
+ "required": true,
933
+ "example": 739224
934
+ },
935
+ {
936
+ "in": "path",
937
+ "name": "integrationId",
938
+ "description": "The integration identifier",
939
+ "schema": {
940
+ "$ref": "#/components/schemas/IntegrationId"
941
+ },
942
+ "required": true,
943
+ "example": "getag"
944
+ }
945
+ ],
946
+ "summary": "searchStreets",
947
+ "tags": [
948
+ "External Integrations API"
949
+ ],
950
+ "requestBody": {
951
+ "required": true,
952
+ "content": {
953
+ "application/json": {
954
+ "schema": {
955
+ "$ref": "#/components/schemas/SearchStreetsParams"
956
+ },
957
+ "examples": {
958
+ "Search streets": {
959
+ "value": {
960
+ "postal_code": "04109",
961
+ "city": "Leipzig"
962
+ }
963
+ }
964
+ }
965
+ }
966
+ }
967
+ },
968
+ "responses": {
969
+ "200": {
970
+ "description": "The available streets response payload",
971
+ "content": {
972
+ "application/json": {
973
+ "schema": {
974
+ "$ref": "#/components/schemas/SearchProvidersResult"
975
+ },
976
+ "examples": {
977
+ "Response with available streets": {
978
+ "value": [
979
+ {
980
+ "name": "Street 1"
981
+ },
982
+ {
983
+ "name": "Street 2"
984
+ }
985
+ ]
986
+ }
987
+ }
988
+ }
989
+ }
990
+ },
991
+ "400": {
992
+ "description": "Invalid payload",
993
+ "content": {
994
+ "application/json": {
995
+ "schema": {
996
+ "$ref": "#/components/schemas/Error"
997
+ }
998
+ }
999
+ }
1000
+ },
1001
+ "403": {
1002
+ "description": "Forbidden, no credentials found for the given integration / organization",
1003
+ "content": {
1004
+ "application/json": {
1005
+ "schema": {
1006
+ "$ref": "#/components/schemas/Error"
1007
+ }
1008
+ }
1009
+ }
1010
+ }
1011
+ }
1012
+ }
1013
+ },
1014
+ "/v1/integration/{integrationId}/credentials": {
1015
+ "get": {
1016
+ "description": "Gets the credentials for a given integration / organization",
1017
+ "operationId": "$getCredentials",
1018
+ "summary": "getCredentials",
1019
+ "tags": [
1020
+ "External Integrations API"
1021
+ ],
1022
+ "parameters": [
1023
+ {
1024
+ "in": "path",
1025
+ "name": "integrationId",
1026
+ "description": "The integration identifier",
1027
+ "schema": {
1028
+ "$ref": "#/components/schemas/IntegrationId"
1029
+ },
1030
+ "required": true,
1031
+ "example": "getag"
1032
+ },
1033
+ {
1034
+ "in": "header",
1035
+ "name": "X-Epilot-Org-ID",
1036
+ "description": "The target Organization Id represented by the caller",
1037
+ "schema": {
1038
+ "type": "string"
1039
+ },
1040
+ "required": true,
1041
+ "example": 739224
1042
+ }
1043
+ ],
1044
+ "responses": {
1045
+ "200": {
1046
+ "description": "The credentials response payload",
1047
+ "content": {
1048
+ "application/json": {
1049
+ "schema": {
1050
+ "$ref": "#/components/schemas/IntegrationCredentialsResult"
1051
+ },
1052
+ "examples": {
1053
+ "Response when credentials": {
1054
+ "value": {
1055
+ "username": "username",
1056
+ "password": "password"
1057
+ }
1058
+ }
1059
+ }
1060
+ }
1061
+ }
1062
+ },
1063
+ "400": {
1064
+ "description": "Invalid payload",
1065
+ "content": {
1066
+ "application/json": {
1067
+ "schema": {
1068
+ "$ref": "#/components/schemas/Error"
1069
+ }
1070
+ }
1071
+ }
1072
+ },
1073
+ "404": {
1074
+ "description": "Credentials not found",
1075
+ "content": {
1076
+ "application/json": {
1077
+ "schema": {
1078
+ "$ref": "#/components/schemas/Error"
1079
+ }
1080
+ }
1081
+ }
1082
+ }
1083
+ }
1084
+ }
1085
+ },
1086
+ "/v1/integration/{integrationId}/credentials:save": {
1087
+ "put": {
1088
+ "description": "Saves the credentials for a given integration / organization",
1089
+ "operationId": "$saveCredentials",
1090
+ "summary": "saveCredentials",
1091
+ "tags": [
1092
+ "External Integrations API"
1093
+ ],
1094
+ "parameters": [
1095
+ {
1096
+ "in": "path",
1097
+ "name": "integrationId",
1098
+ "description": "The integration identifier",
1099
+ "schema": {
1100
+ "$ref": "#/components/schemas/IntegrationId"
1101
+ },
1102
+ "required": true,
1103
+ "example": "getag"
1104
+ },
1105
+ {
1106
+ "in": "header",
1107
+ "name": "X-Epilot-Org-ID",
1108
+ "description": "The target Organization Id represented by the caller",
1109
+ "schema": {
1110
+ "type": "string"
1111
+ },
1112
+ "required": true,
1113
+ "example": 739224
1114
+ }
1115
+ ],
1116
+ "requestBody": {
1117
+ "content": {
1118
+ "application/json": {
1119
+ "schema": {
1120
+ "$ref": "#/components/schemas/SaveIntegrationCredentialsParams"
1121
+ },
1122
+ "examples": {
1123
+ "Save credentials": {
1124
+ "value": {
1125
+ "username": "username",
1126
+ "password": "password"
1127
+ }
1128
+ }
1129
+ }
1130
+ }
1131
+ }
1132
+ },
1133
+ "responses": {
1134
+ "204": {
1135
+ "description": "Credentials saved"
1136
+ },
1137
+ "400": {
1138
+ "description": "Invalid payload",
1139
+ "content": {
1140
+ "application/json": {
1141
+ "schema": {
1142
+ "$ref": "#/components/schemas/Error"
1143
+ }
1144
+ }
1145
+ }
1146
+ }
1147
+ }
1148
+ }
1149
+ },
1150
+ "/v1/integration/{integrationId}/credentials:delete": {
1151
+ "delete": {
1152
+ "description": "Delete the credentials for a given integration / organization",
1153
+ "operationId": "$deleteCredentials",
1154
+ "summary": "deleteCredentials",
1155
+ "tags": [
1156
+ "External Integrations API"
1157
+ ],
1158
+ "parameters": [
1159
+ {
1160
+ "in": "path",
1161
+ "name": "integrationId",
1162
+ "description": "The integration identifier",
1163
+ "schema": {
1164
+ "$ref": "#/components/schemas/IntegrationId"
1165
+ },
1166
+ "required": true,
1167
+ "example": "getag"
1168
+ },
1169
+ {
1170
+ "in": "header",
1171
+ "name": "X-Epilot-Org-ID",
1172
+ "description": "The target Organization Id represented by the caller",
1173
+ "schema": {
1174
+ "type": "string"
1175
+ },
1176
+ "required": true,
1177
+ "example": 739224
1178
+ }
1179
+ ],
1180
+ "responses": {
1181
+ "204": {
1182
+ "description": "Credentials deleted"
1183
+ },
1184
+ "400": {
1185
+ "description": "Invalid payload",
1186
+ "content": {
1187
+ "application/json": {
1188
+ "schema": {
1189
+ "$ref": "#/components/schemas/Error"
1190
+ }
1191
+ }
1192
+ }
1193
+ }
1194
+ }
1195
+ }
1196
+ },
807
1197
  "/v1/public/opportunity": {
808
1198
  "post": {
809
1199
  "deprecated": true,
@@ -905,6 +1295,13 @@
905
1295
  }
906
1296
  },
907
1297
  "schemas": {
1298
+ "IntegrationId": {
1299
+ "type": "string",
1300
+ "enum": [
1301
+ "enet",
1302
+ "getag"
1303
+ ]
1304
+ },
908
1305
  "Error": {
909
1306
  "required": [
910
1307
  "message"
@@ -1965,6 +2362,62 @@
1965
2362
  ]
1966
2363
  }
1967
2364
  },
2365
+ "SearchProvidersParams": {
2366
+ "description": "A search providers payload",
2367
+ "type": "object",
2368
+ "properties": {
2369
+ "type": {
2370
+ "description": "The provider type (power or gas)",
2371
+ "type": "string",
2372
+ "enum": [
2373
+ "power",
2374
+ "gas"
2375
+ ]
2376
+ },
2377
+ "postal_code": {
2378
+ "description": "The postal code to search for providers",
2379
+ "type": "string"
2380
+ },
2381
+ "city": {
2382
+ "description": "The city to search for providers",
2383
+ "type": "string",
2384
+ "nullable": true
2385
+ },
2386
+ "street": {
2387
+ "description": "The street to search for providers",
2388
+ "type": "string",
2389
+ "nullable": true
2390
+ },
2391
+ "street_number": {
2392
+ "description": "The street number to search for providers",
2393
+ "type": "string",
2394
+ "nullable": true
2395
+ }
2396
+ },
2397
+ "required": [
2398
+ "type",
2399
+ "postal_code"
2400
+ ]
2401
+ },
2402
+ "SearchStreetsParams": {
2403
+ "description": "A search streets payload",
2404
+ "type": "object",
2405
+ "properties": {
2406
+ "postal_code": {
2407
+ "description": "The postal code to search for providers",
2408
+ "type": "string"
2409
+ },
2410
+ "city": {
2411
+ "description": "The city to search for providers",
2412
+ "type": "string",
2413
+ "nullable": true
2414
+ }
2415
+ },
2416
+ "required": [
2417
+ "city",
2418
+ "postal_code"
2419
+ ]
2420
+ },
1968
2421
  "AvailabilityCheckParams": {
1969
2422
  "description": "Availability check request payload",
1970
2423
  "type": "object",
@@ -2060,6 +2513,82 @@
2060
2513
  "msg"
2061
2514
  ]
2062
2515
  },
2516
+ "IntegrationCredentialsResult": {
2517
+ "description": "The credentials response payload",
2518
+ "type": "object",
2519
+ "properties": {
2520
+ "schema": {
2521
+ "$ref": "#/components/schemas/BasicAuthCredentials"
2522
+ }
2523
+ }
2524
+ },
2525
+ "SaveIntegrationCredentialsParams": {
2526
+ "description": "The credentials request payload",
2527
+ "type": "object",
2528
+ "properties": {
2529
+ "schema": {
2530
+ "$ref": "#/components/schemas/BasicAuthCredentials"
2531
+ }
2532
+ }
2533
+ },
2534
+ "BasicAuthCredentials": {
2535
+ "description": "The basic auth credentials",
2536
+ "type": "object",
2537
+ "properties": {
2538
+ "username": {
2539
+ "description": "The username",
2540
+ "type": "string",
2541
+ "example": "username"
2542
+ },
2543
+ "password": {
2544
+ "description": "The password",
2545
+ "type": "string",
2546
+ "example": "123456"
2547
+ }
2548
+ },
2549
+ "required": [
2550
+ "username",
2551
+ "password"
2552
+ ]
2553
+ },
2554
+ "SearchProvidersResult": {
2555
+ "description": "The search providers payload",
2556
+ "type": "array",
2557
+ "items": {
2558
+ "$ref": "#/components/schemas/Provider"
2559
+ }
2560
+ },
2561
+ "Provider": {
2562
+ "description": "The provider entity",
2563
+ "type": "object",
2564
+ "properties": {
2565
+ "name": {
2566
+ "description": "The provider name",
2567
+ "type": "string"
2568
+ },
2569
+ "code": {
2570
+ "description": "The provider code",
2571
+ "type": "string"
2572
+ }
2573
+ },
2574
+ "required": [
2575
+ "name",
2576
+ "code"
2577
+ ]
2578
+ },
2579
+ "Street": {
2580
+ "description": "The street entity",
2581
+ "type": "object",
2582
+ "properties": {
2583
+ "name": {
2584
+ "description": "The street name",
2585
+ "type": "string"
2586
+ }
2587
+ },
2588
+ "required": [
2589
+ "name"
2590
+ ]
2591
+ },
2063
2592
  "ValidateAvailabilityFileResult": {
2064
2593
  "description": "The availability map file result payload",
2065
2594
  "type": "object",
@@ -2981,7 +3510,7 @@
2981
3510
  },
2982
3511
  "recurrences": {
2983
3512
  "type": "array",
2984
- "description": "The aggregated price items recurrences.",
3513
+ "description": "The aggregated price items tax amount per rate.",
2985
3514
  "items": {
2986
3515
  "oneOf": [
2987
3516
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/pricing-client",
3
- "version": "3.17.4",
3
+ "version": "3.17.5",
4
4
  "description": "Client for epilot Pricing APIs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",