ultracart_api 4.1.199 → 4.1.201

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -2
  3. data/docs/SfvbApi.md +578 -13
  4. data/docs/SfvbApprovalCreateRequest.md +6 -0
  5. data/docs/SfvbApprovalParams.md +23 -3
  6. data/docs/SfvbContainerVersion.md +1 -1
  7. data/docs/SfvbEvent.md +28 -0
  8. data/docs/SfvbEventsAuthRequest.md +18 -0
  9. data/docs/SfvbEventsAuthResponse.md +22 -0
  10. data/docs/SfvbEventsResponse.md +22 -0
  11. data/docs/SfvbI18nMessageValue.md +1 -1
  12. data/docs/SfvbItemAttributeBatchRequest.md +20 -0
  13. data/docs/SfvbItemAttributeBatchResponse.md +40 -0
  14. data/docs/SfvbItemAttributeBatchRow.md +30 -0
  15. data/docs/SfvbItemAttributeBatchRowResult.md +36 -0
  16. data/docs/SfvbItemPricing.md +38 -0
  17. data/docs/SfvbItemPricingRequest.md +32 -0
  18. data/docs/SfvbItemRelated.md +28 -0
  19. data/docs/SfvbItemRelatedItem.md +22 -0
  20. data/docs/SfvbItemRelatedRequest.md +22 -0
  21. data/docs/SfvbItemVolumeDiscount.md +20 -0
  22. data/docs/SfvbThemeJobResponse.md +3 -3
  23. data/lib/ultracart_api/api/sfvb_api.rb +831 -72
  24. data/lib/ultracart_api/models/sfvb_approval_create_request.rb +33 -3
  25. data/lib/ultracart_api/models/sfvb_approval_params.rb +142 -6
  26. data/lib/ultracart_api/models/sfvb_container_version.rb +1 -1
  27. data/lib/ultracart_api/models/sfvb_event.rb +270 -0
  28. data/lib/ultracart_api/models/sfvb_events_auth_request.rb +222 -0
  29. data/lib/ultracart_api/models/sfvb_events_auth_response.rb +240 -0
  30. data/lib/ultracart_api/models/sfvb_events_response.rb +242 -0
  31. data/lib/ultracart_api/models/sfvb_i18n_message_value.rb +1 -1
  32. data/lib/ultracart_api/models/sfvb_item_attribute_batch_request.rb +232 -0
  33. data/lib/ultracart_api/models/sfvb_item_attribute_batch_response.rb +332 -0
  34. data/lib/ultracart_api/models/sfvb_item_attribute_batch_row.rb +280 -0
  35. data/lib/ultracart_api/models/sfvb_item_attribute_batch_row_result.rb +344 -0
  36. data/lib/ultracart_api/models/sfvb_item_pricing.rb +322 -0
  37. data/lib/ultracart_api/models/sfvb_item_pricing_request.rb +292 -0
  38. data/lib/ultracart_api/models/sfvb_item_related.rb +272 -0
  39. data/lib/ultracart_api/models/sfvb_item_related_item.rb +274 -0
  40. data/lib/ultracart_api/models/sfvb_item_related_request.rb +242 -0
  41. data/lib/ultracart_api/models/sfvb_item_volume_discount.rb +230 -0
  42. data/lib/ultracart_api/models/sfvb_theme_job_response.rb +3 -3
  43. data/lib/ultracart_api/version.rb +1 -1
  44. data/lib/ultracart_api.rb +14 -0
  45. metadata +30 -2
@@ -6,6 +6,9 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **action** | **String** | The gated action to approve. | [optional] |
8
8
  | **content** | **String** | For a file.put_script write, the exact script to be written, at most 256 KB. UltraCart reviews it and keeps only its hash, so send the same bytes again on the write. Leave it out for a revert, which names params.version. | [optional] |
9
+ | **experiment_start** | [**SfvbExperimentStartRequest**](SfvbExperimentStartRequest.md) | | [optional] |
10
+ | **item_attribute_rows** | [**Array<SfvbItemAttributeBatchRow>**](SfvbItemAttributeBatchRow.md) | For item.attribute_batch, exactly the rows the batch will send - the dry run's change rows, each with merchant_item_oid and current_sha256. UltraCart keeps only their hash. | [optional] |
11
+ | **item_pricing** | [**SfvbItemPricingRequest**](SfvbItemPricingRequest.md) | | [optional] |
9
12
  | **params** | [**SfvbApprovalParams**](SfvbApprovalParams.md) | | [optional] |
