ultracart_rest_api_v2_typescript 3.10.193 → 3.10.195

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## ultracart_rest_api_v2_typescript@3.10.193
1
+ ## ultracart_rest_api_v2_typescript@3.10.195
2
2
 
3
3
  This generator creates TypeScript/JavaScript client that utilizes [Fetch API](https://fetch.spec.whatwg.org/). The generated Node module can be used in the following environments:
4
4
 
@@ -36,7 +36,7 @@ navigate to the folder of your consuming project and run one of the following co
36
36
  _published:_
37
37
 
38
38
  ```
39
- npm install ultracart_rest_api_v2_typescript@3.10.193 --save
39
+ npm install ultracart_rest_api_v2_typescript@3.10.195 --save
40
40
  ```
41
41
 
42
42
  _unPublished (not recommended):_
@@ -54,6 +54,8 @@ Not every change is committed to every SDK.
54
54
 
55
55
  | Version | Date | Comments |
56
56
  | --: | :-: | --- |
57
+ | 3.10.195 | 05/01/2024 | getConversationPbxAudioUploadUrl - fix the response obj def |
58
+ | 3.10.194 | 04/24/2024 | esp - add fields for external generation on email |
57
59
  | 3.10.193 | 04/04/2024 | AutoOrder.calculated_next_shipment_dts |
58
60
  | 3.10.192 | 04/01/2024 | added merchant_id as read-only top level property of AutoOrder object |
59
61
  | 3.10.191 | 03/26/2024 | WorkflowTask - added assigned_to_user_or_group field |
package/api.ts CHANGED
@@ -1572,6 +1572,20 @@ export interface AutoOrderAddonItemOption {
1572
1572
  value?: string;
1573
1573
  }
1574
1574
 
1575
+ /**
1576
+ *
1577
+ * @export
1578
+ * @interface AutoOrderConsolidate
1579
+ */
1580
+ export interface AutoOrderConsolidate {
1581
+ /**
1582
+ *
1583
+ * @type {Array<number>}
1584
+ * @memberof AutoOrderConsolidate
1585
+ */
1586
+ source_auto_order_oids?: Array<number>;
1587
+ }
1588
+
1575
1589
  /**
1576
1590
  *
1577
1591
  * @export
@@ -6953,12 +6967,30 @@ export interface ConversationAgentAuth {
6953
6967
  * @memberof ConversationAgentAuth
6954
6968
  */
6955
6969
  merchant_id?: string;
6970
+ /**
6971
+ *
6972
+ * @type {boolean}
6973
+ * @memberof ConversationAgentAuth
6974
+ */
6975
+ pbx_admin?: boolean;
6956
6976
  /**
6957
6977
  *
6958
6978
  * @type {string}
6959
6979
  * @memberof ConversationAgentAuth
6960
6980
  */
6961
6981
  pbx_jwt?: string;
6982
+ /**
6983
+ *
6984
+ * @type {boolean}
6985
+ * @memberof ConversationAgentAuth
6986
+ */
6987
+ pbx_supervisor?: boolean;
6988
+ /**
6989
+ *
6990
+ * @type {boolean}
6991
+ * @memberof ConversationAgentAuth
6992
+ */
6993
+ pbx_user?: boolean;
6962
6994
  /**
6963
6995
  *
6964
6996
  * @type {string}
@@ -8799,6 +8831,64 @@ export interface ConversationPbxAudioResponse {
8799
8831
  warning?: Warning;
8800
8832
  }
8801
8833
 
8834
+ /**
8835
+ *
8836
+ * @export
8837
+ * @interface ConversationPbxAudioUploadUrl
8838
+ */
8839
+ export interface ConversationPbxAudioUploadUrl {
8840
+ /**
8841
+ *
8842
+ * @type {string}
8843
+ * @memberof ConversationPbxAudioUploadUrl
8844
+ */
8845
+ key?: string;
8846
+ /**
8847
+ *
8848
+ * @type {string}
8849
+ * @memberof ConversationPbxAudioUploadUrl
8850
+ */
8851
+ url?: string;
8852
+ }
8853
+
8854
+ /**
8855
+ *
8856
+ * @export
8857
+ * @interface ConversationPbxAudioUploadUrlResponse
8858
+ */
8859
+ export interface ConversationPbxAudioUploadUrlResponse {
8860
+ /**
8861
+ *
8862
+ * @type {ConversationPbxAudioUploadUrl}
8863
+ * @memberof ConversationPbxAudioUploadUrlResponse
8864
+ */
8865
+ conversation_pbx_audio_upload_url?: ConversationPbxAudioUploadUrl;
8866
+ /**
8867
+ *
8868
+ * @type {ModelError}
8869
+ * @memberof ConversationPbxAudioUploadUrlResponse
8870
+ */
8871
+ error?: ModelError;
8872
+ /**
8873
+ *
8874
+ * @type {ResponseMetadata}
8875
+ * @memberof ConversationPbxAudioUploadUrlResponse
8876
+ */
8877
+ metadata?: ResponseMetadata;
8878
+ /**
8879
+ * Indicates if API call was successful
8880
+ * @type {boolean}
8881
+ * @memberof ConversationPbxAudioUploadUrlResponse
8882
+ */
8883
+ success?: boolean;
8884
+ /**
8885
+ *
8886
+ * @type {Warning}
8887
+ * @memberof ConversationPbxAudioUploadUrlResponse
8888
+ */
8889
+ warning?: Warning;
8890
+ }
8891
+
8802
8892
  /**
8803
8893
  *
8804
8894
  * @export
@@ -8907,10 +8997,10 @@ export interface ConversationPbxCustomerSnapshotResponse {
8907
8997
  auto_orders?: Array<AutoOrder>;
8908
8998
  /**
8909
8999
  *
8910
- * @type {Customer}
9000
+ * @type {Array<Customer>}
8911
9001
  * @memberof ConversationPbxCustomerSnapshotResponse
8912
9002
  */
8913
- customer?: Customer;
9003
+ customers?: Array<Customer>;
8914
9004
  /**
8915
9005
  *
8916
9006
  * @type {ModelError}
@@ -9359,6 +9449,12 @@ export interface ConversationPbxQueue {
9359
9449
  * @memberof ConversationPbxQueue
9360
9450
  */
9361
9451
  wait_warning_seconds?: number;
9452
+ /**
9453
+ * Wrap up time in seconds
9454
+ * @type {number}
9455
+ * @memberof ConversationPbxQueue
9456
+ */
9457
+ wrap_up_seconds?: number;
9362
9458
  }
