ultracart_api 4.1.212 → 4.1.214
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 +7 -2
- data/docs/AutoOrderItem.md +3 -3
- data/docs/SfvbApi.md +60 -2
- data/docs/SfvbSequenceStep.md +2 -0
- data/docs/SfvbSequenceStepUpdateRequest.md +20 -0
- data/docs/SfvbSequenceStepUpdateResponse.md +20 -0
- data/lib/ultracart_api/api/sfvb_api.rb +98 -4
- data/lib/ultracart_api/models/auto_order_item.rb +3 -3
- data/lib/ultracart_api/models/sfvb_sequence_step.rb +11 -1
- data/lib/ultracart_api/models/sfvb_sequence_step_update_request.rb +230 -0
- data/lib/ultracart_api/models/sfvb_sequence_step_update_response.rb +231 -0
- data/lib/ultracart_api/version.rb +1 -1
- data/lib/ultracart_api.rb +2 -0
- metadata +6 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c76d90feaffed5fdc1c86aaba08b05bcc3f21163982b7c26bdee0a8a9372fa9c
|
|
4
|
+
data.tar.gz: 0d64bbcea0beeff37dce23844c396733ee231506092bebb786dd05e3140b2fac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 38e136135c74082c50fbadd078a84b4f3a14ff5746337a40eced51f7be9c013b53eb571e4da5a370a8c61621a7f7deafeacad36e379ca84a968fdf065609c476
|
|
7
|
+
data.tar.gz: 7710a60f4a7e92d619af5f0bd9e34d2a9ef75874704215f991b0c5c9d7f7e8707d2518e3cf242c3fc30b5c859e1379133c3af6535ee9d86bb85d9d5c5dc30f93
|
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.214
|
|
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.214'
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
install:
|
|
@@ -674,6 +674,7 @@ Class | Method | HTTP request | Description
|
|
|
674
674
|
*UltracartClient::SfvbApi* | [**update_sfvb_item_attribute_batch**](docs/SfvbApi.md#update_sfvb_item_attribute_batch) | **POST** /sfvb/storefronts/{storefront_oid}/items/attributes/batch | Change attributes across many items in one call
|
|
675
675
|
*UltracartClient::SfvbApi* | [**update_sfvb_library_entry**](docs/SfvbApi.md#update_sfvb_library_entry) | **PUT** /sfvb/storefronts/{storefront_oid}/library/{library_oid} | Update a library entry's draft
|
|
676
676
|
*UltracartClient::SfvbApi* | [**update_sfvb_redirect**](docs/SfvbApi.md#update_sfvb_redirect) | **PUT** /sfvb/storefronts/{storefront_oid}/redirects/{redirect_id} | Change a redirect rule
|
|
677
|
+
*UltracartClient::SfvbApi* | [**update_sfvb_sequence_step**](docs/SfvbApi.md#update_sfvb_sequence_step) | **PUT** /sfvb/storefronts/{storefront_oid}/sequences/{sequence_uuid}/steps/{step_uuid} | Change one step's settings or audience filter
|
|
677
678
|
*UltracartClient::SfvbApi* | [**update_sfvb_upsell_offer**](docs/SfvbApi.md#update_sfvb_upsell_offer) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid} | Update an upsell offer
|
|
678
679
|
*UltracartClient::SfvbApi* | [**update_sfvb_upsell_path**](docs/SfvbApi.md#update_sfvb_upsell_path) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid} | Update an upsell path
|
|
679
680
|
*UltracartClient::SfvbApi* | [**upload_sfvb_file**](docs/SfvbApi.md#upload_sfvb_file) | **POST** /sfvb/storefronts/{storefront_oid}/files/upload | Store a binary asset that was already uploaded
|
|
@@ -2110,6 +2111,8 @@ Class | Method | HTTP request | Description
|
|
|
2110
2111
|
- [UltracartClient::SfvbSequence](docs/SfvbSequence.md)
|
|
2111
2112
|
- [UltracartClient::SfvbSequenceBranch](docs/SfvbSequenceBranch.md)
|
|
2112
2113
|
- [UltracartClient::SfvbSequenceStep](docs/SfvbSequenceStep.md)
|
|
2114
|
+
- [UltracartClient::SfvbSequenceStepUpdateRequest](docs/SfvbSequenceStepUpdateRequest.md)
|
|
2115
|
+
- [UltracartClient::SfvbSequenceStepUpdateResponse](docs/SfvbSequenceStepUpdateResponse.md)
|
|
2113
2116
|
- [UltracartClient::SfvbServerLog](docs/SfvbServerLog.md)
|
|
2114
2117
|
- [UltracartClient::SfvbServerLogDetail](docs/SfvbServerLogDetail.md)
|
|
2115
2118
|
- [UltracartClient::SfvbServerLogEntry](docs/SfvbServerLogEntry.md)
|
|
@@ -2327,6 +2330,8 @@ Not every change is committed to every SDK.
|
|
|
2327
2330
|
|
|
2328
2331
|
| Version | Date | Comments |
|
|
2329
2332
|
| --: | :-: | --- |
|
|
2333
|
+
| 4.1.214 | 10/28/2026 | sfvb internal testing |
|
|
2334
|
+
| 4.1.213 | 10/28/2026 | auto order - improve item field descriptions |
|
|
2330
2335
|
| 4.1.212 | 10/27/2026 | conversation - pbx agent startup activity |
|
|
2331
2336
|
| 4.1.211 | 10/27/2026 | sfvb internal testing |
|
|
2332
2337
|
| 4.1.210 | 10/27/2026 | sfvb internal testing |
|
data/docs/AutoOrderItem.md
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
| **add_ons** | [**Array<AutoOrderAddonItem>**](AutoOrderAddonItem.md) | Array of addon objects instructing which items to add to auto order and how many times they should be added. | [optional] |
|
|
8
8
|
| **arbitrary_item_id** | **String** | Arbitrary item id that should be rebilled instead of the normal schedule | [optional] |
|
|
9
9
|
| **arbitrary_percentage_discount** | **Float** | An arbitrary percentage discount to provide on future rebills | [optional] |
|
|
10
|
-
| **arbitrary_quantity** | **Float** |
|
|
10
|
+
| **arbitrary_quantity** | **Float** | Quantity to rebill. When set, every rebill uses this quantity instead of original_quantity. Set this field to change the quantity on an active auto order; the merchant auto order editor updates this same field. Each rebill charges the unit price multiplied by this quantity. | [optional] |
|
|
11
11
|
| **arbitrary_schedule_days** | **Integer** | The number of days to rebill if the frequency is set to an arbitrary number of days | [optional] |
|
|
12
|
-
| **arbitrary_unit_cost** | **Float** | Arbitrary unit cost that rebills of this item should occur at | [optional] |
|
|
12
|
+
| **arbitrary_unit_cost** | **Float** | Arbitrary unit cost that rebills of this item should occur at. This is a price per unit. Each rebill charges it multiplied by the rebill quantity (arbitrary_quantity, or original_quantity when arbitrary_quantity is null). | [optional] |
|
|
13
13
|
| **arbitrary_unit_cost_remaining_orders** | **Integer** | The number of rebills to give the arbitrary unit cost on before reverting to normal pricing. | [optional] |
|
|
14
14
|
| **auto_order_item_oid** | **Integer** | Primary key of AutoOrderItem | [optional] |
|
|
15
15
|
| **calculated_next_shipment_dts** | **String** | Calculated Date/time that this item is scheduled to rebill. Will be null if no more shipments are going to occur on this item | [optional] |
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
| **number_of_rebills** | **Integer** | The number of times this item has rebilled | [optional] |
|
|
28
28
|
| **options** | [**Array<AutoOrderItemOption>**](AutoOrderItemOption.md) | Options associated with this item | [optional] |
|
|
29
29
|
| **original_item_id** | **String** | The original item id purchased. This item controls scheduling. If you wish to modify a schedule, for example, from monthly to yearly, change this item from your monthly item to your yearly item, and then change the next_shipment_dts to your desired date. | [optional] |
|
|
30
|
-
| **original_quantity** | **Float** | The original quantity
|
|
30
|
+
| **original_quantity** | **Float** | The quantity purchased on the original order. Rebills use this quantity only when arbitrary_quantity is null. To change the quantity on future rebills, set arbitrary_quantity instead. | [optional] |
|
|
31
31
|
| **paused** | **Boolean** | True if paused. This field is an object instead of a primitive for backwards compatibility. | [optional] |
|
|
32
32
|
| **paypal_payer_id** | **String** | The PayPal Payer ID tied to this item | [optional] |
|
|
33
33
|
| **paypal_recurring_payment_profile_id** | **String** | The PayPal Profile ID tied to this item | [optional] |
|
data/docs/SfvbApi.md
CHANGED
|
@@ -202,6 +202,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
|
|
|
202
202
|
| [**update_sfvb_item_attribute_batch**](SfvbApi.md#update_sfvb_item_attribute_batch) | **POST** /sfvb/storefronts/{storefront_oid}/items/attributes/batch | Change attributes across many items in one call |
|
|
203
203
|
| [**update_sfvb_library_entry**](SfvbApi.md#update_sfvb_library_entry) | **PUT** /sfvb/storefronts/{storefront_oid}/library/{library_oid} | Update a library entry's draft |
|
|
204
204
|
| [**update_sfvb_redirect**](SfvbApi.md#update_sfvb_redirect) | **PUT** /sfvb/storefronts/{storefront_oid}/redirects/{redirect_id} | Change a redirect rule |
|
|
205
|
+
| [**update_sfvb_sequence_step**](SfvbApi.md#update_sfvb_sequence_step) | **PUT** /sfvb/storefronts/{storefront_oid}/sequences/{sequence_uuid}/steps/{step_uuid} | Change one step's settings or audience filter |
|
|
205
206
|
| [**update_sfvb_upsell_offer**](SfvbApi.md#update_sfvb_upsell_offer) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid} | Update an upsell offer |
|
|
206
207
|
| [**update_sfvb_upsell_path**](SfvbApi.md#update_sfvb_upsell_path) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid} | Update an upsell path |
|
|
207
208
|
| [**upload_sfvb_file**](SfvbApi.md#upload_sfvb_file) | **POST** /sfvb/storefronts/{storefront_oid}/files/upload | Store a binary asset that was already uploaded |
|
|
@@ -5422,7 +5423,7 @@ This endpoint does not need any parameter.
|
|
|
5422
5423
|
|
|
5423
5424
|
Get a campaign's or flow's steps as a tree
|
|
5424
5425
|
|
|
5425
|
-
The communication sequence named by a campaign's or flow's communication_sequence_uuid, with its steps from the start in order. Only condition, split and InboxGeek steps branch, and each holds its two sides in branches. Each step has its type, the admin's label, its settings (a webhook's header and parameter values masked), its audience filter,
|
|
5426
|
+
The communication sequence named by a campaign's or flow's communication_sequence_uuid, with its steps from the start in order. Only condition, split and InboxGeek steps branch, and each holds its two sides in branches. Each step has its type, the admin's label, its settings (a webhook's header and parameter values masked), its audience filter, the emails, postcard, lists or items it names, and the hash_sha256 to send as If-Match when changing it. waiting adds how many customers are waiting on each step now. Read only.
|
|
5426
5427
|
|
|
5427
5428
|
|
|
5428
5429
|
### Examples
|
|
@@ -9823,7 +9824,7 @@ end
|
|
|
9823
9824
|
|
|
9824
9825
|
Request a content review of a flow or campaign email
|
|
9825
9826
|
|
|
9826
|
-
Starts a review the way the admin's Request Review does.
|
|
9827
|
+
Starts a review the way the admin's Request Review does. The review runs in the background and no test copy is sent. The email is marked pending_review at once, and the signed-in user gets the approved or rejected notice, so read the email again for the ruling. Refused with sfvb.review_not_needed when it doesn't need review, is already waiting for one, or was rejected and not changed since. An email in a flow triggered by an order or an auto order needs order_id, a test order. Needs a signed-in user, not an API key alone.
|
|
9827
9828
|
|
|
9828
9829
|
|
|
9829
9830
|
### Examples
|
|
@@ -11027,6 +11028,63 @@ end
|
|
|
11027
11028
|
- **Accept**: application/json
|
|
11028
11029
|
|
|
11029
11030
|
|
|
11031
|
+
## update_sfvb_sequence_step
|
|
11032
|
+
|
|
11033
|
+
> <SfvbSequenceStepUpdateResponse> update_sfvb_sequence_step(storefront_oid, sequence_uuid, step_uuid, if_match, sequence_step_update_request)
|
|
11034
|
+
|
|
11035
|
+
Change one step's settings or audience filter
|
|
11036
|
+
|
|
11037
|
+
Replaces the step's settings (config_json), its audience filter (filter_profile_equation_json), or both. Nothing else about the step or the sequence changes. Send the step's hash_sha256 as If-Match; the write only lands if the step is still what you read. Email, postcard, experiment, resend, webhook, begin, end, continue and merge steps are refused. A sequence whose campaign or flow is live needs sfvb_publish.
|
|
11038
|
+
|
|
11039
|
+
|
|
11040
|
+
### Examples
|
|
11041
|
+
|
|
11042
|
+
|
|
11043
|
+
(No example for this operation).
|
|
11044
|
+
|
|
11045
|
+
|
|
11046
|
+
#### Using the update_sfvb_sequence_step_with_http_info variant
|
|
11047
|
+
|
|
11048
|
+
This returns an Array which contains the response data, status code and headers.
|
|
11049
|
+
|
|
11050
|
+
> <Array(<SfvbSequenceStepUpdateResponse>, Integer, Hash)> update_sfvb_sequence_step_with_http_info(storefront_oid, sequence_uuid, step_uuid, if_match, sequence_step_update_request)
|
|
11051
|
+
|
|
11052
|
+
```ruby
|
|
11053
|
+
begin
|
|
11054
|
+
# Change one step's settings or audience filter
|
|
11055
|
+
data, status_code, headers = api_instance.update_sfvb_sequence_step_with_http_info(storefront_oid, sequence_uuid, step_uuid, if_match, sequence_step_update_request)
|
|
11056
|
+
p status_code # => 2xx
|
|
11057
|
+
p headers # => { ... }
|
|
11058
|
+
p data # => <SfvbSequenceStepUpdateResponse>
|
|
11059
|
+
rescue UltracartClient::ApiError => e
|
|
11060
|
+
puts "Error when calling SfvbApi->update_sfvb_sequence_step_with_http_info: #{e}"
|
|
11061
|
+
end
|
|
11062
|
+
```
|
|
11063
|
+
|
|
11064
|
+
### Parameters
|
|
11065
|
+
|
|
11066
|
+
| Name | Type | Description | Notes |
|
|
11067
|
+
| ---- | ---- | ----------- | ----- |
|
|
11068
|
+
| **storefront_oid** | **Integer** | | |
|
|
11069
|
+
| **sequence_uuid** | **String** | | |
|
|
11070
|
+
| **step_uuid** | **String** | | |
|
|
11071
|
+
| **if_match** | **String** | The step's hash_sha256 from the last read. Required; 428 when absent, 412 when stale. | |
|
|
11072
|
+
| **sequence_step_update_request** | [**SfvbSequenceStepUpdateRequest**](SfvbSequenceStepUpdateRequest.md) | The settings, the filter, or both | |
|
|
11073
|
+
|
|
11074
|
+
### Return type
|
|
11075
|
+
|
|
11076
|
+
[**SfvbSequenceStepUpdateResponse**](SfvbSequenceStepUpdateResponse.md)
|
|
11077
|
+
|
|
11078
|
+
### Authorization
|
|
11079
|
+
|
|
11080
|
+
[ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
|
|
11081
|
+
|
|
11082
|
+
### HTTP request headers
|
|
11083
|
+
|
|
11084
|
+
- **Content-Type**: application/json
|
|
11085
|
+
- **Accept**: application/json
|
|
11086
|
+
|
|
11087
|
+
|
|
11030
11088
|
## update_sfvb_upsell_offer
|
|
11031
11089
|
|
|
11032
11090
|
> <SfvbUpsellOffer> update_sfvb_upsell_offer(storefront_oid, upsell_offer_oid, if_match, upsell_offer)
|
data/docs/SfvbSequenceStep.md
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
| **disabled** | **Boolean** | True when the step is switched off in its settings. | [optional] |
|
|
12
12
|
| **email_uuids** | **Array<String>** | The emails it sends. One for an email step, one per variant for an experiment. | [optional] |
|
|
13
13
|
| **filter_profile_equation_json** | **String** | The step's audience filter as stored, when it has one. | [optional] |
|
|
14
|
+
| **hash_sha256** | **String** | The hash of the step's type, stored settings and audience filter. Send it back as If-Match when changing the step. | [optional] |
|
|
14
15
|
| **item_ids** | **Array<String>** | The items it names, for a cart or rate limiter step. | [optional] |
|
|
15
16
|
| **label** | **String** | The type as the admin names it, such as Time Delay. The type itself for one it doesn't know. | [optional] |
|
|
16
17
|
| **list_uuids** | **Array<String>** | The lists it subscribes or unsubscribes, for a list step. | [optional] |
|
|
@@ -35,6 +36,7 @@ instance = UltracartClient::SfvbSequenceStep.new(
|
|
|
35
36
|
disabled: null,
|
|
36
37
|
email_uuids: null,
|
|
37
38
|
filter_profile_equation_json: null,
|
|
39
|
+
hash_sha256: null,
|
|
38
40
|
item_ids: null,
|
|
39
41
|
label: null,
|
|
40
42
|
list_uuids: null,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# UltracartClient::SfvbSequenceStepUpdateRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **config_json** | **String** | The step's new settings, as a JSON object in the admin's own shape. Replaces the stored settings. | [optional] |
|
|
8
|
+
| **filter_profile_equation_json** | **String** | The step's new audience filter, as a JSON object. Replaces the stored filter. | [optional] |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'ultracart_api'
|
|
14
|
+
|
|
15
|
+
instance = UltracartClient::SfvbSequenceStepUpdateRequest.new(
|
|
16
|
+
config_json: null,
|
|
17
|
+
filter_profile_equation_json: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# UltracartClient::SfvbSequenceStepUpdateResponse
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **notes** | **Array<String>** | Anything worth knowing about the change, such as customers already waiting on the step. | [optional] |
|
|
8
|
+
| **step** | [**SfvbSequenceStep**](SfvbSequenceStep.md) | | [optional] |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'ultracart_api'
|
|
14
|
+
|
|
15
|
+
instance = UltracartClient::SfvbSequenceStepUpdateResponse.new(
|
|
16
|
+
notes: null,
|
|
17
|
+
step: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -6887,7 +6887,7 @@ module UltracartClient
|
|
|
6887
6887
|
end
|
|
6888
6888
|
|
|
6889
6889
|
# Get a campaign's or flow's steps as a tree
|
|
6890
|
-
# The communication sequence named by a campaign's or flow's communication_sequence_uuid, with its steps from the start in order. Only condition, split and InboxGeek steps branch, and each holds its two sides in branches. Each step has its type, the admin's label, its settings (a webhook's header and parameter values masked), its audience filter,
|
|
6890
|
+
# The communication sequence named by a campaign's or flow's communication_sequence_uuid, with its steps from the start in order. Only condition, split and InboxGeek steps branch, and each holds its two sides in branches. Each step has its type, the admin's label, its settings (a webhook's header and parameter values masked), its audience filter, the emails, postcard, lists or items it names, and the hash_sha256 to send as If-Match when changing it. waiting adds how many customers are waiting on each step now. Read only.
|
|
6891
6891
|
# @param storefront_oid [Integer]
|
|
6892
6892
|
# @param sequence_uuid [String]
|
|
6893
6893
|
# @param [Hash] opts the optional parameters
|
|
@@ -6899,7 +6899,7 @@ module UltracartClient
|
|
|
6899
6899
|
end
|
|
6900
6900
|
|
|
6901
6901
|
# Get a campaign's or flow's steps as a tree
|
|
6902
|
-
# The communication sequence named by a campaign's or flow's communication_sequence_uuid, with its steps from the start in order. Only condition, split and InboxGeek steps branch, and each holds its two sides in branches. Each step has its type, the admin's label, its settings (a webhook's header and parameter values masked), its audience filter,
|
|
6902
|
+
# The communication sequence named by a campaign's or flow's communication_sequence_uuid, with its steps from the start in order. Only condition, split and InboxGeek steps branch, and each holds its two sides in branches. Each step has its type, the admin's label, its settings (a webhook's header and parameter values masked), its audience filter, the emails, postcard, lists or items it names, and the hash_sha256 to send as If-Match when changing it. waiting adds how many customers are waiting on each step now. Read only.
|
|
6903
6903
|
# @param storefront_oid [Integer]
|
|
6904
6904
|
# @param sequence_uuid [String]
|
|
6905
6905
|
# @param [Hash] opts the optional parameters
|
|
@@ -12957,7 +12957,7 @@ module UltracartClient
|
|
|
12957
12957
|
end
|
|
12958
12958
|
|
|
12959
12959
|
# Request a content review of a flow or campaign email
|
|
12960
|
-
# Starts a review the way the admin's Request Review does.
|
|
12960
|
+
# Starts a review the way the admin's Request Review does. The review runs in the background and no test copy is sent. The email is marked pending_review at once, and the signed-in user gets the approved or rejected notice, so read the email again for the ruling. Refused with sfvb.review_not_needed when it doesn't need review, is already waiting for one, or was rejected and not changed since. An email in a flow triggered by an order or an auto order needs order_id, a test order. Needs a signed-in user, not an API key alone.
|
|
12961
12961
|
# @param storefront_oid [Integer]
|
|
12962
12962
|
# @param email_uuid [String]
|
|
12963
12963
|
# @param email_review_request [SfvbEmailReviewRequest] The test order, for an email in an order-triggered flow
|
|
@@ -12969,7 +12969,7 @@ module UltracartClient
|
|
|
12969
12969
|
end
|
|
12970
12970
|
|
|
12971
12971
|
# Request a content review of a flow or campaign email
|
|
12972
|
-
# Starts a review the way the admin's Request Review does.
|
|
12972
|
+
# Starts a review the way the admin's Request Review does. The review runs in the background and no test copy is sent. The email is marked pending_review at once, and the signed-in user gets the approved or rejected notice, so read the email again for the ruling. Refused with sfvb.review_not_needed when it doesn't need review, is already waiting for one, or was rejected and not changed since. An email in a flow triggered by an order or an auto order needs order_id, a test order. Needs a signed-in user, not an API key alone.
|
|
12973
12973
|
# @param storefront_oid [Integer]
|
|
12974
12974
|
# @param email_uuid [String]
|
|
12975
12975
|
# @param email_review_request [SfvbEmailReviewRequest] The test order, for an email in an order-triggered flow
|
|
@@ -14697,6 +14697,100 @@ module UltracartClient
|
|
|
14697
14697
|
return data, status_code, headers
|
|
14698
14698
|
end
|
|
14699
14699
|
|
|
14700
|
+
# Change one step's settings or audience filter
|
|
14701
|
+
# Replaces the step's settings (config_json), its audience filter (filter_profile_equation_json), or both. Nothing else about the step or the sequence changes. Send the step's hash_sha256 as If-Match; the write only lands if the step is still what you read. Email, postcard, experiment, resend, webhook, begin, end, continue and merge steps are refused. A sequence whose campaign or flow is live needs sfvb_publish.
|
|
14702
|
+
# @param storefront_oid [Integer]
|
|
14703
|
+
# @param sequence_uuid [String]
|
|
14704
|
+
# @param step_uuid [String]
|
|
14705
|
+
# @param if_match [String] The step's hash_sha256 from the last read. Required; 428 when absent, 412 when stale.
|
|
14706
|
+
# @param sequence_step_update_request [SfvbSequenceStepUpdateRequest] The settings, the filter, or both
|
|
14707
|
+
# @param [Hash] opts the optional parameters
|
|
14708
|
+
# @return [SfvbSequenceStepUpdateResponse]
|
|
14709
|
+
def update_sfvb_sequence_step(storefront_oid, sequence_uuid, step_uuid, if_match, sequence_step_update_request, opts = {})
|
|
14710
|
+
data, _status_code, _headers = update_sfvb_sequence_step_with_http_info(storefront_oid, sequence_uuid, step_uuid, if_match, sequence_step_update_request, opts)
|
|
14711
|
+
data
|
|
14712
|
+
end
|
|
14713
|
+
|
|
14714
|
+
# Change one step's settings or audience filter
|
|
14715
|
+
# Replaces the step's settings (config_json), its audience filter (filter_profile_equation_json), or both. Nothing else about the step or the sequence changes. Send the step's hash_sha256 as If-Match; the write only lands if the step is still what you read. Email, postcard, experiment, resend, webhook, begin, end, continue and merge steps are refused. A sequence whose campaign or flow is live needs sfvb_publish.
|
|
14716
|
+
# @param storefront_oid [Integer]
|
|
14717
|
+
# @param sequence_uuid [String]
|
|
14718
|
+
# @param step_uuid [String]
|
|
14719
|
+
# @param if_match [String] The step's hash_sha256 from the last read. Required; 428 when absent, 412 when stale.
|
|
14720
|
+
# @param sequence_step_update_request [SfvbSequenceStepUpdateRequest] The settings, the filter, or both
|
|
14721
|
+
# @param [Hash] opts the optional parameters
|
|
14722
|
+
# @return [Array<(SfvbSequenceStepUpdateResponse, Integer, Hash)>] SfvbSequenceStepUpdateResponse data, response status code and response headers
|
|
14723
|
+
def update_sfvb_sequence_step_with_http_info(storefront_oid, sequence_uuid, step_uuid, if_match, sequence_step_update_request, opts = {})
|
|
14724
|
+
if @api_client.config.debugging
|
|
14725
|
+
@api_client.config.logger.debug 'Calling API: SfvbApi.update_sfvb_sequence_step ...'
|
|
14726
|
+
end
|
|
14727
|
+
# verify the required parameter 'storefront_oid' is set
|
|
14728
|
+
if @api_client.config.client_side_validation && storefront_oid.nil?
|
|
14729
|
+
fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.update_sfvb_sequence_step"
|
|
14730
|
+
end
|
|
14731
|
+
# verify the required parameter 'sequence_uuid' is set
|
|
14732
|
+
if @api_client.config.client_side_validation && sequence_uuid.nil?
|
|
14733
|
+
fail ArgumentError, "Missing the required parameter 'sequence_uuid' when calling SfvbApi.update_sfvb_sequence_step"
|
|
14734
|
+
end
|
|
14735
|
+
# verify the required parameter 'step_uuid' is set
|
|
14736
|
+
if @api_client.config.client_side_validation && step_uuid.nil?
|
|
14737
|
+
fail ArgumentError, "Missing the required parameter 'step_uuid' when calling SfvbApi.update_sfvb_sequence_step"
|
|
14738
|
+
end
|
|
14739
|
+
# verify the required parameter 'if_match' is set
|
|
14740
|
+
if @api_client.config.client_side_validation && if_match.nil?
|
|
14741
|
+
fail ArgumentError, "Missing the required parameter 'if_match' when calling SfvbApi.update_sfvb_sequence_step"
|
|
14742
|
+
end
|
|
14743
|
+
# verify the required parameter 'sequence_step_update_request' is set
|
|
14744
|
+
if @api_client.config.client_side_validation && sequence_step_update_request.nil?
|
|
14745
|
+
fail ArgumentError, "Missing the required parameter 'sequence_step_update_request' when calling SfvbApi.update_sfvb_sequence_step"
|
|
14746
|
+
end
|
|
14747
|
+
# resource path
|
|
14748
|
+
local_var_path = '/sfvb/storefronts/{storefront_oid}/sequences/{sequence_uuid}/steps/{step_uuid}'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s)).sub('{' + 'sequence_uuid' + '}', CGI.escape(sequence_uuid.to_s)).sub('{' + 'step_uuid' + '}', CGI.escape(step_uuid.to_s))
|
|
14749
|
+
|
|
14750
|
+
# query parameters
|
|
14751
|
+
query_params = opts[:query_params] || {}
|
|
14752
|
+
|
|
14753
|
+
# header parameters
|
|
14754
|
+
header_params = opts[:header_params] || {}
|
|
14755
|
+
header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
|
|
14756
|
+
# HTTP header 'Accept' (if needed)
|
|
14757
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
14758
|
+
# HTTP header 'Content-Type'
|
|
14759
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
14760
|
+
if !content_type.nil?
|
|
14761
|
+
header_params['Content-Type'] = content_type
|
|
14762
|
+
end
|
|
14763
|
+
header_params[:'If-Match'] = if_match
|
|
14764
|
+
|
|
14765
|
+
# form parameters
|
|
14766
|
+
form_params = opts[:form_params] || {}
|
|
14767
|
+
|
|
14768
|
+
# http body (model)
|
|
14769
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(sequence_step_update_request)
|
|
14770
|
+
|
|
14771
|
+
# return_type
|
|
14772
|
+
return_type = opts[:debug_return_type] || 'SfvbSequenceStepUpdateResponse'
|
|
14773
|
+
|
|
14774
|
+
# auth_names
|
|
14775
|
+
auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
|
|
14776
|
+
|
|
14777
|
+
new_options = opts.merge(
|
|
14778
|
+
:operation => :"SfvbApi.update_sfvb_sequence_step",
|
|
14779
|
+
:header_params => header_params,
|
|
14780
|
+
:query_params => query_params,
|
|
14781
|
+
:form_params => form_params,
|
|
14782
|
+
:body => post_body,
|
|
14783
|
+
:auth_names => auth_names,
|
|
14784
|
+
:return_type => return_type
|
|
14785
|
+
)
|
|
14786
|
+
|
|
14787
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
|
|
14788
|
+
if @api_client.config.debugging
|
|
14789
|
+
@api_client.config.logger.debug "API called: SfvbApi#update_sfvb_sequence_step\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
14790
|
+
end
|
|
14791
|
+
return data, status_code, headers
|
|
14792
|
+
end
|
|
14793
|
+
|
|
14700
14794
|
# Update an upsell offer
|
|
14701
14795
|
# A full replace. Send back the whole offer you read, changed, with its hash_sha256 in If-Match. Read only fields are ignored and a writable field left out is cleared. Changing an offer that is switched on, or changing upsell_item_id_javascript or offsite_content_url, needs sfvb_publish. An update cannot switch an offer on; that is the enable call, which needs approval. Settings the API does not show, such as the offer's screenshots, are kept.
|
|
14702
14796
|
# @param storefront_oid [Integer]
|
|
@@ -24,13 +24,13 @@ module UltracartClient
|
|
|
24
24
|
# An arbitrary percentage discount to provide on future rebills
|
|
25
25
|
attr_accessor :arbitrary_percentage_discount
|
|
26
26
|
|
|
27
|
-
#
|
|
27
|
+
# Quantity to rebill. When set, every rebill uses this quantity instead of original_quantity. Set this field to change the quantity on an active auto order; the merchant auto order editor updates this same field. Each rebill charges the unit price multiplied by this quantity.
|
|
28
28
|
attr_accessor :arbitrary_quantity
|
|
29
29
|
|
|
30
30
|
# The number of days to rebill if the frequency is set to an arbitrary number of days
|
|
31
31
|
attr_accessor :arbitrary_schedule_days
|
|
32
32
|
|
|
33
|
-
# Arbitrary unit cost that rebills of this item should occur at
|
|
33
|
+
# Arbitrary unit cost that rebills of this item should occur at. This is a price per unit. Each rebill charges it multiplied by the rebill quantity (arbitrary_quantity, or original_quantity when arbitrary_quantity is null).
|
|
34
34
|
attr_accessor :arbitrary_unit_cost
|
|
35
35
|
|
|
36
36
|
# The number of rebills to give the arbitrary unit cost on before reverting to normal pricing.
|
|
@@ -84,7 +84,7 @@ module UltracartClient
|
|
|
84
84
|
# The original item id purchased. This item controls scheduling. If you wish to modify a schedule, for example, from monthly to yearly, change this item from your monthly item to your yearly item, and then change the next_shipment_dts to your desired date.
|
|
85
85
|
attr_accessor :original_item_id
|
|
86
86
|
|
|
87
|
-
# The original quantity
|
|
87
|
+
# The quantity purchased on the original order. Rebills use this quantity only when arbitrary_quantity is null. To change the quantity on future rebills, set arbitrary_quantity instead.
|
|
88
88
|
attr_accessor :original_quantity
|
|
89
89
|
|
|
90
90
|
# True if paused. This field is an object instead of a primitive for backwards compatibility.
|
|
@@ -36,6 +36,9 @@ module UltracartClient
|
|
|
36
36
|
# The step's audience filter as stored, when it has one.
|
|
37
37
|
attr_accessor :filter_profile_equation_json
|
|
38
38
|
|
|
39
|
+
# The hash of the step's type, stored settings and audience filter. Send it back as If-Match when changing the step.
|
|
40
|
+
attr_accessor :hash_sha256
|
|
41
|
+
|
|
39
42
|
# The items it names, for a cart or rate limiter step.
|
|
40
43
|
attr_accessor :item_ids
|
|
41
44
|
|
|
@@ -76,6 +79,7 @@ module UltracartClient
|
|
|
76
79
|
:'disabled' => :'disabled',
|
|
77
80
|
:'email_uuids' => :'email_uuids',
|
|
78
81
|
:'filter_profile_equation_json' => :'filter_profile_equation_json',
|
|
82
|
+
:'hash_sha256' => :'hash_sha256',
|
|
79
83
|
:'item_ids' => :'item_ids',
|
|
80
84
|
:'label' => :'label',
|
|
81
85
|
:'list_uuids' => :'list_uuids',
|
|
@@ -104,6 +108,7 @@ module UltracartClient
|
|
|
104
108
|
:'disabled' => :'Boolean',
|
|
105
109
|
:'email_uuids' => :'Array<String>',
|
|
106
110
|
:'filter_profile_equation_json' => :'String',
|
|
111
|
+
:'hash_sha256' => :'String',
|
|
107
112
|
:'item_ids' => :'Array<String>',
|
|
108
113
|
:'label' => :'String',
|
|
109
114
|
:'list_uuids' => :'Array<String>',
|
|
@@ -170,6 +175,10 @@ module UltracartClient
|
|
|
170
175
|
self.filter_profile_equation_json = attributes[:'filter_profile_equation_json']
|
|
171
176
|
end
|
|
172
177
|
|
|
178
|
+
if attributes.key?(:'hash_sha256')
|
|
179
|
+
self.hash_sha256 = attributes[:'hash_sha256']
|
|
180
|
+
end
|
|
181
|
+
|
|
173
182
|
if attributes.key?(:'item_ids')
|
|
174
183
|
if (value = attributes[:'item_ids']).is_a?(Array)
|
|
175
184
|
self.item_ids = value
|
|
@@ -240,6 +249,7 @@ module UltracartClient
|
|
|
240
249
|
disabled == o.disabled &&
|
|
241
250
|
email_uuids == o.email_uuids &&
|
|
242
251
|
filter_profile_equation_json == o.filter_profile_equation_json &&
|
|
252
|
+
hash_sha256 == o.hash_sha256 &&
|
|
243
253
|
item_ids == o.item_ids &&
|
|
244
254
|
label == o.label &&
|
|
245
255
|
list_uuids == o.list_uuids &&
|
|
@@ -261,7 +271,7 @@ module UltracartClient
|
|
|
261
271
|
# Calculates hash code according to all attributes.
|
|
262
272
|
# @return [Integer] Hash code
|
|
263
273
|
def hash
|
|
264
|
-
[branches, config_error, config_json, config_merchant_notes, disabled, email_uuids, filter_profile_equation_json, item_ids, label, list_uuids, merchant_notes, name, number_waiting, postcard_uuid, step_uuid, type, unreachable].hash
|
|
274
|
+
[branches, config_error, config_json, config_merchant_notes, disabled, email_uuids, filter_profile_equation_json, hash_sha256, item_ids, label, list_uuids, merchant_notes, name, number_waiting, postcard_uuid, step_uuid, type, unreachable].hash
|
|
265
275
|
end
|
|
266
276
|
|
|
267
277
|
# Builds the object from hash
|
|
@@ -0,0 +1,230 @@
|
|
|
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 SfvbSequenceStepUpdateRequest
|
|
18
|
+
# The step's new settings, as a JSON object in the admin's own shape. Replaces the stored settings.
|
|
19
|
+
attr_accessor :config_json
|
|
20
|
+
|
|
21
|
+
# The step's new audience filter, as a JSON object. Replaces the stored filter.
|
|
22
|
+
attr_accessor :filter_profile_equation_json
|
|
23
|
+
|
|
24
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
25
|
+
def self.attribute_map
|
|
26
|
+
{
|
|
27
|
+
:'config_json' => :'config_json',
|
|
28
|
+
:'filter_profile_equation_json' => :'filter_profile_equation_json'
|
|
29
|
+
}
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Returns all the JSON keys this model knows about
|
|
33
|
+
def self.acceptable_attributes
|
|
34
|
+
attribute_map.values
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Attribute type mapping.
|
|
38
|
+
def self.openapi_types
|
|
39
|
+
{
|
|
40
|
+
:'config_json' => :'String',
|
|
41
|
+
:'filter_profile_equation_json' => :'String'
|
|
42
|
+
}
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# List of attributes with nullable: true
|
|
46
|
+
def self.openapi_nullable
|
|
47
|
+
Set.new([
|
|
48
|
+
])
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Initializes the object
|
|
52
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
53
|
+
def initialize(attributes = {})
|
|
54
|
+
if (!attributes.is_a?(Hash))
|
|
55
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::SfvbSequenceStepUpdateRequest` initialize method"
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
59
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
60
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
61
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::SfvbSequenceStepUpdateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
62
|
+
end
|
|
63
|
+
h[k.to_sym] = v
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if attributes.key?(:'config_json')
|
|
67
|
+
self.config_json = attributes[:'config_json']
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
if attributes.key?(:'filter_profile_equation_json')
|
|
71
|
+
self.filter_profile_equation_json = attributes[:'filter_profile_equation_json']
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
76
|
+
# @return Array for valid properties with the reasons
|
|
77
|
+
def list_invalid_properties
|
|
78
|
+
invalid_properties = Array.new
|
|
79
|
+
invalid_properties
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Check to see if the all the properties in the model are valid
|
|
83
|
+
# @return true if the model is valid
|
|
84
|
+
def valid?
|
|
85
|
+
true
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Checks equality by comparing each attribute.
|
|
89
|
+
# @param [Object] Object to be compared
|
|
90
|
+
def ==(o)
|
|
91
|
+
return true if self.equal?(o)
|
|
92
|
+
self.class == o.class &&
|
|
93
|
+
config_json == o.config_json &&
|
|
94
|
+
filter_profile_equation_json == o.filter_profile_equation_json
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# @see the `==` method
|
|
98
|
+
# @param [Object] Object to be compared
|
|
99
|
+
def eql?(o)
|
|
100
|
+
self == o
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Calculates hash code according to all attributes.
|
|
104
|
+
# @return [Integer] Hash code
|
|
105
|
+
def hash
|
|
106
|
+
[config_json, filter_profile_equation_json].hash
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Builds the object from hash
|
|
110
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
111
|
+
# @return [Object] Returns the model itself
|
|
112
|
+
def self.build_from_hash(attributes)
|
|
113
|
+
new.build_from_hash(attributes)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Builds the object from hash
|
|
117
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
118
|
+
# @return [Object] Returns the model itself
|
|
119
|
+
def build_from_hash(attributes)
|
|
120
|
+
return nil unless attributes.is_a?(Hash)
|
|
121
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
122
|
+
self.class.openapi_types.each_pair do |key, type|
|
|
123
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
124
|
+
self.send("#{key}=", nil)
|
|
125
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
126
|
+
# check to ensure the input is an array given that the attribute
|
|
127
|
+
# is documented as an array but the input is not
|
|
128
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
129
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
|
130
|
+
end
|
|
131
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
132
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
self
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Deserializes the data based on type
|
|
140
|
+
# @param string type Data type
|
|
141
|
+
# @param string value Value to be deserialized
|
|
142
|
+
# @return [Object] Deserialized data
|
|
143
|
+
def _deserialize(type, value)
|
|
144
|
+
case type.to_sym
|
|
145
|
+
when :Time
|
|
146
|
+
Time.parse(value)
|
|
147
|
+
when :Date
|
|
148
|
+
Date.parse(value)
|
|
149
|
+
when :String
|
|
150
|
+
value.to_s
|
|
151
|
+
when :Integer
|
|
152
|
+
value.to_i
|
|
153
|
+
when :Float
|
|
154
|
+
value.to_f
|
|
155
|
+
when :Boolean
|
|
156
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
157
|
+
true
|
|
158
|
+
else
|
|
159
|
+
false
|
|
160
|
+
end
|
|
161
|
+
when :Object
|
|
162
|
+
# generic object (usually a Hash), return directly
|
|
163
|
+
value
|
|
164
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
165
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
166
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
167
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
168
|
+
k_type = Regexp.last_match[:k_type]
|
|
169
|
+
v_type = Regexp.last_match[:v_type]
|
|
170
|
+
{}.tap do |hash|
|
|
171
|
+
value.each do |k, v|
|
|
172
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
else # model
|
|
176
|
+
# models (e.g. Pet) or oneOf
|
|
177
|
+
klass = UltracartClient.const_get(type)
|
|
178
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
# Returns the string representation of the object
|
|
183
|
+
# @return [String] String presentation of the object
|
|
184
|
+
def to_s
|
|
185
|
+
to_hash.to_s
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
189
|
+
# @return [Hash] Returns the object in the form of hash
|
|
190
|
+
def to_body
|
|
191
|
+
to_hash
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# Returns the object in the form of hash
|
|
195
|
+
# @return [Hash] Returns the object in the form of hash
|
|
196
|
+
def to_hash
|
|
197
|
+
hash = {}
|
|
198
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
199
|
+
value = self.send(attr)
|
|
200
|
+
if value.nil?
|
|
201
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
202
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
hash[param] = _to_hash(value)
|
|
206
|
+
end
|
|
207
|
+
hash
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
# Outputs non-array value in the form of hash
|
|
211
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
212
|
+
# @param [Object] value Any valid value
|
|
213
|
+
# @return [Hash] Returns the value in the form of hash
|
|
214
|
+
def _to_hash(value)
|
|
215
|
+
if value.is_a?(Array)
|
|
216
|
+
value.compact.map { |v| _to_hash(v) }
|
|
217
|
+
elsif value.is_a?(Hash)
|
|
218
|
+
{}.tap do |hash|
|
|
219
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
220
|
+
end
|
|
221
|
+
elsif value.respond_to? :to_hash
|
|
222
|
+
value.to_hash
|
|
223
|
+
else
|
|
224
|
+
value
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
end
|
|
@@ -0,0 +1,231 @@
|
|
|
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 SfvbSequenceStepUpdateResponse
|
|
18
|
+
# Anything worth knowing about the change, such as customers already waiting on the step.
|
|
19
|
+
attr_accessor :notes
|
|
20
|
+
|
|
21
|
+
attr_accessor :step
|
|
22
|
+
|
|
23
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
24
|
+
def self.attribute_map
|
|
25
|
+
{
|
|
26
|
+
:'notes' => :'notes',
|
|
27
|
+
:'step' => :'step'
|
|
28
|
+
}
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Returns all the JSON keys this model knows about
|
|
32
|
+
def self.acceptable_attributes
|
|
33
|
+
attribute_map.values
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Attribute type mapping.
|
|
37
|
+
def self.openapi_types
|
|
38
|
+
{
|
|
39
|
+
:'notes' => :'Array<String>',
|
|
40
|
+
:'step' => :'SfvbSequenceStep'
|
|
41
|
+
}
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# List of attributes with nullable: true
|
|
45
|
+
def self.openapi_nullable
|
|
46
|
+
Set.new([
|
|
47
|
+
])
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Initializes the object
|
|
51
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
52
|
+
def initialize(attributes = {})
|
|
53
|
+
if (!attributes.is_a?(Hash))
|
|
54
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::SfvbSequenceStepUpdateResponse` initialize method"
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
58
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
59
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
60
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::SfvbSequenceStepUpdateResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
61
|
+
end
|
|
62
|
+
h[k.to_sym] = v
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if attributes.key?(:'notes')
|
|
66
|
+
if (value = attributes[:'notes']).is_a?(Array)
|
|
67
|
+
self.notes = value
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
if attributes.key?(:'step')
|
|
72
|
+
self.step = attributes[:'step']
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
77
|
+
# @return Array for valid properties with the reasons
|
|
78
|
+
def list_invalid_properties
|
|
79
|
+
invalid_properties = Array.new
|
|
80
|
+
invalid_properties
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Check to see if the all the properties in the model are valid
|
|
84
|
+
# @return true if the model is valid
|
|
85
|
+
def valid?
|
|
86
|
+
true
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Checks equality by comparing each attribute.
|
|
90
|
+
# @param [Object] Object to be compared
|
|
91
|
+
def ==(o)
|
|
92
|
+
return true if self.equal?(o)
|
|
93
|
+
self.class == o.class &&
|
|
94
|
+
notes == o.notes &&
|
|
95
|
+
step == o.step
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# @see the `==` method
|
|
99
|
+
# @param [Object] Object to be compared
|
|
100
|
+
def eql?(o)
|
|
101
|
+
self == o
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# Calculates hash code according to all attributes.
|
|
105
|
+
# @return [Integer] Hash code
|
|
106
|
+
def hash
|
|
107
|
+
[notes, step].hash
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Builds the object from hash
|
|
111
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
112
|
+
# @return [Object] Returns the model itself
|
|
113
|
+
def self.build_from_hash(attributes)
|
|
114
|
+
new.build_from_hash(attributes)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Builds the object from hash
|
|
118
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
119
|
+
# @return [Object] Returns the model itself
|
|
120
|
+
def build_from_hash(attributes)
|
|
121
|
+
return nil unless attributes.is_a?(Hash)
|
|
122
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
123
|
+
self.class.openapi_types.each_pair do |key, type|
|
|
124
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
125
|
+
self.send("#{key}=", nil)
|
|
126
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
127
|
+
# check to ensure the input is an array given that the attribute
|
|
128
|
+
# is documented as an array but the input is not
|
|
129
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
130
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
|
131
|
+
end
|
|
132
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
133
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
self
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
# Deserializes the data based on type
|
|
141
|
+
# @param string type Data type
|
|
142
|
+
# @param string value Value to be deserialized
|
|
143
|
+
# @return [Object] Deserialized data
|
|
144
|
+
def _deserialize(type, value)
|
|
145
|
+
case type.to_sym
|
|
146
|
+
when :Time
|
|
147
|
+
Time.parse(value)
|
|
148
|
+
when :Date
|
|
149
|
+
Date.parse(value)
|
|
150
|
+
when :String
|
|
151
|
+
value.to_s
|
|
152
|
+
when :Integer
|
|
153
|
+
value.to_i
|
|
154
|
+
when :Float
|
|
155
|
+
value.to_f
|
|
156
|
+
when :Boolean
|
|
157
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
158
|
+
true
|
|
159
|
+
else
|
|
160
|
+
false
|
|
161
|
+
end
|
|
162
|
+
when :Object
|
|
163
|
+
# generic object (usually a Hash), return directly
|
|
164
|
+
value
|
|
165
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
166
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
167
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
168
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
169
|
+
k_type = Regexp.last_match[:k_type]
|
|
170
|
+
v_type = Regexp.last_match[:v_type]
|
|
171
|
+
{}.tap do |hash|
|
|
172
|
+
value.each do |k, v|
|
|
173
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
else # model
|
|
177
|
+
# models (e.g. Pet) or oneOf
|
|
178
|
+
klass = UltracartClient.const_get(type)
|
|
179
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# Returns the string representation of the object
|
|
184
|
+
# @return [String] String presentation of the object
|
|
185
|
+
def to_s
|
|
186
|
+
to_hash.to_s
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
190
|
+
# @return [Hash] Returns the object in the form of hash
|
|
191
|
+
def to_body
|
|
192
|
+
to_hash
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
# Returns the object in the form of hash
|
|
196
|
+
# @return [Hash] Returns the object in the form of hash
|
|
197
|
+
def to_hash
|
|
198
|
+
hash = {}
|
|
199
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
200
|
+
value = self.send(attr)
|
|
201
|
+
if value.nil?
|
|
202
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
203
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
hash[param] = _to_hash(value)
|
|
207
|
+
end
|
|
208
|
+
hash
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
# Outputs non-array value in the form of hash
|
|
212
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
213
|
+
# @param [Object] value Any valid value
|
|
214
|
+
# @return [Hash] Returns the value in the form of hash
|
|
215
|
+
def _to_hash(value)
|
|
216
|
+
if value.is_a?(Array)
|
|
217
|
+
value.compact.map { |v| _to_hash(v) }
|
|
218
|
+
elsif value.is_a?(Hash)
|
|
219
|
+
{}.tap do |hash|
|
|
220
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
221
|
+
end
|
|
222
|
+
elsif value.respond_to? :to_hash
|
|
223
|
+
value.to_hash
|
|
224
|
+
else
|
|
225
|
+
value
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
end
|
data/lib/ultracart_api.rb
CHANGED
|
@@ -1188,6 +1188,8 @@ require 'ultracart_api/models/sfvb_secret_sink'
|
|
|
1188
1188
|
require 'ultracart_api/models/sfvb_sequence'
|
|
1189
1189
|
require 'ultracart_api/models/sfvb_sequence_branch'
|
|
1190
1190
|
require 'ultracart_api/models/sfvb_sequence_step'
|
|
1191
|
+
require 'ultracart_api/models/sfvb_sequence_step_update_request'
|
|
1192
|
+
require 'ultracart_api/models/sfvb_sequence_step_update_response'
|
|
1191
1193
|
require 'ultracart_api/models/sfvb_server_log'
|
|
1192
1194
|
require 'ultracart_api/models/sfvb_server_log_detail'
|
|
1193
1195
|
require 'ultracart_api/models/sfvb_server_log_entry'
|
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.214
|
|
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-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: typhoeus
|
|
@@ -1250,6 +1250,8 @@ files:
|
|
|
1250
1250
|
- docs/SfvbSequence.md
|
|
1251
1251
|
- docs/SfvbSequenceBranch.md
|
|
1252
1252
|
- docs/SfvbSequenceStep.md
|
|
1253
|
+
- docs/SfvbSequenceStepUpdateRequest.md
|
|
1254
|
+
- docs/SfvbSequenceStepUpdateResponse.md
|
|
1253
1255
|
- docs/SfvbServerLog.md
|
|
1254
1256
|
- docs/SfvbServerLogDetail.md
|
|
1255
1257
|
- docs/SfvbServerLogEntry.md
|
|
@@ -2596,6 +2598,8 @@ files:
|
|
|
2596
2598
|
- lib/ultracart_api/models/sfvb_sequence.rb
|
|
2597
2599
|
- lib/ultracart_api/models/sfvb_sequence_branch.rb
|
|
2598
2600
|
- lib/ultracart_api/models/sfvb_sequence_step.rb
|
|
2601
|
+
- lib/ultracart_api/models/sfvb_sequence_step_update_request.rb
|
|
2602
|
+
- lib/ultracart_api/models/sfvb_sequence_step_update_response.rb
|
|
2599
2603
|
- lib/ultracart_api/models/sfvb_server_log.rb
|
|
2600
2604
|
- lib/ultracart_api/models/sfvb_server_log_detail.rb
|
|
2601
2605
|
- lib/ultracart_api/models/sfvb_server_log_entry.rb
|