10
13
  | **reason** | **String** | Why the agent wants to do this, in a sentence. Shown to the person as unverified text, capped at 500 characters. | [optional] |
11
14
  | **redirect_rows** | [**Array<SfvbRedirectDeleteRow>**](SfvbRedirectDeleteRow.md) | For redirect.delete_batch, exactly the rows the batch delete will send, up to 5,000, each with its hash_sha256. UltraCart keeps only their hash. | [optional] |
@@ -18,6 +21,9 @@ require 'ultracart_api'
18
21
  instance = UltracartClient::SfvbApprovalCreateRequest.new(
19
22
  action: null,
20
23
  content: null,
24
+ experiment_start: null,
25
+ item_attribute_rows: null,
26
+ item_pricing: null,
21
27
  params: null,
22
28
  reason: null,
23
29
  redirect_rows: null
@@ -4,12 +4,22 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
+ | **attribute_names** | **Array<String>** | For item.attribute_batch, the attributes the batch would change. Set by the server. | [optional] |
7
8
  | **blog_post_oid** | **Integer** | The blog post, for blog_post.delete. | [optional] |
8
9
  | **content_sha256** | **String** | For file.put_script, the SHA-256 of the exact bytes approved. Set by the server, never by the caller. The write must send bytes with this hash. | [optional] |
9
- | **path** | **String** | The file path, for file.delete and file.put_script. Exactly as the gated call will send it. | [optional] |
10
- | **rows_sha256** | **String** | For redirect.delete_batch, the plan_hash of the exact rows approved. Set by the server. The batch delete must send rows with this hash. | [optional] |
10
+ | **experiment_oid** | **Integer** | For experiment.end, the experiment to end. | [optional] |
11
+ | **item_count** | **Integer** | For item.attribute_batch, how many items the batch would change when it was requested. Set by the server. | [optional] |
12
+ | **merchant_item_oid** | **Integer** | For item.pricing, the item whose pricing changes. | [optional] |
13
+ | **path** | **String** | The file path, for file.delete and file.put_script, or the page path for experiment.start of a page experiment. Exactly as the gated call will send it. | [optional] |
14
+ | **request_sha256** | **String** | For experiment.start of a url experiment, the hash of the checked experiment approved, and for item.pricing the hash of the change. Set by the server. The gated call must send the same. | [optional] |
15
+ | **rows_sha256** | **String** | For redirect.delete_batch and item.attribute_batch, the plan_hash of the exact rows approved. Set by the server. The batch must send rows with this hash. | [optional] |
11
16
  | **rule_count** | **Integer** | For redirect.delete_batch, how many rules the batch would delete when it was requested. Set by the server. | [optional] |
17
+ | **slot** | **String** | For experiment.start of a page experiment, the page body name. Defaults to body. | [optional] |
18
+ | **upsell_kind** | **String** | For upsell.enable, what to switch on. | [optional] |
19
+ | **upsell_oid** | **Integer** | For upsell.enable, the oid of the offer or path to switch on. | [optional] |
12
20
  | **version** | **Integer** | For file.put_script, the history version a revert restores. Leave it out, and send content instead, for a write. | [optional] |
21
+ | **widget_id** | **String** | For experiment.start of a page experiment, the id of the experiment element. | [optional] |
22
+ | **winner_variation_number** | **Integer** | For experiment.end, the winning variation. Leave it out to end without a winner, and leave it out of the end call too. | [optional] |
13
23
 
14
24
  ## Example
15
25
 
@@ -17,12 +27,22 @@
17
27
  require 'ultracart_api'
18
28
 
19
29
  instance = UltracartClient::SfvbApprovalParams.new(
30
+ attribute_names: null,
20
31
  blog_post_oid: null,
21
32
  content_sha256: null,
33
+ experiment_oid: null,
34
+ item_count: null,
35
+ merchant_item_oid: null,
22
36
  path: null,
37
+ request_sha256: null,
23
38
  rows_sha256: null,
24
39
  rule_count: null,
25
- version: null
40
+ slot: null,
41
+ upsell_kind: null,
42
+ upsell_oid: null,
43
+ version: null,
44
+ widget_id: null,
45
+ winner_variation_number: null
26
46
  )
27
47
  ```
28
48
 
@@ -8,7 +8,7 @@
8
8
  | **comment** | **String** | Comment recorded with the write that replaced this version. | [optional] |
9
9
  | **container_history_oid** | **Integer** | History record oid. Pass to the revert operation on the owning container. Absent on the entry marked current, which holds the value stored right now, has no history row of its own, and so cannot be fetched or reverted to. | [optional] |
10
10
  | **container_name** | **String** | Container name, where the owner has more than one container. | [optional] |
11
- | **created_dts** | **String** | When this snapshot was taken. | [optional] |
11
+ | **created_dts** | **String** | When this snapshot was taken, ISO 8601 UTC. | [optional] |
12
12
  | **current** | **Boolean** | True for the value currently stored. | [optional] |
13
13
  | **edited_by** | **String** | Login of whoever caused this snapshot. | [optional] |
14
14
  | **hash_sha256** | **String** | SHA-256 of this version's CJSON. | [optional] |
data/docs/SfvbEvent.md ADDED
@@ -0,0 +1,28 @@
1
+ # UltracartClient::SfvbEvent
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **event_dts** | **String** | When it happened, ISO 8601. | [optional] |
8
+ | **event_id** | **String** | Time-ordered id. Pass the last one seen as after to replay what came since. | [optional] |
9
+ | **object_id** | **String** | The id of what changed, such as the approval_id. | [optional] |
10
+ | **object_type** | **String** | What changed, such as approval. | [optional] |
11
+ | **storefront_oid** | **Integer** | The storefront it concerns. Empty for merchant-level objects. | [optional] |
12
+ | **type** | **String** | approval.decided (approved, denied, cancelled or refused by the script review) or approval.ready (the review finished and the person can decide). | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'ultracart_api'
18
+
19
+ instance = UltracartClient::SfvbEvent.new(
20
+ event_dts: null,
21
+ event_id: null,
22
+ object_id: null,
23
+ object_type: null,
24
+ storefront_oid: null,
25
+ type: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,18 @@
1
+ # UltracartClient::SfvbEventsAuthRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **storefront_oids** | **Array<Integer>** | Only events about these storefronts, plus merchant-level ones. Leave it out for every storefront. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'ultracart_api'
13
+
14
+ instance = UltracartClient::SfvbEventsAuthRequest.new(
15
+ storefront_oids: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,22 @@
1
+ # UltracartClient::SfvbEventsAuthResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **expires_dts** | **String** | When the token stops working, ISO 8601. Ask for a new one to reconnect. | [optional] |
8
+ | **jwt** | **String** | The connect token on its own. | [optional] |
9
+ | **websocket_url** | **String** | The websocket URL to open, with the token on it. Open it before expires_dts; each token opens one connection. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'ultracart_api'
15
+
16
+ instance = UltracartClient::SfvbEventsAuthResponse.new(
17
+ expires_dts: null,
18
+ jwt: null,
19
+ websocket_url: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,22 @@
1
+ # UltracartClient::SfvbEventsResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **events** | [**Array<SfvbEvent>**](SfvbEvent.md) | Oldest first. | [optional] |
8
+ | **more** | **Boolean** | True when more events follow. Ask again with after set to the last event_id. | [optional] |
9
+ | **resync_required** | **Boolean** | True when the cursor is older than the 72 hours of events kept. Re-list what you were waiting on instead of replaying. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'ultracart_api'
15
+
16
+ instance = UltracartClient::SfvbEventsResponse.new(
17
+ events: null,
18
+ more: null,
19
+ resync_required: null
20
+ )
21
+ ```
22
+
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **language** | **String** | The language code. ENG changes the English source, which clears its machine translations. | [optional] |
8
- | **text** | **String** | The new text. Empty text is refused; reset the message instead. | [optional] |
8
+ | **text** | **String** | The new text. Empty text removes this language's translation, so it goes back to machine translation. Empty English text is refused. | [optional] |
9
9
 
10
10
  ## Example
11
11
 
@@ -0,0 +1,20 @@
1
+ # UltracartClient::SfvbItemAttributeBatchRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **plan_hash** | **String** | From the dry run. Required to apply, with exactly the rows the dry run answered as change. | [optional] |
8
+ | **rows** | [**Array<SfvbItemAttributeBatchRow>**](SfvbItemAttributeBatchRow.md) | The changes, up to 5,000 rows on up to 500 items. Each item and name at most once. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'ultracart_api'
14
+
15
+ instance = UltracartClient::SfvbItemAttributeBatchRequest.new(
16
+ plan_hash: null,
17
+ rows: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,40 @@
1
+ # UltracartClient::SfvbItemAttributeBatchResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **applied** | **Boolean** | True after an apply. | [optional] |
8
+ | **change** | **Integer** | Rows that would change, from a dry run. | [optional] |
9
+ | **error** | **Integer** | Rows on an item that could not be saved, after an apply. | [optional] |
10
+ | **invalid** | **Integer** | Rows refused by the attribute checks. | [optional] |
11
+ | **item_count** | **Integer** | Distinct items with at least one row that would change, or did. | [optional] |
12
+ | **not_found** | **Integer** | Rows naming an item that does not exist. | [optional] |
13
+ | **plan_hash** | **String** | The hash of the rows answered as change, with their current_sha256. Apply exactly those rows with this hash. | [optional] |
14
+ | **rows** | [**Array<SfvbItemAttributeBatchRowResult>**](SfvbItemAttributeBatchRowResult.md) | One result per row, in request order. | [optional] |
15
+ | **stale** | **Integer** | Rows skipped because the value is not the one expected. | [optional] |
16
+ | **total** | **Integer** | Rows checked. | [optional] |
17
+ | **unchanged** | **Integer** | Rows whose value is already the new one. | [optional] |
18
+ | **updated** | **Integer** | Rows written, after an apply. | [optional] |
19
+
20
+ ## Example
21
+
22
+ ```ruby
23
+ require 'ultracart_api'
24
+
25
+ instance = UltracartClient::SfvbItemAttributeBatchResponse.new(
26
+ applied: null,
27
+ change: null,
28
+ error: null,
29
+ invalid: null,
30
+ item_count: null,
31
+ not_found: null,
32
+ plan_hash: null,
33
+ rows: null,
34
+ stale: null,
35
+ total: null,
36
+ unchanged: null,
37
+ updated: null
38
+ )
39
+ ```
40
+
@@ -0,0 +1,30 @@
1
+ # UltracartClient::SfvbItemAttributeBatchRow
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **current_sha256** | **String** | The current_sha256 the dry run answered for this row. Required to apply; a row whose value changed since is skipped as stale. | [optional] |
8
+ | **expected_value** | **String** | For a dry run, the value the caller believes the item holds now. A different current value makes the row stale. | [optional] |
9
+ | **merchant_item_id** | **String** | The item by its merchant item id, for a dry run. Send this or merchant_item_oid, not both. | [optional] |
10
+ | **merchant_item_oid** | **Integer** | The item. Required to apply; the dry run answers it for a row that named merchant_item_id. | [optional] |
11
+ | **name** | **String** | The attribute name, matched without regard to case. | [optional] |
12
+ | **type** | **String** | The attribute type, used only when no template on the item's pages declares the name. | [optional] |
13
+ | **value** | **String** | The new value. An empty string clears the attribute. | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'ultracart_api'
19
+
20
+ instance = UltracartClient::SfvbItemAttributeBatchRow.new(
21
+ current_sha256: null,
22
+ expected_value: null,
23
+ merchant_item_id: null,
24
+ merchant_item_oid: null,
25
+ name: null,
26
+ type: null,
27
+ value: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,36 @@
1
+ # UltracartClient::SfvbItemAttributeBatchRowResult
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **current_present** | **Boolean** | Whether the item had the attribute before this batch. | [optional] |
8
+ | **current_sha256** | **String** | The hash of the value before this batch. Send it back with the row to apply. | [optional] |
9
+ | **current_value** | **String** | The value before this batch, for a backup. Empty when the item has no such attribute. | [optional] |
10
+ | **merchant_item_id** | **String** | The item's merchant item id. Absent when not_found. | [optional] |
11
+ | **merchant_item_oid** | **Integer** | The item. Absent when not_found. | [optional] |
12
+ | **message** | **String** | Why a row is invalid, stale or error. | [optional] |
13
+ | **name** | **String** | The attribute name as sent. | [optional] |
14
+ | **result** | **String** | change or unchanged from a dry run, updated after an apply, stale (the value differs from expected_value or changed since the dry run), not_found, invalid, or error when the item could not be saved. | [optional] |
15
+ | **row** | **Integer** | The row's position in the request, from 1. | [optional] |
16
+ | **type** | **String** | The type the value is checked and stored as - the declaring template's, else the one sent. | [optional] |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'ultracart_api'
22
+
23
+ instance = UltracartClient::SfvbItemAttributeBatchRowResult.new(
24
+ current_present: null,
25
+ current_sha256: null,
26
+ current_value: null,
27
+ merchant_item_id: null,
28
+ merchant_item_oid: null,
29
+ message: null,
30
+ name: null,
31
+ result: null,
32
+ row: null,
33
+ type: null
34
+ )
35
+ ```
36
+
@@ -0,0 +1,38 @@
1
+ # UltracartClient::SfvbItemPricing
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **cost** | **Float** | The price. | [optional] |
8
+ | **currency_code** | **String** | The currency every amount is in. Read only here. | [optional] |
9
+ | **hash_sha256** | **String** | The hash of the pricing above. Send it as If-Match to change it. | [optional] |
10
+ | **merchant_item_id** | **String** | The item's merchant item id. | [optional] |
11
+ | **merchant_item_oid** | **Integer** | The item. | [optional] |
12
+ | **msrp** | **Float** | The manufacturer suggested retail price, when set. | [optional] |
13
+ | **sale_active** | **Boolean** | Whether the sale price applies right now. | [optional] |
14
+ | **sale_cost** | **Float** | The sale price, when a sale is set. | [optional] |
15
+ | **sale_end** | **String** | When the sale ends, ISO 8601. | [optional] |
16
+ | **sale_start** | **String** | When the sale starts, ISO 8601. | [optional] |
17
+ | **volume_discounts** | [**Array<SfvbItemVolumeDiscount>**](SfvbItemVolumeDiscount.md) | Retail quantity breaks, lowest quantity first. Wholesale pricing tiers are not shown or changed here. | [optional] |
18
+
19
+ ## Example
20
+
21
+ ```ruby
22
+ require 'ultracart_api'
23
+
24
+ instance = UltracartClient::SfvbItemPricing.new(
25
+ cost: null,
26
+ currency_code: null,
27
+ hash_sha256: null,
28
+ merchant_item_id: null,
29
+ merchant_item_oid: null,
30
+ msrp: null,
31
+ sale_active: null,
32
+ sale_cost: null,
33
+ sale_end: null,
34
+ sale_start: null,
35
+ volume_discounts: null
36
+ )
37
+ ```
38
+
@@ -0,0 +1,32 @@
1
+ # UltracartClient::SfvbItemPricingRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **clear_msrp** | **Boolean** | True to remove the MSRP. Not with msrp. | [optional] |
8
+ | **clear_sale** | **Boolean** | True to remove the sale. Not with sale_cost. | [optional] |
9
+ | **cost** | **Float** | The new price, 0 or more. | [optional] |
10
+ | **msrp** | **Float** | The manufacturer suggested retail price, more than 0 (or 0 when the price is 0). | [optional] |
11
+ | **sale_cost** | **Float** | The sale price, 0 or more. Sent with sale_start and sale_end, all three or none. | [optional] |
12
+ | **sale_end** | **String** | When the sale ends, ISO 8601 with an offset, after sale_start. Required with sale_cost. | [optional] |
13
+ | **sale_start** | **String** | When the sale starts, ISO 8601 with an offset. Required with sale_cost. | [optional] |
14
+ | **volume_discounts** | [**Array<SfvbItemVolumeDiscount>**](SfvbItemVolumeDiscount.md) | Replaces the retail quantity breaks. An empty list removes them all. Up to 20, each quantity 2 or more and named once. | [optional] |
15
+
16
+ ## Example
17
+
18
+ ```ruby
19
+ require 'ultracart_api'
20
+
21
+ instance = UltracartClient::SfvbItemPricingRequest.new(
22
+ clear_msrp: null,
23
+ clear_sale: null,
24
+ cost: null,
25
+ msrp: null,
26
+ sale_cost: null,
27
+ sale_end: null,
28
+ sale_start: null,
29
+ volume_discounts: null
30
+ )
31
+ ```
32
+
@@ -0,0 +1,28 @@
1
+ # UltracartClient::SfvbItemRelated
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **hash_sha256** | **String** | The hash of the above. Send it as If-Match to change them. | [optional] |
8
+ | **merchant_item_id** | **String** | The item's merchant item id. | [optional] |
9
+ | **merchant_item_oid** | **Integer** | The item. | [optional] |
10
+ | **no_system_calculated_related_items** | **Boolean** | True when UltraCart does not calculate related items for this item. | [optional] |
11
+ | **not_relatable** | **Boolean** | True when this item is never shown as related to another. | [optional] |
12
+ | **related_items** | [**Array<SfvbItemRelatedItem>**](SfvbItemRelatedItem.md) | In stored order - the merchant's own (user, addon, complementary) and UltraCart's calculated ones (system). | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'ultracart_api'
18
+
19
+ instance = UltracartClient::SfvbItemRelated.new(
20
+ hash_sha256: null,
21
+ merchant_item_id: null,
22
+ merchant_item_oid: null,
23
+ no_system_calculated_related_items: null,
24
+ not_relatable: null,
25
+ related_items: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,22 @@
1
+ # UltracartClient::SfvbItemRelatedItem
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **merchant_item_id** | **String** | The related item. On a write, send this or merchant_item_oid. | [optional] |
8
+ | **merchant_item_oid** | **Integer** | The related item's oid. | [optional] |
9
+ | **type** | **String** | user (the default on a write), addon or complementary. system marks one UltraCart calculated and other a kind this API does not change. Both are read only and kept by a write. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'ultracart_api'
15
+
16
+ instance = UltracartClient::SfvbItemRelatedItem.new(
17
+ merchant_item_id: null,
18
+ merchant_item_oid: null,
19
+ type: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,22 @@
1
+ # UltracartClient::SfvbItemRelatedRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **no_system_calculated_related_items** | **Boolean** | Left out keeps the stored value. | [optional] |
8
+ | **not_relatable** | **Boolean** | Left out keeps the stored value. | [optional] |
9
+ | **related_items** | [**Array<SfvbItemRelatedItem>**](SfvbItemRelatedItem.md) | The merchant's related items, in order, up to 50. An empty list removes them all. The calculated (system) ones are kept. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'ultracart_api'
15
+
16
+ instance = UltracartClient::SfvbItemRelatedRequest.new(
17
+ no_system_calculated_related_items: null,
18
+ not_relatable: null,
19
+ related_items: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,20 @@
1
+ # UltracartClient::SfvbItemVolumeDiscount
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **cost** | **Float** | The unit price at that quantity, in the item's currency. | [optional] |
8
+ | **quantity** | **Integer** | The quantity from which this unit price applies. 2 or more. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'ultracart_api'
14
+
15
+ instance = UltracartClient::SfvbItemVolumeDiscount.new(
16
+ cost: null,
17
+ quantity: null
18
+ )
19
+ ```
20
+
@@ -7,13 +7,13 @@
7
7
  | **complete** | **Boolean** | True once the job has stopped, whether it succeeded or failed. | [optional] |
8
8
  | **description** | **String** | Human readable description of the job. | [optional] |
9
9
  | **error_message** | **String** | What to do next when the job did not produce a theme. The internal cause is not returned; it is recorded against the job id in the server log. | [optional] |
10
- | **finished_dts** | **String** | When the job stopped. Null until it does. | [optional] |
10
+ | **finished_dts** | **String** | When the job stopped, ISO 8601 UTC. Null until it does. | [optional] |
11
11
  | **job_id** | **Integer** | Job handle. Poll getSfvbThemeJob with this. | [optional] |
12
12
  | **progress** | **Integer** | Percent complete, 0-100. | [optional] |
13
13
  | **progress_description** | **String** | What the job is doing right now, for example 'Duplicating locale text'. | [optional] |
14
- | **started_dts** | **String** | When the job started running. Null until it does. | [optional] |
14
+ | **started_dts** | **String** | When the job started running, ISO 8601 UTC. Null until it does. | [optional] |
15
15
  | **status** | **String** | Raw job status. | [optional] |
16
- | **submitted_dts** | **String** | When the job was queued. | [optional] |
16
+ | **submitted_dts** | **String** | When the job was queued, ISO 8601 UTC. | [optional] |
17
17
  | **success** | **Boolean** | True only when the job finished successfully. Check complete first. | [optional] |
18
18
  | **target_path** | **String** | Path the new theme is being created at. Returned when the job is started and on every poll, so you do not have to keep the response that started it. The theme oid itself is NOT returned, so once the job completes you list themes and match on this path. It is also what success is checked against - a finished job whose theme is not here reports success false rather than pretending. | [optional] |
19
19