9363
9459
 
9364
9460
  /**
@@ -16812,6 +16908,54 @@ export interface EmailCommseqEmail {
16812
16908
  * @memberof EmailCommseqEmail
16813
16909
  */
16814
16910
  email_template_vm_path?: string;
16911
+ /**
16912
+ *
16913
+ * @type {boolean}
16914
+ * @memberof EmailCommseqEmail
16915
+ */
16916
+ external_generation?: boolean;
16917
+ /**
16918
+ *
16919
+ * @type {string}
16920
+ * @memberof EmailCommseqEmail
16921
+ */
16922
+ external_generation_authentication?: string;
16923
+ /**
16924
+ *
16925
+ * @type {string}
16926
+ * @memberof EmailCommseqEmail
16927
+ */
16928
+ external_generation_basic_password?: string;
16929
+ /**
16930
+ *
16931
+ * @type {string}
16932
+ * @memberof EmailCommseqEmail
16933
+ */
16934
+ external_generation_basic_username?: string;
16935
+ /**
16936
+ *
16937
+ * @type {string}
16938
+ * @memberof EmailCommseqEmail
16939
+ */
16940
+ external_generation_header_name?: string;
16941
+ /**
16942
+ *
16943
+ * @type {string}
16944
+ * @memberof EmailCommseqEmail
16945
+ */
16946
+ external_generation_header_value?: string;
16947
+ /**
16948
+ *
16949
+ * @type {string}
16950
+ * @memberof EmailCommseqEmail
16951
+ */
16952
+ external_generation_id?: string;
16953
+ /**
16954
+ *
16955
+ * @type {string}
16956
+ * @memberof EmailCommseqEmail
16957
+ */
16958
+ external_generation_url?: string;
16815
16959
  /**
16816
16960
  * Filter profile equation json
16817
16961
  * @type {string}
@@ -25853,13 +25997,13 @@ export interface ItemChannelPartnerMapping {
25853
25997
  */
