ultracart_api 4.1.214 → 4.1.216
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.
- checksums.yaml +4 -4
- data/README.md +8 -2
- data/docs/SfvbApi.md +57 -0
- data/docs/SfvbItemResponse.md +2 -0
- data/docs/SfvbItemTags.md +22 -0
- data/docs/SfvbSequenceStepCreateRequest.md +28 -0
- data/docs/SfvbSequenceStepCreateResponse.md +24 -0
- data/lib/ultracart_api/api/sfvb_api.rb +88 -0
- data/lib/ultracart_api/models/order_payment.rb +2 -2
- data/lib/ultracart_api/models/sfvb_item_response.rb +10 -1
- data/lib/ultracart_api/models/sfvb_item_tags.rb +246 -0
- data/lib/ultracart_api/models/sfvb_sequence_step_create_request.rb +270 -0
- data/lib/ultracart_api/models/sfvb_sequence_step_create_response.rb +251 -0
- data/lib/ultracart_api/version.rb +1 -1
- data/lib/ultracart_api.rb +3 -0
- metadata +8 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c9d982114341675667b756d95ce82f8b73da11be370ae3be33c299498d979890
|
|
4
|
+
data.tar.gz: '018a0ed9d2b4b54698c322ffabf20ae0ba0eb71d5f00ca98e46cbf90d7b2a301'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5cbd5537546c75260f4c6717a22f811552d27b7e99ccc18d5d34a38f97140f23a3169dcf66d165fd1c22816d34cc0bc094102e0fd66a60c199d01f79e306f5bd
|
|
7
|
+
data.tar.gz: f67506e1c0f8f1ac33c90e2e6d31d7abcc376f8d642814c6e51c7504bdd8b8ec48c97e0346e9ae6f3cc1f55fe7cb4e2468d34042a9c160b3704ce5587311d2f7
|
data/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Note: Every method has a sample for every language. See https://github.com/Ultr
|
|
|
7
7
|
This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
8
8
|
|
|
9
9
|
- API version: 2.0.0
|
|
10
|
-
- Package version: 4.1.
|
|
10
|
+
- Package version: 4.1.216
|
|
11
11
|
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
|
|
12
12
|
- For more information, please visit [http://www.ultracart.com/api/](http://www.ultracart.com/api/)
|
|
13
13
|
|
|
@@ -16,7 +16,7 @@ This SDK is automatically generated by the [OpenAPI Generator](https://openapi-g
|
|
|
16
16
|
gemfile:
|
|
17
17
|
|
|
18
18
|
```shell
|
|
19
|
-
gem 'ultracart_api', '4.1.
|
|
19
|
+
gem 'ultracart_api', '4.1.216'
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
install:
|
|
@@ -593,6 +593,7 @@ Class | Method | HTTP request | Description
|
|
|
593
593
|
*UltracartClient::SfvbApi* | [**insert_sfvb_page**](docs/SfvbApi.md#insert_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages | Create a page
|
|
594
594
|
*UltracartClient::SfvbApi* | [**insert_sfvb_redirect**](docs/SfvbApi.md#insert_sfvb_redirect) | **POST** /sfvb/storefronts/{storefront_oid}/redirects | Create a 301 redirect rule
|
|
595
595
|
*UltracartClient::SfvbApi* | [**insert_sfvb_secret_request**](docs/SfvbApi.md#insert_sfvb_secret_request) | **POST** /sfvb/secrets | Ask a person to enter secret values
|
|
596
|
+
*UltracartClient::SfvbApi* | [**insert_sfvb_sequence_step**](docs/SfvbApi.md#insert_sfvb_sequence_step) | **POST** /sfvb/storefronts/{storefront_oid}/sequences/{sequence_uuid}/steps | Add an email step, with its new email
|
|
596
597
|
*UltracartClient::SfvbApi* | [**insert_sfvb_upsell_offer**](docs/SfvbApi.md#insert_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers | Create an upsell offer
|
|
597
598
|
*UltracartClient::SfvbApi* | [**insert_sfvb_upsell_path**](docs/SfvbApi.md#insert_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths | Create an upsell path
|
|
598
599
|
*UltracartClient::SfvbApi* | [**install_sfvb_library_entry**](docs/SfvbApi.md#install_sfvb_library_entry) | **POST** /sfvb/storefronts/{storefront_oid}/library/{library_oid}/install | Install a library entry into a storefront
|
|
@@ -2012,6 +2013,7 @@ Class | Method | HTTP request | Description
|
|
|
2012
2013
|
- [UltracartClient::SfvbItemResponse](docs/SfvbItemResponse.md)
|
|
2013
2014
|
- [UltracartClient::SfvbItemSeo](docs/SfvbItemSeo.md)
|
|
2014
2015
|
- [UltracartClient::SfvbItemSeoRequest](docs/SfvbItemSeoRequest.md)
|
|
2016
|
+
- [UltracartClient::SfvbItemTags](docs/SfvbItemTags.md)
|
|
2015
2017
|
- [UltracartClient::SfvbItemVolumeDiscount](docs/SfvbItemVolumeDiscount.md)
|
|
2016
2018
|
- [UltracartClient::SfvbLibraryAiReview](docs/SfvbLibraryAiReview.md)
|
|
2017
2019
|
- [UltracartClient::SfvbLibraryContentManifest](docs/SfvbLibraryContentManifest.md)
|
|
@@ -2111,6 +2113,8 @@ Class | Method | HTTP request | Description
|
|
|
2111
2113
|
- [UltracartClient::SfvbSequence](docs/SfvbSequence.md)
|
|
2112
2114
|
- [UltracartClient::SfvbSequenceBranch](docs/SfvbSequenceBranch.md)
|
|
2113
2115
|
- [UltracartClient::SfvbSequenceStep](docs/SfvbSequenceStep.md)
|
|
2116
|
+
- [UltracartClient::SfvbSequenceStepCreateRequest](docs/SfvbSequenceStepCreateRequest.md)
|
|
2117
|
+
- [UltracartClient::SfvbSequenceStepCreateResponse](docs/SfvbSequenceStepCreateResponse.md)
|
|
2114
2118
|
- [UltracartClient::SfvbSequenceStepUpdateRequest](docs/SfvbSequenceStepUpdateRequest.md)
|
|
2115
2119
|
- [UltracartClient::SfvbSequenceStepUpdateResponse](docs/SfvbSequenceStepUpdateResponse.md)
|
|
2116
2120
|
- [UltracartClient::SfvbServerLog](docs/SfvbServerLog.md)
|
|
@@ -2330,6 +2334,8 @@ Not every change is committed to every SDK.
|
|
|
2330
2334
|
|
|
2331
2335
|
| Version | Date | Comments |
|
|
2332
2336
|
| --: | :-: | --- |
|
|
2337
|
+
| 4.1.216 | 10/29/2026 | sfvb internal testing |
|
|
2338
|
+
| 4.1.215 | 10/28/2026 | sfvb internal testing |
|
|
2333
2339
|
| 4.1.214 | 10/28/2026 | sfvb internal testing |
|
|
2334
2340
|
| 4.1.213 | 10/28/2026 | auto order - improve item field descriptions |
|
|
2335
2341
|
| 4.1.212 | 10/27/2026 | conversation - pbx agent startup activity |
|
data/docs/SfvbApi.md
CHANGED
|
@@ -121,6 +121,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
|
|
|
121
121
|
| [**insert_sfvb_page**](SfvbApi.md#insert_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages | Create a page |
|
|
122
122
|
| [**insert_sfvb_redirect**](SfvbApi.md#insert_sfvb_redirect) | **POST** /sfvb/storefronts/{storefront_oid}/redirects | Create a 301 redirect rule |
|
|
123
123
|
| [**insert_sfvb_secret_request**](SfvbApi.md#insert_sfvb_secret_request) | **POST** /sfvb/secrets | Ask a person to enter secret values |
|
|
124
|
+
| [**insert_sfvb_sequence_step**](SfvbApi.md#insert_sfvb_sequence_step) | **POST** /sfvb/storefronts/{storefront_oid}/sequences/{sequence_uuid}/steps | Add an email step, with its new email |
|
|
124
125
|
| [**insert_sfvb_upsell_offer**](SfvbApi.md#insert_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers | Create an upsell offer |
|
|
125
126
|
| [**insert_sfvb_upsell_path**](SfvbApi.md#insert_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths | Create an upsell path |
|
|
126
127
|
| [**install_sfvb_library_entry**](SfvbApi.md#install_sfvb_library_entry) | **POST** /sfvb/storefronts/{storefront_oid}/library/{library_oid}/install | Install a library entry into a storefront |
|
|
@@ -6550,6 +6551,62 @@ end
|
|
|
6550
6551
|
- **Accept**: application/json
|
|
6551
6552
|
|
|
6552
6553
|
|
|
6554
|
+
## insert_sfvb_sequence_step
|
|
6555
|
+
|
|
6556
|
+
> <SfvbSequenceStepCreateResponse> insert_sfvb_sequence_step(storefront_oid, sequence_uuid, if_match, sequence_step_create_request)
|
|
6557
|
+
|
|
6558
|
+
Add an email step, with its new email
|
|
6559
|
+
|
|
6560
|
+
Creates a new email with the subject and preview text and adds the email step that sends it, together, so a failure leaves neither. It goes right after after_step_uuid, or first on one side of a condition, split or inboxgeek step (branch_step_uuid with side). Send that step's hash_sha256 as If-Match. The email has no body yet, and gets the content review flags the admin gives a new email here. A sequence whose campaign or flow is live needs sfvb_publish.
|
|
6561
|
+
|
|
6562
|
+
|
|
6563
|
+
### Examples
|
|
6564
|
+
|
|
6565
|
+
|
|
6566
|
+
(No example for this operation).
|
|
6567
|
+
|
|
6568
|
+
|
|
6569
|
+
#### Using the insert_sfvb_sequence_step_with_http_info variant
|
|
6570
|
+
|
|
6571
|
+
This returns an Array which contains the response data, status code and headers.
|
|
6572
|
+
|
|
6573
|
+
> <Array(<SfvbSequenceStepCreateResponse>, Integer, Hash)> insert_sfvb_sequence_step_with_http_info(storefront_oid, sequence_uuid, if_match, sequence_step_create_request)
|
|
6574
|
+
|
|
6575
|
+
```ruby
|
|
6576
|
+
begin
|
|
6577
|
+
# Add an email step, with its new email
|
|
6578
|
+
data, status_code, headers = api_instance.insert_sfvb_sequence_step_with_http_info(storefront_oid, sequence_uuid, if_match, sequence_step_create_request)
|
|
6579
|
+
p status_code # => 2xx
|
|
6580
|
+
p headers # => { ... }
|
|
6581
|
+
p data # => <SfvbSequenceStepCreateResponse>
|
|
6582
|
+
rescue UltracartClient::ApiError => e
|
|
6583
|
+
puts "Error when calling SfvbApi->insert_sfvb_sequence_step_with_http_info: #{e}"
|
|
6584
|
+
end
|
|
6585
|
+
```
|
|
6586
|
+
|
|
6587
|
+
### Parameters
|
|
6588
|
+
|
|
6589
|
+
| Name | Type | Description | Notes |
|
|
6590
|
+
| ---- | ---- | ----------- | ----- |
|
|
6591
|
+
| **storefront_oid** | **Integer** | | |
|
|
6592
|
+
| **sequence_uuid** | **String** | | |
|
|
6593
|
+
| **if_match** | **String** | The hash_sha256 of the step it goes after, or of the branching step. Required; 428 when absent, 412 when stale. | |
|
|
6594
|
+
| **sequence_step_create_request** | [**SfvbSequenceStepCreateRequest**](SfvbSequenceStepCreateRequest.md) | Where the step goes, and the new email's subject and preview text | |
|
|
6595
|
+
|
|
6596
|
+
### Return type
|
|
6597
|
+
|
|
6598
|
+
[**SfvbSequenceStepCreateResponse**](SfvbSequenceStepCreateResponse.md)
|
|
6599
|
+
|
|
6600
|
+
### Authorization
|
|
6601
|
+
|
|
6602
|
+
[ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
|
|
6603
|
+
|
|
6604
|
+
### HTTP request headers
|
|
6605
|
+
|
|
6606
|
+
- **Content-Type**: application/json
|
|
6607
|
+
- **Accept**: application/json
|
|
6608
|
+
|
|
6609
|
+
|
|
6553
6610
|
## insert_sfvb_upsell_offer
|
|
6554
6611
|
|
|
6555
6612
|
> <SfvbUpsellOffer> insert_sfvb_upsell_offer(storefront_oid, upsell_offer)
|
data/docs/SfvbItemResponse.md
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
| **merchant_item_oid** | **Integer** | The item's internal oid, which appears nowhere on a rendered storefront. | [optional] |
|
|
12
12
|
| **multimedia** | [**Array<SfvbItemMultimedia>**](SfvbItemMultimedia.md) | Every image slot a template declares plus every image attached to the item. | [optional] |
|
|
13
13
|
| **seo** | [**SfvbItemSeo**](SfvbItemSeo.md) | | [optional] |
|
|
14
|
+
| **tags** | [**SfvbItemTags**](SfvbItemTags.md) | | [optional] |
|
|
14
15
|
| **title** | **String** | What an itemtitle element renders. This is the item's short description in the catalog, not a storefront only field, so changing it changes the item everywhere. | [optional] |
|
|
15
16
|
|
|
16
17
|
## Example
|
|
@@ -26,6 +27,7 @@ instance = UltracartClient::SfvbItemResponse.new(
|
|
|
26
27
|
merchant_item_oid: null,
|
|
27
28
|
multimedia: null,
|
|
28
29
|
seo: null,
|
|
30
|
+
tags: null,
|
|
29
31
|
title: null
|
|
30
32
|
)
|
|
31
33
|
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemTags
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **customer** | **Array<String>** | Tags put on the customer when this item is bought, in stored order. | [optional] |
|
|
8
|
+
| **item** | **Array<String>** | The item's own tags, in stored order. These are what the item in cart with tag conditions and itemcondition check. | [optional] |
|
|
9
|
+
| **order** | **Array<String>** | Tags put on the order when this item is bought, in stored order. | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'ultracart_api'
|
|
15
|
+
|
|
16
|
+
instance = UltracartClient::SfvbItemTags.new(
|
|
17
|
+
customer: null,
|
|
18
|
+
item: null,
|
|
19
|
+
order: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# UltracartClient::SfvbSequenceStepCreateRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **after_step_uuid** | **String** | The step the new step follows, in the same list. Not an end, continue or merge step. | [optional] |
|
|
8
|
+
| **branch_step_uuid** | **String** | A condition, split or inboxgeek step. With side, the new step goes first on that side. | [optional] |
|
|
9
|
+
| **preview_text** | **String** | The new email's preview text, 5 to 150 characters. | [optional] |
|
|
10
|
+
| **side** | **String** | With branch_step_uuid, the side's label from the sequence read. yes or no for a condition, left or right for a split or inboxgeek step. | [optional] |
|
|
11
|
+
| **subject** | **String** | The new email's subject line, 5 to 150 characters. | [optional] |
|
|
12
|
+
| **type** | **String** | The kind of step. Only email for now. | [optional] |
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
require 'ultracart_api'
|
|
18
|
+
|
|
19
|
+
instance = UltracartClient::SfvbSequenceStepCreateRequest.new(
|
|
20
|
+
after_step_uuid: null,
|
|
21
|
+
branch_step_uuid: null,
|
|
22
|
+
preview_text: null,
|
|
23
|
+
side: null,
|
|
24
|
+
subject: null,
|
|
25
|
+
type: null
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# UltracartClient::SfvbSequenceStepCreateResponse
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **email_uuid** | **String** | The new email's uuid. Its body is the email container with this owner id. | [optional] |
|
|
8
|
+
| **notes** | **Array<String>** | What to do next, such as writing the body, and customers already waiting on the step before it. | [optional] |
|
|
9
|
+
| **requires_review** | **Boolean** | True when the new email must pass content review before it sends. | [optional] |
|
|
10
|
+
| **step** | [**SfvbSequenceStep**](SfvbSequenceStep.md) | | [optional] |
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
require 'ultracart_api'
|
|
16
|
+
|
|
17
|
+
instance = UltracartClient::SfvbSequenceStepCreateResponse.new(
|
|
18
|
+
email_uuid: null,
|
|
19
|
+
notes: null,
|
|
20
|
+
requires_review: null,
|
|
21
|
+
step: null
|
|
22
|
+
)
|
|
23
|
+
```
|
|
24
|
+
|
|
@@ -8370,6 +8370,94 @@ module UltracartClient
|
|
|
8370
8370
|
return data, status_code, headers
|
|
8371
8371
|
end
|
|
8372
8372
|
|
|
8373
|
+
# Add an email step, with its new email
|
|
8374
|
+
# Creates a new email with the subject and preview text and adds the email step that sends it, together, so a failure leaves neither. It goes right after after_step_uuid, or first on one side of a condition, split or inboxgeek step (branch_step_uuid with side). Send that step's hash_sha256 as If-Match. The email has no body yet, and gets the content review flags the admin gives a new email here. A sequence whose campaign or flow is live needs sfvb_publish.
|
|
8375
|
+
# @param storefront_oid [Integer]
|
|
8376
|
+
# @param sequence_uuid [String]
|
|
8377
|
+
# @param if_match [String] The hash_sha256 of the step it goes after, or of the branching step. Required; 428 when absent, 412 when stale.
|
|
8378
|
+
# @param sequence_step_create_request [SfvbSequenceStepCreateRequest] Where the step goes, and the new email's subject and preview text
|
|
8379
|
+
# @param [Hash] opts the optional parameters
|
|
8380
|
+
# @return [SfvbSequenceStepCreateResponse]
|
|
8381
|
+
def insert_sfvb_sequence_step(storefront_oid, sequence_uuid, if_match, sequence_step_create_request, opts = {})
|
|
8382
|
+
data, _status_code, _headers = insert_sfvb_sequence_step_with_http_info(storefront_oid, sequence_uuid, if_match, sequence_step_create_request, opts)
|
|
8383
|
+
data
|
|
8384
|
+
end
|
|
8385
|
+
|
|
8386
|
+
# Add an email step, with its new email
|
|
8387
|
+
# Creates a new email with the subject and preview text and adds the email step that sends it, together, so a failure leaves neither. It goes right after after_step_uuid, or first on one side of a condition, split or inboxgeek step (branch_step_uuid with side). Send that step's hash_sha256 as If-Match. The email has no body yet, and gets the content review flags the admin gives a new email here. A sequence whose campaign or flow is live needs sfvb_publish.
|
|
8388
|
+
# @param storefront_oid [Integer]
|
|
8389
|
+
# @param sequence_uuid [String]
|
|
8390
|
+
# @param if_match [String] The hash_sha256 of the step it goes after, or of the branching step. Required; 428 when absent, 412 when stale.
|
|
8391
|
+
# @param sequence_step_create_request [SfvbSequenceStepCreateRequest] Where the step goes, and the new email's subject and preview text
|
|
8392
|
+
# @param [Hash] opts the optional parameters
|
|
8393
|
+
# @return [Array<(SfvbSequenceStepCreateResponse, Integer, Hash)>] SfvbSequenceStepCreateResponse data, response status code and response headers
|
|
8394
|
+
def insert_sfvb_sequence_step_with_http_info(storefront_oid, sequence_uuid, if_match, sequence_step_create_request, opts = {})
|
|
8395
|
+
if @api_client.config.debugging
|
|
8396
|
+
@api_client.config.logger.debug 'Calling API: SfvbApi.insert_sfvb_sequence_step ...'
|
|
8397
|
+
end
|
|
8398
|
+
# verify the required parameter 'storefront_oid' is set
|
|
8399
|
+
if @api_client.config.client_side_validation && storefront_oid.nil?
|
|
8400
|
+
fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.insert_sfvb_sequence_step"
|
|
8401
|
+
end
|
|
8402
|
+
# verify the required parameter 'sequence_uuid' is set
|
|
8403
|
+
if @api_client.config.client_side_validation && sequence_uuid.nil?
|
|
8404
|
+
fail ArgumentError, "Missing the required parameter 'sequence_uuid' when calling SfvbApi.insert_sfvb_sequence_step"
|
|
8405
|
+
end
|
|
8406
|
+
# verify the required parameter 'if_match' is set
|
|
8407
|
+
if @api_client.config.client_side_validation && if_match.nil?
|
|
8408
|
+
fail ArgumentError, "Missing the required parameter 'if_match' when calling SfvbApi.insert_sfvb_sequence_step"
|
|
8409
|
+
end
|
|
8410
|
+
# verify the required parameter 'sequence_step_create_request' is set
|
|
8411
|
+
if @api_client.config.client_side_validation && sequence_step_create_request.nil?
|
|
8412
|
+
fail ArgumentError, "Missing the required parameter 'sequence_step_create_request' when calling SfvbApi.insert_sfvb_sequence_step"
|
|
8413
|
+
end
|
|
8414
|
+
# resource path
|
|
8415
|
+
local_var_path = '/sfvb/storefronts/{storefront_oid}/sequences/{sequence_uuid}/steps'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s)).sub('{' + 'sequence_uuid' + '}', CGI.escape(sequence_uuid.to_s))
|
|
8416
|
+
|
|
8417
|
+
# query parameters
|
|
8418
|
+
query_params = opts[:query_params] || {}
|
|
8419
|
+
|
|
8420
|
+
# header parameters
|
|
8421
|
+
header_params = opts[:header_params] || {}
|
|
8422
|
+
header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
|
|
8423
|
+
# HTTP header 'Accept' (if needed)
|
|
8424
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
8425
|
+
# HTTP header 'Content-Type'
|
|
8426
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
8427
|
+
if !content_type.nil?
|
|
8428
|
+
header_params['Content-Type'] = content_type
|
|
8429
|
+
end
|
|
8430
|
+
header_params[:'If-Match'] = if_match
|
|
8431
|
+
|
|
8432
|
+
# form parameters
|
|
8433
|
+
form_params = opts[:form_params] || {}
|
|
8434
|
+
|
|
8435
|
+
# http body (model)
|
|
8436
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(sequence_step_create_request)
|
|
8437
|
+
|
|
8438
|
+
# return_type
|
|
8439
|
+
return_type = opts[:debug_return_type] || 'SfvbSequenceStepCreateResponse'
|
|
8440
|
+
|
|
8441
|
+
# auth_names
|
|
8442
|
+
auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
|
|
8443
|
+
|
|
8444
|
+
new_options = opts.merge(
|
|
8445
|
+
:operation => :"SfvbApi.insert_sfvb_sequence_step",
|
|
8446
|
+
:header_params => header_params,
|
|
8447
|
+
:query_params => query_params,
|
|
8448
|
+
:form_params => form_params,
|
|
8449
|
+
:body => post_body,
|
|
8450
|
+
:auth_names => auth_names,
|
|
8451
|
+
:return_type => return_type
|
|
8452
|
+
)
|
|
8453
|
+
|
|
8454
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
8455
|
+
if @api_client.config.debugging
|
|
8456
|
+
@api_client.config.logger.debug "API called: SfvbApi#insert_sfvb_sequence_step\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
8457
|
+
end
|
|
8458
|
+
return data, status_code, headers
|
|
8459
|
+
end
|
|
8460
|
+
|
|
8373
8461
|
# Create an upsell offer
|
|
8374
8462
|
# Every item it names must exist, and every shipping method, payment method and loyalty tier must be one the merchant has. Put it on a path with a path update to have it shown. It must be created with active false, and switched on with the enable call, which needs approval. upsell_item_id_javascript or offsite_content_url needs sfvb_publish. Its page content is its container, written with the container endpoints and owner type upsell.
|
|
8375
8463
|
# @param storefront_oid [Integer]
|
|
@@ -260,7 +260,7 @@ module UltracartClient
|
|
|
260
260
|
# Check to see if the all the properties in the model are valid
|
|
261
261
|
# @return true if the model is valid
|
|
262
262
|
def valid?
|
|
263
|
-
payment_method_validator = EnumAttributeValidator.new('String', ["Affirm", "Amazon", "Amazon Pay", "Amazon SC", "Cash", "Check", "COD", "Credit Card", "Crypto", "eBay", "eCheck", "Google Shopping", "Goldbelly", "GoHighLevel", "Insurance", "Link", "LoanHero", "Money Order", "PayPal", "Purchase Order", "Quote Request", "Unknown", "Wire Transfer", "Walmart", "Shop.com", "Sezzle", "Venmo", "Apple Pay", "Google Pay", "Health Benefit Card", "PayPal Fastlane", "Klarna"])
|
|
263
|
+
payment_method_validator = EnumAttributeValidator.new('String', ["Affirm", "Amazon", "Amazon Pay", "Amazon SC", "Cash", "Check", "COD", "Credit Card", "Crypto", "eBay", "eCheck", "Google Shopping", "Goldbelly", "GoHighLevel", "Insurance", "Link", "LoanHero", "Money Order", "PayPal", "Purchase Order", "Quote Request", "Unknown", "Wire Transfer", "Walmart", "Shop.com", "Sezzle", "Truemed", "Venmo", "Apple Pay", "Google Pay", "Health Benefit Card", "PayPal Fastlane", "Klarna"])
|
|
264
264
|
return false unless payment_method_validator.valid?(@payment_method)
|
|
265
265
|
payment_status_validator = EnumAttributeValidator.new('String', ["Unprocessed", "Authorized", "Capture Failed", "Processed", "Declined", "Voided", "Refunded", "Skipped"])
|
|
266
266
|
return false unless payment_status_validator.valid?(@payment_status)
|
|
@@ -270,7 +270,7 @@ module UltracartClient
|
|
|
270
270
|
# Custom attribute writer method checking allowed values (enum).
|
|
271
271
|
# @param [Object] payment_method Object to be assigned
|
|
272
272
|
def payment_method=(payment_method)
|
|
273
|
-
validator = EnumAttributeValidator.new('String', ["Affirm", "Amazon", "Amazon Pay", "Amazon SC", "Cash", "Check", "COD", "Credit Card", "Crypto", "eBay", "eCheck", "Google Shopping", "Goldbelly", "GoHighLevel", "Insurance", "Link", "LoanHero", "Money Order", "PayPal", "Purchase Order", "Quote Request", "Unknown", "Wire Transfer", "Walmart", "Shop.com", "Sezzle", "Venmo", "Apple Pay", "Google Pay", "Health Benefit Card", "PayPal Fastlane", "Klarna"])
|
|
273
|
+
validator = EnumAttributeValidator.new('String', ["Affirm", "Amazon", "Amazon Pay", "Amazon SC", "Cash", "Check", "COD", "Credit Card", "Crypto", "eBay", "eCheck", "Google Shopping", "Goldbelly", "GoHighLevel", "Insurance", "Link", "LoanHero", "Money Order", "PayPal", "Purchase Order", "Quote Request", "Unknown", "Wire Transfer", "Walmart", "Shop.com", "Sezzle", "Truemed", "Venmo", "Apple Pay", "Google Pay", "Health Benefit Card", "PayPal Fastlane", "Klarna"])
|
|
274
274
|
unless validator.valid?(payment_method)
|
|
275
275
|
fail ArgumentError, "invalid value for \"payment_method\", must be one of #{validator.allowable_values}."
|
|
276
276
|
end
|
|
@@ -35,6 +35,8 @@ module UltracartClient
|
|
|
35
35
|
|
|
36
36
|
attr_accessor :seo
|
|
37
37
|
|
|
38
|
+
attr_accessor :tags
|
|
39
|
+
|
|
38
40
|
# What an itemtitle element renders. This is the item's short description in the catalog, not a storefront only field, so changing it changes the item everywhere.
|
|
39
41
|
attr_accessor :title
|
|
40
42
|
|
|
@@ -48,6 +50,7 @@ module UltracartClient
|
|
|
48
50
|
:'merchant_item_oid' => :'merchant_item_oid',
|
|
49
51
|
:'multimedia' => :'multimedia',
|
|
50
52
|
:'seo' => :'seo',
|
|
53
|
+
:'tags' => :'tags',
|
|
51
54
|
:'title' => :'title'
|
|
52
55
|
}
|
|
53
56
|
end
|
|
@@ -67,6 +70,7 @@ module UltracartClient
|
|
|
67
70
|
:'merchant_item_oid' => :'Integer',
|
|
68
71
|
:'multimedia' => :'Array<SfvbItemMultimedia>',
|
|
69
72
|
:'seo' => :'SfvbItemSeo',
|
|
73
|
+
:'tags' => :'SfvbItemTags',
|
|
70
74
|
:'title' => :'String'
|
|
71
75
|
}
|
|
72
76
|
end
|
|
@@ -126,6 +130,10 @@ module UltracartClient
|
|
|
126
130
|
self.seo = attributes[:'seo']
|
|
127
131
|
end
|
|
128
132
|
|
|
133
|
+
if attributes.key?(:'tags')
|
|
134
|
+
self.tags = attributes[:'tags']
|
|
135
|
+
end
|
|
136
|
+
|
|
129
137
|
if attributes.key?(:'title')
|
|
130
138
|
self.title = attributes[:'title']
|
|
131
139
|
end
|
|
@@ -156,6 +164,7 @@ module UltracartClient
|
|
|
156
164
|
merchant_item_oid == o.merchant_item_oid &&
|
|
157
165
|
multimedia == o.multimedia &&
|
|
158
166
|
seo == o.seo &&
|
|
167
|
+
tags == o.tags &&
|
|
159
168
|
title == o.title
|
|
160
169
|
end
|
|
161
170
|
|
|
@@ -168,7 +177,7 @@ module UltracartClient
|
|
|
168
177
|
# Calculates hash code according to all attributes.
|
|
169
178
|
# @return [Integer] Hash code
|
|
170
179
|
def hash
|
|
171
|
-
[attributes, description, groups, merchant_item_id, merchant_item_oid, multimedia, seo, title].hash
|
|
180
|
+
[attributes, description, groups, merchant_item_id, merchant_item_oid, multimedia, seo, tags, title].hash
|
|
172
181
|
end
|
|
173
182
|
|
|
174
183
|
# Builds the object from hash
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#UltraCart Rest API V2
|
|
3
|
+
|
|
4
|
+
#UltraCart REST API Version 2
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 2.0.0
|
|
7
|
+
Contact: support@ultracart.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 6.0.1-SNAPSHOT
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module UltracartClient
|
|
17
|
+
class SfvbItemTags
|
|
18
|
+
# Tags put on the customer when this item is bought, in stored order.
|
|
19
|
+
attr_accessor :customer
|
|
20
|
+
|
|
21
|
+
# The item's own tags, in stored order. These are what the item in cart with tag conditions and itemcondition check.
|
|
22
|
+
attr_accessor :item
|
|
23
|
+
|
|
24
|
+
# Tags put on the order when this item is bought, in stored order.
|
|
25
|
+
attr_accessor :order
|
|
26
|
+
|
|
27
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
28
|
+
def self.attribute_map
|
|
29
|
+
{
|
|
30
|
+
:'customer' => :'customer',
|
|
31
|
+
:'item' => :'item',
|
|
32
|
+
:'order' => :'order'
|
|
33
|
+
}
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Returns all the JSON keys this model knows about
|
|
37
|
+
def self.acceptable_attributes
|
|
38
|
+
attribute_map.values
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Attribute type mapping.
|
|
42
|
+
def self.openapi_types
|
|
43
|
+
{
|
|
44
|
+
:'customer' => :'Array<String>',
|
|
45
|
+
:'item' => :'Array<String>',
|
|
46
|
+
:'order' => :'Array<String>'
|
|
47
|
+
}
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# List of attributes with nullable: true
|
|
51
|
+
def self.openapi_nullable
|
|
52
|
+
Set.new([
|
|
53
|
+
])
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Initializes the object
|
|
57
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
58
|
+
def initialize(attributes = {})
|
|
59
|
+
if (!attributes.is_a?(Hash))
|
|
60
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::SfvbItemTags` initialize method"
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
64
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
65
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
66
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::SfvbItemTags`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
67
|
+
end
|
|
68
|
+
h[k.to_sym] = v
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if attributes.key?(:'customer')
|
|
72
|
+
if (value = attributes[:'customer']).is_a?(Array)
|
|
73
|
+
self.customer = value
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
if attributes.key?(:'item')
|
|
78
|
+
if (value = attributes[:'item']).is_a?(Array)
|
|
79
|
+
self.item = value
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
if attributes.key?(:'order')
|
|
84
|
+
if (value = attributes[:'order']).is_a?(Array)
|
|
85
|
+
self.order = value
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
91
|
+
# @return Array for valid properties with the reasons
|
|
92
|
+
def list_invalid_properties
|
|
93
|
+
invalid_properties = Array.new
|
|
94
|
+
invalid_properties
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Check to see if the all the properties in the model are valid
|
|
98
|
+
# @return true if the model is valid
|
|
99
|
+
def valid?
|
|
100
|
+
true
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Checks equality by comparing each attribute.
|
|
104
|
+
# @param [Object] Object to be compared
|
|
105
|
+
def ==(o)
|
|
106
|
+
return true if self.equal?(o)
|
|
107
|
+
self.class == o.class &&
|
|
108
|
+
customer == o.customer &&
|
|
109
|
+
item == o.item &&
|
|
110
|
+
order == o.order
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# @see the `==` method
|
|
114
|
+
# @param [Object] Object to be compared
|
|
115
|
+
def eql?(o)
|
|
116
|
+
self == o
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Calculates hash code according to all attributes.
|
|
120
|
+
# @return [Integer] Hash code
|
|
121
|
+
def hash
|
|
122
|
+
[customer, item, order].hash
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Builds the object from hash
|
|
126
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
127
|
+
# @return [Object] Returns the model itself
|
|
128
|
+
def self.build_from_hash(attributes)
|
|
129
|
+
new.build_from_hash(attributes)
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# Builds the object from hash
|
|
133
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
134
|
+
# @return [Object] Returns the model itself
|
|
135
|
+
def build_from_hash(attributes)
|
|
136
|
+
return nil unless attributes.is_a?(Hash)
|
|
137
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
138
|
+
self.class.openapi_types.each_pair do |key, type|
|
|
139
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
140
|
+
self.send("#{key}=", nil)
|
|
141
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
142
|
+
# check to ensure the input is an array given that the attribute
|
|
143
|
+
# is documented as an array but the input is not
|
|
144
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
145
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
|
146
|
+
end
|
|
147
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
148
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
self
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# Deserializes the data based on type
|
|
156
|
+
# @param string type Data type
|
|
157
|
+
# @param string value Value to be deserialized
|
|
158
|
+
# @return [Object] Deserialized data
|
|
159
|
+
def _deserialize(type, value)
|
|
160
|
+
case type.to_sym
|
|
161
|
+
when :Time
|
|
162
|
+
Time.parse(value)
|
|
163
|
+
when :Date
|
|
164
|
+
Date.parse(value)
|
|
165
|
+
when :String
|
|
166
|
+
value.to_s
|
|
167
|
+
when :Integer
|
|
168
|
+
value.to_i
|
|
169
|
+
when :Float
|
|
170
|
+
value.to_f
|
|
171
|
+
when :Boolean
|
|
172
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
173
|
+
true
|
|
174
|
+
else
|
|
175
|
+
false
|
|
176
|
+
end
|
|
177
|
+
when :Object
|
|
178
|
+
# generic object (usually a Hash), return directly
|
|
179
|
+
value
|
|
180
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
181
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
182
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
183
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
184
|
+
k_type = Regexp.last_match[:k_type]
|
|
185
|
+
v_type = Regexp.last_match[:v_type]
|
|
186
|
+
{}.tap do |hash|
|
|
187
|
+
value.each do |k, v|
|
|
188
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
else # model
|
|
192
|
+
# models (e.g. Pet) or oneOf
|
|
193
|
+
klass = UltracartClient.const_get(type)
|
|
194
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
# Returns the string representation of the object
|
|
199
|
+
# @return [String] String presentation of the object
|
|
200
|
+
def to_s
|
|
201
|
+
to_hash.to_s
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
205
|
+
# @return [Hash] Returns the object in the form of hash
|
|
206
|
+
def to_body
|
|
207
|
+
to_hash
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
# Returns the object in the form of hash
|
|
211
|
+
# @return [Hash] Returns the object in the form of hash
|
|
212
|
+
def to_hash
|
|
213
|
+
hash = {}
|
|
214
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
215
|
+
value = self.send(attr)
|
|
216
|
+
if value.nil?
|
|
217
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
218
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
hash[param] = _to_hash(value)
|
|
222
|
+
end
|
|
223
|
+
hash
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
# Outputs non-array value in the form of hash
|
|
227
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
228
|
+
# @param [Object] value Any valid value
|
|
229
|
+
# @return [Hash] Returns the value in the form of hash
|
|
230
|
+
def _to_hash(value)
|
|
231
|
+
if value.is_a?(Array)
|
|
232
|
+
value.compact.map { |v| _to_hash(v) }
|
|
233
|
+
elsif value.is_a?(Hash)
|
|
234
|
+
{}.tap do |hash|
|
|
235
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
236
|
+
end
|
|
237
|
+
elsif value.respond_to? :to_hash
|
|
238
|
+
value.to_hash
|
|
239
|
+
else
|
|
240
|
+
value
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
end
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#UltraCart Rest API V2
|
|
3
|
+
|
|
4
|
+
#UltraCart REST API Version 2
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 2.0.0
|
|
7
|
+
Contact: support@ultracart.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 6.0.1-SNAPSHOT
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module UltracartClient
|
|
17
|
+
class SfvbSequenceStepCreateRequest
|
|
18
|
+
# The step the new step follows, in the same list. Not an end, continue or merge step.
|
|
19
|
+
attr_accessor :after_step_uuid
|
|
20
|
+
|
|
21
|
+
# A condition, split or inboxgeek step. With side, the new step goes first on that side.
|
|
22
|
+
attr_accessor :branch_step_uuid
|
|
23
|
+
|
|
24
|
+
# The new email's preview text, 5 to 150 characters.
|
|
25
|
+
attr_accessor :preview_text
|
|
26
|
+
|
|
27
|
+
# With branch_step_uuid, the side's label from the sequence read. yes or no for a condition, left or right for a split or inboxgeek step.
|
|
28
|
+
attr_accessor :side
|
|
29
|
+
|
|
30
|
+
# The new email's subject line, 5 to 150 characters.
|
|
31
|
+
attr_accessor :subject
|
|
32
|
+
|
|
33
|
+
# The kind of step. Only email for now.
|
|
34
|
+
attr_accessor :type
|
|
35
|
+
|
|
36
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
37
|
+
def self.attribute_map
|
|
38
|
+
{
|
|
39
|
+
:'after_step_uuid' => :'after_step_uuid',
|
|
40
|
+
:'branch_step_uuid' => :'branch_step_uuid',
|
|
41
|
+
:'preview_text' => :'preview_text',
|
|
42
|
+
:'side' => :'side',
|
|
43
|
+
:'subject' => :'subject',
|
|
44
|
+
:'type' => :'type'
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Returns all the JSON keys this model knows about
|
|
49
|
+
def self.acceptable_attributes
|
|
50
|
+
attribute_map.values
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Attribute type mapping.
|
|
54
|
+
def self.openapi_types
|
|
55
|
+
{
|
|
56
|
+
:'after_step_uuid' => :'String',
|
|
57
|
+
:'branch_step_uuid' => :'String',
|
|
58
|
+
:'preview_text' => :'String',
|
|
59
|
+
:'side' => :'String',
|
|
60
|
+
:'subject' => :'String',
|
|
61
|
+
:'type' => :'String'
|
|
62
|
+
}
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# List of attributes with nullable: true
|
|
66
|
+
def self.openapi_nullable
|
|
67
|
+
Set.new([
|
|
68
|
+
])
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Initializes the object
|
|
72
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
73
|
+
def initialize(attributes = {})
|
|
74
|
+
if (!attributes.is_a?(Hash))
|
|
75
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::SfvbSequenceStepCreateRequest` initialize method"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
79
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
80
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
81
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::SfvbSequenceStepCreateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
82
|
+
end
|
|
83
|
+
h[k.to_sym] = v
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if attributes.key?(:'after_step_uuid')
|
|
87
|
+
self.after_step_uuid = attributes[:'after_step_uuid']
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
if attributes.key?(:'branch_step_uuid')
|
|
91
|
+
self.branch_step_uuid = attributes[:'branch_step_uuid']
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
if attributes.key?(:'preview_text')
|
|
95
|
+
self.preview_text = attributes[:'preview_text']
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
if attributes.key?(:'side')
|
|
99
|
+
self.side = attributes[:'side']
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
if attributes.key?(:'subject')
|
|
103
|
+
self.subject = attributes[:'subject']
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
if attributes.key?(:'type')
|
|
107
|
+
self.type = attributes[:'type']
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
112
|
+
# @return Array for valid properties with the reasons
|
|
113
|
+
def list_invalid_properties
|
|
114
|
+
invalid_properties = Array.new
|
|
115
|
+
invalid_properties
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# Check to see if the all the properties in the model are valid
|
|
119
|
+
# @return true if the model is valid
|
|
120
|
+
def valid?
|
|
121
|
+
true
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Checks equality by comparing each attribute.
|
|
125
|
+
# @param [Object] Object to be compared
|
|
126
|
+
def ==(o)
|
|
127
|
+
return true if self.equal?(o)
|
|
128
|
+
self.class == o.class &&
|
|
129
|
+
after_step_uuid == o.after_step_uuid &&
|
|
130
|
+
branch_step_uuid == o.branch_step_uuid &&
|
|
131
|
+
preview_text == o.preview_text &&
|
|
132
|
+
side == o.side &&
|
|
133
|
+
subject == o.subject &&
|
|
134
|
+
type == o.type
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# @see the `==` method
|
|
138
|
+
# @param [Object] Object to be compared
|
|
139
|
+
def eql?(o)
|
|
140
|
+
self == o
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# Calculates hash code according to all attributes.
|
|
144
|
+
# @return [Integer] Hash code
|
|
145
|
+
def hash
|
|
146
|
+
[after_step_uuid, branch_step_uuid, preview_text, side, subject, type].hash
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
# Builds the object from hash
|
|
150
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
151
|
+
# @return [Object] Returns the model itself
|
|
152
|
+
def self.build_from_hash(attributes)
|
|
153
|
+
new.build_from_hash(attributes)
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# Builds the object from hash
|
|
157
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
158
|
+
# @return [Object] Returns the model itself
|
|
159
|
+
def build_from_hash(attributes)
|
|
160
|
+
return nil unless attributes.is_a?(Hash)
|
|
161
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
162
|
+
self.class.openapi_types.each_pair do |key, type|
|
|
163
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
164
|
+
self.send("#{key}=", nil)
|
|
165
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
166
|
+
# check to ensure the input is an array given that the attribute
|
|
167
|
+
# is documented as an array but the input is not
|
|
168
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
169
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
|
170
|
+
end
|
|
171
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
172
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
self
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# Deserializes the data based on type
|
|
180
|
+
# @param string type Data type
|
|
181
|
+
# @param string value Value to be deserialized
|
|
182
|
+
# @return [Object] Deserialized data
|
|
183
|
+
def _deserialize(type, value)
|
|
184
|
+
case type.to_sym
|
|
185
|
+
when :Time
|
|
186
|
+
Time.parse(value)
|
|
187
|
+
when :Date
|
|
188
|
+
Date.parse(value)
|
|
189
|
+
when :String
|
|
190
|
+
value.to_s
|
|
191
|
+
when :Integer
|
|
192
|
+
value.to_i
|
|
193
|
+
when :Float
|
|
194
|
+
value.to_f
|
|
195
|
+
when :Boolean
|
|
196
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
197
|
+
true
|
|
198
|
+
else
|
|
199
|
+
false
|
|
200
|
+
end
|
|
201
|
+
when :Object
|
|
202
|
+
# generic object (usually a Hash), return directly
|
|
203
|
+
value
|
|
204
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
205
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
206
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
207
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
208
|
+
k_type = Regexp.last_match[:k_type]
|
|
209
|
+
v_type = Regexp.last_match[:v_type]
|
|
210
|
+
{}.tap do |hash|
|
|
211
|
+
value.each do |k, v|
|
|
212
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
else # model
|
|
216
|
+
# models (e.g. Pet) or oneOf
|
|
217
|
+
klass = UltracartClient.const_get(type)
|
|
218
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# Returns the string representation of the object
|
|
223
|
+
# @return [String] String presentation of the object
|
|
224
|
+
def to_s
|
|
225
|
+
to_hash.to_s
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
229
|
+
# @return [Hash] Returns the object in the form of hash
|
|
230
|
+
def to_body
|
|
231
|
+
to_hash
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
# Returns the object in the form of hash
|
|
235
|
+
# @return [Hash] Returns the object in the form of hash
|
|
236
|
+
def to_hash
|
|
237
|
+
hash = {}
|
|
238
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
239
|
+
value = self.send(attr)
|
|
240
|
+
if value.nil?
|
|
241
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
242
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
hash[param] = _to_hash(value)
|
|
246
|
+
end
|
|
247
|
+
hash
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
# Outputs non-array value in the form of hash
|
|
251
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
252
|
+
# @param [Object] value Any valid value
|
|
253
|
+
# @return [Hash] Returns the value in the form of hash
|
|
254
|
+
def _to_hash(value)
|
|
255
|
+
if value.is_a?(Array)
|
|
256
|
+
value.compact.map { |v| _to_hash(v) }
|
|
257
|
+
elsif value.is_a?(Hash)
|
|
258
|
+
{}.tap do |hash|
|
|
259
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
260
|
+
end
|
|
261
|
+
elsif value.respond_to? :to_hash
|
|
262
|
+
value.to_hash
|
|
263
|
+
else
|
|
264
|
+
value
|
|
265
|
+
end
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
end
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#UltraCart Rest API V2
|
|
3
|
+
|
|
4
|
+
#UltraCart REST API Version 2
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 2.0.0
|
|
7
|
+
Contact: support@ultracart.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 6.0.1-SNAPSHOT
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module UltracartClient
|
|
17
|
+
class SfvbSequenceStepCreateResponse
|
|
18
|
+
# The new email's uuid. Its body is the email container with this owner id.
|
|
19
|
+
attr_accessor :email_uuid
|
|
20
|
+
|
|
21
|
+
# What to do next, such as writing the body, and customers already waiting on the step before it.
|
|
22
|
+
attr_accessor :notes
|
|
23
|
+
|
|
24
|
+
# True when the new email must pass content review before it sends.
|
|
25
|
+
attr_accessor :requires_review
|
|
26
|
+
|
|
27
|
+
attr_accessor :step
|
|
28
|
+
|
|
29
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
30
|
+
def self.attribute_map
|
|
31
|
+
{
|
|
32
|
+
:'email_uuid' => :'email_uuid',
|
|
33
|
+
:'notes' => :'notes',
|
|
34
|
+
:'requires_review' => :'requires_review',
|
|
35
|
+
:'step' => :'step'
|
|
36
|
+
}
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Returns all the JSON keys this model knows about
|
|
40
|
+
def self.acceptable_attributes
|
|
41
|
+
attribute_map.values
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Attribute type mapping.
|
|
45
|
+
def self.openapi_types
|
|
46
|
+
{
|
|
47
|
+
:'email_uuid' => :'String',
|
|
48
|
+
:'notes' => :'Array<String>',
|
|
49
|
+
:'requires_review' => :'Boolean',
|
|
50
|
+
:'step' => :'SfvbSequenceStep'
|
|
51
|
+
}
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# List of attributes with nullable: true
|
|
55
|
+
def self.openapi_nullable
|
|
56
|
+
Set.new([
|
|
57
|
+
])
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Initializes the object
|
|
61
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
62
|
+
def initialize(attributes = {})
|
|
63
|
+
if (!attributes.is_a?(Hash))
|
|
64
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::SfvbSequenceStepCreateResponse` initialize method"
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
68
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
69
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
70
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::SfvbSequenceStepCreateResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
71
|
+
end
|
|
72
|
+
h[k.to_sym] = v
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if attributes.key?(:'email_uuid')
|
|
76
|
+
self.email_uuid = attributes[:'email_uuid']
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
if attributes.key?(:'notes')
|
|
80
|
+
if (value = attributes[:'notes']).is_a?(Array)
|
|
81
|
+
self.notes = value
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
if attributes.key?(:'requires_review')
|
|
86
|
+
self.requires_review = attributes[:'requires_review']
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
if attributes.key?(:'step')
|
|
90
|
+
self.step = attributes[:'step']
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
95
|
+
# @return Array for valid properties with the reasons
|
|
96
|
+
def list_invalid_properties
|
|
97
|
+
invalid_properties = Array.new
|
|
98
|
+
invalid_properties
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Check to see if the all the properties in the model are valid
|
|
102
|
+
# @return true if the model is valid
|
|
103
|
+
def valid?
|
|
104
|
+
true
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Checks equality by comparing each attribute.
|
|
108
|
+
# @param [Object] Object to be compared
|
|
109
|
+
def ==(o)
|
|
110
|
+
return true if self.equal?(o)
|
|
111
|
+
self.class == o.class &&
|
|
112
|
+
email_uuid == o.email_uuid &&
|
|
113
|
+
notes == o.notes &&
|
|
114
|
+
requires_review == o.requires_review &&
|
|
115
|
+
step == o.step
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# @see the `==` method
|
|
119
|
+
# @param [Object] Object to be compared
|
|
120
|
+
def eql?(o)
|
|
121
|
+
self == o
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Calculates hash code according to all attributes.
|
|
125
|
+
# @return [Integer] Hash code
|
|
126
|
+
def hash
|
|
127
|
+
[email_uuid, notes, requires_review, step].hash
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# Builds the object from hash
|
|
131
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
132
|
+
# @return [Object] Returns the model itself
|
|
133
|
+
def self.build_from_hash(attributes)
|
|
134
|
+
new.build_from_hash(attributes)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Builds the object from hash
|
|
138
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
139
|
+
# @return [Object] Returns the model itself
|
|
140
|
+
def build_from_hash(attributes)
|
|
141
|
+
return nil unless attributes.is_a?(Hash)
|
|
142
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
143
|
+
self.class.openapi_types.each_pair do |key, type|
|
|
144
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
145
|
+
self.send("#{key}=", nil)
|
|
146
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
147
|
+
# check to ensure the input is an array given that the attribute
|
|
148
|
+
# is documented as an array but the input is not
|
|
149
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
150
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
|
151
|
+
end
|
|
152
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
153
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
self
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Deserializes the data based on type
|
|
161
|
+
# @param string type Data type
|
|
162
|
+
# @param string value Value to be deserialized
|
|
163
|
+
# @return [Object] Deserialized data
|
|
164
|
+
def _deserialize(type, value)
|
|
165
|
+
case type.to_sym
|
|
166
|
+
when :Time
|
|
167
|
+
Time.parse(value)
|
|
168
|
+
when :Date
|
|
169
|
+
Date.parse(value)
|
|
170
|
+
when :String
|
|
171
|
+
value.to_s
|
|
172
|
+
when :Integer
|
|
173
|
+
value.to_i
|
|
174
|
+
when :Float
|
|
175
|
+
value.to_f
|
|
176
|
+
when :Boolean
|
|
177
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
178
|
+
true
|
|
179
|
+
else
|
|
180
|
+
false
|
|
181
|
+
end
|
|
182
|
+
when :Object
|
|
183
|
+
# generic object (usually a Hash), return directly
|
|
184
|
+
value
|
|
185
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
186
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
187
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
188
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
189
|
+
k_type = Regexp.last_match[:k_type]
|
|
190
|
+
v_type = Regexp.last_match[:v_type]
|
|
191
|
+
{}.tap do |hash|
|
|
192
|
+
value.each do |k, v|
|
|
193
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
else # model
|
|
197
|
+
# models (e.g. Pet) or oneOf
|
|
198
|
+
klass = UltracartClient.const_get(type)
|
|
199
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
# Returns the string representation of the object
|
|
204
|
+
# @return [String] String presentation of the object
|
|
205
|
+
def to_s
|
|
206
|
+
to_hash.to_s
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
210
|
+
# @return [Hash] Returns the object in the form of hash
|
|
211
|
+
def to_body
|
|
212
|
+
to_hash
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
# Returns the object in the form of hash
|
|
216
|
+
# @return [Hash] Returns the object in the form of hash
|
|
217
|
+
def to_hash
|
|
218
|
+
hash = {}
|
|
219
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
220
|
+
value = self.send(attr)
|
|
221
|
+
if value.nil?
|
|
222
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
223
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
hash[param] = _to_hash(value)
|
|
227
|
+
end
|
|
228
|
+
hash
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# Outputs non-array value in the form of hash
|
|
232
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
233
|
+
# @param [Object] value Any valid value
|
|
234
|
+
# @return [Hash] Returns the value in the form of hash
|
|
235
|
+
def _to_hash(value)
|
|
236
|
+
if value.is_a?(Array)
|
|
237
|
+
value.compact.map { |v| _to_hash(v) }
|
|
238
|
+
elsif value.is_a?(Hash)
|
|
239
|
+
{}.tap do |hash|
|
|
240
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
241
|
+
end
|
|
242
|
+
elsif value.respond_to? :to_hash
|
|
243
|
+
value.to_hash
|
|
244
|
+
else
|
|
245
|
+
value
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
end
|
data/lib/ultracart_api.rb
CHANGED
|
@@ -1089,6 +1089,7 @@ require 'ultracart_api/models/sfvb_item_related_request'
|
|
|
1089
1089
|
require 'ultracart_api/models/sfvb_item_response'
|
|
1090
1090
|
require 'ultracart_api/models/sfvb_item_seo'
|
|
1091
1091
|
require 'ultracart_api/models/sfvb_item_seo_request'
|
|
1092
|
+
require 'ultracart_api/models/sfvb_item_tags'
|
|
1092
1093
|
require 'ultracart_api/models/sfvb_item_volume_discount'
|
|
1093
1094
|
require 'ultracart_api/models/sfvb_library_ai_review'
|
|
1094
1095
|
require 'ultracart_api/models/sfvb_library_content_manifest'
|
|
@@ -1188,6 +1189,8 @@ require 'ultracart_api/models/sfvb_secret_sink'
|
|
|
1188
1189
|
require 'ultracart_api/models/sfvb_sequence'
|
|
1189
1190
|
require 'ultracart_api/models/sfvb_sequence_branch'
|
|
1190
1191
|
require 'ultracart_api/models/sfvb_sequence_step'
|
|
1192
|
+
require 'ultracart_api/models/sfvb_sequence_step_create_request'
|
|
1193
|
+
require 'ultracart_api/models/sfvb_sequence_step_create_response'
|
|
1191
1194
|
require 'ultracart_api/models/sfvb_sequence_step_update_request'
|
|
1192
1195
|
require 'ultracart_api/models/sfvb_sequence_step_update_response'
|
|
1193
1196
|
require 'ultracart_api/models/sfvb_server_log'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ultracart_api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.1.
|
|
4
|
+
version: 4.1.216
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- UltraCart
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: typhoeus
|
|
@@ -1151,6 +1151,7 @@ files:
|
|
|
1151
1151
|
- docs/SfvbItemResponse.md
|
|
1152
1152
|
- docs/SfvbItemSeo.md
|
|
1153
1153
|
- docs/SfvbItemSeoRequest.md
|
|
1154
|
+
- docs/SfvbItemTags.md
|
|
1154
1155
|
- docs/SfvbItemVolumeDiscount.md
|
|
1155
1156
|
- docs/SfvbLibraryAiReview.md
|
|
1156
1157
|
- docs/SfvbLibraryContentManifest.md
|
|
@@ -1250,6 +1251,8 @@ files:
|
|
|
1250
1251
|
- docs/SfvbSequence.md
|
|
1251
1252
|
- docs/SfvbSequenceBranch.md
|
|
1252
1253
|
- docs/SfvbSequenceStep.md
|
|
1254
|
+
- docs/SfvbSequenceStepCreateRequest.md
|
|
1255
|
+
- docs/SfvbSequenceStepCreateResponse.md
|
|
1253
1256
|
- docs/SfvbSequenceStepUpdateRequest.md
|
|
1254
1257
|
- docs/SfvbSequenceStepUpdateResponse.md
|
|
1255
1258
|
- docs/SfvbServerLog.md
|
|
@@ -2499,6 +2502,7 @@ files:
|
|
|
2499
2502
|
- lib/ultracart_api/models/sfvb_item_response.rb
|
|
2500
2503
|
- lib/ultracart_api/models/sfvb_item_seo.rb
|
|
2501
2504
|
- lib/ultracart_api/models/sfvb_item_seo_request.rb
|
|
2505
|
+
- lib/ultracart_api/models/sfvb_item_tags.rb
|
|
2502
2506
|
- lib/ultracart_api/models/sfvb_item_volume_discount.rb
|
|
2503
2507
|
- lib/ultracart_api/models/sfvb_library_ai_review.rb
|
|
2504
2508
|
- lib/ultracart_api/models/sfvb_library_content_manifest.rb
|
|
@@ -2598,6 +2602,8 @@ files:
|
|
|
2598
2602
|
- lib/ultracart_api/models/sfvb_sequence.rb
|
|
2599
2603
|
- lib/ultracart_api/models/sfvb_sequence_branch.rb
|
|
2600
2604
|
- lib/ultracart_api/models/sfvb_sequence_step.rb
|
|
2605
|
+
- lib/ultracart_api/models/sfvb_sequence_step_create_request.rb
|
|
2606
|
+
- lib/ultracart_api/models/sfvb_sequence_step_create_response.rb
|
|
2601
2607
|
- lib/ultracart_api/models/sfvb_sequence_step_update_request.rb
|
|
2602
2608
|
- lib/ultracart_api/models/sfvb_sequence_step_update_response.rb
|
|
2603
2609
|
- lib/ultracart_api/models/sfvb_server_log.rb
|