ultracart_api 3.10.31 → 3.10.34

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: 8f4b73bbdb426927217bc2d54c77ec8fcfb8f2a33eee74c90ace3a09d47f34d0
4
- data.tar.gz: 87440c867859a01b3969357a542b52374c030152420bebf3e1eb02c812caad97
3
+ metadata.gz: d3a3fba5debcce4defe2f7c7985f045d21b25741c1b7161e63b1257b4e3d11c9
4
+ data.tar.gz: fbb18792b975847150dca1756cfa3dadca7e90e82078961d2790cf0a4cd6ccc7
5
5
  SHA512:
6
- metadata.gz: 245edab535627643634cb6f8c584026b77f4113152e1fc13b7914776a695732560492b94245d3c1e3579454fc7956d11e02e757f9922784bb3b0d38ffdbfe6f0
7
- data.tar.gz: 7475cafdcdbb264e351e54ff0d946487452a45434a6c7df61e33d4d34b6fcb8e38fd437611678ecfbe7006dc27aa6973bd293511d1c67c64313a6e668b659860
6
+ metadata.gz: e8b53de8ec2edd136729ffdc4f749b0a114fdba39a111c6ce1e095824af46a0b7b54cd4cbd5c226dc01b79f4db067e7f88fc84bdcbfc04d346de6703eacf834c
7
+ data.tar.gz: 4d53b7f855cb4211987d95dd8a0c1ef3bb8476c59876315dfd3b2a9cd1c4cf2257ebf55551bf7133fa9e81ab49636ab33c664e11ce77018bf896bc46b9486eb6
data/README.md CHANGED
@@ -7,7 +7,7 @@ UltraCart REST API Version 2
7
7
  This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
8
8
 
9
9
  - API version: 2.0.0
10
- - Package version: 3.10.31
10
+ - Package version: 3.10.34
11
11
  - Build package: io.swagger.codegen.languages.RubyClientCodegen
