ultracart_rest_api_v2_typescript 4.1.180 → 4.1.181

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.
@@ -1083,6 +1083,9 @@ src/models/SfvbRecordingEventsResponse.ts
1083
1083
  src/models/SfvbRecordingPageView.ts
1084
1084
  src/models/SfvbRecordingParameter.ts
1085
1085
  src/models/SfvbRecordingResponse.ts
1086
+ src/models/SfvbRecordingSettings.ts
1087
+ src/models/SfvbRecordingSettingsRequest.ts
1088
+ src/models/SfvbRecordingSettingsResponse.ts
1086
1089
  src/models/SfvbRenderRequest.ts
1087
1090
  src/models/SfvbRenderResponse.ts
1088
1091
  src/models/SfvbServerLog.ts
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # UltraCart Typescript SDK
2
- ## ultracart_rest_api_v2_typescript@4.1.180
2
+ ## ultracart_rest_api_v2_typescript@4.1.181
3
3
 
4
4
  Every API method call has a sample for every language SDK. See https://github.com/UltraCart/sdk_samples
5
5
 
6
6
  Installation
7
7
 
8
8
  ```
9
- npm install ultracart_rest_api_v2_typescript@4.1.180 --save
9
+ npm install ultracart_rest_api_v2_typescript@4.1.181 --save
10
10
  ```
11
11
 
