ultracart_api 4.1.100 → 4.1.102

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e7a303f3bed2f17419b03f618b74e08c3c8c6dc6abd8d60574eaeffc57113b0b
4
- data.tar.gz: dc72bdb2ca0f71b51d84727e3a777d379e01898ae10f9e6945a0a980d0adf999
3
+ metadata.gz: 1e184ae5eeb45aff50611924cb65b7dbd38f294c3e605d4264b063766d30e126
4
+ data.tar.gz: ba150f5a4d0f43f6eea1a35cdcec19482a47197cb7bff3331d7dffe98f104b6d
5
5
  SHA512:
6
- metadata.gz: 99ffb91087ff03deb5049f6056de8adce790f2ba32c31c8e7b97df6748b7f7de5aa8e7a71caf2637922e883807091eed0498feb7f1cb4b9a229e965b8f89c3c5
7
- data.tar.gz: 46f4a9bf5529f74e8aa03d64f4e864ad8417010d32f3bc1f8bc7f82137a7685d72dbebe9db169efd58f711b1f7400a1dc0464396b1cd2636d88af3daea04a560
6
+ metadata.gz: 42348e40659cecc10047f1f828ba071e126346a4c12889694bc873f70d232b01d47a233fdbec636f2ed3892869622930045fc976743a166ca02fc36974e8c128
7
+ data.tar.gz: e2931485d637b353c6af89f22fd3158bd01b2ce0386867283b8c702c738efa649ad9bec9ce3e804c73f36975a666605c67c3ca658194e6d883ab46882168ab88
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.100
10
+ - Package version: 4.1.102
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.100'
19
+ gem 'ultracart_api', '4.1.102'
20
20
  ```
21
21
 
22
22
  install:
@@ -263,6 +263,7 @@ Class | Method | HTTP request | Description
263
263
  *UltracartClient::ConversationApi* | [**update_pbx_address**](docs/ConversationApi.md#update_pbx_address) | **PUT** /conversation/pbx/address/{conversationPbxAddressUuid} | Update pbx address
264
264
  *UltracartClient::ConversationApi* | [**update_pbx_agent**](docs/ConversationApi.md#update_pbx_agent) | **PUT** /conversation/pbx/agent/{conversationPbxAgentUuid} | Update pbx agent
265
265
  *UltracartClient::ConversationApi* | [**update_pbx_audio**](docs/ConversationApi.md#update_pbx_audio) | **PUT** /conversation/pbx/audio/{conversationPbxAudioUuid} | Update pbx audio
266
+ *UltracartClient::ConversationApi* | [**update_pbx_call**](docs/ConversationApi.md#update_pbx_call) | **PUT** /conversation/pbx/call/{callUuid} | Update pbx call record
266
267
  *UltracartClient::ConversationApi* | [**update_pbx_class_of_service**](docs/ConversationApi.md#update_pbx_class_of_service) | **PUT** /conversation/pbx/class_of_service/{classOfServiceUuid} | Update pbx class of service
267
268
  *UltracartClient::ConversationApi* | [**update_pbx_default_timezone**](docs/ConversationApi.md#update_pbx_default_timezone) | **PUT** /conversation/pbx/config/default-timezone | Set the merchant default timezone
268
269
  *UltracartClient::ConversationApi* | [**update_pbx_hardware_phone**](docs/ConversationApi.md#update_pbx_hardware_phone) | **PUT** /conversation/pbx/hardware_phone/{conversationPbxHardwarePhoneUuid} | Update pbx hardware phone
@@ -480,6 +481,7 @@ Class | Method | HTTP request | Description
480
481
  *UltracartClient::StorefrontApi* | [**delete_screen_recording_segment**](docs/StorefrontApi.md#delete_screen_recording_segment) | **DELETE** /storefront/{storefront_oid}/screen_recordings/segments/{screen_recording_segment_oid} | Delete screen recording segment
481
482
  *UltracartClient::StorefrontApi* | [**delete_twilio_account**](docs/StorefrontApi.md#delete_twilio_account) | **DELETE** /storefront/twilio/accounts/{esp_twilio_uuid} | delete Twilio account
482
483
  *UltracartClient::StorefrontApi* | [**duplicate_library_item**](docs/StorefrontApi.md#duplicate_library_item) | **POST** /storefront/code_library/{library_item_oid}/duplicate | Duplicate library item.
484
+ *UltracartClient::StorefrontApi* | [**enroll_commseq_customer**](docs/StorefrontApi.md#enroll_commseq_customer) | **POST** /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/enroll | Enroll a customer into a communication sequence
483
485
  *UltracartClient::StorefrontApi* | [**favorite_screen_recording**](docs/StorefrontApi.md#favorite_screen_recording) | **POST** /storefront/{storefront_oid}/screen_recordings/{screen_recording_uuid}/favorite | Update favorite flag on screen recording
484
486
  *UltracartClient::StorefrontApi* | [**geocode_address**](docs/StorefrontApi.md#geocode_address) | **POST** /storefront/{storefront_oid}/email/geocode | Obtain lat/long for an address
485
487
  *UltracartClient::StorefrontApi* | [**get_countries**](docs/StorefrontApi.md#get_countries) | **GET** /storefront/{storefront_oid}/email/countries | Get countries
@@ -936,6 +938,7 @@ Class | Method | HTTP request | Description
936
938
  - [UltracartClient::ConversationPbxCallTranscript](docs/ConversationPbxCallTranscript.md)
937
939
  - [UltracartClient::ConversationPbxCallTranscriptSegment](docs/ConversationPbxCallTranscriptSegment.md)
938
940
  - [UltracartClient::ConversationPbxCallTransfer](docs/ConversationPbxCallTransfer.md)
941
+ - [UltracartClient::ConversationPbxCallUpdateRequest](docs/ConversationPbxCallUpdateRequest.md)
939
942
  - [UltracartClient::ConversationPbxClassOfService](docs/ConversationPbxClassOfService.md)
940
943
  - [UltracartClient::ConversationPbxClassOfServiceResponse](docs/ConversationPbxClassOfServiceResponse.md)
941
944
  - [UltracartClient::ConversationPbxClassOfServicesResponse](docs/ConversationPbxClassOfServicesResponse.md)
@@ -1160,6 +1163,8 @@ Class | Method | HTTP request | Description
1160
1163
  - [UltracartClient::EmailCommseqEmailSendTestResponse](docs/EmailCommseqEmailSendTestResponse.md)
1161
1164
  - [UltracartClient::EmailCommseqEmailsRequest](docs/EmailCommseqEmailsRequest.md)
1162
1165
  - [UltracartClient::EmailCommseqEmailsResponse](docs/EmailCommseqEmailsResponse.md)
1166
+ - [UltracartClient::EmailCommseqEnrollmentRequest](docs/EmailCommseqEnrollmentRequest.md)
1167
+ - [UltracartClient::EmailCommseqEnrollmentResponse](docs/EmailCommseqEnrollmentResponse.md)
1163
1168
  - [UltracartClient::EmailCommseqPostcard](docs/EmailCommseqPostcard.md)
1164
1169
  - [UltracartClient::EmailCommseqPostcardResponse](docs/EmailCommseqPostcardResponse.md)
1165
1170
  - [UltracartClient::EmailCommseqPostcardSendTestRequest](docs/EmailCommseqPostcardSendTestRequest.md)
@@ -1775,6 +1780,8 @@ Not every change is committed to every SDK.
1775
1780
 
1776
1781
  | Version | Date | Comments |
1777
1782
  | --: | :-: | --- |
1783
+ | 4.1.102 | 06/17/2026 | storefront communications - new single email enrollment method |
1784
+ | 4.1.101 | 06/10/2026 | conversation pbx call notes fields |
1778
1785
  | 4.1.100 | 06/05/2026 | webhook log summary filtering |
1779
1786
  | 4.1.99 | 06/05/2026 | added webhook name and merchant_comments |
1780
1787
  | 4.1.98 | 06/04/2026 | coupon - new coupon type for amount off items with free shipping |
@@ -13,6 +13,8 @@
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] |
16
+ | **cancel_dts** | **String** | Date/time this item was cancelled (companion to cancel_reason). On update, null leaves the existing value unchanged; pass an empty string to clear it. | [optional] |
17
+ | **cancel_reason** | **String** | Reason this item was cancelled, captured when the item was cancelled by the customer or merchant. On update, null leaves the existing value unchanged; pass an empty string to clear it. | [optional] |
16
18
  | **first_order_dts** | **String** | Date/time of the first order of this item. Null if item added to auto order and has not been rebilled yet. | [optional] |
17
19
  | **frequency** | **String** | Frequency of the rebill if not a fixed schedule | [optional] |
18
20
  | **future_schedules** | [**Array<AutoOrderItemFutureSchedule>**](AutoOrderItemFutureSchedule.md) | The future rebill schedule for this item up to the next ten rebills | [optional] |
@@ -50,6 +52,8 @@ instance = UltracartClient::AutoOrderItem.new(
50
52
  arbitrary_unit_cost_remaining_orders: null,
51
53
  auto_order_item_oid: null,
52
54
  calculated_next_shipment_dts: null,
55
+ cancel_dts: null,
56
+ cancel_reason: null,
53
57
  first_order_dts: null,
54
58
  frequency: null,
55
59
  future_schedules: null,
@@ -132,6 +132,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
132
132
  | [**update_pbx_address**](ConversationApi.md#update_pbx_address) | **PUT** /conversation/pbx/address/{conversationPbxAddressUuid} | Update pbx address |
133
133
  | [**update_pbx_agent**](ConversationApi.md#update_pbx_agent) | **PUT** /conversation/pbx/agent/{conversationPbxAgentUuid} | Update pbx agent |
134
134
  | [**update_pbx_audio**](ConversationApi.md#update_pbx_audio) | **PUT** /conversation/pbx/audio/{conversationPbxAudioUuid} | Update pbx audio |
135
+ | [**update_pbx_call**](ConversationApi.md#update_pbx_call) | **PUT** /conversation/pbx/call/{callUuid} | Update pbx call record |
135
136
  | [**update_pbx_class_of_service**](ConversationApi.md#update_pbx_class_of_service) | **PUT** /conversation/pbx/class_of_service/{classOfServiceUuid} | Update pbx class of service |
136
137
  | [**update_pbx_default_timezone**](ConversationApi.md#update_pbx_default_timezone) | **PUT** /conversation/pbx/config/default-timezone | Set the merchant default timezone |
137
138
  | [**update_pbx_hardware_phone**](ConversationApi.md#update_pbx_hardware_phone) | **PUT** /conversation/pbx/hardware_phone/{conversationPbxHardwarePhoneUuid} | Update pbx hardware phone |
@@ -6997,6 +6998,60 @@ end
6997
6998
  - **Accept**: application/json
6998
6999
 
6999
7000
 
7001
+ ## update_pbx_call
7002
+
7003
+ > <ConversationPbxCallResponse> update_pbx_call(call_uuid, update_request)
7004
+
7005
+ Update pbx call record
7006
+
7007
+ Update the agent-authored fields (notes, finalize) on a PBX call record
7008
+
7009
+
7010
+ ### Examples
7011
+
7012
+
7013
+ (No example for this operation).
7014
+
7015
+
7016
+ #### Using the update_pbx_call_with_http_info variant
7017
+
7018
+ This returns an Array which contains the response data, status code and headers.
7019
+
7020
+ > <Array(<ConversationPbxCallResponse>, Integer, Hash)> update_pbx_call_with_http_info(call_uuid, update_request)
7021
+
7022
+ ```ruby
7023
+ begin
7024
+ # Update pbx call record
7025
+ data, status_code, headers = api_instance.update_pbx_call_with_http_info(call_uuid, update_request)
7026
+ p status_code # => 2xx
7027
+ p headers # => { ... }
7028
+ p data # => <ConversationPbxCallResponse>
7029
+ rescue UltracartClient::ApiError => e
7030
+ puts "Error when calling ConversationApi->update_pbx_call_with_http_info: #{e}"
7031
+ end
7032
+ ```
7033
+
7034
+ ### Parameters
7035
+
7036
+ | Name | Type | Description | Notes |
7037
+ | ---- | ---- | ----------- | ----- |
7038
+ | **call_uuid** | **String** | | |
7039
+ | **update_request** | [**ConversationPbxCallUpdateRequest**](ConversationPbxCallUpdateRequest.md) | Update Request | |
7040
+
7041
+ ### Return type
7042
+
7043
+ [**ConversationPbxCallResponse**](ConversationPbxCallResponse.md)
7044
+
7045
+ ### Authorization
7046
+
7047
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
7048
+
7049
+ ### HTTP request headers
7050
+
7051
+ - **Content-Type**: application/json
7052
+ - **Accept**: application/json
7053
+
7054
+
7000
7055
  ## update_pbx_class_of_service
7001
7056
 
7002
7057
  > <ConversationPbxClassOfServiceResponse> update_pbx_class_of_service(class_of_service_uuid, class_of_service)
@@ -21,6 +21,8 @@
21
21
  | **financial** | [**ConversationPbxCallFinancial**](ConversationPbxCallFinancial.md) | | [optional] |
22
22
  | **holds** | [**Array&lt;ConversationPbxCallHold&gt;**](ConversationPbxCallHold.md) | List of hold events during the call | [optional] |
23
23
  | **merchant_id** | **String** | Merchant identifier | [optional] |
24
+ | **notes** | **String** | Agent-authored notes for this call, captured during the call and after-call work | [optional] |
25
+ | **notes_finalized_dts** | **String** | Timestamp when the agent finalized notes via Save &amp; finish; gates Zoho Desk ticket creation | [optional] |
24
26
  | **recording_sids** | **Array&lt;String&gt;** | List of all Twilio recording SIDs associated with this call | [optional] |
25
27
  | **recordings** | [**Array&lt;ConversationPbxCallRecording&gt;**](ConversationPbxCallRecording.md) | List of recordings made during the call | [optional] |
26
28
  | **routing** | [**ConversationPbxCallRouting**](ConversationPbxCallRouting.md) | | [optional] |
@@ -54,6 +56,8 @@ instance = UltracartClient::ConversationPbxCall.new(
54
56
  financial: null,
55
57
  holds: null,
56
58
  merchant_id: null,
59
+ notes: null,
60
+ notes_finalized_dts: null,
57
61
  recording_sids: null,
58
62
  recordings: null,
59
63
  routing: null,
@@ -0,0 +1,20 @@
1
+ # UltracartClient::ConversationPbxCallUpdateRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **finalize** | **Boolean** | True when the agent has finished after-call work (Save &amp; finish). Stamps notes_finalized_dts, which together with transcript availability gates Zoho Desk ticket creation. | [optional] |
8
+ | **notes** | **String** | Agent-authored notes for the call. Card-like values are scrubbed server-side for PCI compliance. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'ultracart_api'
14
+
15
+ instance = UltracartClient::ConversationPbxCallUpdateRequest.new(
16
+ finalize: null,
17
+ notes: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,22 @@
1
+ # UltracartClient::EmailCommseqEnrollmentRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **email** | **String** | Email address of the customer to enroll | [optional] |
8
+ | **esp_commseq_uuid** | **String** | Communication sequence UUID | [optional] |
9
+ | **name** | **String** | Optional name of the customer to enroll | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'ultracart_api'
15
+
16
+ instance = UltracartClient::EmailCommseqEnrollmentRequest.new(
17
+ email: null,
18
+ esp_commseq_uuid: null,
19
+ name: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,30 @@
1
+ # UltracartClient::EmailCommseqEnrollmentResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **already_enrolled** | **Boolean** | True if the customer was already enrolled and therefore not enrolled again | [optional] |
8
+ | **enrolled** | **Boolean** | True if the customer was newly enrolled into the sequence | [optional] |
9
+ | **error** | [**Error**](Error.md) | | [optional] |
10
+ | **esp_customer_uuid** | **String** | The resolved ESP customer UUID for the enrolled email | [optional] |
11
+ | **metadata** | [**ResponseMetadata**](ResponseMetadata.md) | | [optional] |
12
+ | **success** | **Boolean** | Indicates if API call was successful | [optional] |
13
+ | **warning** | [**Warning**](Warning.md) | | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'ultracart_api'
19
+
20
+ instance = UltracartClient::EmailCommseqEnrollmentResponse.new(
21
+ already_enrolled: null,
22
+ enrolled: null,
23
+ error: null,
24
+ esp_customer_uuid: null,
25
+ metadata: null,
26
+ success: null,
27
+ warning: null
28
+ )
29
+ ```
30
+
@@ -32,6 +32,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
32
32
  | [**delete_screen_recording_segment**](StorefrontApi.md#delete_screen_recording_segment) | **DELETE** /storefront/{storefront_oid}/screen_recordings/segments/{screen_recording_segment_oid} | Delete screen recording segment |
33
33
  | [**delete_twilio_account**](StorefrontApi.md#delete_twilio_account) | **DELETE** /storefront/twilio/accounts/{esp_twilio_uuid} | delete Twilio account |
34
34
  | [**duplicate_library_item**](StorefrontApi.md#duplicate_library_item) | **POST** /storefront/code_library/{library_item_oid}/duplicate | Duplicate library item. |
35
+ | [**enroll_commseq_customer**](StorefrontApi.md#enroll_commseq_customer) | **POST** /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/enroll | Enroll a customer into a communication sequence |
35
36
  | [**favorite_screen_recording**](StorefrontApi.md#favorite_screen_recording) | **POST** /storefront/{storefront_oid}/screen_recordings/{screen_recording_uuid}/favorite | Update favorite flag on screen recording |
36
37
  | [**geocode_address**](StorefrontApi.md#geocode_address) | **POST** /storefront/{storefront_oid}/email/geocode | Obtain lat/long for an address |
37
38
  | [**get_countries**](StorefrontApi.md#get_countries) | **GET** /storefront/{storefront_oid}/email/countries | Get countries |
@@ -1667,6 +1668,61 @@ end
1667
1668
  - **Accept**: application/json
1668
1669
 
1669
1670
 
1671
+ ## enroll_commseq_customer
1672
+
1673
+ > <EmailCommseqEnrollmentResponse> enroll_commseq_customer(storefront_oid, commseq_uuid, email_commseq_enrollment_request)
1674
+
1675
+ Enroll a customer into a communication sequence
1676
+
1677
+ Enrolls a single real customer (by email) into the communication sequence. A customer who is already enrolled will not be enrolled a second time.
1678
+
1679
+
1680
+ ### Examples
1681
+
1682
+
1683
+ (No example for this operation).
1684
+
1685
+
1686
+ #### Using the enroll_commseq_customer_with_http_info variant
1687
+
1688
+ This returns an Array which contains the response data, status code and headers.
1689
+
1690
+ > <Array(<EmailCommseqEnrollmentResponse>, Integer, Hash)> enroll_commseq_customer_with_http_info(storefront_oid, commseq_uuid, email_commseq_enrollment_request)
1691
+
1692
+ ```ruby
1693
+ begin
1694
+ # Enroll a customer into a communication sequence
1695
+ data, status_code, headers = api_instance.enroll_commseq_customer_with_http_info(storefront_oid, commseq_uuid, email_commseq_enrollment_request)
1696
+ p status_code # => 2xx
1697
+ p headers # => { ... }
1698
+ p data # => <EmailCommseqEnrollmentResponse>
1699
+ rescue UltracartClient::ApiError => e
1700
+ puts "Error when calling StorefrontApi->enroll_commseq_customer_with_http_info: #{e}"
1701
+ end
1702
+ ```
1703
+
1704
+ ### Parameters
1705
+
1706
+ | Name | Type | Description | Notes |
1707
+ | ---- | ---- | ----------- | ----- |
1708
+ | **storefront_oid** | **Integer** | | |
1709
+ | **commseq_uuid** | **String** | | |
1710
+ | **email_commseq_enrollment_request** | [**EmailCommseqEnrollmentRequest**](EmailCommseqEnrollmentRequest.md) | Commseq enrollment request | |
1711
+
1712
+ ### Return type
1713
+
1714
+ [**EmailCommseqEnrollmentResponse**](EmailCommseqEnrollmentResponse.md)
1715
+
1716
+ ### Authorization
1717
+
1718
+ [ultraCartBrowserApiKey](../README.md#ultraCartBrowserApiKey), [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1719
+
1720
+ ### HTTP request headers
1721
+
1722
+ - **Content-Type**: application/json
1723
+ - **Accept**: application/json
1724
+
1725
+
1670
1726
  ## favorite_screen_recording
1671
1727
 
1672
1728
  > favorite_screen_recording(storefront_oid, screen_recording_uuid)
@@ -8450,6 +8450,81 @@ module UltracartClient
8450
8450
  return data, status_code, headers
8451
8451
  end
8452
8452
 
8453
+ # Update pbx call record
8454
+ # Update the agent-authored fields (notes, finalize) on a PBX call record
8455
+ # @param call_uuid [String]
8456
+ # @param update_request [ConversationPbxCallUpdateRequest] Update Request
8457
+ # @param [Hash] opts the optional parameters
8458
+ # @return [ConversationPbxCallResponse]
8459
+ def update_pbx_call(call_uuid, update_request, opts = {})
8460
+ data, _status_code, _headers = update_pbx_call_with_http_info(call_uuid, update_request, opts)
8461
+ data
8462
+ end
8463
+
8464
+ # Update pbx call record
8465
+ # Update the agent-authored fields (notes, finalize) on a PBX call record
8466
+ # @param call_uuid [String]
8467
+ # @param update_request [ConversationPbxCallUpdateRequest] Update Request
8468
+ # @param [Hash] opts the optional parameters
8469
+ # @return [Array<(ConversationPbxCallResponse, Integer, Hash)>] ConversationPbxCallResponse data, response status code and response headers
8470
+ def update_pbx_call_with_http_info(call_uuid, update_request, opts = {})
8471
+ if @api_client.config.debugging
8472
+ @api_client.config.logger.debug 'Calling API: ConversationApi.update_pbx_call ...'
8473
+ end
8474
+ # verify the required parameter 'call_uuid' is set
8475
+ if @api_client.config.client_side_validation && call_uuid.nil?
8476
+ fail ArgumentError, "Missing the required parameter 'call_uuid' when calling ConversationApi.update_pbx_call"
8477
+ end
8478
+ # verify the required parameter 'update_request' is set
8479
+ if @api_client.config.client_side_validation && update_request.nil?
8480
+ fail ArgumentError, "Missing the required parameter 'update_request' when calling ConversationApi.update_pbx_call"
8481
+ end
8482
+ # resource path
8483
+ local_var_path = '/conversation/pbx/call/{callUuid}'.sub('{' + 'callUuid' + '}', CGI.escape(call_uuid.to_s))
8484
+
8485
+ # query parameters
8486
+ query_params = opts[:query_params] || {}
8487
+
8488
+ # header parameters
8489
+ header_params = opts[:header_params] || {}
8490
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
8491
+ # HTTP header 'Accept' (if needed)
8492
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
8493
+ # HTTP header 'Content-Type'
8494
+ content_type = @api_client.select_header_content_type(['application/json'])
8495
+ if !content_type.nil?
8496
+ header_params['Content-Type'] = content_type
8497
+ end
8498
+
8499
+ # form parameters
8500
+ form_params = opts[:form_params] || {}
8501
+
8502
+ # http body (model)
8503
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_request)
8504
+
8505
+ # return_type
8506
+ return_type = opts[:debug_return_type] || 'ConversationPbxCallResponse'
8507
+
8508
+ # auth_names
8509
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
8510
+
8511
+ new_options = opts.merge(
8512
+ :operation => :"ConversationApi.update_pbx_call",
8513
+ :header_params => header_params,
8514
+ :query_params => query_params,
8515
+ :form_params => form_params,
8516
+ :body => post_body,
8517
+ :auth_names => auth_names,
8518
+ :return_type => return_type
8519
+ )
8520
+
8521
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
8522
+ if @api_client.config.debugging
8523
+ @api_client.config.logger.debug "API called: ConversationApi#update_pbx_call\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
8524
+ end
8525
+ return data, status_code, headers
8526
+ end
8527
+
8453
8528
  # Update pbx class of service
8454
8529
  # Update an existing class of service
8455
8530
  # @param class_of_service_uuid [String]
@@ -1932,6 +1932,87 @@ module UltracartClient
1932
1932
  return data, status_code, headers
1933
1933
  end
1934
1934
 
1935
+ # Enroll a customer into a communication sequence
1936
+ # Enrolls a single real customer (by email) into the communication sequence. A customer who is already enrolled will not be enrolled a second time.
1937
+ # @param storefront_oid [Integer]
1938
+ # @param commseq_uuid [String]
1939
+ # @param email_commseq_enrollment_request [EmailCommseqEnrollmentRequest] Commseq enrollment request
1940
+ # @param [Hash] opts the optional parameters
1941
+ # @return [EmailCommseqEnrollmentResponse]
1942
+ def enroll_commseq_customer(storefront_oid, commseq_uuid, email_commseq_enrollment_request, opts = {})
1943
+ data, _status_code, _headers = enroll_commseq_customer_with_http_info(storefront_oid, commseq_uuid, email_commseq_enrollment_request, opts)
1944
+ data
1945
+ end
1946
+
1947
+ # Enroll a customer into a communication sequence
1948
+ # Enrolls a single real customer (by email) into the communication sequence. A customer who is already enrolled will not be enrolled a second time.
1949
+ # @param storefront_oid [Integer]
1950
+ # @param commseq_uuid [String]
1951
+ # @param email_commseq_enrollment_request [EmailCommseqEnrollmentRequest] Commseq enrollment request
1952
+ # @param [Hash] opts the optional parameters
1953
+ # @return [Array<(EmailCommseqEnrollmentResponse, Integer, Hash)>] EmailCommseqEnrollmentResponse data, response status code and response headers
1954
+ def enroll_commseq_customer_with_http_info(storefront_oid, commseq_uuid, email_commseq_enrollment_request, opts = {})
1955
+ if @api_client.config.debugging
1956
+ @api_client.config.logger.debug 'Calling API: StorefrontApi.enroll_commseq_customer ...'
1957
+ end
1958
+ # verify the required parameter 'storefront_oid' is set
1959
+ if @api_client.config.client_side_validation && storefront_oid.nil?
1960
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling StorefrontApi.enroll_commseq_customer"
1961
+ end
1962
+ # verify the required parameter 'commseq_uuid' is set
1963
+ if @api_client.config.client_side_validation && commseq_uuid.nil?
1964
+ fail ArgumentError, "Missing the required parameter 'commseq_uuid' when calling StorefrontApi.enroll_commseq_customer"
1965
+ end
1966
+ # verify the required parameter 'email_commseq_enrollment_request' is set
1967
+ if @api_client.config.client_side_validation && email_commseq_enrollment_request.nil?
1968
+ fail ArgumentError, "Missing the required parameter 'email_commseq_enrollment_request' when calling StorefrontApi.enroll_commseq_customer"
1969
+ end
1970
+ # resource path
1971
+ local_var_path = '/storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/enroll'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s)).sub('{' + 'commseq_uuid' + '}', CGI.escape(commseq_uuid.to_s))
1972
+
1973
+ # query parameters
1974
+ query_params = opts[:query_params] || {}
1975
+
1976
+ # header parameters
1977
+ header_params = opts[:header_params] || {}
1978
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
1979
+ # HTTP header 'Accept' (if needed)
1980
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1981
+ # HTTP header 'Content-Type'
1982
+ content_type = @api_client.select_header_content_type(['application/json'])
1983
+ if !content_type.nil?
1984
+ header_params['Content-Type'] = content_type
1985
+ end
1986
+
1987
+ # form parameters
1988
+ form_params = opts[:form_params] || {}
1989
+
1990
+ # http body (model)
1991
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(email_commseq_enrollment_request)
1992
+
1993
+ # return_type
1994
+ return_type = opts[:debug_return_type] || 'EmailCommseqEnrollmentResponse'
1995
+
1996
+ # auth_names
1997
+ auth_names = opts[:debug_auth_names] || ['ultraCartBrowserApiKey', 'ultraCartOauth', 'ultraCartSimpleApiKey']
1998
+
1999
+ new_options = opts.merge(
2000
+ :operation => :"StorefrontApi.enroll_commseq_customer",
2001
+ :header_params => header_params,
2002
+ :query_params => query_params,
2003
+ :form_params => form_params,
2004
+ :body => post_body,
2005
+ :auth_names => auth_names,
2006
+ :return_type => return_type
2007
+ )
2008
+
2009
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2010
+ if @api_client.config.debugging
2011
+ @api_client.config.logger.debug "API called: StorefrontApi#enroll_commseq_customer\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2012
+ end
2013
+ return data, status_code, headers
2014
+ end
2015
+
1935
2016
  # Update favorite flag on screen recording
1936
2017
  # Update favorite flag on screen recording
1937
2018
  # @param storefront_oid [Integer]
@@ -42,6 +42,12 @@ module UltracartClient
42
42
  # Calculated Date/time that this item is scheduled to rebill. Will be null if no more shipments are going to occur on this item
43
43
  attr_accessor :calculated_next_shipment_dts
44
44
 
45
+ # Date/time this item was cancelled (companion to cancel_reason). On update, null leaves the existing value unchanged; pass an empty string to clear it.
46
+ attr_accessor :cancel_dts
47
+
48
+ # Reason this item was cancelled, captured when the item was cancelled by the customer or merchant. On update, null leaves the existing value unchanged; pass an empty string to clear it.
49
+ attr_accessor :cancel_reason
50
+
45
51
  # Date/time of the first order of this item. Null if item added to auto order and has not been rebilled yet.
46
52
  attr_accessor :first_order_dts
47
53
 
@@ -138,6 +144,8 @@ module UltracartClient
138
144
  :'arbitrary_unit_cost_remaining_orders' => :'arbitrary_unit_cost_remaining_orders',
139
145
  :'auto_order_item_oid' => :'auto_order_item_oid',
140
146
  :'calculated_next_shipment_dts' => :'calculated_next_shipment_dts',
147
+ :'cancel_dts' => :'cancel_dts',
148
+ :'cancel_reason' => :'cancel_reason',
141
149
  :'first_order_dts' => :'first_order_dts',
142
150
  :'frequency' => :'frequency',
143
151
  :'future_schedules' => :'future_schedules',
@@ -179,6 +187,8 @@ module UltracartClient
179
187
  :'arbitrary_unit_cost_remaining_orders' => :'Integer',
180
188
  :'auto_order_item_oid' => :'Integer',
181
189
  :'calculated_next_shipment_dts' => :'String',
190
+ :'cancel_dts' => :'String',
191
+ :'cancel_reason' => :'String',
182
192
  :'first_order_dts' => :'String',
183
193
  :'frequency' => :'String',
184
194
  :'future_schedules' => :'Array<AutoOrderItemFutureSchedule>',
@@ -262,6 +272,14 @@ module UltracartClient
262
272
  self.calculated_next_shipment_dts = attributes[:'calculated_next_shipment_dts']
263
273
  end
264
274
 
275
+ if attributes.key?(:'cancel_dts')
276
+ self.cancel_dts = attributes[:'cancel_dts']
277
+ end
278
+
279
+ if attributes.key?(:'cancel_reason')
280
+ self.cancel_reason = attributes[:'cancel_reason']
281
+ end
282
+
265
283
  if attributes.key?(:'first_order_dts')
266
284
  self.first_order_dts = attributes[:'first_order_dts']
267
285
  end
@@ -392,6 +410,8 @@ module UltracartClient
392
410
  arbitrary_unit_cost_remaining_orders == o.arbitrary_unit_cost_remaining_orders &&
393
411
  auto_order_item_oid == o.auto_order_item_oid &&
394
412
  calculated_next_shipment_dts == o.calculated_next_shipment_dts &&
413
+ cancel_dts == o.cancel_dts &&
414
+ cancel_reason == o.cancel_reason &&
395
415
  first_order_dts == o.first_order_dts &&
396
416
  frequency == o.frequency &&
397
417
  future_schedules == o.future_schedules &&
@@ -424,7 +444,7 @@ module UltracartClient
424
444
  # Calculates hash code according to all attributes.
425
445
  # @return [Integer] Hash code
426
446
  def hash
427
- [add_ons, arbitrary_item_id, arbitrary_percentage_discount, arbitrary_quantity, arbitrary_schedule_days, arbitrary_unit_cost, arbitrary_unit_cost_remaining_orders, auto_order_item_oid, calculated_next_shipment_dts, first_order_dts, frequency, future_schedules, last_order_dts, life_time_value, next_item_id, next_preshipment_notice_dts, next_shipment_dts, no_order_after_dts, number_of_rebills, options, original_item_id, original_quantity, paused, paypal_payer_id, paypal_recurring_payment_profile_id, preshipment_notice_sent, properties, rebill_value, remaining_repeat_count, simple_schedule].hash
447
+ [add_ons, arbitrary_item_id, arbitrary_percentage_discount, arbitrary_quantity, arbitrary_schedule_days, arbitrary_unit_cost, arbitrary_unit_cost_remaining_orders, auto_order_item_oid, calculated_next_shipment_dts, cancel_dts, cancel_reason, first_order_dts, frequency, future_schedules, last_order_dts, life_time_value, next_item_id, next_preshipment_notice_dts, next_shipment_dts, no_order_after_dts, number_of_rebills, options, original_item_id, original_quantity, paused, paypal_payer_id, paypal_recurring_payment_profile_id, preshipment_notice_sent, properties, rebill_value, remaining_repeat_count, simple_schedule].hash
428
448
  end
429
449
 
430
450
  # Builds the object from hash
@@ -63,6 +63,12 @@ module UltracartClient
63
63
  # Merchant identifier
64
64
  attr_accessor :merchant_id
65
65
 
66
+ # Agent-authored notes for this call, captured during the call and after-call work
67
+ attr_accessor :notes
68
+
69
+ # Timestamp when the agent finalized notes via Save & finish; gates Zoho Desk ticket creation
70
+ attr_accessor :notes_finalized_dts
71
+
66
72
  # List of all Twilio recording SIDs associated with this call
67
73
  attr_accessor :recording_sids
68
74
 
@@ -108,6 +114,8 @@ module UltracartClient
108
114
  :'financial' => :'financial',
109
115
  :'holds' => :'holds',
110
116
  :'merchant_id' => :'merchant_id',
117
+ :'notes' => :'notes',
118
+ :'notes_finalized_dts' => :'notes_finalized_dts',
111
119
  :'recording_sids' => :'recording_sids',
112
120
  :'recordings' => :'recordings',
113
121
  :'routing' => :'routing',
@@ -145,6 +153,8 @@ module UltracartClient
145
153
  :'financial' => :'ConversationPbxCallFinancial',
146
154
  :'holds' => :'Array<ConversationPbxCallHold>',
147
155
  :'merchant_id' => :'String',
156
+ :'notes' => :'String',
157
+ :'notes_finalized_dts' => :'String',
148
158
  :'recording_sids' => :'Array<String>',
149
159
  :'recordings' => :'Array<ConversationPbxCallRecording>',
150
160
  :'routing' => :'ConversationPbxCallRouting',
@@ -252,6 +262,14 @@ module UltracartClient
252
262
  self.merchant_id = attributes[:'merchant_id']
253
263
  end
254
264
 
265
+ if attributes.key?(:'notes')
266
+ self.notes = attributes[:'notes']
267
+ end
268
+
269
+ if attributes.key?(:'notes_finalized_dts')
270
+ self.notes_finalized_dts = attributes[:'notes_finalized_dts']
271
+ end
272
+
255
273
  if attributes.key?(:'recording_sids')
256
274
  if (value = attributes[:'recording_sids']).is_a?(Array)
257
275
  self.recording_sids = value
@@ -330,6 +348,8 @@ module UltracartClient
330
348
  financial == o.financial &&
331
349
  holds == o.holds &&
332
350
  merchant_id == o.merchant_id &&
351
+ notes == o.notes &&
352
+ notes_finalized_dts == o.notes_finalized_dts &&
333
353
  recording_sids == o.recording_sids &&
334
354
  recordings == o.recordings &&
335
355
  routing == o.routing &&
@@ -350,7 +370,7 @@ module UltracartClient
350
370
  # Calculates hash code according to all attributes.
351
371
  # @return [Integer] Hash code
352
372
  def hash
353
- [account_sid, agents, ai_agent_engagements, ai_summary, call_sid, call_uuid, caller, conference_sid, context_merchant_id, created_at_dts, customer_name, customer_profile_oid, disposition, email, financial, holds, merchant_id, recording_sids, recordings, routing, status, timeline, transfers, updated_at_dts, zoho_desk_ticket_id, zoho_desk_ticket_url].hash
373
+ [account_sid, agents, ai_agent_engagements, ai_summary, call_sid, call_uuid, caller, conference_sid, context_merchant_id, created_at_dts, customer_name, customer_profile_oid, disposition, email, financial, holds, merchant_id, notes, notes_finalized_dts, recording_sids, recordings, routing, status, timeline, transfers, updated_at_dts, zoho_desk_ticket_id, zoho_desk_ticket_url].hash
354
374
  end
355
375
 
356
376
  # Builds the object from hash