12
12
  For more information, please visit [http://www.ultracart.com](http://www.ultracart.com)
13
13
 
@@ -24,15 +24,15 @@ gem build ultracart_api.gemspec
24
24
  Then either install the gem locally:
25
25
 
26
26
  ```shell
27
- gem install ./ultracart_api-3.10.31.gem
27
+ gem install ./ultracart_api-3.10.34.gem
28
28
  ```
29
- (for development, run `gem install --dev ./ultracart_api-3.10.31.gem` to install the development dependencies)
29
+ (for development, run `gem install --dev ./ultracart_api-3.10.34.gem` to install the development dependencies)
30
30
 
31
31
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
32
32
 
33
33
  Finally add this to the Gemfile:
34
34
 
35
- gem 'ultracart_api', '~> 3.10.31'
35
+ gem 'ultracart_api', '~> 3.10.34'
36
36
 
37
37
  ### Install from Git
38
38
 
@@ -564,6 +564,7 @@ Class | Method | HTTP request | Description
564
564
  - [UltracartClient::ConversationAgentAuthResponse](docs/ConversationAgentAuthResponse.md)
565
565
  - [UltracartClient::ConversationEventQueuePosition](docs/ConversationEventQueuePosition.md)
566
566
  - [UltracartClient::ConversationEventRRWeb](docs/ConversationEventRRWeb.md)
567
+ - [UltracartClient::ConversationEventTyping](docs/ConversationEventTyping.md)
567
568
  - [UltracartClient::ConversationMessage](docs/ConversationMessage.md)
568
569
  - [UltracartClient::ConversationMessageTransportStatus](docs/ConversationMessageTransportStatus.md)
569
570
  - [UltracartClient::ConversationMultimediaUploadUrl](docs/ConversationMultimediaUploadUrl.md)
@@ -1171,6 +1172,9 @@ Not every change is committed to every SDK.
1171
1172
 
1172
1173
  | Version | Date | Comments |
1173
1174
  | --: | :-: | --- |
1175
+ | 3.10.34 | 08/05/2022 | conversations query by medium and stats fixes |
1176
+ | 3.10.33 | 08/03/2022 | conversation summary participants |
1177
+ | 3.10.32 | 08/03/2022 | more conversation events |
1174
1178
  | 3.10.31 | 08/02/2022 | storefront communication sequence test method |
1175
1179
  | 3.10.30 | 08/01/2022 | conversation event refinement |
1176
1180
  | 3.10.29 | 07/29/2022 | conversation development |
data/docs/Conversation.md CHANGED
@@ -6,8 +6,17 @@ Name | Type | Description | Notes
6
6
  **closed** | **BOOLEAN** | | [optional]
7
7
  **conversation_arn** | **String** | | [optional]
8
8
  **conversation_uuid** | **String** | | [optional]
9
+ **last_conversation_message_body** | **String** | | [optional]
10
+ **last_conversation_participant_arn** | **String** | | [optional]
11
+ **last_conversation_participant_name** | **String** | | [optional]
12
+ **last_message_dts** | **String** | Last message date/time | [optional]
13
+ **medium** | **String** | The communication medium of the customer. | [optional]
9
14
  **merchant_id** | **String** | | [optional]
15
+ **message_count** | **Integer** | | [optional]
10
16
  **messages** | [**Array<ConversationMessage>**](ConversationMessage.md) | | [optional]
11
17
  **participants** | [**Array<ConversationParticipant>**](ConversationParticipant.md) | | [optional]
18
+ **start_dts** | **String** | Start of the conversation date/time | [optional]
19
+ **unread_messages** | **BOOLEAN** | | [optional]
20
+ **visible** | **BOOLEAN** | | [optional]
12
21
 
13
22
 
@@ -223,6 +223,7 @@ api_instance = UltracartClient::ConversationApi.new_using_api_key(simple_key, fa
223
223
 
224
224
 
225
225
  opts = {
226
+ medium: 'medium_example', # String |
226
227
  _limit: 100, # Integer | The maximum number of records to return on this one API call. (Max 200)
227
228
  _offset: 0 # Integer | Pagination of the record set. Offset is a zero based index.
228
229
  }
@@ -240,6 +241,7 @@ end
240
241
 
241
242
  Name | Type | Description | Notes
242
243
  ------------- | ------------- | ------------- | -------------
244
+ **medium** | **String**| | [optional]
243
245
  **_limit** | **Integer**| The maximum number of records to return on this one API call. (Max 200) | [optional] [default to 100]
244
246
  **_offset** | **Integer**| Pagination of the record set. Offset is a zero based index. | [optional] [default to 0]
245
247
 
@@ -0,0 +1,10 @@
1
+ # UltracartClient::ConversationEventTyping
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **author_conversation_participant_arn** | **String** | | [optional]
7
+ **author_conversation_participant_name** | **String** | | [optional]
8
+ **value** | **String** | | [optional]
9
+
10
+
@@ -10,8 +10,10 @@ Name | Type | Description | Notes
10
10
  **last_conversation_participant_arn** | **String** | | [optional]
11
11
  **last_conversation_participant_name** | **String** | | [optional]
12
12
  **last_message_dts** | **String** | Last message date/time | [optional]
13
+ **medium** | **String** | The communication medium of the customer. | [optional]
13
14
  **merchant_id** | **String** | | [optional]
14
15
  **message_count** | **Integer** | | [optional]
16
+ **participants** | [**Array<ConversationParticipant>**](ConversationParticipant.md) | | [optional]
15
17
  **start_dts** | **String** | Start of the conversation date/time | [optional]
16
18
  **unread_messages** | **BOOLEAN** | | [optional]
17
19
  **visible** | **BOOLEAN** | | [optional]
@@ -7,10 +7,12 @@ Name | Type | Description | Notes
7
7
  **event_conversation_closed** | [**ConversationSummary**](ConversationSummary.md) | | [optional]
8
8
  **event_new_conversation** | [**ConversationSummary**](ConversationSummary.md) | | [optional]
9
9
  **event_new_message** | [**ConversationSummary**](ConversationSummary.md) | | [optional]
10
+ **event_participant_update** | [**ConversationSummary**](ConversationSummary.md) | | [optional]
10
11
  **event_queue_position** | [**ConversationEventQueuePosition**](ConversationEventQueuePosition.md) | | [optional]
11
12
  **event_queue_status_update** | [**ConversationWebchatQueueStatus**](ConversationWebchatQueueStatus.md) | | [optional]
12
13
  **event_rrweb** | [**ConversationEventRRWeb**](ConversationEventRRWeb.md) | | [optional]
13
14
  **event_type** | **String** | Type of event | [optional]
15
+ **event_typing** | [**ConversationEventTyping**](ConversationEventTyping.md) | | [optional]
14
16
  **event_updated_message** | [**ConversationMessage**](ConversationMessage.md) | | [optional]
15
17
  **message** | [**ConversationMessage**](ConversationMessage.md) | | [optional]
16
18
  **type** | **String** | Type of message | [optional]
@@ -243,6 +243,7 @@ module UltracartClient
243
243
  # Retrieve a list of conversation summaries newest to oldest
244
244
  # Retrieve a list of conversation summaries that are ordered newest to oldest, include the most recent message and whether its been read.
245
245
  # @param [Hash] opts the optional parameters
246
+ # @option opts [String] :medium
246
247
  # @option opts [Integer] :_limit The maximum number of records to return on this one API call. (Max 200) (default to 100)
247
248
  # @option opts [Integer] :_offset Pagination of the record set. Offset is a zero based index. (default to 0)
248
249
  # @return [ConversationsResponse]
@@ -254,6 +255,7 @@ module UltracartClient
254
255
  # Retrieve a list of conversation summaries newest to oldest
255
256
  # Retrieve a list of conversation summaries that are ordered newest to oldest, include the most recent message and whether its been read.
256
257
  # @param [Hash] opts the optional parameters
258
+ # @option opts [String] :medium
257
259
  # @option opts [Integer] :_limit The maximum number of records to return on this one API call. (Max 200)
258
260
  # @option opts [Integer] :_offset Pagination of the record set. Offset is a zero based index.
259
261
  # @return [Array<(ConversationsResponse, Fixnum, Hash)>] ConversationsResponse data, response status code and response headers
@@ -266,6 +268,7 @@ module UltracartClient
266
268
 
267
269
  # query parameters
268
270
  query_params = {}
271
+ query_params[:'medium'] = opts[:'medium'] if !opts[:'medium'].nil?
269
272
  query_params[:'_limit'] = opts[:'_limit'] if !opts[:'_limit'].nil?
270
273
  query_params[:'_offset'] = opts[:'_offset'] if !opts[:'_offset'].nil?
271
274
 
@@ -20,21 +20,73 @@ module UltracartClient
20
20
 
21
21
  attr_accessor :conversation_uuid
22
22
 
23
+ attr_accessor :last_conversation_message_body
24
+
25
+ attr_accessor :last_conversation_participant_arn
26
+
27
+ attr_accessor :last_conversation_participant_name
28
+
29
+ # Last message date/time
30
+ attr_accessor :last_message_dts
31
+
32
+ # The communication medium of the customer.
33
+ attr_accessor :medium
34
+
23
35
  attr_accessor :merchant_id
24
36
 
37
+ attr_accessor :message_count
38
+
25
39
  attr_accessor :messages
26
40
 
27
41
  attr_accessor :participants
28
42
 
43
+ # Start of the conversation date/time
44
+ attr_accessor :start_dts
45
+
46
+ attr_accessor :unread_messages
47
+
48
+ attr_accessor :visible
49
+
50
+ class EnumAttributeValidator
51
+ attr_reader :datatype
52
+ attr_reader :allowable_values
53
+
54
+ def initialize(datatype, allowable_values)
55
+ @allowable_values = allowable_values.map do |value|
56
+ case datatype.to_s
57
+ when /Integer/i
58
+ value.to_i
59
+ when /Float/i
60
+ value.to_f
61
+ else
62
+ value
63
+ end
64
+ end
65
+ end
66
+
67
+ def valid?(value)
68
+ !value || allowable_values.include?(value)
69
+ end
70
+ end
71
+
29
72
  # Attribute mapping from ruby-style variable name to JSON key.
30
73
  def self.attribute_map
31
74
  {
32
75
  :'closed' => :'closed',
33
76
  :'conversation_arn' => :'conversation_arn',
34
77
  :'conversation_uuid' => :'conversation_uuid',
78
+ :'last_conversation_message_body' => :'last_conversation_message_body',
79
+ :'last_conversation_participant_arn' => :'last_conversation_participant_arn',
80
+ :'last_conversation_participant_name' => :'last_conversation_participant_name',
81
+ :'last_message_dts' => :'last_message_dts',
82
+ :'medium' => :'medium',
35
83
  :'merchant_id' => :'merchant_id',
84
+ :'message_count' => :'message_count',
36
85
  :'messages' => :'messages',
37
- :'participants' => :'participants'
86
+ :'participants' => :'participants',
87
+ :'start_dts' => :'start_dts',
88
+ :'unread_messages' => :'unread_messages',
89
+ :'visible' => :'visible'
38
90
  }
39
91
  end
40
92
 
@@ -44,9 +96,18 @@ module UltracartClient
44
96
  :'closed' => :'BOOLEAN',
45
97
  :'conversation_arn' => :'String',
46
98
  :'conversation_uuid' => :'String',
99
+ :'last_conversation_message_body' => :'String',
100
+ :'last_conversation_participant_arn' => :'String',
101
+ :'last_conversation_participant_name' => :'String',
102
+ :'last_message_dts' => :'String',
103
+ :'medium' => :'String',
47
104
  :'merchant_id' => :'String',
105
+ :'message_count' => :'Integer',
48
106
  :'messages' => :'Array<ConversationMessage>',
49
- :'participants' => :'Array<ConversationParticipant>'
107
+ :'participants' => :'Array<ConversationParticipant>',
108
+ :'start_dts' => :'String',
109
+ :'unread_messages' => :'BOOLEAN',
110
+ :'visible' => :'BOOLEAN'
50
111
  }
51
112
  end
52
113
 
@@ -70,10 +131,34 @@ module UltracartClient
70
131
  self.conversation_uuid = attributes[:'conversation_uuid']
71
132
  end
72
133
 
134
+ if attributes.has_key?(:'last_conversation_message_body')
135
+ self.last_conversation_message_body = attributes[:'last_conversation_message_body']
136
+ end
137
+
138
+ if attributes.has_key?(:'last_conversation_participant_arn')
139
+ self.last_conversation_participant_arn = attributes[:'last_conversation_participant_arn']
140
+ end
141
+
142
+ if attributes.has_key?(:'last_conversation_participant_name')
143
+ self.last_conversation_participant_name = attributes[:'last_conversation_participant_name']
144
+ end
145
+
146
+ if attributes.has_key?(:'last_message_dts')
147
+ self.last_message_dts = attributes[:'last_message_dts']
148
+ end
149
+
150
+ if attributes.has_key?(:'medium')
151
+ self.medium = attributes[:'medium']
152
+ end
153
+
73
154
  if attributes.has_key?(:'merchant_id')
74
155
  self.merchant_id = attributes[:'merchant_id']
75
156
  end
76
157
 
158
+ if attributes.has_key?(:'message_count')
159
+ self.message_count = attributes[:'message_count']
160
+ end
161
+
77
162
  if attributes.has_key?(:'messages')
78
163
  if (value = attributes[:'messages']).is_a?(Array)
79
164
  self.messages = value
@@ -85,6 +170,18 @@ module UltracartClient
85
170
  self.participants = value
86
171
  end
87
172
  end
173
+
174
+ if attributes.has_key?(:'start_dts')
175
+ self.start_dts = attributes[:'start_dts']
176
+ end
177
+
178
+ if attributes.has_key?(:'unread_messages')
179
+ self.unread_messages = attributes[:'unread_messages']
180
+ end
181
+
182
+ if attributes.has_key?(:'visible')
183
+ self.visible = attributes[:'visible']
184
+ end
88
185
  end
89
186
 
90
187
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -97,9 +194,21 @@ module UltracartClient
97
194
  # Check to see if the all the properties in the model are valid
98
195
  # @return true if the model is valid
99
196
  def valid?
197
+ medium_validator = EnumAttributeValidator.new('String', ['sms', 'websocket'])
198
+ return false unless medium_validator.valid?(@medium)
100
199
  true
101
200
  end
102
201
 
202
+ # Custom attribute writer method checking allowed values (enum).
203
+ # @param [Object] medium Object to be assigned
204
+ def medium=(medium)
205
+ validator = EnumAttributeValidator.new('String', ['sms', 'websocket'])
206
+ unless validator.valid?(medium)
207
+ fail ArgumentError, 'invalid value for "medium", must be one of #{validator.allowable_values}.'
208
+ end
209
+ @medium = medium
210
+ end
211
+
103
212
  # Checks equality by comparing each attribute.
104
213
  # @param [Object] Object to be compared
105
214
  def ==(o)
@@ -108,9 +217,18 @@ module UltracartClient
108
217
  closed == o.closed &&
109
218
  conversation_arn == o.conversation_arn &&
110
219
  conversation_uuid == o.conversation_uuid &&
220
+ last_conversation_message_body == o.last_conversation_message_body &&
221
+ last_conversation_participant_arn == o.last_conversation_participant_arn &&
222
+ last_conversation_participant_name == o.last_conversation_participant_name &&
223
+ last_message_dts == o.last_message_dts &&
224
+ medium == o.medium &&
111
225
  merchant_id == o.merchant_id &&
226
+ message_count == o.message_count &&
112
227
  messages == o.messages &&
113
- participants == o.participants
228
+ participants == o.participants &&
229
+ start_dts == o.start_dts &&
230
+ unread_messages == o.unread_messages &&
231
+ visible == o.visible
114
232
  end
115
233
 
116
234
  # @see the `==` method
@@ -122,7 +240,7 @@ module UltracartClient
122
240
  # Calculates hash code according to all attributes.
123
241
  # @return [Fixnum] Hash code
124
242
  def hash
125
- [closed, conversation_arn, conversation_uuid, merchant_id, messages, participants].hash
243
+ [closed, conversation_arn, conversation_uuid, last_conversation_message_body, last_conversation_participant_arn, last_conversation_participant_name, last_message_dts, medium, merchant_id, message_count, messages, participants, start_dts, unread_messages, visible].hash
126
244
  end
127
245
 
128
246
  # Builds the object from hash
@@ -0,0 +1,202 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ OpenAPI spec version: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.15-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module UltracartClient
16
+ class ConversationEventTyping
17
+ attr_accessor :author_conversation_participant_arn
18
+
19
+ attr_accessor :author_conversation_participant_name
20
+
21
+ attr_accessor :value
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'author_conversation_participant_arn' => :'author_conversation_participant_arn',
27
+ :'author_conversation_participant_name' => :'author_conversation_participant_name',
28
+ :'value' => :'value'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.swagger_types
34
+ {
35
+ :'author_conversation_participant_arn' => :'String',
36
+ :'author_conversation_participant_name' => :'String',
37
+ :'value' => :'String'
38
+ }
39
+ end
40
+
41
+ # Initializes the object
42
+ # @param [Hash] attributes Model attributes in the form of hash
43
+ def initialize(attributes = {})
44
+ return unless attributes.is_a?(Hash)
45
+
46
+ # convert string to symbol for hash key
47
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
48
+
49
+ if attributes.has_key?(:'author_conversation_participant_arn')
50
+ self.author_conversation_participant_arn = attributes[:'author_conversation_participant_arn']
51
+ end
52
+
53
+ if attributes.has_key?(:'author_conversation_participant_name')
54
+ self.author_conversation_participant_name = attributes[:'author_conversation_participant_name']
55
+ end
56
+
57
+ if attributes.has_key?(:'value')
58
+ self.value = attributes[:'value']
59
+ end
60
+ end
61
+
62
+ # Show invalid properties with the reasons. Usually used together with valid?
63
+ # @return Array for valid properties with the reasons
64
+ def list_invalid_properties
65
+ invalid_properties = Array.new
66
+ invalid_properties
67
+ end
68
+
69
+ # Check to see if the all the properties in the model are valid
70
+ # @return true if the model is valid
71
+ def valid?
72
+ true
73
+ end
74
+
75
+ # Checks equality by comparing each attribute.
76
+ # @param [Object] Object to be compared
77
+ def ==(o)
78
+ return true if self.equal?(o)
79
+ self.class == o.class &&
80
+ author_conversation_participant_arn == o.author_conversation_participant_arn &&
81
+ author_conversation_participant_name == o.author_conversation_participant_name &&
82
+ value == o.value
83
+ end
84
+
85
+ # @see the `==` method
86
+ # @param [Object] Object to be compared
87
+ def eql?(o)
88
+ self == o
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Fixnum] Hash code
93
+ def hash
94
+ [author_conversation_participant_arn, author_conversation_participant_name, value].hash
95
+ end
96
+
97
+ # Builds the object from hash
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ # @return [Object] Returns the model itself
100
+ def build_from_hash(attributes)
101
+ return nil unless attributes.is_a?(Hash)
102
+ self.class.swagger_types.each_pair do |key, type|
103
+ if type =~ /\AArray<(.*)>/i
104
+ # check to ensure the input is an array given that the attribute
105
+ # is documented as an array but the input is not
106
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
107
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
108
+ end
109
+ elsif !attributes[self.class.attribute_map[key]].nil?
110
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
111
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
112
+ end
113
+
114
+ self
115
+ end
116
+
117
+ # Deserializes the data based on type
118
+ # @param string type Data type
119
+ # @param string value Value to be deserialized
120
+ # @return [Object] Deserialized data
121
+ def _deserialize(type, value)
122
+ case type.to_sym
123
+ when :DateTime
124
+ DateTime.parse(value)
125
+ when :Date
126
+ Date.parse(value)
127
+ when :String
128
+ value.to_s
129
+ when :Integer
130
+ value.to_i
131
+ when :Float
132
+ value.to_f
133
+ when :BOOLEAN
134
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
135
+ true
136
+ else
137
+ false
138
+ end
139
+ when :Object
140
+ # generic object (usually a Hash), return directly
141
+ value
142
+ when /\AArray<(?<inner_type>.+)>\z/
143
+ inner_type = Regexp.last_match[:inner_type]
144
+ value.map { |v| _deserialize(inner_type, v) }
145
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
146
+ k_type = Regexp.last_match[:k_type]
147
+ v_type = Regexp.last_match[:v_type]
148
+ {}.tap do |hash|
149
+ value.each do |k, v|
150
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
151
+ end
152
+ end
153
+ else # model
154
+ temp_model = UltracartClient.const_get(type).new
155
+ temp_model.build_from_hash(value)
156
+ end
157
+ end
158
+
159
+ # Returns the string representation of the object
160
+ # @return [String] String presentation of the object
161
+ def to_s
162
+ to_hash.to_s
163
+ end
164
+
165
+ # to_body is an alias to to_hash (backward compatibility)
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_body
168
+ to_hash
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ next if value.nil?
178
+ hash[param] = _to_hash(value)
179
+ end
180
+ hash
181
+ end
182
+
183
+ # Outputs non-array value in the form of hash
184
+ # For object, use to_hash. Otherwise, just return the value
185
+ # @param [Object] value Any valid value
186
+ # @return [Hash] Returns the value in the form of hash
187
+ def _to_hash(value)
188
+ if value.is_a?(Array)
189
+ value.compact.map { |v| _to_hash(v) }
190
+ elsif value.is_a?(Hash)
191
+ {}.tap do |hash|
192
+ value.each { |k, v| hash[k] = _to_hash(v) }
193
+ end
194
+ elsif value.respond_to? :to_hash
195
+ value.to_hash
196
+ else
197
+ value
198
+ end
199
+ end
200
+
201
+ end
202
+ end
@@ -29,10 +29,15 @@ module UltracartClient
29
29
  # Last message date/time