12
12
  ```typescript
@@ -84,6 +84,7 @@ Not every change is committed to every SDK.
84
84
 
85
85
  | Version | Date | Comments |
86
86
  | --: | :-: | --- |
87
+ | 4.1.181 | 10/02/2026 | sfvb internal testing |
87
88
  | 4.1.180 | 10/02/2026 | sfvb internal builder |
88
89
  | 4.1.179 | 10/01/2026 | sfvb internal testing |
89
90
  | 4.1.178 | 09/30/2026 | sfvb internal testing |
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import { SfvbBlogPostDetail, SfvbBlogPostImageRequest, SfvbBlogPostRequest, SfvbBlogPostsResponse, SfvbCompileRequest, SfvbCompileResponse, SfvbContainerResponse, SfvbContainerRevertRequest, SfvbContainerVersion, SfvbContainerVersionsResponse, SfvbContainerWriteRequest, SfvbElementSchemaResponse, SfvbElementsResponse, SfvbExperiment, SfvbExperimentEndRequest, SfvbExperimentObjectivesResponse, SfvbExperimentStartRequest, SfvbExperimentVariationUpdateRequest, SfvbExperimentsResponse, SfvbFileContentResponse, SfvbFileRevertRequest, SfvbFileSearchRequest, SfvbFileSearchResponse, SfvbFileUploadRequest, SfvbFileUploadUrlResponse, SfvbFileVersionsResponse, SfvbFileWriteRequest, SfvbFileWriteResponse, SfvbFilesResponse, SfvbItemAttributeUpdateRequest, SfvbItemContainersResponse, SfvbItemContentRequest, SfvbItemMultimediaRequest, SfvbItemResponse, SfvbItemSeoRequest, SfvbLibraryEntry, SfvbLibraryResponse, SfvbMenu, SfvbMenuWriteRequest, SfvbMenusResponse, SfvbPageAttributeUpdateRequest, SfvbPageBlogPostsRequest, SfvbPageBlogPostsResponse, SfvbPageCreateRequest, SfvbPageDuplicateRequest, SfvbPageItemsAddRequest, SfvbPageItemsRemoveRequest, SfvbPageItemsResponse, SfvbPageListResponse, SfvbPageMultimediaRequest, SfvbPageRefreshRequest, SfvbPageRefreshResponse, SfvbPageResponse, SfvbPageSelectors, SfvbPageSettingsRequest, SfvbPreviewAccessRequest, SfvbPreviewAccessResponse, SfvbPreviewSessionRequest, SfvbPreviewSessionResponse, SfvbPreviewUrlResponse, SfvbRecordingEventsResponse, SfvbRecordingResponse, SfvbRenderRequest, SfvbRenderResponse, SfvbServerLogDetail, SfvbServerLogsResponse, SfvbSiteAttributeUpdateRequest, SfvbSiteAttributesResponse, SfvbStorefrontsResponse, SfvbTemplateResolveResponse, SfvbTemplatesResponse, SfvbTheme, SfvbThemeAttributeUpdateRequest, SfvbThemeAttributesResponse, SfvbThemeDuplicateRequest, SfvbThemeJobResponse, SfvbThemesResponse, SfvbUpsellOffer, SfvbUpsellOffersResponse, SfvbUpsellPath, SfvbUpsellPathDuplicateRequest, SfvbUpsellPathMoveRequest, SfvbUpsellPathsResponse, SfvbValidateRequest, SfvbValidationResponse, SfvbVelocityValidateRequest, SfvbVersionResponse, SfvbWhoamiResponse, SfvbWidgetIdsResponse } from '../models';
13
+ import { SfvbBlogPostDetail, SfvbBlogPostImageRequest, SfvbBlogPostRequest, SfvbBlogPostsResponse, SfvbCompileRequest, SfvbCompileResponse, SfvbContainerResponse, SfvbContainerRevertRequest, SfvbContainerVersion, SfvbContainerVersionsResponse, SfvbContainerWriteRequest, SfvbElementSchemaResponse, SfvbElementsResponse, SfvbExperiment, SfvbExperimentEndRequest, SfvbExperimentObjectivesResponse, SfvbExperimentStartRequest, SfvbExperimentVariationUpdateRequest, SfvbExperimentsResponse, SfvbFileContentResponse, SfvbFileRevertRequest, SfvbFileSearchRequest, SfvbFileSearchResponse, SfvbFileUploadRequest, SfvbFileUploadUrlResponse, SfvbFileVersionsResponse, SfvbFileWriteRequest, SfvbFileWriteResponse, SfvbFilesResponse, SfvbItemAttributeUpdateRequest, SfvbItemContainersResponse, SfvbItemContentRequest, SfvbItemMultimediaRequest, SfvbItemResponse, SfvbItemSeoRequest, SfvbLibraryEntry, SfvbLibraryResponse, SfvbMenu, SfvbMenuWriteRequest, SfvbMenusResponse, SfvbPageAttributeUpdateRequest, SfvbPageBlogPostsRequest, SfvbPageBlogPostsResponse, SfvbPageCreateRequest, SfvbPageDuplicateRequest, SfvbPageItemsAddRequest, SfvbPageItemsRemoveRequest, SfvbPageItemsResponse, SfvbPageListResponse, SfvbPageMultimediaRequest, SfvbPageRefreshRequest, SfvbPageRefreshResponse, SfvbPageResponse, SfvbPageSelectors, SfvbPageSettingsRequest, SfvbPreviewAccessRequest, SfvbPreviewAccessResponse, SfvbPreviewSessionRequest, SfvbPreviewSessionResponse, SfvbPreviewUrlResponse, SfvbRecordingEventsResponse, SfvbRecordingResponse, SfvbRecordingSettingsRequest, SfvbRecordingSettingsResponse, SfvbRenderRequest, SfvbRenderResponse, SfvbServerLogDetail, SfvbServerLogsResponse, SfvbSiteAttributeUpdateRequest, SfvbSiteAttributesResponse, SfvbStorefrontsResponse, SfvbTemplateResolveResponse, SfvbTemplatesResponse, SfvbTheme, SfvbThemeAttributeUpdateRequest, SfvbThemeAttributesResponse, SfvbThemeDuplicateRequest, SfvbThemeJobResponse, SfvbThemesResponse, SfvbUpsellOffer, SfvbUpsellOffersResponse, SfvbUpsellPath, SfvbUpsellPathDuplicateRequest, SfvbUpsellPathMoveRequest, SfvbUpsellPathsResponse, SfvbValidateRequest, SfvbValidationResponse, SfvbVelocityValidateRequest, SfvbVersionResponse, SfvbWhoamiResponse, SfvbWidgetIdsResponse } from '../models';
14
14
  export interface AddSfvbPageBlogPostsRequest {
15
15
  storefrontOid: number;
16
16
  path: string;
@@ -198,6 +198,9 @@ export interface GetSfvbRecordingPageViewEventsRequest {
198
198
  screenRecordingUuid: string;
199
199
  screenRecordingPageViewUuid: string;
200
200
  }
201
+ export interface GetSfvbRecordingSettingsRequest {
202
+ storefrontOid: number;
203
+ }
201
204
  export interface GetSfvbServerLogRequest {
202
205
  storefrontOid: number;
203
206
  logId: string;
@@ -409,6 +412,10 @@ export interface PutSfvbPreviewSessionRequest {
409
412
  previewSession: SfvbPreviewSessionRequest;
410
413
  themeOid?: number;
411
414
  }
415
+ export interface PutSfvbRecordingSettingsRequest {
416
+ storefrontOid: number;
417
+ recordingSettingsRequest: SfvbRecordingSettingsRequest;
418
+ }
412
419
  export interface PutSfvbSiteAttributesRequest {
413
420
  storefrontOid: number;
414
421
  siteAttributeUpdateRequest: SfvbSiteAttributeUpdateRequest;
@@ -1163,6 +1170,20 @@ export interface SfvbApiInterface {
1163
1170
  * Get one recorded page view\'s replay events
1164
1171
  */
1165
1172
  getSfvbRecordingPageViewEvents(requestParameters: GetSfvbRecordingPageViewEventsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingEventsResponse>;
1173
+ /**
1174
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
1175
+ * @summary Get the storefront\'s screen recording settings
1176
+ * @param {number} storefrontOid
1177
+ * @param {*} [options] Override http request option.
1178
+ * @throws {RequiredError}
1179
+ * @memberof SfvbApiInterface
1180
+ */
1181
+ getSfvbRecordingSettingsRaw(requestParameters: GetSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbRecordingSettingsResponse>>;
1182
+ /**
1183
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
1184
+ * Get the storefront\'s screen recording settings
1185
+ */
1186
+ getSfvbRecordingSettings(requestParameters: GetSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingSettingsResponse>;
1166
1187
  /**
1167
1188
  * One render\'s server log with its lines, each with a level, a category such as VELOCITY or FLOW, and the message. log_id comes from the list, or from the X-UltraCart-Storefront-Log-Id header a page sends inside an SFVB preview session. min_level is debug, info, warn or error, default debug.
1168
1189
  * @summary Get one storefront render log
@@ -1842,6 +1863,21 @@ export interface SfvbApiInterface {
1842
1863
  * Push containers into a preview session
1843
1864
  */
1844
1865
  putSfvbPreviewSession(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse>;
1866
+ /**
1867
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
1868
+ * @summary Turn the storefront\'s screen recording on or off
1869
+ * @param {number} storefrontOid
1870
+ * @param {SfvbRecordingSettingsRequest} recordingSettingsRequest Whether to record
1871
+ * @param {*} [options] Override http request option.
1872
+ * @throws {RequiredError}
1873
+ * @memberof SfvbApiInterface
1874
+ */
1875
+ putSfvbRecordingSettingsRaw(requestParameters: PutSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbRecordingSettingsResponse>>;
1876
+ /**
1877
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
1878
+ * Turn the storefront\'s screen recording on or off
1879
+ */
1880
+ putSfvbRecordingSettings(requestParameters: PutSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingSettingsResponse>;
1845
1881
  /**
1846
1882
  * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, video list, mailing list and item set attributes are refused, and so are the General screen settings other than the title, the SEO description and keywords and the social account names. Credentials are refused. Always needs sfvb_publish, because every theme reads the same attributes and there is no dormant copy to change instead. The admin General screen saves the whole storefront, so a merchant with it open can still overwrite a change made here.
1847
1883
  * @summary Change a storefront\'s site attributes
@@ -2584,6 +2620,16 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
2584
2620
  * Get one recorded page view\'s replay events
2585
2621
  */
2586
2622
  getSfvbRecordingPageViewEvents(requestParameters: GetSfvbRecordingPageViewEventsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingEventsResponse>;
2623
+ /**
2624
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
2625
+ * Get the storefront\'s screen recording settings
2626
+ */
2627
+ getSfvbRecordingSettingsRaw(requestParameters: GetSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbRecordingSettingsResponse>>;
2628
+ /**
2629
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
2630
+ * Get the storefront\'s screen recording settings
2631
+ */
2632
+ getSfvbRecordingSettings(requestParameters: GetSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingSettingsResponse>;
2587
2633
  /**
2588
2634
  * One render\'s server log with its lines, each with a level, a category such as VELOCITY or FLOW, and the message. log_id comes from the list, or from the X-UltraCart-Storefront-Log-Id header a page sends inside an SFVB preview session. min_level is debug, info, warn or error, default debug.
2589
2635
  * Get one storefront render log
@@ -3000,6 +3046,16 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
3000
3046
  * Push containers into a preview session
3001
3047
  */
3002
3048
  putSfvbPreviewSession(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse>;
3049
+ /**
3050
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
3051
+ * Turn the storefront\'s screen recording on or off
3052
+ */
3053
+ putSfvbRecordingSettingsRaw(requestParameters: PutSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbRecordingSettingsResponse>>;
3054
+ /**
3055
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
3056
+ * Turn the storefront\'s screen recording on or off
3057
+ */
3058
+ putSfvbRecordingSettings(requestParameters: PutSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingSettingsResponse>;
3003
3059
  /**
3004
3060
  * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, video list, mailing list and item set attributes are refused, and so are the General screen settings other than the title, the SEO description and keywords and the social account names. Credentials are refused. Always needs sfvb_publish, because every theme reads the same attributes and there is no dormant copy to change instead. The admin General screen saves the whole storefront, so a merchant with it open can still overwrite a change made here.
3005
3061
  * Change a storefront\'s site attributes
@@ -2766,6 +2766,65 @@ var SfvbApi = /** @class */ (function (_super) {
2766
2766
  });
2767
2767
  });
2768
2768
  };
2769
+ /**
2770
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
2771
+ * Get the storefront\'s screen recording settings
2772
+ */
2773
+ SfvbApi.prototype.getSfvbRecordingSettingsRaw = function (requestParameters, initOverrides) {
2774
+ return __awaiter(this, void 0, void 0, function () {
2775
+ var queryParameters, headerParameters, _a, _b, response;
2776
+ return __generator(this, function (_c) {
2777
+ switch (_c.label) {
2778
+ case 0:
2779
+ if (requestParameters.storefrontOid === null || requestParameters.storefrontOid === undefined) {
2780
+ throw new runtime.RequiredError('storefrontOid', 'Required parameter requestParameters.storefrontOid was null or undefined when calling getSfvbRecordingSettings.');
2781
+ }
2782
+ queryParameters = {};
2783
+ headerParameters = {};
2784
+ if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
2785
+ // oauth required
2786
+ _a = headerParameters;
2787
+ _b = "Authorization";
2788
+ return [4 /*yield*/, this.configuration.accessToken("ultraCartOauth", [])];
2789
+ case 1:
2790
+ // oauth required
2791
+ _a[_b] = _c.sent();
2792
+ _c.label = 2;
2793
+ case 2:
2794
+ if (this.configuration && this.configuration.apiKey) {
2795
+ headerParameters["x-ultracart-simple-key"] = this.configuration.apiKey("x-ultracart-simple-key"); // ultraCartSimpleApiKey authentication
2796
+ }
2797
+ return [4 /*yield*/, this.request({
2798
+ path: "/sfvb/storefronts/{storefront_oid}/recording_settings".replace("{".concat("storefront_oid", "}"), encodeURIComponent(String(requestParameters.storefrontOid))),
2799
+ method: 'GET',
2800
+ headers: headerParameters,
2801
+ query: queryParameters,
2802
+ }, initOverrides)];
2803
+ case 3:
2804
+ response = _c.sent();
2805
+ return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return (0, models_1.SfvbRecordingSettingsResponseFromJSON)(jsonValue); })];
2806
+ }
2807
+ });
2808
+ });
2809
+ };
2810
+ /**
2811
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
2812
+ * Get the storefront\'s screen recording settings
2813
+ */
2814
+ SfvbApi.prototype.getSfvbRecordingSettings = function (requestParameters, initOverrides) {
2815
+ return __awaiter(this, void 0, void 0, function () {
2816
+ var response;
2817
+ return __generator(this, function (_a) {
2818
+ switch (_a.label) {
2819
+ case 0: return [4 /*yield*/, this.getSfvbRecordingSettingsRaw(requestParameters, initOverrides)];
2820
+ case 1:
2821
+ response = _a.sent();
2822
+ return [4 /*yield*/, response.value()];
2823
+ case 2: return [2 /*return*/, _a.sent()];
2824
+ }
2825
+ });
2826
+ });
2827
+ };
2769
2828
  /**
2770
2829
  * One render\'s server log with its lines, each with a level, a category such as VELOCITY or FLOW, and the message. log_id comes from the list, or from the X-UltraCart-Storefront-Log-Id header a page sends inside an SFVB preview session. min_level is debug, info, warn or error, default debug.
2771
2830
  * Get one storefront render log
@@ -5573,6 +5632,70 @@ var SfvbApi = /** @class */ (function (_super) {
5573
5632
  });
5574
5633
  });
5575
5634
  };
5635
+ /**
5636
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
5637
+ * Turn the storefront\'s screen recording on or off
5638
+ */
5639
+ SfvbApi.prototype.putSfvbRecordingSettingsRaw = function (requestParameters, initOverrides) {
5640
+ return __awaiter(this, void 0, void 0, function () {
5641
+ var queryParameters, headerParameters, _a, _b, response;
5642
+ return __generator(this, function (_c) {
5643
+ switch (_c.label) {
5644
+ case 0:
5645
+ if (requestParameters.storefrontOid === null || requestParameters.storefrontOid === undefined) {
5646
+ throw new runtime.RequiredError('storefrontOid', 'Required parameter requestParameters.storefrontOid was null or undefined when calling putSfvbRecordingSettings.');
5647
+ }
5648
+ if (requestParameters.recordingSettingsRequest === null || requestParameters.recordingSettingsRequest === undefined) {
5649
+ throw new runtime.RequiredError('recordingSettingsRequest', 'Required parameter requestParameters.recordingSettingsRequest was null or undefined when calling putSfvbRecordingSettings.');
5650
+ }
5651
+ queryParameters = {};
5652
+ headerParameters = {};
5653
+ headerParameters['Content-Type'] = 'application/json; charset=UTF-8';
5654
+ if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
5655
+ // oauth required
5656
+ _a = headerParameters;
5657
+ _b = "Authorization";
5658
+ return [4 /*yield*/, this.configuration.accessToken("ultraCartOauth", [])];
5659
+ case 1:
5660
+ // oauth required
5661
+ _a[_b] = _c.sent();
5662
+ _c.label = 2;
5663
+ case 2:
5664
+ if (this.configuration && this.configuration.apiKey) {
5665
+ headerParameters["x-ultracart-simple-key"] = this.configuration.apiKey("x-ultracart-simple-key"); // ultraCartSimpleApiKey authentication
5666
+ }
5667
+ return [4 /*yield*/, this.request({
5668
+ path: "/sfvb/storefronts/{storefront_oid}/recording_settings".replace("{".concat("storefront_oid", "}"), encodeURIComponent(String(requestParameters.storefrontOid))),
5669
+ method: 'PUT',
5670
+ headers: headerParameters,
5671
+ query: queryParameters,
5672
+ body: (0, models_1.SfvbRecordingSettingsRequestToJSON)(requestParameters.recordingSettingsRequest),
5673
+ }, initOverrides)];
5674
+ case 3:
5675
+ response = _c.sent();
5676
+ return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return (0, models_1.SfvbRecordingSettingsResponseFromJSON)(jsonValue); })];
5677
+ }
5678
+ });
5679
+ });
5680
+ };
5681
+ /**
5682
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
5683
+ * Turn the storefront\'s screen recording on or off
5684
+ */
5685
+ SfvbApi.prototype.putSfvbRecordingSettings = function (requestParameters, initOverrides) {
5686
+ return __awaiter(this, void 0, void 0, function () {
5687
+ var response;
5688
+ return __generator(this, function (_a) {
5689
+ switch (_a.label) {
5690
+ case 0: return [4 /*yield*/, this.putSfvbRecordingSettingsRaw(requestParameters, initOverrides)];
5691
+ case 1:
5692
+ response = _a.sent();
5693
+ return [4 /*yield*/, response.value()];
5694
+ case 2: return [2 /*return*/, _a.sent()];
5695
+ }
5696
+ });
5697
+ });
5698
+ };
5576
5699
  /**
5577
5700
  * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, video list, mailing list and item set attributes are refused, and so are the General screen settings other than the title, the SEO description and keywords and the social account names. Credentials are refused. Always needs sfvb_publish, because every theme reads the same attributes and there is no dormant copy to change instead. The admin General screen saves the whole storefront, so a merchant with it open can still overwrite a change made here.
5578
5701
  * Change a storefront\'s site attributes
@@ -0,0 +1,79 @@
1
+ /**
2
+ * UltraCart Rest API V2
3
+ * UltraCart REST API Version 2
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ * Contact: support@ultracart.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface SfvbRecordingSettings
16
+ */
17
+ export interface SfvbRecordingSettings {
18
+ /**
19
+ * What 1,000 recorded sessions cost after the trial, in US dollars.
20
+ * @type {number}
21
+ * @memberof SfvbRecordingSettings
22
+ */
23
+ cost_per_thousand?: number;
24
+ /**
25
+ * True when real shoppers' sessions on this storefront are being recorded.
26
+ * @type {boolean}
27
+ * @memberof SfvbRecordingSettings
28
+ */
29
+ enabled?: boolean;
30
+ /**
31
+ * How long recordings are kept, such as 1 year.
32
+ * @type {string}
33
+ * @memberof SfvbRecordingSettings
34
+ */
35
+ retention_interval?: string;
36
+ /**
37
+ * Sessions recorded so far in the current billing period.
38
+ * @type {number}
39
+ * @memberof SfvbRecordingSettings
40
+ */
41
+ sessions_current_billing_period?: number;
42
+ /**
43
+ * Sessions recorded in the previous billing period.
44
+ * @type {number}
45
+ * @memberof SfvbRecordingSettings
46
+ */
47
+ sessions_last_billing_period?: number;
48
+ /**
49
+ * Sessions recorded during the free trial.
50
+ * @type {number}
51
+ * @memberof SfvbRecordingSettings
52
+ */
53
+ sessions_trial_billing_period?: number;
54
+ /**
55
+ * When the free trial ends, as an ISO-8601 time. Absent until the trial has started.
56
+ * @type {string}
57
+ * @memberof SfvbRecordingSettings
58
+ */
59
+ trial_expiration?: string;
60
+ /**
61
+ * True when the free trial is over and recorded sessions are billed.
62
+ * @type {boolean}
63
+ * @memberof SfvbRecordingSettings
64
+ */
65
+ trial_expired?: boolean;
66
+ /**
67
+ * True once recording has been turned on at least once, which starts a 14 day free trial.
68
+ * @type {boolean}
69
+ * @memberof SfvbRecordingSettings
70
+ */
71
+ trial_started?: boolean;
72
+ }
73
+ /**
74
+ * Check if a given object implements the SfvbRecordingSettings interface.
75
+ */
76
+ export declare function instanceOfSfvbRecordingSettings(value: object): boolean;
77
+ export declare function SfvbRecordingSettingsFromJSON(json: any): SfvbRecordingSettings;
78
+ export declare function SfvbRecordingSettingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SfvbRecordingSettings;
79
+ export declare function SfvbRecordingSettingsToJSON(value?: SfvbRecordingSettings | null): any;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * UltraCart Rest API V2
6
+ * UltraCart REST API Version 2
7
+ *
8
+ * The version of the OpenAPI document: 2.0.0
9
+ * Contact: support@ultracart.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SfvbRecordingSettingsToJSON = exports.SfvbRecordingSettingsFromJSONTyped = exports.SfvbRecordingSettingsFromJSON = exports.instanceOfSfvbRecordingSettings = void 0;
17
+ var runtime_1 = require("../runtime");
18
+ /**
19
+ * Check if a given object implements the SfvbRecordingSettings interface.
20
+ */
21
+ function instanceOfSfvbRecordingSettings(value) {
22
+ var isInstance = true;
23
+ return isInstance;
24
+ }
25
+ exports.instanceOfSfvbRecordingSettings = instanceOfSfvbRecordingSettings;
26
+ function SfvbRecordingSettingsFromJSON(json) {
27
+ return SfvbRecordingSettingsFromJSONTyped(json, false);
28
+ }
29
+ exports.SfvbRecordingSettingsFromJSON = SfvbRecordingSettingsFromJSON;
30
+ function SfvbRecordingSettingsFromJSONTyped(json, ignoreDiscriminator) {
31
+ if ((json === undefined) || (json === null)) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'cost_per_thousand': !(0, runtime_1.exists)(json, 'cost_per_thousand') ? undefined : json['cost_per_thousand'],
36
+ 'enabled': !(0, runtime_1.exists)(json, 'enabled') ? undefined : json['enabled'],
37
+ 'retention_interval': !(0, runtime_1.exists)(json, 'retention_interval') ? undefined : json['retention_interval'],
38
+ 'sessions_current_billing_period': !(0, runtime_1.exists)(json, 'sessions_current_billing_period') ? undefined : json['sessions_current_billing_period'],
39
+ 'sessions_last_billing_period': !(0, runtime_1.exists)(json, 'sessions_last_billing_period') ? undefined : json['sessions_last_billing_period'],
40
+ 'sessions_trial_billing_period': !(0, runtime_1.exists)(json, 'sessions_trial_billing_period') ? undefined : json['sessions_trial_billing_period'],
41
+ 'trial_expiration': !(0, runtime_1.exists)(json, 'trial_expiration') ? undefined : json['trial_expiration'],
42
+ 'trial_expired': !(0, runtime_1.exists)(json, 'trial_expired') ? undefined : json['trial_expired'],
43
+ 'trial_started': !(0, runtime_1.exists)(json, 'trial_started') ? undefined : json['trial_started'],
44
+ };
45
+ }
46
+ exports.SfvbRecordingSettingsFromJSONTyped = SfvbRecordingSettingsFromJSONTyped;
47
+ function SfvbRecordingSettingsToJSON(value) {
48
+ if (value === undefined) {
49
+ return undefined;
50
+ }
51
+ if (value === null) {
52
+ return null;
53
+ }
54
+ return {
55
+ 'cost_per_thousand': value.cost_per_thousand,
56
+ 'enabled': value.enabled,
57
+ 'retention_interval': value.retention_interval,
58
+ 'sessions_current_billing_period': value.sessions_current_billing_period,
59
+ 'sessions_last_billing_period': value.sessions_last_billing_period,
60
+ 'sessions_trial_billing_period': value.sessions_trial_billing_period,
61
+ 'trial_expiration': value.trial_expiration,
62
+ 'trial_expired': value.trial_expired,
63
+ 'trial_started': value.trial_started,
64
+ };
65
+ }
66
+ exports.SfvbRecordingSettingsToJSON = SfvbRecordingSettingsToJSON;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * UltraCart Rest API V2
3
+ * UltraCart REST API Version 2
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ * Contact: support@ultracart.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface SfvbRecordingSettingsRequest
16
+ */
17
+ export interface SfvbRecordingSettingsRequest {
18
+ /**
19
+ * True to record real shoppers' sessions, false to stop.
20
+ * @type {boolean}
21
+ * @memberof SfvbRecordingSettingsRequest
22
+ */
23
+ enabled?: boolean;
24
+ }
25
+ /**
26
+ * Check if a given object implements the SfvbRecordingSettingsRequest interface.
27
+ */
28
+ export declare function instanceOfSfvbRecordingSettingsRequest(value: object): boolean;
29
+ export declare function SfvbRecordingSettingsRequestFromJSON(json: any): SfvbRecordingSettingsRequest;
30
+ export declare function SfvbRecordingSettingsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SfvbRecordingSettingsRequest;
31
+ export declare function SfvbRecordingSettingsRequestToJSON(value?: SfvbRecordingSettingsRequest | null): any;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * UltraCart Rest API V2
6
+ * UltraCart REST API Version 2
7
+ *
8
+ * The version of the OpenAPI document: 2.0.0
9
+ * Contact: support@ultracart.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SfvbRecordingSettingsRequestToJSON = exports.SfvbRecordingSettingsRequestFromJSONTyped = exports.SfvbRecordingSettingsRequestFromJSON = exports.instanceOfSfvbRecordingSettingsRequest = void 0;
17
+ var runtime_1 = require("../runtime");
18
+ /**
19
+ * Check if a given object implements the SfvbRecordingSettingsRequest interface.
20
+ */
21
+ function instanceOfSfvbRecordingSettingsRequest(value) {
22
+ var isInstance = true;
23
+ return isInstance;
24
+ }
25
+ exports.instanceOfSfvbRecordingSettingsRequest = instanceOfSfvbRecordingSettingsRequest;
26
+ function SfvbRecordingSettingsRequestFromJSON(json) {
27
+ return SfvbRecordingSettingsRequestFromJSONTyped(json, false);
28
+ }
29
+ exports.SfvbRecordingSettingsRequestFromJSON = SfvbRecordingSettingsRequestFromJSON;
30
+ function SfvbRecordingSettingsRequestFromJSONTyped(json, ignoreDiscriminator) {
31
+ if ((json === undefined) || (json === null)) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'enabled': !(0, runtime_1.exists)(json, 'enabled') ? undefined : json['enabled'],
36
+ };
37
+ }
38
+ exports.SfvbRecordingSettingsRequestFromJSONTyped = SfvbRecordingSettingsRequestFromJSONTyped;
39
+ function SfvbRecordingSettingsRequestToJSON(value) {
40
+ if (value === undefined) {
41
+ return undefined;
42
+ }
43
+ if (value === null) {
44
+ return null;
45
+ }
46
+ return {
47
+ 'enabled': value.enabled,
48
+ };
49
+ }
50
+ exports.SfvbRecordingSettingsRequestToJSON = SfvbRecordingSettingsRequestToJSON;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * UltraCart Rest API V2
3
+ * UltraCart REST API Version 2
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ * Contact: support@ultracart.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import { SfvbRecordingSettings } from './SfvbRecordingSettings';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface SfvbRecordingSettingsResponse
17
+ */
18
+ export interface SfvbRecordingSettingsResponse {
19
+ /**
20
+ * On a change only. False when recording was already in the requested state, so nothing was saved.
21
+ * @type {boolean}
22
+ * @memberof SfvbRecordingSettingsResponse
23
+ */
24
+ changed?: boolean;
25
+ /**
26
+ *
27
+ * @type {SfvbRecordingSettings}
28
+ * @memberof SfvbRecordingSettingsResponse
29
+ */
30
+ settings?: SfvbRecordingSettings;
31
+ }
32
+ /**
33
+ * Check if a given object implements the SfvbRecordingSettingsResponse interface.
34
+ */
35
+ export declare function instanceOfSfvbRecordingSettingsResponse(value: object): boolean;
36
+ export declare function SfvbRecordingSettingsResponseFromJSON(json: any): SfvbRecordingSettingsResponse;
37
+ export declare function SfvbRecordingSettingsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SfvbRecordingSettingsResponse;
38
+ export declare function SfvbRecordingSettingsResponseToJSON(value?: SfvbRecordingSettingsResponse | null): any;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * UltraCart Rest API V2
6
+ * UltraCart REST API Version 2
7
+ *
8
+ * The version of the OpenAPI document: 2.0.0
9
+ * Contact: support@ultracart.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SfvbRecordingSettingsResponseToJSON = exports.SfvbRecordingSettingsResponseFromJSONTyped = exports.SfvbRecordingSettingsResponseFromJSON = exports.instanceOfSfvbRecordingSettingsResponse = void 0;
17
+ var runtime_1 = require("../runtime");
18
+ var SfvbRecordingSettings_1 = require("./SfvbRecordingSettings");
19
+ /**
20
+ * Check if a given object implements the SfvbRecordingSettingsResponse interface.
21
+ */
22
+ function instanceOfSfvbRecordingSettingsResponse(value) {
23
+ var isInstance = true;
24
+ return isInstance;
25
+ }
26
+ exports.instanceOfSfvbRecordingSettingsResponse = instanceOfSfvbRecordingSettingsResponse;
27
+ function SfvbRecordingSettingsResponseFromJSON(json) {
28
+ return SfvbRecordingSettingsResponseFromJSONTyped(json, false);
29
+ }
30
+ exports.SfvbRecordingSettingsResponseFromJSON = SfvbRecordingSettingsResponseFromJSON;
31
+ function SfvbRecordingSettingsResponseFromJSONTyped(json, ignoreDiscriminator) {
32
+ if ((json === undefined) || (json === null)) {
33
+ return json;
34
+ }
35
+ return {
36
+ 'changed': !(0, runtime_1.exists)(json, 'changed') ? undefined : json['changed'],
37
+ 'settings': !(0, runtime_1.exists)(json, 'settings') ? undefined : (0, SfvbRecordingSettings_1.SfvbRecordingSettingsFromJSON)(json['settings']),
38
+ };
39
+ }
40
+ exports.SfvbRecordingSettingsResponseFromJSONTyped = SfvbRecordingSettingsResponseFromJSONTyped;
41
+ function SfvbRecordingSettingsResponseToJSON(value) {
42
+ if (value === undefined) {
43
+ return undefined;
44
+ }
45
+ if (value === null) {
46
+ return null;
47
+ }
48
+ return {
49
+ 'changed': value.changed,
50
+ 'settings': (0, SfvbRecordingSettings_1.SfvbRecordingSettingsToJSON)(value.settings),
51
+ };
52
+ }
53
+ exports.SfvbRecordingSettingsResponseToJSON = SfvbRecordingSettingsResponseToJSON;
@@ -1053,6 +1053,9 @@ export * from './SfvbRecordingEventsResponse';
1053
1053
  export * from './SfvbRecordingPageView';
1054
1054
  export * from './SfvbRecordingParameter';
1055
1055
  export * from './SfvbRecordingResponse';
1056
+ export * from './SfvbRecordingSettings';
1057
+ export * from './SfvbRecordingSettingsRequest';
1058
+ export * from './SfvbRecordingSettingsResponse';
1056
1059
  export * from './SfvbRenderRequest';
1057
1060
  export * from './SfvbRenderResponse';
1058
1061
  export * from './SfvbServerLog';
@@ -1071,6 +1071,9 @@ __exportStar(require("./SfvbRecordingEventsResponse"), exports);
1071
1071
  __exportStar(require("./SfvbRecordingPageView"), exports);
1072
1072
  __exportStar(require("./SfvbRecordingParameter"), exports);
1073
1073
  __exportStar(require("./SfvbRecordingResponse"), exports);
1074
+ __exportStar(require("./SfvbRecordingSettings"), exports);
1075
+ __exportStar(require("./SfvbRecordingSettingsRequest"), exports);
1076
+ __exportStar(require("./SfvbRecordingSettingsResponse"), exports);
1074
1077
  __exportStar(require("./SfvbRenderRequest"), exports);
1075
1078
  __exportStar(require("./SfvbRenderResponse"), exports);
1076
1079
  __exportStar(require("./SfvbServerLog"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ultracart_rest_api_v2_typescript",
3
- "version": "4.1.180",
3
+ "version": "4.1.181",
4
4
  "description": "UltraCart Rest TypeScript SDK",
5
5
  "author": "UltraCart",
6
6
  "repository": {
@@ -204,6 +204,12 @@ import {
204
204
  SfvbRecordingResponse,
205
205
  SfvbRecordingResponseFromJSON,
206
206
  SfvbRecordingResponseToJSON,
207
+ SfvbRecordingSettingsRequest,
208
+ SfvbRecordingSettingsRequestFromJSON,
209
+ SfvbRecordingSettingsRequestToJSON,
210
+ SfvbRecordingSettingsResponse,
211
+ SfvbRecordingSettingsResponseFromJSON,
212
+ SfvbRecordingSettingsResponseToJSON,
207
213
  SfvbRenderRequest,
208
214
  SfvbRenderRequestFromJSON,
209
215
  SfvbRenderRequestToJSON,
@@ -516,6 +522,10 @@ export interface GetSfvbRecordingPageViewEventsRequest {
516
522
  screenRecordingPageViewUuid: string;
517
523
  }
518
524
 
525
+ export interface GetSfvbRecordingSettingsRequest {
526
+ storefrontOid: number;
527
+ }
528
+
519
529
  export interface GetSfvbServerLogRequest {
520
530
  storefrontOid: number;
521
531
  logId: string;
@@ -765,6 +775,11 @@ export interface PutSfvbPreviewSessionRequest {
765
775
  themeOid?: number;
766
776
  }
767
777
 
778
+ export interface PutSfvbRecordingSettingsRequest {
779
+ storefrontOid: number;
780
+ recordingSettingsRequest: SfvbRecordingSettingsRequest;
781
+ }
782
+
768
783
  export interface PutSfvbSiteAttributesRequest {
769
784
  storefrontOid: number;
770
785
  siteAttributeUpdateRequest: SfvbSiteAttributeUpdateRequest;
@@ -1623,6 +1638,22 @@ export interface SfvbApiInterface {
1623
1638
  */
1624
1639
  getSfvbRecordingPageViewEvents(requestParameters: GetSfvbRecordingPageViewEventsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingEventsResponse>;
1625
1640
 
1641
+ /**
1642
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
1643
+ * @summary Get the storefront\'s screen recording settings
1644
+ * @param {number} storefrontOid
1645
+ * @param {*} [options] Override http request option.
1646
+ * @throws {RequiredError}
1647
+ * @memberof SfvbApiInterface
1648
+ */
1649
+ getSfvbRecordingSettingsRaw(requestParameters: GetSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbRecordingSettingsResponse>>;
1650
+
1651
+ /**
1652
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
1653
+ * Get the storefront\'s screen recording settings
1654
+ */
1655
+ getSfvbRecordingSettings(requestParameters: GetSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingSettingsResponse>;
1656
+
1626
1657
  /**
1627
1658
  * One render\'s server log with its lines, each with a level, a category such as VELOCITY or FLOW, and the message. log_id comes from the list, or from the X-UltraCart-Storefront-Log-Id header a page sends inside an SFVB preview session. min_level is debug, info, warn or error, default debug.
1628
1659
  * @summary Get one storefront render log
@@ -2386,6 +2417,23 @@ export interface SfvbApiInterface {
2386
2417
  */
2387
2418
  putSfvbPreviewSession(requestParameters: PutSfvbPreviewSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPreviewSessionResponse>;
2388
2419
 
2420
+ /**
2421
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
2422
+ * @summary Turn the storefront\'s screen recording on or off
2423
+ * @param {number} storefrontOid
2424
+ * @param {SfvbRecordingSettingsRequest} recordingSettingsRequest Whether to record
2425
+ * @param {*} [options] Override http request option.
2426
+ * @throws {RequiredError}
2427
+ * @memberof SfvbApiInterface
2428
+ */
2429
+ putSfvbRecordingSettingsRaw(requestParameters: PutSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbRecordingSettingsResponse>>;
2430
+
2431
+ /**
2432
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
2433
+ * Turn the storefront\'s screen recording on or off
2434
+ */
2435
+ putSfvbRecordingSettings(requestParameters: PutSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingSettingsResponse>;
2436
+
2389
2437
  /**
2390
2438
  * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, video list, mailing list and item set attributes are refused, and so are the General screen settings other than the title, the SEO description and keywords and the social account names. Credentials are refused. Always needs sfvb_publish, because every theme reads the same attributes and there is no dormant copy to change instead. The admin General screen saves the whole storefront, so a merchant with it open can still overwrite a change made here.
2391
2439
  * @summary Change a storefront\'s site attributes
@@ -4769,6 +4817,47 @@ export class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface {
4769
4817
  return await response.value();
4770
4818
  }
4771
4819
 
4820
+ /**
4821
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
4822
+ * Get the storefront\'s screen recording settings
4823
+ */
4824
+ async getSfvbRecordingSettingsRaw(requestParameters: GetSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbRecordingSettingsResponse>> {
4825
+ if (requestParameters.storefrontOid === null || requestParameters.storefrontOid === undefined) {
4826
+ throw new runtime.RequiredError('storefrontOid','Required parameter requestParameters.storefrontOid was null or undefined when calling getSfvbRecordingSettings.');
4827
+ }
4828
+
4829
+ const queryParameters: any = {};
4830
+
4831
+ const headerParameters: runtime.HTTPHeaders = {};
4832
+
4833
+ if (this.configuration && this.configuration.accessToken) {
4834
+ // oauth required
4835
+ headerParameters["Authorization"] = await this.configuration.accessToken("ultraCartOauth", []);
4836
+ }
4837
+
4838
+ if (this.configuration && this.configuration.apiKey) {
4839
+ headerParameters["x-ultracart-simple-key"] = this.configuration.apiKey("x-ultracart-simple-key"); // ultraCartSimpleApiKey authentication
4840
+ }
4841
+
4842
+ const response = await this.request({
4843
+ path: `/sfvb/storefronts/{storefront_oid}/recording_settings`.replace(`{${"storefront_oid"}}`, encodeURIComponent(String(requestParameters.storefrontOid))),
4844
+ method: 'GET',
4845
+ headers: headerParameters,
4846
+ query: queryParameters,
4847
+ }, initOverrides);
4848
+
4849
+ return new runtime.JSONApiResponse(response, (jsonValue) => SfvbRecordingSettingsResponseFromJSON(jsonValue));
4850
+ }
4851
+
4852
+ /**
4853
+ * Whether real shoppers\' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
4854
+ * Get the storefront\'s screen recording settings
4855
+ */
4856
+ async getSfvbRecordingSettings(requestParameters: GetSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingSettingsResponse> {
4857
+ const response = await this.getSfvbRecordingSettingsRaw(requestParameters, initOverrides);
4858
+ return await response.value();
4859
+ }
4860
+
4772
4861
  /**
4773
4862
  * One render\'s server log with its lines, each with a level, a category such as VELOCITY or FLOW, and the message. log_id comes from the list, or from the X-UltraCart-Storefront-Log-Id header a page sends inside an SFVB preview session. min_level is debug, info, warn or error, default debug.
4774
4863
  * Get one storefront render log
@@ -6937,6 +7026,54 @@ export class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface {
6937
7026
  return await response.value();
6938
7027
  }
6939
7028
 
7029
+ /**
7030
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
7031
+ * Turn the storefront\'s screen recording on or off
7032
+ */
7033
+ async putSfvbRecordingSettingsRaw(requestParameters: PutSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbRecordingSettingsResponse>> {
7034
+ if (requestParameters.storefrontOid === null || requestParameters.storefrontOid === undefined) {
7035
+ throw new runtime.RequiredError('storefrontOid','Required parameter requestParameters.storefrontOid was null or undefined when calling putSfvbRecordingSettings.');
7036
+ }
7037
+
7038
+ if (requestParameters.recordingSettingsRequest === null || requestParameters.recordingSettingsRequest === undefined) {
7039
+ throw new runtime.RequiredError('recordingSettingsRequest','Required parameter requestParameters.recordingSettingsRequest was null or undefined when calling putSfvbRecordingSettings.');
7040
+ }
7041
+
7042
+ const queryParameters: any = {};
7043
+
7044
+ const headerParameters: runtime.HTTPHeaders = {};
7045
+
7046
+ headerParameters['Content-Type'] = 'application/json; charset=UTF-8';
7047
+
7048
+ if (this.configuration && this.configuration.accessToken) {
7049
+ // oauth required
7050
+ headerParameters["Authorization"] = await this.configuration.accessToken("ultraCartOauth", []);
7051
+ }
7052
+
7053
+ if (this.configuration && this.configuration.apiKey) {
7054
+ headerParameters["x-ultracart-simple-key"] = this.configuration.apiKey("x-ultracart-simple-key"); // ultraCartSimpleApiKey authentication
7055
+ }
7056
+
7057
+ const response = await this.request({
7058
+ path: `/sfvb/storefronts/{storefront_oid}/recording_settings`.replace(`{${"storefront_oid"}}`, encodeURIComponent(String(requestParameters.storefrontOid))),
7059
+ method: 'PUT',
7060
+ headers: headerParameters,
7061
+ query: queryParameters,
7062
+ body: SfvbRecordingSettingsRequestToJSON(requestParameters.recordingSettingsRequest),
7063
+ }, initOverrides);
7064
+
7065
+ return new runtime.JSONApiResponse(response, (jsonValue) => SfvbRecordingSettingsResponseFromJSON(jsonValue));
7066
+ }
7067
+
7068
+ /**
7069
+ * Turning it on records real shoppers\' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
7070
+ * Turn the storefront\'s screen recording on or off
7071
+ */
7072
+ async putSfvbRecordingSettings(requestParameters: PutSfvbRecordingSettingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbRecordingSettingsResponse> {
7073
+ const response = await this.putSfvbRecordingSettingsRaw(requestParameters, initOverrides);
7074
+ return await response.value();
7075
+ }
7076
+
6940
7077
  /**
6941
7078
  * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, video list, mailing list and item set attributes are refused, and so are the General screen settings other than the title, the SEO description and keywords and the social account names. Credentials are refused. Always needs sfvb_publish, because every theme reads the same attributes and there is no dormant copy to change instead. The admin General screen saves the whole storefront, so a merchant with it open can still overwrite a change made here.
6942
7079
  * Change a storefront\'s site attributes
@@ -0,0 +1,131 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * UltraCart Rest API V2
5
+ * UltraCart REST API Version 2
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ * Contact: support@ultracart.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface SfvbRecordingSettings
20
+ */
21
+ export interface SfvbRecordingSettings {
22
+ /**
23
+ * What 1,000 recorded sessions cost after the trial, in US dollars.
24
+ * @type {number}
25
+ * @memberof SfvbRecordingSettings
26
+ */
27
+ cost_per_thousand?: number;
28
+ /**
29
+ * True when real shoppers' sessions on this storefront are being recorded.
30
+ * @type {boolean}
31
+ * @memberof SfvbRecordingSettings
32
+ */
33
+ enabled?: boolean;
34
+ /**
35
+ * How long recordings are kept, such as 1 year.
36
+ * @type {string}
37
+ * @memberof SfvbRecordingSettings
38
+ */
39
+ retention_interval?: string;
40
+ /**
41
+ * Sessions recorded so far in the current billing period.
42
+ * @type {number}
43
+ * @memberof SfvbRecordingSettings
44
+ */
45
+ sessions_current_billing_period?: number;
46
+ /**
47
+ * Sessions recorded in the previous billing period.
48
+ * @type {number}
49
+ * @memberof SfvbRecordingSettings
50
+ */
51
+ sessions_last_billing_period?: number;
52
+ /**
53
+ * Sessions recorded during the free trial.
54
+ * @type {number}
55
+ * @memberof SfvbRecordingSettings
56
+ */
57
+ sessions_trial_billing_period?: number;
58
+ /**
59
+ * When the free trial ends, as an ISO-8601 time. Absent until the trial has started.
60
+ * @type {string}
61
+ * @memberof SfvbRecordingSettings
62
+ */
63
+ trial_expiration?: string;
64
+ /**
65
+ * True when the free trial is over and recorded sessions are billed.
66
+ * @type {boolean}
67
+ * @memberof SfvbRecordingSettings
68
+ */
69
+ trial_expired?: boolean;
70
+ /**
71
+ * True once recording has been turned on at least once, which starts a 14 day free trial.
72
+ * @type {boolean}
73
+ * @memberof SfvbRecordingSettings
74
+ */
75
+ trial_started?: boolean;
76
+ }
77
+
78
+
79
+
80
+ /**
81
+ * Check if a given object implements the SfvbRecordingSettings interface.
82
+ */
83
+ export function instanceOfSfvbRecordingSettings(value: object): boolean {
84
+ let isInstance = true;
85
+
86
+ return isInstance;
87
+ }
88
+
89
+ export function SfvbRecordingSettingsFromJSON(json: any): SfvbRecordingSettings {
90
+ return SfvbRecordingSettingsFromJSONTyped(json, false);
91
+ }
92
+
93
+ export function SfvbRecordingSettingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SfvbRecordingSettings {
94
+ if ((json === undefined) || (json === null)) {
95
+ return json;
96
+ }
97
+ return {
98
+
99
+ 'cost_per_thousand': !exists(json, 'cost_per_thousand') ? undefined : json['cost_per_thousand'],
100
+ 'enabled': !exists(json, 'enabled') ? undefined : json['enabled'],
101
+ 'retention_interval': !exists(json, 'retention_interval') ? undefined : json['retention_interval'],
102
+ 'sessions_current_billing_period': !exists(json, 'sessions_current_billing_period') ? undefined : json['sessions_current_billing_period'],
103
+ 'sessions_last_billing_period': !exists(json, 'sessions_last_billing_period') ? undefined : json['sessions_last_billing_period'],
104
+ 'sessions_trial_billing_period': !exists(json, 'sessions_trial_billing_period') ? undefined : json['sessions_trial_billing_period'],
105
+ 'trial_expiration': !exists(json, 'trial_expiration') ? undefined : json['trial_expiration'],
106
+ 'trial_expired': !exists(json, 'trial_expired') ? undefined : json['trial_expired'],
107
+ 'trial_started': !exists(json, 'trial_started') ? undefined : json['trial_started'],
108
+ };
109
+ }
110
+
111
+ export function SfvbRecordingSettingsToJSON(value?: SfvbRecordingSettings | null): any {
112
+ if (value === undefined) {
113
+ return undefined;
114
+ }
115
+ if (value === null) {
116
+ return null;
117
+ }
118
+ return {
119
+
120
+ 'cost_per_thousand': value.cost_per_thousand,
121
+ 'enabled': value.enabled,
122
+ 'retention_interval': value.retention_interval,
123
+ 'sessions_current_billing_period': value.sessions_current_billing_period,
124
+ 'sessions_last_billing_period': value.sessions_last_billing_period,
125
+ 'sessions_trial_billing_period': value.sessions_trial_billing_period,
126
+ 'trial_expiration': value.trial_expiration,
127
+ 'trial_expired': value.trial_expired,
128
+ 'trial_started': value.trial_started,
129
+ };
130
+ }
131
+
@@ -0,0 +1,67 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * UltraCart Rest API V2
5
+ * UltraCart REST API Version 2
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ * Contact: support@ultracart.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface SfvbRecordingSettingsRequest
20
+ */
21
+ export interface SfvbRecordingSettingsRequest {
22
+ /**
23
+ * True to record real shoppers' sessions, false to stop.
24
+ * @type {boolean}
25
+ * @memberof SfvbRecordingSettingsRequest
26
+ */
27
+ enabled?: boolean;
28
+ }
29
+
30
+
31
+
32
+ /**
33
+ * Check if a given object implements the SfvbRecordingSettingsRequest interface.
34
+ */
35
+ export function instanceOfSfvbRecordingSettingsRequest(value: object): boolean {
36
+ let isInstance = true;
37
+
38
+ return isInstance;
39
+ }
40
+
41
+ export function SfvbRecordingSettingsRequestFromJSON(json: any): SfvbRecordingSettingsRequest {
42
+ return SfvbRecordingSettingsRequestFromJSONTyped(json, false);
43
+ }
44
+
45
+ export function SfvbRecordingSettingsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SfvbRecordingSettingsRequest {
46
+ if ((json === undefined) || (json === null)) {
47
+ return json;
48
+ }
49
+ return {
50
+
51
+ 'enabled': !exists(json, 'enabled') ? undefined : json['enabled'],
52
+ };
53
+ }
54
+
55
+ export function SfvbRecordingSettingsRequestToJSON(value?: SfvbRecordingSettingsRequest | null): any {
56
+ if (value === undefined) {
57
+ return undefined;
58
+ }
59
+ if (value === null) {
60
+ return null;
61
+ }
62
+ return {
63
+
64
+ 'enabled': value.enabled,
65
+ };
66
+ }
67
+
@@ -0,0 +1,82 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * UltraCart Rest API V2
5
+ * UltraCart REST API Version 2
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ * Contact: support@ultracart.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ import {
17
+ SfvbRecordingSettings,
18
+ SfvbRecordingSettingsFromJSON,
19
+ SfvbRecordingSettingsFromJSONTyped,
20
+ SfvbRecordingSettingsToJSON,
21
+ } from './SfvbRecordingSettings';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface SfvbRecordingSettingsResponse
27
+ */
28
+ export interface SfvbRecordingSettingsResponse {
29
+ /**
30
+ * On a change only. False when recording was already in the requested state, so nothing was saved.
31
+ * @type {boolean}
32
+ * @memberof SfvbRecordingSettingsResponse
33
+ */
34
+ changed?: boolean;
35
+ /**
36
+ *
37
+ * @type {SfvbRecordingSettings}
38
+ * @memberof SfvbRecordingSettingsResponse
39
+ */
40
+ settings?: SfvbRecordingSettings;
41
+ }
42
+
43
+
44
+
45
+ /**
46
+ * Check if a given object implements the SfvbRecordingSettingsResponse interface.
47
+ */
48
+ export function instanceOfSfvbRecordingSettingsResponse(value: object): boolean {
49
+ let isInstance = true;
50
+
51
+ return isInstance;
52
+ }
53
+
54
+ export function SfvbRecordingSettingsResponseFromJSON(json: any): SfvbRecordingSettingsResponse {
55
+ return SfvbRecordingSettingsResponseFromJSONTyped(json, false);
56
+ }
57
+
58
+ export function SfvbRecordingSettingsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SfvbRecordingSettingsResponse {
59
+ if ((json === undefined) || (json === null)) {
60
+ return json;
61
+ }
62
+ return {
63
+
64
+ 'changed': !exists(json, 'changed') ? undefined : json['changed'],
65
+ 'settings': !exists(json, 'settings') ? undefined : SfvbRecordingSettingsFromJSON(json['settings']),
66
+ };
67
+ }
68
+
69
+ export function SfvbRecordingSettingsResponseToJSON(value?: SfvbRecordingSettingsResponse | null): any {
70
+ if (value === undefined) {
71
+ return undefined;
72
+ }
73
+ if (value === null) {
74
+ return null;
75
+ }
76
+ return {
77
+
78
+ 'changed': value.changed,
79
+ 'settings': SfvbRecordingSettingsToJSON(value.settings),
80
+ };
81
+ }
82
+
@@ -1055,6 +1055,9 @@ export * from './SfvbRecordingEventsResponse';
1055
1055
  export * from './SfvbRecordingPageView';
1056
1056
  export * from './SfvbRecordingParameter';
1057
1057
  export * from './SfvbRecordingResponse';
1058
+ export * from './SfvbRecordingSettings';
1059
+ export * from './SfvbRecordingSettingsRequest';
1060
+ export * from './SfvbRecordingSettingsResponse';
1058
1061
  export * from './SfvbRenderRequest';
1059
1062
  export * from './SfvbRenderResponse';
1060
1063
  export * from './SfvbServerLog';