ultracart_api 4.1.169 → 4.1.171
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 +45 -2
- data/docs/SfvbApi.md +1786 -591
- data/docs/SfvbItemAttribute.md +34 -0
- data/docs/SfvbItemAttributeUpdate.md +22 -0
- data/docs/SfvbItemAttributeUpdateRequest.md +18 -0
- data/docs/SfvbItemContentRequest.md +20 -0
- data/docs/SfvbItemMultimedia.md +34 -0
- data/docs/SfvbItemMultimediaRequest.md +24 -0
- data/docs/SfvbItemResponse.md +32 -0
- data/docs/SfvbItemSeo.md +34 -0
- data/docs/SfvbItemSeoRequest.md +22 -0
- data/docs/SfvbPageResponse.md +2 -0
- data/docs/SfvbUpsellItemLogic.md +24 -0
- data/docs/SfvbUpsellItemLogicItem.md +22 -0
- data/docs/SfvbUpsellOffer.md +118 -8
- data/docs/SfvbUpsellPath.md +48 -0
- data/docs/SfvbUpsellPathDuplicateRequest.md +18 -0
- data/docs/SfvbUpsellPathMoveRequest.md +18 -0
- data/docs/SfvbUpsellPathsResponse.md +28 -0
- data/docs/SfvbUpsellStats.md +54 -0
- data/docs/SfvbUpsellStep.md +22 -0
- data/docs/SfvbUpsellStepOffer.md +32 -0
- data/docs/SfvbUpsellTowerData.md +20 -0
- data/docs/SfvbUpsellVariation.md +22 -0
- data/lib/ultracart_api/api/sfvb_api.rb +1731 -83
- data/lib/ultracart_api/models/sfvb_item_attribute.rb +336 -0
- data/lib/ultracart_api/models/sfvb_item_attribute_update.rb +274 -0
- data/lib/ultracart_api/models/sfvb_item_attribute_update_request.rb +222 -0
- data/lib/ultracart_api/models/sfvb_item_content_request.rb +230 -0
- data/lib/ultracart_api/models/sfvb_item_multimedia.rb +334 -0
- data/lib/ultracart_api/models/sfvb_item_multimedia_request.rb +250 -0
- data/lib/ultracart_api/models/sfvb_item_response.rb +295 -0
- data/lib/ultracart_api/models/sfvb_item_seo.rb +358 -0
- data/lib/ultracart_api/models/sfvb_item_seo_request.rb +240 -0
- data/lib/ultracart_api/models/sfvb_page_response.rb +11 -1
- data/lib/ultracart_api/models/sfvb_upsell_item_logic.rb +252 -0
- data/lib/ultracart_api/models/sfvb_upsell_item_logic_item.rb +240 -0
- data/lib/ultracart_api/models/sfvb_upsell_offer.rb +598 -9
- data/lib/ultracart_api/models/sfvb_upsell_path.rb +373 -0
- data/lib/ultracart_api/models/sfvb_upsell_path_duplicate_request.rb +220 -0
- data/lib/ultracart_api/models/sfvb_upsell_path_move_request.rb +220 -0
- data/lib/ultracart_api/models/sfvb_upsell_paths_response.rb +272 -0
- data/lib/ultracart_api/models/sfvb_upsell_stats.rb +400 -0
- data/lib/ultracart_api/models/sfvb_upsell_step.rb +241 -0
- data/lib/ultracart_api/models/sfvb_upsell_step_offer.rb +288 -0
- data/lib/ultracart_api/models/sfvb_upsell_tower_data.rb +234 -0
- data/lib/ultracart_api/models/sfvb_upsell_variation.rb +241 -0
- data/lib/ultracart_api/version.rb +1 -1
- data/lib/ultracart_api.rb +20 -0
- metadata +42 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemAttribute
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **conflicting_types** | **Array<String>** | Set only when templates disagree about this attribute's type, listing every type declared for it. The render does not resolve this - each element parses the value as its own itemAttributeType says - so one of the elements reading it is showing nothing. | [optional] |
|
|
8
|
+
| **deprecated** | **Boolean** | True when the declaring template marks this attribute as on its way out. Prefer not to build on it. | [optional] |
|
|
9
|
+
| **name** | **String** | The attribute name, which is what an itemattribute element's itemAttributeName refers to. Matching is forgiving on the render side - uppercased, trimmed, runs of whitespace collapsed - so Care Notes and care notes are the same attribute. | [optional] |
|
|
10
|
+
| **type** | **String** | How the templates declaring this attribute expect its value to be shaped. orphan means no template declares it, so nothing here can say what shape it should be. | [optional] |
|
|
11
|
+
| **undeclared** | **Boolean** | True when the attribute is stored on the item but no template declares it. Not an error - a value set for an element placed in a container is undeclared by design, because the container is not a template. | [optional] |
|
|
12
|
+
| **used_by** | **String** | The other themes that declare this attribute, when the active theme does not. | [optional] |
|
|
13
|
+
| **used_by_current_theme** | **Boolean** | True when a template in the active theme declares this attribute. | [optional] |
|
|
14
|
+
| **value** | **String** | The stored value. Empty when a template declares the attribute and nothing has set it. | [optional] |
|
|
15
|
+
| **writable** | **Boolean** | True when this API will change the value. An item attribute is a plain value column, so unlike a page attribute the list types are writable here; their per entry translation handles are assigned on first read rather than stored with the value. | [optional] |
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```ruby
|
|
20
|
+
require 'ultracart_api'
|
|
21
|
+
|
|
22
|
+
instance = UltracartClient::SfvbItemAttribute.new(
|
|
23
|
+
conflicting_types: null,
|
|
24
|
+
deprecated: null,
|
|
25
|
+
name: null,
|
|
26
|
+
type: null,
|
|
27
|
+
undeclared: null,
|
|
28
|
+
used_by: null,
|
|
29
|
+
used_by_current_theme: null,
|
|
30
|
+
value: null,
|
|
31
|
+
writable: null
|
|
32
|
+
)
|
|
33
|
+
```
|
|
34
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemAttributeUpdate
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **name** | **String** | The attribute to change, matched without regard to case. An attribute that does not exist yet is created. | [optional] |
|
|
8
|
+
| **type** | **String** | Only consulted for a name no template declares, to say how the value should be validated and what the attribute is recorded as. Ignored otherwise, because a declared attribute's type comes from the template that declares it. | [optional] |
|
|
9
|
+
| **value** | **String** | The new value. Send an empty string to clear it. For the list types this is the JSON document as text, not a nested object - see the type's own format, because a shape the renderer cannot parse renders exactly like an attribute that was never set. | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'ultracart_api'
|
|
15
|
+
|
|
16
|
+
instance = UltracartClient::SfvbItemAttributeUpdate.new(
|
|
17
|
+
name: null,
|
|
18
|
+
type: null,
|
|
19
|
+
value: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemAttributeUpdateRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **attributes** | [**Array<SfvbItemAttributeUpdate>**](SfvbItemAttributeUpdate.md) | The attributes to change. Every entry is validated before any is written, so one refused attribute changes nothing. | [optional] |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'ultracart_api'
|
|
13
|
+
|
|
14
|
+
instance = UltracartClient::SfvbItemAttributeUpdateRequest.new(
|
|
15
|
+
attributes: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemContentRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **description** | **String** | What an itemdescription element renders, the item's extended description. HTML is accepted; the element's excerpt settings only decide how much of it is shown. | [optional] |
|
|
8
|
+
| **title** | **String** | What an itemtitle element renders. This is the item's short description in the catalog, so it changes the item everywhere, not only on this storefront. | [optional] |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'ultracart_api'
|
|
14
|
+
|
|
15
|
+
instance = UltracartClient::SfvbItemContentRequest.new(
|
|
16
|
+
description: null,
|
|
17
|
+
title: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemMultimedia
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **code** | **String** | The image code, which is what an itemimage element's itemImageCode refers to. Empty for the default image. | [optional] |
|
|
8
|
+
| **declared** | **Boolean** | True when a template declares this code. A slot that is attached but not declared is an image nothing on the page is asking for. | [optional] |
|
|
9
|
+
| **default** | **Boolean** | True for the image an itemimage element with no code renders. Default is per media type, so an item may have one default image and one default PDF at the same time. | [optional] |
|
|
10
|
+
| **description** | **String** | Stored with the image and rendered as its alt text. When it is empty the render falls back to the item's own description, so an empty value here is not an empty alt attribute. | [optional] |
|
|
11
|
+
| **dimensions** | **String** | Width x height in pixels, when the storage measured the file. | [optional] |
|
|
12
|
+
| **exclude_from_gallery** | **Boolean** | True when the storage marks this image as kept out of the item gallery. | [optional] |
|
|
13
|
+
| **filename** | **String** | The stored file's name. Empty when the slot is declared and nothing is attached. | [optional] |
|
|
14
|
+
| **type** | **String** | The media type the storage recorded. | [optional] |
|
|
15
|
+
| **view_url** | **String** | Where the stored image is served. Absent when nothing is attached to the slot. | [optional] |
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```ruby
|
|
20
|
+
require 'ultracart_api'
|
|
21
|
+
|
|
22
|
+
instance = UltracartClient::SfvbItemMultimedia.new(
|
|
23
|
+
code: null,
|
|
24
|
+
declared: null,
|
|
25
|
+
default: null,
|
|
26
|
+
description: null,
|
|
27
|
+
dimensions: null,
|
|
28
|
+
exclude_from_gallery: null,
|
|
29
|
+
filename: null,
|
|
30
|
+
type: null,
|
|
31
|
+
view_url: null
|
|
32
|
+
)
|
|
33
|
+
```
|
|
34
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemMultimediaRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **code** | **String** | Attach under this image code, the value an itemimage element's itemImageCode names. | [optional] |
|
|
8
|
+
| **default** | **Boolean** | Attach as the item's default image, which is what an itemimage element with no code renders. Name exactly one of this or code. | [optional] |
|
|
9
|
+
| **description** | **String** | Stored with the image and rendered as its alt text. Left out, the slot keeps the description it already had. | [optional] |
|
|
10
|
+
| **path** | **String** | Storefront file system path of the image to attach, such as /assets/img/mug-front.jpg. Upload it with files/upload first. Unlike a page image this does not have to sit in any particular folder, because an item has no folder of its own - the bytes are copied into the item's own storage on attach. | [optional] |
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
require 'ultracart_api'
|
|
16
|
+
|
|
17
|
+
instance = UltracartClient::SfvbItemMultimediaRequest.new(
|
|
18
|
+
code: null,
|
|
19
|
+
default: null,
|
|
20
|
+
description: null,
|
|
21
|
+
path: null
|
|
22
|
+
)
|
|
23
|
+
```
|
|
24
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemResponse
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **attributes** | [**Array<SfvbItemAttribute>**](SfvbItemAttribute.md) | Every attribute a template declares for this item plus every one stored on it, so the list answers what can be set as well as what is set. | [optional] |
|
|
8
|
+
| **description** | **String** | What an itemdescription element renders, the item's extended description. Like title this is the catalog's own field rather than a storefront copy of it. | [optional] |
|
|
9
|
+
| **groups** | **Array<String>** | The page paths this item is assigned to on this storefront. The templates behind those pages are what the attribute and image declarations were reconciled against, so an empty list is why an item can report no declared attributes at all. | [optional] |
|
|
10
|
+
| **merchant_item_id** | **String** | The item id a storefront carries, and the one data-context-item-id holds. | [optional] |
|
|
11
|
+
| **merchant_item_oid** | **Integer** | The item's internal oid, which appears nowhere on a rendered storefront. | [optional] |
|
|
12
|
+
| **multimedia** | [**Array<SfvbItemMultimedia>**](SfvbItemMultimedia.md) | Every image slot a template declares plus every image attached to the item. | [optional] |
|
|
13
|
+
| **seo** | [**SfvbItemSeo**](SfvbItemSeo.md) | | [optional] |
|
|
14
|
+
| **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
|
+
## Example
|
|
17
|
+
|
|
18
|
+
```ruby
|
|
19
|
+
require 'ultracart_api'
|
|
20
|
+
|
|
21
|
+
instance = UltracartClient::SfvbItemResponse.new(
|
|
22
|
+
attributes: null,
|
|
23
|
+
description: null,
|
|
24
|
+
groups: null,
|
|
25
|
+
merchant_item_id: null,
|
|
26
|
+
merchant_item_oid: null,
|
|
27
|
+
multimedia: null,
|
|
28
|
+
seo: null,
|
|
29
|
+
title: null
|
|
30
|
+
)
|
|
31
|
+
```
|
|
32
|
+
|
data/docs/SfvbItemSeo.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemSeo
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **description** | **String** | storefrontSEODescription as stored on this item. Empty when it has never been set. | [optional] |
|
|
8
|
+
| **description_source** | **String** | Where effective_description comes from. | [optional] |
|
|
9
|
+
| **effective_description** | **String** | What the meta description renders as, after the item to page to site fallback. | [optional] |
|
|
10
|
+
| **effective_keywords** | **String** | What the meta keywords render as, after the item to page to site fallback. | [optional] |
|
|
11
|
+
| **effective_title** | **String** | What the document title renders as. | [optional] |
|
|
12
|
+
| **keywords** | **String** | storefrontSEOKeywords as stored on this item. Empty when it has never been set. | [optional] |
|
|
13
|
+
| **keywords_source** | **String** | Where effective_keywords comes from. | [optional] |
|
|
14
|
+
| **title** | **String** | storefrontSEOTitle as stored on this item. Empty when it has never been set. | [optional] |
|
|
15
|
+
| **title_source** | **String** | Where effective_title comes from. item_description means nothing is set here and the item's own description is being used. | [optional] |
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```ruby
|
|
20
|
+
require 'ultracart_api'
|
|
21
|
+
|
|
22
|
+
instance = UltracartClient::SfvbItemSeo.new(
|
|
23
|
+
description: null,
|
|
24
|
+
description_source: null,
|
|
25
|
+
effective_description: null,
|
|
26
|
+
effective_keywords: null,
|
|
27
|
+
effective_title: null,
|
|
28
|
+
keywords: null,
|
|
29
|
+
keywords_source: null,
|
|
30
|
+
title: null,
|
|
31
|
+
title_source: null
|
|
32
|
+
)
|
|
33
|
+
```
|
|
34
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# UltracartClient::SfvbItemSeoRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **description** | **String** | The meta description. Cleared, the page falls back to its group's value and then to the site's. | [optional] |
|
|
8
|
+
| **keywords** | **String** | The meta keywords. Cleared, the page falls back to its group's value and then to the site's. | [optional] |
|
|
9
|
+
| **title** | **String** | The document title for this item's page. Cleared, the page falls back to the item's own description. This does not reach og:title or twitter:title, which render the item description either way. | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'ultracart_api'
|
|
15
|
+
|
|
16
|
+
instance = UltracartClient::SfvbItemSeoRequest.new(
|
|
17
|
+
description: null,
|
|
18
|
+
keywords: null,
|
|
19
|
+
title: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
data/docs/SfvbPageResponse.md
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **attributes** | [**Array<SfvbPageAttribute>**](SfvbPageAttribute.md) | Every attribute this page has, including ones a template declares but nothing has set yet. These are what the pageattribute element renders. Sorted by name. | [optional] |
|
|
8
|
+
| **description** | **String** | The page description, the text a page template renders as the page's description. Omitted when empty. | [optional] |
|
|
8
9
|
| **exclude_from_sitemap** | **Boolean** | True when the page is left out of the sitemap and marked noindex. | [optional] |
|
|
9
10
|
| **group_template** | **String** | Template file that renders the page itself, a bare .vm name found anywhere in the active theme. | [optional] |
|
|
10
11
|
| **item_template** | **String** | Template file that renders the item pages under this page. | [optional] |
|
|
@@ -21,6 +22,7 @@ require 'ultracart_api'
|
|
|
21
22
|
|
|
22
23
|
instance = UltracartClient::SfvbPageResponse.new(
|
|
23
24
|
attributes: null,
|
|
25
|
+
description: null,
|
|
24
26
|
exclude_from_sitemap: null,
|
|
25
27
|
group_template: null,
|
|
26
28
|
item_template: null,
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# UltracartClient::SfvbUpsellItemLogic
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **items** | [**Array<SfvbUpsellItemLogicItem>**](SfvbUpsellItemLogicItem.md) | The items this logic looks at. Every item id must exist on the merchant account. | [optional] |
|
|
8
|
+
| **logic** | **String** | How items is read. contains_any, contains_all, all, any or total. Omitted or null means no item logic. | [optional] |
|
|
9
|
+
| **total_quantity_comparison** | **Integer** | For total only. The quantity the summed quantity is compared with. | [optional] |
|
|
10
|
+
| **total_quantity_operator** | **String** | For total only. The comparison applied to the summed quantity. One of <, <=, =, >=, >. | [optional] |
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
require 'ultracart_api'
|
|
16
|
+
|
|
17
|
+
instance = UltracartClient::SfvbUpsellItemLogic.new(
|
|
18
|
+
items: null,
|
|
19
|
+
logic: null,
|
|
20
|
+
total_quantity_comparison: null,
|
|
21
|
+
total_quantity_operator: null
|
|
22
|
+
)
|
|
23
|
+
```
|
|
24
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# UltracartClient::SfvbUpsellItemLogicItem
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **comparison** | **Integer** | For logic all or any. The quantity this item's quantity is compared with. | [optional] |
|
|
8
|
+
| **item_id** | **String** | Merchant item id. Must exist on the merchant account. | [optional] |
|
|
9
|
+
| **operator** | **String** | For logic all or any. The comparison applied to this item's quantity. One of <, <=, =, >=, >. | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'ultracart_api'
|
|
15
|
+
|
|
16
|
+
instance = UltracartClient::SfvbUpsellItemLogicItem.new(
|
|
17
|
+
comparison: null,
|
|
18
|
+
item_id: null,
|
|
19
|
+
operator: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
data/docs/SfvbUpsellOffer.md
CHANGED
|
@@ -4,15 +4,70 @@
|
|
|
4
4
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **active** | **Boolean** | Whether the offer is switched on. | [optional] |
|
|
8
|
-
| **active_overall** | **Boolean** | Whether the offer is active once its date window and daily pricing are taken into account. This is the one that says whether shoppers are actually seeing it. | [optional] |
|
|
9
|
-
| **
|
|
10
|
-
| **
|
|
11
|
-
| **
|
|
12
|
-
| **
|
|
13
|
-
| **
|
|
7
|
+
| **active** | **Boolean** | Whether the offer is switched on. Setting it true, or changing an offer that is active overall, needs the sfvb_publish scope. | [optional] |
|
|
8
|
+
| **active_overall** | **Boolean** | Read only. Whether the offer is active once its date window and daily pricing are taken into account. This is the one that says whether shoppers are actually seeing it. | [optional] |
|
|
9
|
+
| **add_accessory_item_ids** | **Array<String>** | Accessory items added when the offer is accepted. | [optional] |
|
|
10
|
+
| **adjust_trigger_item_option** | **String** | Option on the trigger item to adjust when the offer is accepted. Omitted or null for none. | [optional] |
|
|
11
|
+
| **allow_upsell_item_in_cart_already** | **Boolean** | Whether to show the offer when the upsell item is already in the cart. | [optional] |
|
|
12
|
+
| **arbitrary_unit_cost** | **Float** | Price per unit when the offer is accepted. Omitted or null to charge the item's own price. | [optional] |
|
|
13
|
+
| **arbitrary_unit_cost_friday** | **Float** | Price on Fridays, overriding arbitrary_unit_cost. | [optional] |
|
|
14
|
+
| **arbitrary_unit_cost_monday** | **Float** | Price on Mondays, overriding arbitrary_unit_cost. Omitted or null for no override. | [optional] |
|
|
15
|
+
| **arbitrary_unit_cost_saturday** | **Float** | Price on Saturdays, overriding arbitrary_unit_cost. | [optional] |
|
|
16
|
+
| **arbitrary_unit_cost_sunday** | **Float** | Price on Sundays, overriding arbitrary_unit_cost. | [optional] |
|
|
17
|
+
| **arbitrary_unit_cost_thursday** | **Float** | Price on Thursdays, overriding arbitrary_unit_cost. | [optional] |
|
|
18
|
+
| **arbitrary_unit_cost_tuesday** | **Float** | Price on Tuesdays, overriding arbitrary_unit_cost. | [optional] |
|
|
19
|
+
| **arbitrary_unit_cost_wednesday** | **Float** | Price on Wednesdays, overriding arbitrary_unit_cost. | [optional] |
|
|
20
|
+
| **cjson_size** | **Integer** | Read only. Size of the offer's container JSON in bytes. A large value here alongside a low element count is the signature of a hand pasted HTML dump. | [optional] |
|
|
21
|
+
| **end_date** | **String** | Last day the offer runs, as YYYY-MM-DD, inclusive. Omitted or null for no end. | [optional] |
|
|
22
|
+
| **everflow_advertiser_event_id** | **String** | Everflow advertiser event id recorded when the offer is accepted. Omitted or null for none. | [optional] |
|
|
23
|
+
| **first_time_item** | **Boolean** | Show only to shoppers who have not bought the upsell item before. | [optional] |
|
|
24
|
+
| **first_time_store** | **Boolean** | Show only to shoppers buying from this store for the first time. | [optional] |
|
|
25
|
+
| **free_shipping** | **Boolean** | Whether the upsell item ships free. | [optional] |
|
|
26
|
+
| **has_container** | **Boolean** | Read only. Whether a container has been authored for this offer. | [optional] |
|
|
27
|
+
| **has_everflow_configured** | **Boolean** | Read only. Whether the merchant has Everflow set up. | [optional] |
|
|
28
|
+
| **has_loyalty_configured** | **Boolean** | Read only. Whether the merchant has loyalty set up, so the loyalty tier lists apply. | [optional] |
|
|
29
|
+
| **has_towerdata_configured** | **Boolean** | Read only. Whether the merchant has TowerData set up, so the age and gender lists apply. | [optional] |
|
|
30
|
+
| **hash_sha256** | **String** | Read only. Hash of the offer's writable fields. Send it in If-Match on an update. | [optional] |
|
|
31
|
+
| **item_logic_suppression** | [**SfvbUpsellItemLogic**](SfvbUpsellItemLogic.md) | | [optional] |
|
|
32
|
+
| **item_logic_trigger** | [**SfvbUpsellItemLogic**](SfvbUpsellItemLogic.md) | | [optional] |
|
|
33
|
+
| **lock_shipping** | **Boolean** | Whether the shipping method is locked once the offer is accepted. | [optional] |
|
|
34
|
+
| **max_quantity** | **Integer** | Most units a shopper can take. Omitted or null for no limit. | [optional] |
|
|
35
|
+
| **migrate_accessory_item_ids_from** | **Array<String>** | Accessory items to migrate from, paired by position with migrate_accessory_item_ids_to. | [optional] |
|
|
36
|
+
| **migrate_accessory_item_ids_to** | **Array<String>** | Accessory items to migrate to, paired by position with migrate_accessory_item_ids_from. | [optional] |
|
|
37
|
+
| **name** | **String** | Offer name, at most 50 characters. | [optional] |
|
|
38
|
+
| **offsite_content_url** | **String** | URL of offsite content shown instead of the container. Omitted or null for none. | [optional] |
|
|
39
|
+
| **out_of_stock_upsell_item_ids** | **Array<String>** | Read only. Upsell items that are out of stock now, so the offer would not be shown. | [optional] |
|
|
40
|
+
| **path_name** | **String** | Read only. Name of the upsell path this offer was last served on. Written by checkout traffic, so it is empty until shoppers have seen the offer and can be stale. Use referenced_by_path_oids for the configured answer. | [optional] |
|
|
41
|
+
| **record_as_regular_item** | **Boolean** | Whether the accepted item is recorded as a regular item rather than an upsell. | [optional] |
|
|
42
|
+
| **referenced_by_path_oids** | **Array<Integer>** | Read only. The storefront's upsell paths whose steps use this offer, as an offer or a downsell. | [optional] |
|
|
43
|
+
| **removable_on_confirmation** | **Boolean** | Whether the shopper can remove the accepted item on the confirmation step. | [optional] |
|
|
44
|
+
| **remove_accessory_item_ids** | **Array<String>** | Accessory items removed when the offer is accepted. | [optional] |
|
|
45
|
+
| **remove_trigger_item** | **Boolean** | Whether accepting the offer removes the item that triggered it (a swap rather than an add). | [optional] |
|
|
46
|
+
| **skip_previous_customers** | **Boolean** | Do not show to previous customers. | [optional] |
|
|
47
|
+
| **start_date** | **String** | First day the offer runs, as YYYY-MM-DD. Omitted or null for no start. | [optional] |
|
|
48
|
+
| **stats** | [**SfvbUpsellStats**](SfvbUpsellStats.md) | | [optional] |
|
|
49
|
+
| **storefront_oid** | **Integer** | Read only. Storefront oid. | [optional] |
|
|
50
|
+
| **suppress_large** | **Boolean** | Do not show on large screens. | [optional] |
|
|
51
|
+
| **suppress_medium** | **Boolean** | Do not show on medium screens. | [optional] |
|
|
52
|
+
| **suppress_small** | **Boolean** | Do not show on small screens. | [optional] |
|
|
53
|
+
| **suppression_country_codes** | **Array<String>** | Shipping countries that stop the offer from showing. | [optional] |
|
|
54
|
+
| **suppression_loyalty_tier_oids** | **Array<Integer>** | Loyalty tiers that stop the offer from showing. | [optional] |
|
|
55
|
+
| **suppression_payment_methods** | **Array<String>** | Payment methods that stop the offer from showing. | [optional] |
|
|
56
|
+
| **suppression_shipping_methods** | **Array<String>** | Shipping methods that stop the offer from showing. | [optional] |
|
|
57
|
+
| **suppression_state_codes** | **Array<String>** | Shipping states that stop the offer from showing. | [optional] |
|
|
58
|
+
| **suppression_tags** | **Array<String>** | Customer tags that stop the offer from showing. | [optional] |
|
|
14
59
|
| **test_only** | **Boolean** | Whether the offer is restricted to test traffic. | [optional] |
|
|
15
|
-
| **
|
|
60
|
+
| **trigger_ages** | **Array<String>** | TowerData age bands the offer is shown to. 18-20, 21-24, 25-34, 35-44, 45-54, 55-64, 65+ or Unknown. | [optional] |
|
|
61
|
+
| **trigger_country_codes** | **Array<String>** | Shipping countries (ISO 3166 two letter codes) that trigger the offer. | [optional] |
|
|
62
|
+
| **trigger_genders** | **Array<String>** | TowerData genders the offer is shown to. Male, Female or Unknown. | [optional] |
|
|
63
|
+
| **trigger_loyalty_tier_oids** | **Array<Integer>** | Loyalty tiers that trigger the offer. Each must be one of the merchant's loyalty tiers. | [optional] |
|
|
64
|
+
| **trigger_payment_methods** | **Array<String>** | Payment methods that trigger the offer. Each must be one of the merchant's payment methods. | [optional] |
|
|
65
|
+
| **trigger_shipping_methods** | **Array<String>** | Shipping methods that trigger the offer. Each must be one of the merchant's shipping methods. | [optional] |
|
|
66
|
+
| **trigger_state_codes** | **Array<String>** | Shipping states that trigger the offer. | [optional] |
|
|
67
|
+
| **trigger_tags** | **Array<String>** | Customer tags that trigger the offer. | [optional] |
|
|
68
|
+
| **upsell_item_id_javascript** | **String** | JavaScript that chooses the upsell item at runtime. Omitted or null for none. | [optional] |
|
|
69
|
+
| **upsell_item_ids** | **Array<String>** | The items offered. Every item id must exist on the merchant account. | [optional] |
|
|
70
|
+
| **upsell_offer_oid** | **Integer** | Read only. Upsell offer oid. | [optional] |
|
|
16
71
|
|
|
17
72
|
## Example
|
|
18
73
|
|
|
@@ -22,12 +77,67 @@ require 'ultracart_api'
|
|
|
22
77
|
instance = UltracartClient::SfvbUpsellOffer.new(
|
|
23
78
|
active: null,
|
|
24
79
|
active_overall: null,
|
|
80
|
+
add_accessory_item_ids: null,
|
|
81
|
+
adjust_trigger_item_option: null,
|
|
82
|
+
allow_upsell_item_in_cart_already: null,
|
|
83
|
+
arbitrary_unit_cost: null,
|
|
84
|
+
arbitrary_unit_cost_friday: null,
|
|
85
|
+
arbitrary_unit_cost_monday: null,
|
|
86
|
+
arbitrary_unit_cost_saturday: null,
|
|
87
|
+
arbitrary_unit_cost_sunday: null,
|
|
88
|
+
arbitrary_unit_cost_thursday: null,
|
|
89
|
+
arbitrary_unit_cost_tuesday: null,
|
|
90
|
+
arbitrary_unit_cost_wednesday: null,
|
|
25
91
|
cjson_size: null,
|
|
92
|
+
end_date: null,
|
|
93
|
+
everflow_advertiser_event_id: null,
|
|
94
|
+
first_time_item: null,
|
|
95
|
+
first_time_store: null,
|
|
96
|
+
free_shipping: null,
|
|
26
97
|
has_container: null,
|
|
98
|
+
has_everflow_configured: null,
|
|
99
|
+
has_loyalty_configured: null,
|
|
100
|
+
has_towerdata_configured: null,
|
|
101
|
+
hash_sha256: null,
|
|
102
|
+
item_logic_suppression: null,
|
|
103
|
+
item_logic_trigger: null,
|
|
104
|
+
lock_shipping: null,
|
|
105
|
+
max_quantity: null,
|
|
106
|
+
migrate_accessory_item_ids_from: null,
|
|
107
|
+
migrate_accessory_item_ids_to: null,
|
|
27
108
|
name: null,
|
|
109
|
+
offsite_content_url: null,
|
|
110
|
+
out_of_stock_upsell_item_ids: null,
|
|
28
111
|
path_name: null,
|
|
112
|
+
record_as_regular_item: null,
|
|
113
|
+
referenced_by_path_oids: null,
|
|
114
|
+
removable_on_confirmation: null,
|
|
115
|
+
remove_accessory_item_ids: null,
|
|
116
|
+
remove_trigger_item: null,
|
|
117
|
+
skip_previous_customers: null,
|
|
118
|
+
start_date: null,
|
|
119
|
+
stats: null,
|
|
29
120
|
storefront_oid: null,
|
|
121
|
+
suppress_large: null,
|
|
122
|
+
suppress_medium: null,
|
|
123
|
+
suppress_small: null,
|
|
124
|
+
suppression_country_codes: null,
|
|
125
|
+
suppression_loyalty_tier_oids: null,
|
|
126
|
+
suppression_payment_methods: null,
|
|
127
|
+
suppression_shipping_methods: null,
|
|
128
|
+
suppression_state_codes: null,
|
|
129
|
+
suppression_tags: null,
|
|
30
130
|
test_only: null,
|
|
131
|
+
trigger_ages: null,
|
|
132
|
+
trigger_country_codes: null,
|
|
133
|
+
trigger_genders: null,
|
|
134
|
+
trigger_loyalty_tier_oids: null,
|
|
135
|
+
trigger_payment_methods: null,
|
|
136
|
+
trigger_shipping_methods: null,
|
|
137
|
+
trigger_state_codes: null,
|
|
138
|
+
trigger_tags: null,
|
|
139
|
+
upsell_item_id_javascript: null,
|
|
140
|
+
upsell_item_ids: null,
|
|
31
141
|
upsell_offer_oid: null
|
|
32
142
|
)
|
|
33
143
|
```
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# UltracartClient::SfvbUpsellPath
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **active** | **Boolean** | Whether the path runs. Setting it true, or changing a path that is active, needs the sfvb_publish scope. | [optional] |
|
|
8
|
+
| **archived** | **Boolean** | Read only here. Filed out of the default list. Change it with the archive and unarchive calls. | [optional] |
|
|
9
|
+
| **customer_type** | **String** | Which customers the path runs for. all (the default), new or existing. | [optional] |
|
|
10
|
+
| **hash_sha256** | **String** | Read only. Hash of the path's writable fields. Send it in If-Match on an update. | [optional] |
|
|
11
|
+
| **item_logic_suppression** | [**SfvbUpsellItemLogic**](SfvbUpsellItemLogic.md) | | [optional] |
|
|
12
|
+
| **item_logic_trigger** | [**SfvbUpsellItemLogic**](SfvbUpsellItemLogic.md) | | [optional] |
|
|
13
|
+
| **location** | **String** | Where in checkout the path runs. pre checkout or post checkout (the default). | [optional] |
|
|
14
|
+
| **maximum_offers** | **Integer** | Most offers one shopper is shown on this path. Omitted or null for no limit. | [optional] |
|
|
15
|
+
| **name** | **String** | Path name, at most 100 characters. | [optional] |
|
|
16
|
+
| **path_order** | **Integer** | Read only here. Position among this storefront's paths, first to last. Change it with the move call. | [optional] |
|
|
17
|
+
| **path_type** | **String** | cascading (the default) or single. | [optional] |
|
|
18
|
+
| **towerdata_trigger** | [**SfvbUpsellTowerData**](SfvbUpsellTowerData.md) | | [optional] |
|
|
19
|
+
| **trigger_item_ids** | **Array<String>** | Read only. The legacy flat trigger list, derived from item_logic_trigger when its logic is contains_any and empty otherwise. | [optional] |
|
|
20
|
+
| **trigger_tags** | **Array<String>** | Customer tags that trigger the path. | [optional] |
|
|
21
|
+
| **upsell_path_oid** | **Integer** | Read only. Upsell path oid. | [optional] |
|
|
22
|
+
| **variations** | [**Array<SfvbUpsellVariation>**](SfvbUpsellVariation.md) | The variations shoppers are split between. At least one. | [optional] |
|
|
23
|
+
|
|
24
|
+
## Example
|
|
25
|
+
|
|
26
|
+
```ruby
|
|
27
|
+
require 'ultracart_api'
|
|
28
|
+
|
|
29
|
+
instance = UltracartClient::SfvbUpsellPath.new(
|
|
30
|
+
active: null,
|
|
31
|
+
archived: null,
|
|
32
|
+
customer_type: null,
|
|
33
|
+
hash_sha256: null,
|
|
34
|
+
item_logic_suppression: null,
|
|
35
|
+
item_logic_trigger: null,
|
|
36
|
+
location: null,
|
|
37
|
+
maximum_offers: null,
|
|
38
|
+
name: null,
|
|
39
|
+
path_order: null,
|
|
40
|
+
path_type: null,
|
|
41
|
+
towerdata_trigger: null,
|
|
42
|
+
trigger_item_ids: null,
|
|
43
|
+
trigger_tags: null,
|
|
44
|
+
upsell_path_oid: null,
|
|
45
|
+
variations: null
|
|
46
|
+
)
|
|
47
|
+
```
|
|
48
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# UltracartClient::SfvbUpsellPathDuplicateRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **variation** | **Integer** | Zero-based index into the path's variations. When set, that variation is copied and appended to the same path. Omitted or null copies the whole path, placed right after it. | [optional] |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'ultracart_api'
|
|
13
|
+
|
|
14
|
+
instance = UltracartClient::SfvbUpsellPathDuplicateRequest.new(
|
|
15
|
+
variation: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# UltracartClient::SfvbUpsellPathMoveRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **to** | **String** | up, down, top or bottom. The paths are renumbered first to last afterwards. | [optional] |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'ultracart_api'
|
|
13
|
+
|
|
14
|
+
instance = UltracartClient::SfvbUpsellPathMoveRequest.new(
|
|
15
|
+
to: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# UltracartClient::SfvbUpsellPathsResponse
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **max_results** | **Integer** | Page size that was applied. | [optional] |
|
|
8
|
+
| **next_offset** | **Integer** | Offset of the next page. Omitted on the last page. | [optional] |
|
|
9
|
+
| **offset** | **Integer** | Offset this page starts at. | [optional] |
|
|
10
|
+
| **result_count** | **Integer** | Paths on this page. | [optional] |
|
|
11
|
+
| **total_count** | **Integer** | Paths matching the filters, across all pages. | [optional] |
|
|
12
|
+
| **upsell_paths** | [**Array<SfvbUpsellPath>**](SfvbUpsellPath.md) | The paths on this page, first to last. | [optional] |
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
require 'ultracart_api'
|
|
18
|
+
|
|
19
|
+
instance = UltracartClient::SfvbUpsellPathsResponse.new(
|
|
20
|
+
max_results: null,
|
|
21
|
+
next_offset: null,
|
|
22
|
+
offset: null,
|
|
23
|
+
result_count: null,
|
|
24
|
+
total_count: null,
|
|
25
|
+
upsell_paths: null
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# UltracartClient::SfvbUpsellStats
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **abandons** | **Integer** | Times the shopper left while the offer was showing. | [optional] |
|
|
8
|
+
| **average_visitor_net_profit** | **Float** | Profit per view after refunds. | [optional] |
|
|
9
|
+
| **average_visitor_net_revenue** | **Float** | Revenue per view after refunds. | [optional] |
|
|
10
|
+
| **average_visitor_profit** | **Float** | Profit per view. | [optional] |
|
|
11
|
+
| **average_visitor_revenue** | **Float** | Revenue per view. | [optional] |
|
|
12
|
+
| **conversion_rate** | **Float** | Transactions divided by views, as a percentage. | [optional] |
|
|
13
|
+
| **declines** | **Integer** | Times the offer was declined. | [optional] |
|
|
14
|
+
| **per_sale_net_profit** | **Float** | Profit per transaction after refunds. | [optional] |
|
|
15
|
+
| **per_sale_net_revenue** | **Float** | Revenue per transaction after refunds. | [optional] |
|
|
16
|
+
| **per_sale_profit** | **Float** | Profit per transaction. | [optional] |
|
|
17
|
+
| **per_sale_revenue** | **Float** | Revenue per transaction. | [optional] |
|
|
18
|
+
| **profit** | **Float** | Profit from accepted offers. | [optional] |
|
|
19
|
+
| **refunded_profit** | **Float** | Profit later refunded. | [optional] |
|
|
20
|
+
| **refunded_quantity** | **Integer** | Quantity later refunded. | [optional] |
|
|
21
|
+
| **refunded_revenue** | **Float** | Revenue later refunded. | [optional] |
|
|
22
|
+
| **revenue** | **Float** | Revenue from accepted offers. | [optional] |
|
|
23
|
+
| **total_visitors_across_all_paths** | **Integer** | On a path variation only. Distinct visitors shown any upsell on this storefront in the window, the denominator for comparing variations. | [optional] |
|
|
24
|
+
| **transactions** | **Integer** | Distinct sessions that accepted the offer and were charged successfully. | [optional] |
|
|
25
|
+
| **views** | **Integer** | Distinct sessions that were shown the offer. | [optional] |
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
|
|
29
|
+
```ruby
|
|
30
|
+
require 'ultracart_api'
|
|
31
|
+
|
|
32
|
+
instance = UltracartClient::SfvbUpsellStats.new(
|
|
33
|
+
abandons: null,
|
|
34
|
+
average_visitor_net_profit: null,
|
|
35
|
+
average_visitor_net_revenue: null,
|
|
36
|
+
average_visitor_profit: null,
|
|
37
|
+
average_visitor_revenue: null,
|
|
38
|
+
conversion_rate: null,
|
|
39
|
+
declines: null,
|
|
40
|
+
per_sale_net_profit: null,
|
|
41
|
+
per_sale_net_revenue: null,
|
|
42
|
+
per_sale_profit: null,
|
|
43
|
+
per_sale_revenue: null,
|
|
44
|
+
profit: null,
|
|
45
|
+
refunded_profit: null,
|
|
46
|
+
refunded_quantity: null,
|
|
47
|
+
refunded_revenue: null,
|
|
48
|
+
revenue: null,
|
|
49
|
+
total_visitors_across_all_paths: null,
|
|
50
|
+
transactions: null,
|
|
51
|
+
views: null
|
|
52
|
+
)
|
|
53
|
+
```
|
|
54
|
+
|