30
30
  attr_accessor :last_message_dts
31
31
 
32
+ # The communication medium of the customer.
33
+ attr_accessor :medium
34
+
32
35
  attr_accessor :merchant_id
33
36
 
34
37
  attr_accessor :message_count
35
38
 
39
+ attr_accessor :participants
40
+
36
41
  # Start of the conversation date/time
37
42
  attr_accessor :start_dts
38
43
 
@@ -40,6 +45,28 @@ module UltracartClient
40
45
 
41
46
  attr_accessor :visible
42
47
 
48
+ class EnumAttributeValidator
49
+ attr_reader :datatype
50
+ attr_reader :allowable_values
51
+
52
+ def initialize(datatype, allowable_values)
53
+ @allowable_values = allowable_values.map do |value|
54
+ case datatype.to_s
55
+ when /Integer/i
56
+ value.to_i
57
+ when /Float/i
58
+ value.to_f
59
+ else
60
+ value
61
+ end
62
+ end
63
+ end
64
+
65
+ def valid?(value)
66
+ !value || allowable_values.include?(value)
67
+ end
68
+ end
69
+
43
70
  # Attribute mapping from ruby-style variable name to JSON key.
44
71
  def self.attribute_map
45
72
  {
@@ -50,8 +77,10 @@ module UltracartClient
50
77
  :'last_conversation_participant_arn' => :'last_conversation_participant_arn',
51
78
  :'last_conversation_participant_name' => :'last_conversation_participant_name',
52
79
  :'last_message_dts' => :'last_message_dts',
80
+ :'medium' => :'medium',
53
81
  :'merchant_id' => :'merchant_id',
54
82
  :'message_count' => :'message_count',
83
+ :'participants' => :'participants',
55
84
  :'start_dts' => :'start_dts',
56
85
  :'unread_messages' => :'unread_messages',
57
86
  :'visible' => :'visible'
@@ -68,8 +97,10 @@ module UltracartClient
68
97
  :'last_conversation_participant_arn' => :'String',
69
98
  :'last_conversation_participant_name' => :'String',
70
99
  :'last_message_dts' => :'String',
100
+ :'medium' => :'String',
71
101
  :'merchant_id' => :'String',
72
102
  :'message_count' => :'Integer',
103
+ :'participants' => :'Array<ConversationParticipant>',
73
104
  :'start_dts' => :'String',
74
105
  :'unread_messages' => :'BOOLEAN',
75
106
  :'visible' => :'BOOLEAN'
@@ -112,6 +143,10 @@ module UltracartClient
112
143
  self.last_message_dts = attributes[:'last_message_dts']
113
144
  end
114
145
 
146
+ if attributes.has_key?(:'medium')
147
+ self.medium = attributes[:'medium']
148
+ end
149
+
115
150
  if attributes.has_key?(:'merchant_id')
116
151
  self.merchant_id = attributes[:'merchant_id']
117
152
  end
@@ -120,6 +155,12 @@ module UltracartClient
120
155
  self.message_count = attributes[:'message_count']
121
156
  end
122
157
 
158
+ if attributes.has_key?(:'participants')
159
+ if (value = attributes[:'participants']).is_a?(Array)
160
+ self.participants = value
161
+ end
162
+ end
163
+
123
164
  if attributes.has_key?(:'start_dts')
124
165
  self.start_dts = attributes[:'start_dts']
125
166
  end
@@ -143,9 +184,21 @@ module UltracartClient
143
184
  # Check to see if the all the properties in the model are valid
144
185
  # @return true if the model is valid
145
186
  def valid?
187
+ medium_validator = EnumAttributeValidator.new('String', ['sms', 'websocket'])
188
+ return false unless medium_validator.valid?(@medium)
146
189
  true
147
190
  end
148
191
 
192
+ # Custom attribute writer method checking allowed values (enum).
193
+ # @param [Object] medium Object to be assigned
194
+ def medium=(medium)
195
+ validator = EnumAttributeValidator.new('String', ['sms', 'websocket'])
196
+ unless validator.valid?(medium)
197
+ fail ArgumentError, 'invalid value for "medium", must be one of #{validator.allowable_values}.'
198
+ end
199
+ @medium = medium
200
+ end
201
+
149
202
  # Checks equality by comparing each attribute.
150
203
  # @param [Object] Object to be compared
151
204
  def ==(o)
@@ -158,8 +211,10 @@ module UltracartClient
158
211
  last_conversation_participant_arn == o.last_conversation_participant_arn &&
159
212
  last_conversation_participant_name == o.last_conversation_participant_name &&
160
213
  last_message_dts == o.last_message_dts &&
214
+ medium == o.medium &&
161
215
  merchant_id == o.merchant_id &&
162
216
  message_count == o.message_count &&
217
+ participants == o.participants &&
163
218
  start_dts == o.start_dts &&
164
219
  unread_messages == o.unread_messages &&
165
220
  visible == o.visible
@@ -174,7 +229,7 @@ module UltracartClient
174
229
  # Calculates hash code according to all attributes.
175
230
  # @return [Fixnum] Hash code
176
231
  def hash
177
- [closed, conversation_arn, conversation_uuid, last_conversation_message_body, last_conversation_participant_arn, last_conversation_participant_name, last_message_dts, merchant_id, message_count, start_dts, unread_messages, visible].hash
232
+ [closed, conversation_arn, conversation_uuid, last_conversation_message_body, last_conversation_participant_arn, last_conversation_participant_name, last_message_dts, medium, merchant_id, message_count, participants, start_dts, unread_messages, visible].hash
178
233
  end
179
234
 
180
235
  # Builds the object from hash
@@ -23,6 +23,8 @@ module UltracartClient
23
23
 
24
24
  attr_accessor :event_new_message
25
25
 
26
+ attr_accessor :event_participant_update
27
+
26
28
  attr_accessor :event_queue_position
27
29
 
28
30
  attr_accessor :event_queue_status_update
@@ -32,6 +34,8 @@ module UltracartClient
32
34
  # Type of event
33
35
  attr_accessor :event_type
34
36
 
37
+ attr_accessor :event_typing
38
+
35
39
  attr_accessor :event_updated_message
36
40
 
37
41
  attr_accessor :message
@@ -68,10 +72,12 @@ module UltracartClient
68
72
  :'event_conversation_closed' => :'event_conversation_closed',
69
73
  :'event_new_conversation' => :'event_new_conversation',
70
74
  :'event_new_message' => :'event_new_message',
75
+ :'event_participant_update' => :'event_participant_update',
71
76
  :'event_queue_position' => :'event_queue_position',
72
77
  :'event_queue_status_update' => :'event_queue_status_update',
73
78
  :'event_rrweb' => :'event_rrweb',
74
79
  :'event_type' => :'event_type',
80
+ :'event_typing' => :'event_typing',
75
81
  :'event_updated_message' => :'event_updated_message',
76
82
  :'message' => :'message',
77
83
  :'type' => :'type'
@@ -85,10 +91,12 @@ module UltracartClient
85
91
  :'event_conversation_closed' => :'ConversationSummary',
86
92
  :'event_new_conversation' => :'ConversationSummary',
87
93
  :'event_new_message' => :'ConversationSummary',
94
+ :'event_participant_update' => :'ConversationSummary',
88
95
  :'event_queue_position' => :'ConversationEventQueuePosition',
89
96
  :'event_queue_status_update' => :'ConversationWebchatQueueStatus',
90
97
  :'event_rrweb' => :'ConversationEventRRWeb',
91
98
  :'event_type' => :'String',
99
+ :'event_typing' => :'ConversationEventTyping',
92
100
  :'event_updated_message' => :'ConversationMessage',
93
101
  :'message' => :'ConversationMessage',
94
102
  :'type' => :'String'
@@ -119,6 +127,10 @@ module UltracartClient
119
127
  self.event_new_message = attributes[:'event_new_message']
120
128
  end
121
129
 
130
+ if attributes.has_key?(:'event_participant_update')
131
+ self.event_participant_update = attributes[:'event_participant_update']
132
+ end
133
+
122
134
  if attributes.has_key?(:'event_queue_position')
123
135
  self.event_queue_position = attributes[:'event_queue_position']
124
136
  end
@@ -135,6 +147,10 @@ module UltracartClient
135
147
  self.event_type = attributes[:'event_type']
136
148
  end
137
149
 
150
+ if attributes.has_key?(:'event_typing')
151
+ self.event_typing = attributes[:'event_typing']
152
+ end
153
+
138
154
  if attributes.has_key?(:'event_updated_message')
139
155
  self.event_updated_message = attributes[:'event_updated_message']
140
156
  end
@@ -158,7 +174,7 @@ module UltracartClient
158
174
  # Check to see if the all the properties in the model are valid
159
175
  # @return true if the model is valid
160
176
  def valid?
161
- event_type_validator = EnumAttributeValidator.new('String', ['queue position', 'webchat start conversation', 'conversation closed', 'new conversation', 'new message', 'updated message', 'queue status update', 'rrweb'])
177
+ event_type_validator = EnumAttributeValidator.new('String', ['queue position', 'webchat start conversation', 'conversation closed', 'new conversation', 'new message', 'updated message', 'queue status update', 'rrweb', 'participant update'])
162
178
  return false unless event_type_validator.valid?(@event_type)
163
179
  type_validator = EnumAttributeValidator.new('String', ['message', 'event', 'ping', 'check queue position'])
164
180
  return false unless type_validator.valid?(@type)
@@ -168,7 +184,7 @@ module UltracartClient
168
184
  # Custom attribute writer method checking allowed values (enum).
169
185
  # @param [Object] event_type Object to be assigned
170
186
  def event_type=(event_type)
171
- validator = EnumAttributeValidator.new('String', ['queue position', 'webchat start conversation', 'conversation closed', 'new conversation', 'new message', 'updated message', 'queue status update', 'rrweb'])
187
+ validator = EnumAttributeValidator.new('String', ['queue position', 'webchat start conversation', 'conversation closed', 'new conversation', 'new message', 'updated message', 'queue status update', 'rrweb', 'participant update'])
172
188
  unless validator.valid?(event_type)
173
189
  fail ArgumentError, 'invalid value for "event_type", must be one of #{validator.allowable_values}.'
174
190
  end
@@ -194,10 +210,12 @@ module UltracartClient
194
210
  event_conversation_closed == o.event_conversation_closed &&
195
211
  event_new_conversation == o.event_new_conversation &&
196
212
  event_new_message == o.event_new_message &&
213
+ event_participant_update == o.event_participant_update &&
197
214
  event_queue_position == o.event_queue_position &&
198
215
  event_queue_status_update == o.event_queue_status_update &&
199
216
  event_rrweb == o.event_rrweb &&
200
217
  event_type == o.event_type &&
218
+ event_typing == o.event_typing &&
201
219
  event_updated_message == o.event_updated_message &&
202
220
  message == o.message &&
203
221
  type == o.type
@@ -212,7 +230,7 @@ module UltracartClient
212
230
  # Calculates hash code according to all attributes.
213
231
  # @return [Fixnum] Hash code
214
232
  def hash
215
- [conversation_uuid, event_conversation_closed, event_new_conversation, event_new_message, event_queue_position, event_queue_status_update, event_rrweb, event_type, event_updated_message, message, type].hash
233
+ [conversation_uuid, event_conversation_closed, event_new_conversation, event_new_message, event_participant_update, event_queue_position, event_queue_status_update, event_rrweb, event_type, event_typing, event_updated_message, message, type].hash
216
234
  end
217
235
 
218
236
  # Builds the object from hash
@@ -11,5 +11,5 @@ Swagger Codegen version: 2.4.15-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module UltracartClient
14
- VERSION = '3.10.31'
14
+ VERSION = '3.10.34'
15
15
  end
data/lib/ultracart_api.rb CHANGED
@@ -139,6 +139,7 @@ require 'ultracart_api/models/conversation_agent_auth'
139
139
  require 'ultracart_api/models/conversation_agent_auth_response'
140
140
  require 'ultracart_api/models/conversation_event_queue_position'
141
141
  require 'ultracart_api/models/conversation_event_rr_web'
142
+ require 'ultracart_api/models/conversation_event_typing'
142
143
  require 'ultracart_api/models/conversation_message'
143
144
  require 'ultracart_api/models/conversation_message_transport_status'
144
145
  require 'ultracart_api/models/conversation_multimedia_upload_url'
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: 3.10.31
4
+ version: 3.10.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - UltraCart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-02 00:00:00.000000000 Z
11
+ date: 2022-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -349,6 +349,7 @@ files:
349
349
  - docs/ConversationApi.md
350
350
  - docs/ConversationEventQueuePosition.md
351
351
  - docs/ConversationEventRRWeb.md
352
+ - docs/ConversationEventTyping.md
352
353
  - docs/ConversationMessage.md
353
354
  - docs/ConversationMessageTransportStatus.md
354
355
  - docs/ConversationMultimediaUploadUrl.md
@@ -1045,6 +1046,7 @@ files:
1045
1046
  - lib/ultracart_api/models/conversation_agent_auth_response.rb
1046
1047
  - lib/ultracart_api/models/conversation_event_queue_position.rb
1047
1048
  - lib/ultracart_api/models/conversation_event_rr_web.rb
1049
+ - lib/ultracart_api/models/conversation_event_typing.rb
1048
1050
  - lib/ultracart_api/models/conversation_message.rb
1049
1051
  - lib/ultracart_api/models/conversation_message_transport_status.rb
1050
1052
  - lib/ultracart_api/models/conversation_multimedia_upload_url.rb