ultracart_api 4.1.100 → 4.1.101

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: b0c7729cd8cce0aa31c5e610db0089f913d0c07f58c5764e9b284942af573e79
4
+ data.tar.gz: b56629ffebfadf049f8e21bd77766a83315cc318e7db2352162ace4a12fca03a
5
5
  SHA512:
6
- metadata.gz: 99ffb91087ff03deb5049f6056de8adce790f2ba32c31c8e7b97df6748b7f7de5aa8e7a71caf2637922e883807091eed0498feb7f1cb4b9a229e965b8f89c3c5
7
- data.tar.gz: 46f4a9bf5529f74e8aa03d64f4e864ad8417010d32f3bc1f8bc7f82137a7685d72dbebe9db169efd58f711b1f7400a1dc0464396b1cd2636d88af3daea04a560
6
+ metadata.gz: fd80a1cb0fb6cbc5e2bd7e611aa29711837df3d8d4643eb452bd1ef48394efcb03dc2e6f876117fa25117b22136830fe746b6fa8d7e20d4d226a9d3f72c71f5d
7
+ data.tar.gz: 9cc03da203bc501c68128e6c32b3678177d61e38742255afe9a71c44adb6e14abc4dc68635dbd504a704c80bf06085e91969c376b3229cf6e4f8fc559d47815b
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.101
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.101'
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
@@ -936,6 +937,7 @@ Class | Method | HTTP request | Description
936
937
  - [UltracartClient::ConversationPbxCallTranscript](docs/ConversationPbxCallTranscript.md)
937
938
  - [UltracartClient::ConversationPbxCallTranscriptSegment](docs/ConversationPbxCallTranscriptSegment.md)
938
939
  - [UltracartClient::ConversationPbxCallTransfer](docs/ConversationPbxCallTransfer.md)
940
+ - [UltracartClient::ConversationPbxCallUpdateRequest](docs/ConversationPbxCallUpdateRequest.md)
939
941
  - [UltracartClient::ConversationPbxClassOfService](docs/ConversationPbxClassOfService.md)
940
942
  - [UltracartClient::ConversationPbxClassOfServiceResponse](docs/ConversationPbxClassOfServiceResponse.md)
941
943
  - [UltracartClient::ConversationPbxClassOfServicesResponse](docs/ConversationPbxClassOfServicesResponse.md)
@@ -1775,6 +1777,7 @@ Not every change is committed to every SDK.
1775
1777
 
1776
1778
  | Version | Date | Comments |
1777
1779
  | --: | :-: | --- |
1780
+ | 4.1.101 | 06/10/2026 | conversation pbx call notes fields |
1778
1781
  | 4.1.100 | 06/05/2026 | webhook log summary filtering |
1779
1782
  | 4.1.99 | 06/05/2026 | added webhook name and merchant_comments |
1780
1783
  | 4.1.98 | 06/04/2026 | coupon - new coupon type for amount off items with free shipping |