25854
25998
  export interface ItemChargeback {
25855
25999
  /**
25856
- * Addendums
26000
+ * Addendums (deprecated)
25857
26001
  * @type {Array<ItemChargebackAddendum>}
25858
26002
  * @memberof ItemChargeback
25859
26003
  */
25860
26004
  addendums?: Array<ItemChargebackAddendum>;
25861
26005
  /**
25862
- * Adjustment requests
26006
+ * Adjustment requests (deprecated)
25863
26007
  * @type {Array<ItemChargebackAdjustmentRequest>}
25864
26008
  * @memberof ItemChargeback
25865
26009
  */
@@ -34573,6 +34717,12 @@ export interface OrderRefundableResponse {
34573
34717
  * @memberof OrderRefundableResponse
34574
34718
  */
34575
34719
  order_level_refund_reasons?: Array<OrderReason>;
34720
+ /**
34721
+ * True if the order level reject reason is required
34722
+ * @type {boolean}
34723
+ * @memberof OrderRefundableResponse
34724
+ */
34725
+ order_level_reject_reason_required?: boolean;
34576
34726
  /**
34577
34727
  * Reject codes available at the order level.
34578
34728
  * @type {Array<OrderReason>}
@@ -44597,6 +44747,72 @@ export class AffiliateApi extends BaseAPI implements AffiliateApiInterface {
44597
44747
  */
44598
44748
  export const AutoOrderApiFetchParamCreator = function (configuration?: Configuration) {
44599
44749
  return {
44750
+ /**
44751
+ * Consolidates mutliple auto orders on the UltraCart account.
44752
+ * @summary Consolidates multiple auto orders
44753
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
44754
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
44755
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
44756
+ * @param {*} [options] Override http request option.
44757
+ * @throws {RequiredError}
44758
+ */
44759
+ consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options: any = {}): FetchArgs {
44760
+ // verify required parameter 'auto_order_consolidate' is not null or undefined
44761
+ if (auto_order_consolidate === null || auto_order_consolidate === undefined) {
44762
+ throw new RequiredError('auto_order_consolidate','Required parameter auto_order_consolidate was null or undefined when calling consolidateAutoOrders.');
44763
+ }
44764
+ // verify required parameter 'auto_order_oid' is not null or undefined
44765
+ if (auto_order_oid === null || auto_order_oid === undefined) {
44766
+ throw new RequiredError('auto_order_oid','Required parameter auto_order_oid was null or undefined when calling consolidateAutoOrders.');
44767
+ }
44768
+ const localVarPath = `/auto_order/auto_orders/{auto_order_oid}/consolidate`
44769
+ .replace(`{${"auto_order_oid"}}`, encodeURIComponent(String(auto_order_oid)));
44770
+ const localVarUrlObj = url.parse(localVarPath, true);
44771
+ const localVarRequestOptions = Object.assign({ method: 'PUT' }, options);
44772
+ const localVarHeaderParameter = {} as any;
44773
+ const localVarQueryParameter = {} as any;
44774
+
44775
+ if(configuration && configuration.apiVersion) {
44776
+ localVarHeaderParameter["X-UltraCart-Api-Version"] = configuration.apiVersion;
44777
+ }
44778
+
44779
+
44780
+
44781
+ // authentication ultraCartOauth required
44782
+ // oauth required
44783
+ if (configuration && configuration.accessToken) {
44784
+ const localVarAccessTokenValue = typeof configuration.accessToken === 'function'
44785
+ ? configuration.accessToken("ultraCartOauth", ["auto_order_write"])
44786
+ : configuration.accessToken;
44787
+ localVarHeaderParameter["Authorization"] = "Bearer " + localVarAccessTokenValue;
44788
+ }
44789
+
44790
+ // authentication ultraCartSimpleApiKey required
44791
+ if (configuration && configuration.apiKey) {
44792
+ const localVarApiKeyValue = typeof configuration.apiKey === 'function'
44793
+ ? configuration.apiKey("x-ultracart-simple-key")
44794
+ : configuration.apiKey;
44795
+ localVarHeaderParameter["x-ultracart-simple-key"] = localVarApiKeyValue;
44796
+ }
44797
+
44798
+ if (_expand !== undefined) {
44799
+ localVarQueryParameter['_expand'] = _expand;
44800
+ }
44801
+
44802
+ localVarHeaderParameter['Content-Type'] = 'application/json; charset=UTF-8';
44803
+
44804
+ localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
44805
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
44806
+ delete localVarUrlObj.search;
44807
+ localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
44808
+ const needsSerialization = (<any>"AutoOrderConsolidate" !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
44809
+ localVarRequestOptions.body = needsSerialization ? JSON.stringify(auto_order_consolidate || {}) : (auto_order_consolidate || "");
44810
+
44811
+ return {
44812
+ url: url.format(localVarUrlObj),
44813
+ options: localVarRequestOptions,
44814
+ };
44815
+ },
44600
44816
  /**
44601
44817
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
44602
44818
  * @summary Establish an auto order by referencing a regular order id
@@ -45271,6 +45487,29 @@ export const AutoOrderApiFetchParamCreator = function (configuration?: Configura
45271
45487
  */
45272
45488
  export const AutoOrderApiFp = function(configuration?: Configuration) {
45273
45489
  return {
45490
+ /**
45491
+ * Consolidates mutliple auto orders on the UltraCart account.
45492
+ * @summary Consolidates multiple auto orders
45493
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
45494
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
45495
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
45496
+ * @param {*} [options] Override http request option.
45497
+ * @throws {RequiredError}
45498
+ */
45499
+ consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options?: any): (fetch?: FetchAPI, basePath?: string) => Promise<AutoOrderResponse> {
45500
+ const localVarFetchArgs = AutoOrderApiFetchParamCreator(configuration).consolidateAutoOrders(auto_order_consolidate, auto_order_oid, _expand, options);
45501
+ return (fetch: FetchAPI = portableFetch, basePath: string = BASE_PATH) => {
45502
+ return fetch(basePath + localVarFetchArgs.url, localVarFetchArgs.options).then((response) => {
45503
+
45504
+ if (response.status >= 200 && response.status < 300) {
45505
+ return response.json();
45506
+
45507
+ } else {
45508
+ throw response;
45509
+ }
45510
+ });
45511
+ };
45512
+ },
45274
45513
  /**
45275
45514
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
45276
45515
  * @summary Establish an auto order by referencing a regular order id
@@ -45506,6 +45745,18 @@ export const AutoOrderApiFp = function(configuration?: Configuration) {
45506
45745
  */
45507
45746
  export const AutoOrderApiFactory = function (configuration?: Configuration, fetch?: FetchAPI, basePath?: string) {
45508
45747
  return {
45748
+ /**
45749
+ * Consolidates mutliple auto orders on the UltraCart account.
45750
+ * @summary Consolidates multiple auto orders
45751
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
45752
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
45753
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
45754
+ * @param {*} [options] Override http request option.
45755
+ * @throws {RequiredError}
45756
+ */
45757
+ consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options?: any) {
45758
+ return AutoOrderApiFp(configuration).consolidateAutoOrders(auto_order_consolidate, auto_order_oid, _expand, options)(fetch, basePath);
45759
+ },
45509
45760
  /**
45510
45761
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
45511
45762
  * @summary Establish an auto order by referencing a regular order id
@@ -45642,6 +45893,18 @@ export const AutoOrderApiFactory = function (configuration?: Configuration, fetc
45642
45893
  * @interface AutoOrderApi
45643
45894
  */
45644
45895
  export interface AutoOrderApiInterface {
45896
+ /**
45897
+ * Consolidates mutliple auto orders on the UltraCart account.
45898
+ * @summary Consolidates multiple auto orders
45899
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
45900
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
45901
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
45902
+ * @param {*} [options] Override http request option.
45903
+ * @throws {RequiredError}
45904
+ * @memberof AutoOrderApiInterface
45905
+ */
45906
+ consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options?: any): Promise<AutoOrderResponse>;
45907
+
45645
45908
  /**
45646
45909
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
45647
45910
  * @summary Establish an auto order by referencing a regular order id
@@ -45778,6 +46041,20 @@ export interface AutoOrderApiInterface {
45778
46041
  * @extends {BaseAPI}
45779
46042
  */
45780
46043
  export class AutoOrderApi extends BaseAPI implements AutoOrderApiInterface {
46044
+ /**
46045
+ * Consolidates mutliple auto orders on the UltraCart account.
46046
+ * @summary Consolidates multiple auto orders
46047
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
46048
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
46049
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
46050
+ * @param {*} [options] Override http request option.
46051
+ * @throws {RequiredError}
46052
+ * @memberof AutoOrderApi
46053
+ */
46054
+ public consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options?: any) {
46055
+ return AutoOrderApiFp(this.configuration).consolidateAutoOrders(auto_order_consolidate, auto_order_oid, _expand, options)(this.fetch, this.basePath);
46056
+ }
46057
+
45781
46058
  /**
45782
46059
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
45783
46060
  * @summary Establish an auto order by referencing a regular order id
@@ -53688,7 +53965,7 @@ export const ConversationApiFetchParamCreator = function (configuration?: Config
53688
53965
  if (recording_sid === null || recording_sid === undefined) {
53689
53966
  throw new RequiredError('recording_sid','Required parameter recording_sid was null or undefined when calling listenedPbxQueueVoicemail.');
53690
53967
  }
53691
- const localVarPath = `/conversation/pbx/{queue_uuid}/voicemails/voicemails/{recording_sid}/listened`
53968
+ const localVarPath = `/conversation/pbx/queues/{queue_uuid}/voicemails/{recording_sid}/listened`
53692
53969
  .replace(`{${"queue_uuid"}}`, encodeURIComponent(String(queue_uuid)))
53693
53970
  .replace(`{${"recording_sid"}}`, encodeURIComponent(String(recording_sid)));
53694
53971
  const localVarUrlObj = url.parse(localVarPath, true);
@@ -55320,7 +55597,7 @@ export const ConversationApiFp = function(configuration?: Configuration) {
55320
55597
  * @param {*} [options] Override http request option.
55321
55598
  * @throws {RequiredError}
55322
55599
  */
55323
- getConversationPbxAudioUploadUrl(extension: string, options?: any): (fetch?: FetchAPI, basePath?: string) => Promise<ConversationMultimediaUploadUrlResponse> {
55600
+ getConversationPbxAudioUploadUrl(extension: string, options?: any): (fetch?: FetchAPI, basePath?: string) => Promise<ConversationPbxAudioUploadUrlResponse> {
55324
55601
  const localVarFetchArgs = ConversationApiFetchParamCreator(configuration).getConversationPbxAudioUploadUrl(extension, options);
55325
55602
  return (fetch: FetchAPI = portableFetch, basePath: string = BASE_PATH) => {
55326
55603
  return fetch(basePath + localVarFetchArgs.url, localVarFetchArgs.options).then((response) => {
@@ -57736,7 +58013,7 @@ export interface ConversationApiInterface {
57736
58013
  * @throws {RequiredError}
57737
58014
  * @memberof ConversationApiInterface
57738
58015
  */
57739
- getConversationPbxAudioUploadUrl(extension: string, options?: any): Promise<ConversationMultimediaUploadUrlResponse>;
58016
+ getConversationPbxAudioUploadUrl(extension: string, options?: any): Promise<ConversationPbxAudioUploadUrlResponse>;
57740
58017
 
57741
58018
  /**
57742
58019
  * Retrieves all the orders, auto orders, and customer profile for a given phone number
package/dist/api.d.ts CHANGED
@@ -1526,6 +1526,19 @@ export interface AutoOrderAddonItemOption {
1526
1526
  */
1527
1527
  value?: string;
1528
1528
  }
1529
+ /**
1530
+ *
1531
+ * @export
1532
+ * @interface AutoOrderConsolidate
1533
+ */
1534
+ export interface AutoOrderConsolidate {
1535
+ /**
1536
+ *
1537
+ * @type {Array<number>}
1538
+ * @memberof AutoOrderConsolidate
1539
+ */
1540
+ source_auto_order_oids?: Array<number>;
1541
+ }
1529
1542
  /**
1530
1543
  *
1531
1544
  * @export
@@ -6794,12 +6807,30 @@ export interface ConversationAgentAuth {
6794
6807
  * @memberof ConversationAgentAuth
6795
6808
  */
6796
6809
  merchant_id?: string;
6810
+ /**
6811
+ *
6812
+ * @type {boolean}
6813
+ * @memberof ConversationAgentAuth
6814
+ */
6815
+ pbx_admin?: boolean;
6797
6816
  /**
6798
6817
  *
6799
6818
  * @type {string}
6800
6819
  * @memberof ConversationAgentAuth
6801
6820
  */
6802
6821
  pbx_jwt?: string;
6822
+ /**
6823
+ *
6824
+ * @type {boolean}
6825
+ * @memberof ConversationAgentAuth
6826
+ */
6827
+ pbx_supervisor?: boolean;
6828
+ /**
6829
+ *
6830
+ * @type {boolean}
6831
+ * @memberof ConversationAgentAuth
6832
+ */
6833
+ pbx_user?: boolean;
6803
6834
  /**
6804
6835
  *
6805
6836
  * @type {string}
@@ -8588,6 +8619,62 @@ export interface ConversationPbxAudioResponse {
8588
8619
  */
8589
8620
  warning?: Warning;
8590
8621
  }
8622
+ /**
8623
+ *
8624
+ * @export
8625
+ * @interface ConversationPbxAudioUploadUrl
8626
+ */
8627
+ export interface ConversationPbxAudioUploadUrl {
8628
+ /**
8629
+ *
8630
+ * @type {string}
8631
+ * @memberof ConversationPbxAudioUploadUrl
8632
+ */
8633
+ key?: string;
8634
+ /**
8635
+ *
8636
+ * @type {string}
8637
+ * @memberof ConversationPbxAudioUploadUrl
8638
+ */
8639
+ url?: string;
8640
+ }
8641
+ /**
8642
+ *
8643
+ * @export
8644
+ * @interface ConversationPbxAudioUploadUrlResponse
8645
+ */
8646
+ export interface ConversationPbxAudioUploadUrlResponse {
8647
+ /**
8648
+ *
8649
+ * @type {ConversationPbxAudioUploadUrl}
8650
+ * @memberof ConversationPbxAudioUploadUrlResponse
8651
+ */
8652
+ conversation_pbx_audio_upload_url?: ConversationPbxAudioUploadUrl;
8653
+ /**
8654
+ *
8655
+ * @type {ModelError}
8656
+ * @memberof ConversationPbxAudioUploadUrlResponse
8657
+ */
8658
+ error?: ModelError;
8659
+ /**
8660
+ *
8661
+ * @type {ResponseMetadata}
8662
+ * @memberof ConversationPbxAudioUploadUrlResponse
8663
+ */
8664
+ metadata?: ResponseMetadata;
8665
+ /**
8666
+ * Indicates if API call was successful
8667
+ * @type {boolean}
8668
+ * @memberof ConversationPbxAudioUploadUrlResponse
8669
+ */
8670
+ success?: boolean;
8671
+ /**
8672
+ *
8673
+ * @type {Warning}
8674
+ * @memberof ConversationPbxAudioUploadUrlResponse
8675
+ */
8676
+ warning?: Warning;
8677
+ }
8591
8678
  /**
8592
8679
  *
8593
8680
  * @export
@@ -8694,10 +8781,10 @@ export interface ConversationPbxCustomerSnapshotResponse {
8694
8781
  auto_orders?: Array<AutoOrder>;
8695
8782
  /**
8696
8783
  *
8697
- * @type {Customer}
8784
+ * @type {Array<Customer>}
8698
8785
  * @memberof ConversationPbxCustomerSnapshotResponse
8699
8786
  */
8700
- customer?: Customer;
8787
+ customers?: Array<Customer>;
8701
8788
  /**
8702
8789
  *
8703
8790
  * @type {ModelError}
@@ -9138,6 +9225,12 @@ export interface ConversationPbxQueue {
9138
9225
  * @memberof ConversationPbxQueue
9139
9226
  */
9140
9227
  wait_warning_seconds?: number;
9228
+ /**
9229
+ * Wrap up time in seconds
9230
+ * @type {number}
9231
+ * @memberof ConversationPbxQueue
9232
+ */
9233
+ wrap_up_seconds?: number;
9141
9234
  }
9142
9235
  /**
9143
9236
  *
@@ -16422,6 +16515,54 @@ export interface EmailCommseqEmail {
16422
16515
  * @memberof EmailCommseqEmail
16423
16516
  */
16424
16517
  email_template_vm_path?: string;
16518
+ /**
16519
+ *
16520
+ * @type {boolean}
16521
+ * @memberof EmailCommseqEmail
16522
+ */
16523
+ external_generation?: boolean;
16524
+ /**
16525
+ *
16526
+ * @type {string}
16527
+ * @memberof EmailCommseqEmail
16528
+ */
16529
+ external_generation_authentication?: string;
16530
+ /**
16531
+ *
16532
+ * @type {string}
16533
+ * @memberof EmailCommseqEmail
16534
+ */
16535
+ external_generation_basic_password?: string;
16536
+ /**
16537
+ *
16538
+ * @type {string}
16539
+ * @memberof EmailCommseqEmail
16540
+ */
16541
+ external_generation_basic_username?: string;
16542
+ /**
16543
+ *
16544
+ * @type {string}
16545
+ * @memberof EmailCommseqEmail
16546
+ */
16547
+ external_generation_header_name?: string;
16548
+ /**
16549
+ *
16550
+ * @type {string}
16551
+ * @memberof EmailCommseqEmail
16552
+ */
16553
+ external_generation_header_value?: string;
16554
+ /**
16555
+ *
16556
+ * @type {string}
16557
+ * @memberof EmailCommseqEmail
16558
+ */
16559
+ external_generation_id?: string;
16560
+ /**
16561
+ *
16562
+ * @type {string}
16563
+ * @memberof EmailCommseqEmail
16564
+ */
16565
+ external_generation_url?: string;
16425
16566
  /**
16426
16567
  * Filter profile equation json
16427
16568
  * @type {string}
@@ -25298,13 +25439,13 @@ export interface ItemChannelPartnerMapping {
25298
25439
  */
25299
25440
  export interface ItemChargeback {
25300
25441
  /**
25301
- * Addendums
25442
+ * Addendums (deprecated)
25302
25443
  * @type {Array<ItemChargebackAddendum>}
25303
25444
  * @memberof ItemChargeback
25304
25445
  */
25305
25446
  addendums?: Array<ItemChargebackAddendum>;
25306
25447
  /**
25307
- * Adjustment requests
25448
+ * Adjustment requests (deprecated)
25308
25449
  * @type {Array<ItemChargebackAdjustmentRequest>}
25309
25450
  * @memberof ItemChargeback
25310
25451
  */
@@ -33847,6 +33988,12 @@ export interface OrderRefundableResponse {
33847
33988
  * @memberof OrderRefundableResponse
33848
33989
  */
33849
33990
  order_level_refund_reasons?: Array<OrderReason>;
33991
+ /**
33992
+ * True if the order level reject reason is required
33993
+ * @type {boolean}
33994
+ * @memberof OrderRefundableResponse
33995
+ */
33996
+ order_level_reject_reason_required?: boolean;
33850
33997
  /**
33851
33998
  * Reject codes available at the order level.
33852
33999
  * @type {Array<OrderReason>}
@@ -43492,6 +43639,16 @@ export declare class AffiliateApi extends BaseAPI implements AffiliateApiInterfa
43492
43639
  * @export
43493
43640
  */
43494
43641
  export declare const AutoOrderApiFetchParamCreator: (configuration?: Configuration) => {
43642
+ /**
43643
+ * Consolidates mutliple auto orders on the UltraCart account.
43644
+ * @summary Consolidates multiple auto orders
43645
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
43646
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
43647
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
43648
+ * @param {*} [options] Override http request option.
43649
+ * @throws {RequiredError}
43650
+ */
43651
+ consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options?: any): FetchArgs;
43495
43652
  /**
43496
43653
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
43497
43654
  * @summary Establish an auto order by referencing a regular order id
@@ -43607,6 +43764,16 @@ export declare const AutoOrderApiFetchParamCreator: (configuration?: Configurati
43607
43764
  * @export
43608
43765
  */
43609
43766
  export declare const AutoOrderApiFp: (configuration?: Configuration) => {
43767
+ /**
43768
+ * Consolidates mutliple auto orders on the UltraCart account.
43769
+ * @summary Consolidates multiple auto orders
43770
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
43771
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
43772
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
43773
+ * @param {*} [options] Override http request option.
43774
+ * @throws {RequiredError}
43775
+ */
43776
+ consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options?: any): (fetch?: FetchAPI, basePath?: string) => Promise<AutoOrderResponse>;
43610
43777
  /**
43611
43778
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
43612
43779
  * @summary Establish an auto order by referencing a regular order id
@@ -43722,6 +43889,16 @@ export declare const AutoOrderApiFp: (configuration?: Configuration) => {
43722
43889
  * @export
43723
43890
  */
43724
43891
  export declare const AutoOrderApiFactory: (configuration?: Configuration, fetch?: FetchAPI, basePath?: string) => {
43892
+ /**
43893
+ * Consolidates mutliple auto orders on the UltraCart account.
43894
+ * @summary Consolidates multiple auto orders
43895
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
43896
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
43897
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
43898
+ * @param {*} [options] Override http request option.
43899
+ * @throws {RequiredError}
43900
+ */
43901
+ consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options?: any): Promise<AutoOrderResponse>;
43725
43902
  /**
43726
43903
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
43727
43904
  * @summary Establish an auto order by referencing a regular order id
@@ -43838,6 +44015,17 @@ export declare const AutoOrderApiFactory: (configuration?: Configuration, fetch?
43838
44015
  * @interface AutoOrderApi
43839
44016
  */
43840
44017
  export interface AutoOrderApiInterface {
44018
+ /**
44019
+ * Consolidates mutliple auto orders on the UltraCart account.
44020
+ * @summary Consolidates multiple auto orders
44021
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
44022
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
44023
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
44024
+ * @param {*} [options] Override http request option.
44025
+ * @throws {RequiredError}
44026
+ * @memberof AutoOrderApiInterface
44027
+ */
44028
+ consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options?: any): Promise<AutoOrderResponse>;
43841
44029
  /**
43842
44030
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
43843
44031
  * @summary Establish an auto order by referencing a regular order id
@@ -43964,6 +44152,17 @@ export interface AutoOrderApiInterface {
43964
44152
  * @extends {BaseAPI}
43965
44153
  */
43966
44154
  export declare class AutoOrderApi extends BaseAPI implements AutoOrderApiInterface {
44155
+ /**
44156
+ * Consolidates mutliple auto orders on the UltraCart account.
44157
+ * @summary Consolidates multiple auto orders
44158
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
44159
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
44160
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
44161
+ * @param {*} [options] Override http request option.
44162
+ * @throws {RequiredError}
44163
+ * @memberof AutoOrderApi
44164
+ */
44165
+ consolidateAutoOrders(auto_order_consolidate: AutoOrderConsolidate, auto_order_oid: number, _expand?: string, options?: any): Promise<AutoOrderResponse>;
43967
44166
  /**
43968
44167
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
43969
44168
  * @summary Establish an auto order by referencing a regular order id
@@ -46713,7 +46912,7 @@ export declare const ConversationApiFp: (configuration?: Configuration) => {
46713
46912
  * @param {*} [options] Override http request option.
46714
46913
  * @throws {RequiredError}
46715
46914
  */
46716
- getConversationPbxAudioUploadUrl(extension: string, options?: any): (fetch?: FetchAPI, basePath?: string) => Promise<ConversationMultimediaUploadUrlResponse>;
46915
+ getConversationPbxAudioUploadUrl(extension: string, options?: any): (fetch?: FetchAPI, basePath?: string) => Promise<ConversationPbxAudioUploadUrlResponse>;
46717
46916
  /**
46718
46917
  * Retrieves all the orders, auto orders, and customer profile for a given phone number
46719
46918
  * @summary Get orders and customer information for a phone number
@@ -47410,7 +47609,7 @@ export declare const ConversationApiFactory: (configuration?: Configuration, fet
47410
47609
  * @param {*} [options] Override http request option.
47411
47610
  * @throws {RequiredError}
47412
47611
  */
47413
- getConversationPbxAudioUploadUrl(extension: string, options?: any): Promise<ConversationMultimediaUploadUrlResponse>;
47612
+ getConversationPbxAudioUploadUrl(extension: string, options?: any): Promise<ConversationPbxAudioUploadUrlResponse>;
47414
47613
  /**
47415
47614
  * Retrieves all the orders, auto orders, and customer profile for a given phone number
47416
47615
  * @summary Get orders and customer information for a phone number
@@ -48134,7 +48333,7 @@ export interface ConversationApiInterface {
48134
48333
  * @throws {RequiredError}
48135
48334
  * @memberof ConversationApiInterface
48136
48335
  */
48137
- getConversationPbxAudioUploadUrl(extension: string, options?: any): Promise<ConversationMultimediaUploadUrlResponse>;
48336
+ getConversationPbxAudioUploadUrl(extension: string, options?: any): Promise<ConversationPbxAudioUploadUrlResponse>;
48138
48337
  /**
48139
48338
  * Retrieves all the orders, auto orders, and customer profile for a given phone number
48140
48339
  * @summary Get orders and customer information for a phone number
@@ -48919,7 +49118,7 @@ export declare class ConversationApi extends BaseAPI implements ConversationApiI
48919
49118
  * @throws {RequiredError}
48920
49119
  * @memberof ConversationApi
48921
49120
  */
48922
- getConversationPbxAudioUploadUrl(extension: string, options?: any): Promise<ConversationMultimediaUploadUrlResponse>;
49121
+ getConversationPbxAudioUploadUrl(extension: string, options?: any): Promise<ConversationPbxAudioUploadUrlResponse>;
48923
49122
  /**
48924
49123
  * Retrieves all the orders, auto orders, and customer profile for a given phone number
48925
49124
  * @summary Get orders and customer information for a phone number
package/dist/api.js CHANGED
@@ -1990,6 +1990,64 @@ exports.AffiliateApi = AffiliateApi;
1990
1990
  */
1991
1991
  var AutoOrderApiFetchParamCreator = function (configuration) {
1992
1992
  return {
1993
+ /**
1994
+ * Consolidates mutliple auto orders on the UltraCart account.
1995
+ * @summary Consolidates multiple auto orders
1996
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
1997
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
1998
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
1999
+ * @param {*} [options] Override http request option.
2000
+ * @throws {RequiredError}
2001
+ */
2002
+ consolidateAutoOrders: function (auto_order_consolidate, auto_order_oid, _expand, options) {
2003
+ if (options === void 0) { options = {}; }
2004
+ // verify required parameter 'auto_order_consolidate' is not null or undefined
2005
+ if (auto_order_consolidate === null || auto_order_consolidate === undefined) {
2006
+ throw new RequiredError('auto_order_consolidate', 'Required parameter auto_order_consolidate was null or undefined when calling consolidateAutoOrders.');
2007
+ }
2008
+ // verify required parameter 'auto_order_oid' is not null or undefined
2009
+ if (auto_order_oid === null || auto_order_oid === undefined) {
2010
+ throw new RequiredError('auto_order_oid', 'Required parameter auto_order_oid was null or undefined when calling consolidateAutoOrders.');
2011
+ }
2012
+ var localVarPath = "/auto_order/auto_orders/{auto_order_oid}/consolidate"
2013
+ .replace("{".concat("auto_order_oid", "}"), encodeURIComponent(String(auto_order_oid)));
2014
+ var localVarUrlObj = url.parse(localVarPath, true);
2015
+ var localVarRequestOptions = Object.assign({ method: 'PUT' }, options);
2016
+ var localVarHeaderParameter = {};
2017
+ var localVarQueryParameter = {};
2018
+ if (configuration && configuration.apiVersion) {
2019
+ localVarHeaderParameter["X-UltraCart-Api-Version"] = configuration.apiVersion;
2020
+ }
2021
+ // authentication ultraCartOauth required
2022
+ // oauth required
2023
+ if (configuration && configuration.accessToken) {
2024
+ var localVarAccessTokenValue = typeof configuration.accessToken === 'function'
2025
+ ? configuration.accessToken("ultraCartOauth", ["auto_order_write"])
2026
+ : configuration.accessToken;
2027
+ localVarHeaderParameter["Authorization"] = "Bearer " + localVarAccessTokenValue;
2028
+ }
2029
+ // authentication ultraCartSimpleApiKey required
2030
+ if (configuration && configuration.apiKey) {
2031
+ var localVarApiKeyValue = typeof configuration.apiKey === 'function'
2032
+ ? configuration.apiKey("x-ultracart-simple-key")
2033
+ : configuration.apiKey;
2034
+ localVarHeaderParameter["x-ultracart-simple-key"] = localVarApiKeyValue;
2035
+ }
2036
+ if (_expand !== undefined) {
2037
+ localVarQueryParameter['_expand'] = _expand;
2038
+ }
2039
+ localVarHeaderParameter['Content-Type'] = 'application/json; charset=UTF-8';
2040
+ localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
2041
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
2042
+ delete localVarUrlObj.search;
2043
+ localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
2044
+ var needsSerialization = ("AutoOrderConsolidate" !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
2045
+ localVarRequestOptions.body = needsSerialization ? JSON.stringify(auto_order_consolidate || {}) : (auto_order_consolidate || "");
2046
+ return {
2047
+ url: url.format(localVarUrlObj),
2048
+ options: localVarRequestOptions,
2049
+ };
2050
+ },
1993
2051
  /**
1994
2052
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
1995
2053
  * @summary Establish an auto order by referencing a regular order id
@@ -2569,6 +2627,30 @@ exports.AutoOrderApiFetchParamCreator = AutoOrderApiFetchParamCreator;
2569
2627
  */
2570
2628
  var AutoOrderApiFp = function (configuration) {
2571
2629
  return {
2630
+ /**
2631
+ * Consolidates mutliple auto orders on the UltraCart account.
2632
+ * @summary Consolidates multiple auto orders
2633
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
2634
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
2635
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
2636
+ * @param {*} [options] Override http request option.
2637
+ * @throws {RequiredError}
2638
+ */
2639
+ consolidateAutoOrders: function (auto_order_consolidate, auto_order_oid, _expand, options) {
2640
+ var localVarFetchArgs = (0, exports.AutoOrderApiFetchParamCreator)(configuration).consolidateAutoOrders(auto_order_consolidate, auto_order_oid, _expand, options);
2641
+ return function (fetch, basePath) {
2642
+ if (fetch === void 0) { fetch = portableFetch; }
2643
+ if (basePath === void 0) { basePath = BASE_PATH; }
2644
+ return fetch(basePath + localVarFetchArgs.url, localVarFetchArgs.options).then(function (response) {
2645
+ if (response.status >= 200 && response.status < 300) {
2646
+ return response.json();
2647
+ }
2648
+ else {
2649
+ throw response;
2650
+ }
2651
+ });
2652
+ };
2653
+ },
2572
2654
  /**
2573
2655
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
2574
2656
  * @summary Establish an auto order by referencing a regular order id
@@ -2813,6 +2895,18 @@ exports.AutoOrderApiFp = AutoOrderApiFp;
2813
2895
  */
2814
2896
  var AutoOrderApiFactory = function (configuration, fetch, basePath) {
2815
2897
  return {
2898
+ /**
2899
+ * Consolidates mutliple auto orders on the UltraCart account.
2900
+ * @summary Consolidates multiple auto orders
2901
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
2902
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
2903
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
2904
+ * @param {*} [options] Override http request option.
2905
+ * @throws {RequiredError}
2906
+ */
2907
+ consolidateAutoOrders: function (auto_order_consolidate, auto_order_oid, _expand, options) {
2908
+ return (0, exports.AutoOrderApiFp)(configuration).consolidateAutoOrders(auto_order_consolidate, auto_order_oid, _expand, options)(fetch, basePath);
2909
+ },
2816
2910
  /**
2817
2911
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
2818
2912
  * @summary Establish an auto order by referencing a regular order id
@@ -2954,6 +3048,19 @@ var AutoOrderApi = /** @class */ (function (_super) {
2954
3048
  function AutoOrderApi() {
2955
3049
  return _super !== null && _super.apply(this, arguments) || this;
2956
3050
  }
3051
+ /**
3052
+ * Consolidates mutliple auto orders on the UltraCart account.
3053
+ * @summary Consolidates multiple auto orders
3054
+ * @param {AutoOrderConsolidate} auto_order_consolidate Auto orders to consolidate
3055
+ * @param {number} auto_order_oid The auto order oid to consolidate into.
3056
+ * @param {string} [_expand] The object expansion to perform on the result. See documentation for examples
3057
+ * @param {*} [options] Override http request option.
3058
+ * @throws {RequiredError}
3059
+ * @memberof AutoOrderApi
3060
+ */
3061
+ AutoOrderApi.prototype.consolidateAutoOrders = function (auto_order_consolidate, auto_order_oid, _expand, options) {
3062
+ return (0, exports.AutoOrderApiFp)(this.configuration).consolidateAutoOrders(auto_order_consolidate, auto_order_oid, _expand, options)(this.fetch, this.basePath);
3063
+ };
2957
3064
  /**
2958
3065
  * Establish an auto order by referencing a regular order id. The result will be an auto order without any items. You should add the items and perform an update call. Orders must be less than 60 days old and use a credit card payment.
2959
3066
  * @summary Establish an auto order by referencing a regular order id
@@ -9769,7 +9876,7 @@ var ConversationApiFetchParamCreator = function (configuration) {
9769
9876
  if (recording_sid === null || recording_sid === undefined) {
9770
9877
  throw new RequiredError('recording_sid', 'Required parameter recording_sid was null or undefined when calling listenedPbxQueueVoicemail.');
9771
9878
  }
9772
- var localVarPath = "/conversation/pbx/{queue_uuid}/voicemails/voicemails/{recording_sid}/listened"
9879
+ var localVarPath = "/conversation/pbx/queues/{queue_uuid}/voicemails/{recording_sid}/listened"
9773
9880
  .replace("{".concat("queue_uuid", "}"), encodeURIComponent(String(queue_uuid)))
9774
9881
  .replace("{".concat("recording_sid", "}"), encodeURIComponent(String(recording_sid)));
9775
9882
  var localVarUrlObj = url.parse(localVarPath, true);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ultracart_rest_api_v2_typescript",
3
- "version": "3.10.193",
3
+ "version": "3.10.195",
4
4
  "description": "UltraCart Rest TypeScript SDK",
5
5
  "author": "UltraCart",
6
6
  "keywords": [