@@ -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
+
@@ -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]
@@ -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
@@ -0,0 +1,230 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module UltracartClient
17
+ class ConversationPbxCallUpdateRequest
18
+ # True when the agent has finished after-call work (Save & finish). Stamps notes_finalized_dts, which together with transcript availability gates Zoho Desk ticket creation.
19
+ attr_accessor :finalize
20
+
21
+ # Agent-authored notes for the call. Card-like values are scrubbed server-side for PCI compliance.
22
+ attr_accessor :notes
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'finalize' => :'finalize',
28
+ :'notes' => :'notes'
29
+ }
30
+ end
31
+
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ attribute_map.values
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.openapi_types
39
+ {
40
+ :'finalize' => :'Boolean',
41
+ :'notes' => :'String'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::ConversationPbxCallUpdateRequest` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::ConversationPbxCallUpdateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'finalize')
67
+ self.finalize = attributes[:'finalize']
68
+ end
69
+
70
+ if attributes.key?(:'notes')
71
+ self.notes = attributes[:'notes']
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ invalid_properties = Array.new
79
+ invalid_properties
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ def valid?
85
+ true
86
+ end
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param [Object] Object to be compared
90
+ def ==(o)
91
+ return true if self.equal?(o)
92
+ self.class == o.class &&
93
+ finalize == o.finalize &&
94
+ notes == o.notes
95
+ end
96
+
97
+ # @see the `==` method
98
+ # @param [Object] Object to be compared
99
+ def eql?(o)
100
+ self == o
101
+ end
102
+
103
+ # Calculates hash code according to all attributes.
104
+ # @return [Integer] Hash code
105
+ def hash
106
+ [finalize, notes].hash
107
+ end
108
+
109
+ # Builds the object from hash
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ # @return [Object] Returns the model itself
112
+ def self.build_from_hash(attributes)
113
+ new.build_from_hash(attributes)
114
+ end
115
+
116
+ # Builds the object from hash
117
+ # @param [Hash] attributes Model attributes in the form of hash
118
+ # @return [Object] Returns the model itself
119
+ def build_from_hash(attributes)
120
+ return nil unless attributes.is_a?(Hash)
121
+ attributes = attributes.transform_keys(&:to_sym)
122
+ self.class.openapi_types.each_pair do |key, type|
123
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
124
+ self.send("#{key}=", nil)
125
+ elsif type =~ /\AArray<(.*)>/i
126
+ # check to ensure the input is an array given that the attribute
127
+ # is documented as an array but the input is not
128
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
129
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
130
+ end
131
+ elsif !attributes[self.class.attribute_map[key]].nil?
132
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
133
+ end
134
+ end
135
+
136
+ self
137
+ end
138
+
139
+ # Deserializes the data based on type
140
+ # @param string type Data type
141
+ # @param string value Value to be deserialized
142
+ # @return [Object] Deserialized data
143
+ def _deserialize(type, value)
144
+ case type.to_sym
145
+ when :Time
146
+ Time.parse(value)
147
+ when :Date
148
+ Date.parse(value)
149
+ when :String
150
+ value.to_s
151
+ when :Integer
152
+ value.to_i
153
+ when :Float
154
+ value.to_f
155
+ when :Boolean
156
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
157
+ true
158
+ else
159
+ false
160
+ end
161
+ when :Object
162
+ # generic object (usually a Hash), return directly
163
+ value
164
+ when /\AArray<(?<inner_type>.+)>\z/
165
+ inner_type = Regexp.last_match[:inner_type]
166
+ value.map { |v| _deserialize(inner_type, v) }
167
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
168
+ k_type = Regexp.last_match[:k_type]
169
+ v_type = Regexp.last_match[:v_type]
170
+ {}.tap do |hash|
171
+ value.each do |k, v|
172
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
173
+ end
174
+ end
175
+ else # model
176
+ # models (e.g. Pet) or oneOf
177
+ klass = UltracartClient.const_get(type)
178
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
179
+ end
180
+ end
181
+
182
+ # Returns the string representation of the object
183
+ # @return [String] String presentation of the object
184
+ def to_s
185
+ to_hash.to_s
186
+ end
187
+
188
+ # to_body is an alias to to_hash (backward compatibility)
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_body
191
+ to_hash
192
+ end
193
+
194
+ # Returns the object in the form of hash
195
+ # @return [Hash] Returns the object in the form of hash
196
+ def to_hash
197
+ hash = {}
198
+ self.class.attribute_map.each_pair do |attr, param|
199
+ value = self.send(attr)
200
+ if value.nil?
201
+ is_nullable = self.class.openapi_nullable.include?(attr)
202
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
203
+ end
204
+
205
+ hash[param] = _to_hash(value)
206
+ end
207
+ hash
208
+ end
209
+
210
+ # Outputs non-array value in the form of hash
211
+ # For object, use to_hash. Otherwise, just return the value
212
+ # @param [Object] value Any valid value
213
+ # @return [Hash] Returns the value in the form of hash
214
+ def _to_hash(value)
215
+ if value.is_a?(Array)
216
+ value.compact.map { |v| _to_hash(v) }
217
+ elsif value.is_a?(Hash)
218
+ {}.tap do |hash|
219
+ value.each { |k, v| hash[k] = _to_hash(v) }
220
+ end
221
+ elsif value.respond_to? :to_hash
222
+ value.to_hash
223
+ else
224
+ value
225
+ end
226
+ end
227
+
228
+ end
229
+
230
+ end
@@ -11,5 +11,5 @@ OpenAPI Generator version: 6.0.1-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module UltracartClient
14
- VERSION = '4.1.100'
14
+ VERSION = '4.1.101'
15
15
  end
data/lib/ultracart_api.rb CHANGED
@@ -258,6 +258,7 @@ require 'ultracart_api/models/conversation_pbx_call_timeline'
258
258
  require 'ultracart_api/models/conversation_pbx_call_transcript'
259
259
  require 'ultracart_api/models/conversation_pbx_call_transcript_segment'
260
260
  require 'ultracart_api/models/conversation_pbx_call_transfer'
261
+ require 'ultracart_api/models/conversation_pbx_call_update_request'
261
262
  require 'ultracart_api/models/conversation_pbx_class_of_service'
262
263
  require 'ultracart_api/models/conversation_pbx_class_of_service_response'
263
264
  require 'ultracart_api/models/conversation_pbx_class_of_services_response'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ultracart_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.100
4
+ version: 4.1.101
5
5
  platform: ruby
6
6
  authors:
7
7
  - UltraCart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-05 00:00:00.000000000 Z
11
+ date: 2026-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -308,6 +308,7 @@ files:
308
308
  - docs/ConversationPbxCallTranscript.md
309
309
  - docs/ConversationPbxCallTranscriptSegment.md
310
310
  - docs/ConversationPbxCallTransfer.md
311
+ - docs/ConversationPbxCallUpdateRequest.md
311
312
  - docs/ConversationPbxClassOfService.md
312
313
  - docs/ConversationPbxClassOfServiceResponse.md
313
314
  - docs/ConversationPbxClassOfServicesResponse.md
@@ -1354,6 +1355,7 @@ files:
1354
1355
  - lib/ultracart_api/models/conversation_pbx_call_transcript.rb
1355
1356
  - lib/ultracart_api/models/conversation_pbx_call_transcript_segment.rb
1356
1357
  - lib/ultracart_api/models/conversation_pbx_call_transfer.rb
1358
+ - lib/ultracart_api/models/conversation_pbx_call_update_request.rb
1357
1359
  - lib/ultracart_api/models/conversation_pbx_class_of_service.rb
1358
1360
  - lib/ultracart_api/models/conversation_pbx_class_of_service_response.rb
1359
1361
  - lib/ultracart_api/models/conversation_pbx_class_of_services_response.rb