ultracart_api 3.10.33 → 3.10.36

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: 2b8d8596e85e94c5c7340d24fc86583c22136dd7daf5bd2e6573544aa27d4502
4
- data.tar.gz: 2e9a0d126b6dba45d9d725521e550db4db29bf1b3dc497b9c2ea1523ba8b50dd
3
+ metadata.gz: 3b75380953d4d7da5c137cbca4a1f313dd2cb9703d63432ccfdfb5227e429fc6
4
+ data.tar.gz: 705fcd4bfad77c3e54b26542f0f2046778bfd91322f351a04200d0ecd80fbee3
5
5
  SHA512:
6
- metadata.gz: 4ad8dc43d42359596d5489d79e9072b307157d3c4ce744e45c9e41257a9b223ff949ea4e06176ce1305631ee627cd0af7ec79064454c3417502cffbb4890d2f1
7
- data.tar.gz: f563b828346a77fc63a2307cc6b048cec736835ff349c098f4bfac43048173308ca113495aae66ec3f59cc70f18c9d867b11d1bc5ee2a166074f920ec414cf44
6
+ metadata.gz: 7d3120c26795f78dba3e7b13c495ef20282275a24843e99bc85427126b6dd00d6b05f1b1736418d5cd57cfde5e46c8d51946337748346eeeaaef2401ba60e442
7
+ data.tar.gz: 3f6be0b362628677a4143ad6cc0582d0ce496023f3da353d84e87927132ae15cc0d765202ac910e3b20bd375c5effabfbfa98abd80797df6282298821c55f830
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.33
10
+ - Package version: 3.10.36
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.33.gem
27
+ gem install ./ultracart_api-3.10.36.gem
28
28
  ```
29
- (for development, run `gem install --dev ./ultracart_api-3.10.33.gem` to install the development dependencies)
29
+ (for development, run `gem install --dev ./ultracart_api-3.10.36.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.33'
35
+ gem 'ultracart_api', '~> 3.10.36'
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::ConversationEventReadMessage](docs/ConversationEventReadMessage.md)
567
568
  - [UltracartClient::ConversationEventTyping](docs/ConversationEventTyping.md)
568
569
  - [UltracartClient::ConversationMessage](docs/ConversationMessage.md)
569
570
  - [UltracartClient::ConversationMessageTransportStatus](docs/ConversationMessageTransportStatus.md)
@@ -1172,6 +1173,9 @@ Not every change is committed to every SDK.
1172
1173
 
1173
1174
  | Version | Date | Comments |
1174
1175
  | --: | :-: | --- |
1176
+ | 3.10.36 | 08/10/2022 | conversation event refactoring |
1177
+ | 3.10.35 | 08/05/2022 | conversation adjustments for ES integration |
1178
+ | 3.10.34 | 08/05/2022 | conversations query by medium and stats fixes |
1175
1179
  | 3.10.33 | 08/03/2022 | conversation summary participants |
1176
1180
  | 3.10.32 | 08/03/2022 | more conversation events |
1177
1181
  | 3.10.31 | 08/02/2022 | storefront communication sequence test method |
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::ConversationEventReadMessage
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **conversation_message_uuid** | **String** | | [optional]
7
+ **message_dts** | **String** | Message date/time | [optional]
8
+ **message_epoch** | **Integer** | | [optional]
9
+
10
+
@@ -7,8 +7,11 @@ Name | Type | Description | Notes
7
7
  **author_conversation_participant_name** | **String** | | [optional]
8
8
  **body** | **String** | | [optional]
9
9
  **client_message_id** | **String** | | [optional]
10
+ **conversation_message_uuid** | **String** | | [optional]
10
11
  **media_urls** | **Array<String>** | | [optional]
12
+ **merchant_id** | **String** | | [optional]
11
13
  **message_dts** | **String** | Message date/time | [optional]
14
+ **message_epoch** | **Integer** | Message epoch milliseconds | [optional]
12
15
  **transport_statuses** | [**Array<ConversationMessageTransportStatus>**](ConversationMessageTransportStatus.md) | | [optional]
13
16
  **type** | **String** | Message type | [optional]
14
17
  **upload_keys** | **Array<String>** | | [optional]
@@ -4,6 +4,6 @@
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **conversation_participant_arn** | **String** | | [optional]
7
- **status** | **String** | | [optional]
7
+ **status** | **String** | The status of the message transport | [optional]
8
8
 
9
9
 
@@ -10,5 +10,6 @@ Name | Type | Description | Notes
10
10
  **last_message_dts** | **String** | Last message date/time | [optional]
11
11
  **left_dts** | **String** | Left conversation date/time | [optional]
12
12
  **status** | **String** | | [optional]
13
+ **unread_messages** | **Integer** | | [optional]
13
14
 
14
15
 
@@ -10,6 +10,7 @@ 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]
15
16
  **participants** | [**Array<ConversationParticipant>**](ConversationParticipant.md) | | [optional]
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
10
10
  **event_participant_update** | [**ConversationSummary**](ConversationSummary.md) | | [optional]
11
11
  **event_queue_position** | [**ConversationEventQueuePosition**](ConversationEventQueuePosition.md) | | [optional]
12
12
  **event_queue_status_update** | [**ConversationWebchatQueueStatus**](ConversationWebchatQueueStatus.md) | | [optional]
13
+ **event_read_message** | [**ConversationEventReadMessage**](ConversationEventReadMessage.md) | | [optional]
13
14
  **event_rrweb** | [**ConversationEventRRWeb**](ConversationEventRRWeb.md) | | [optional]
14
15
  **event_type** | **String** | Type of event | [optional]
15
16
  **event_typing** | [**ConversationEventTyping**](ConversationEventTyping.md) | | [optional]
@@ -3,5 +3,6 @@
3
3
  ## Properties
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
+ **ignore_this_property** | **BOOLEAN** | This property does nothing but is included in this object to ensure the object is generated by our sdk builders. | [optional]
6
7
 
7
8
 
@@ -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,203 @@
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 ConversationEventReadMessage
17
+ attr_accessor :conversation_message_uuid
18
+
19
+ # Message date/time
20
+ attr_accessor :message_dts
21
+
22
+ attr_accessor :message_epoch
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'conversation_message_uuid' => :'conversation_message_uuid',
28
+ :'message_dts' => :'message_dts',
29
+ :'message_epoch' => :'message_epoch'
30
+ }
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.swagger_types
35
+ {
36
+ :'conversation_message_uuid' => :'String',
37
+ :'message_dts' => :'String',
38
+ :'message_epoch' => :'Integer'
39
+ }
40
+ end
41
+
42
+ # Initializes the object
43
+ # @param [Hash] attributes Model attributes in the form of hash
44
+ def initialize(attributes = {})
45
+ return unless attributes.is_a?(Hash)
46
+
47
+ # convert string to symbol for hash key
48
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
49
+
50
+ if attributes.has_key?(:'conversation_message_uuid')
51
+ self.conversation_message_uuid = attributes[:'conversation_message_uuid']
52
+ end
53
+
54
+ if attributes.has_key?(:'message_dts')
55
+ self.message_dts = attributes[:'message_dts']
56
+ end
57
+
58
+ if attributes.has_key?(:'message_epoch')
59
+ self.message_epoch = attributes[:'message_epoch']
60
+ end
61
+ end
62
+
63
+ # Show invalid properties with the reasons. Usually used together with valid?
64
+ # @return Array for valid properties with the reasons
65
+ def list_invalid_properties
66
+ invalid_properties = Array.new
67
+ invalid_properties
68
+ end
69
+
70
+ # Check to see if the all the properties in the model are valid
71
+ # @return true if the model is valid
72
+ def valid?
73
+ true
74
+ end
75
+
76
+ # Checks equality by comparing each attribute.
77
+ # @param [Object] Object to be compared
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ conversation_message_uuid == o.conversation_message_uuid &&
82
+ message_dts == o.message_dts &&
83
+ message_epoch == o.message_epoch
84
+ end
85
+
86
+ # @see the `==` method
87
+ # @param [Object] Object to be compared
88
+ def eql?(o)
89
+ self == o
90
+ end
91
+
92
+ # Calculates hash code according to all attributes.
93
+ # @return [Fixnum] Hash code
94
+ def hash
95
+ [conversation_message_uuid, message_dts, message_epoch].hash
96
+ end
97
+
98
+ # Builds the object from hash
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ # @return [Object] Returns the model itself
101
+ def build_from_hash(attributes)
102
+ return nil unless attributes.is_a?(Hash)
103
+ self.class.swagger_types.each_pair do |key, type|
104
+ if type =~ /\AArray<(.*)>/i
105
+ # check to ensure the input is an array given that the attribute
106
+ # is documented as an array but the input is not
107
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
108
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
109
+ end
110
+ elsif !attributes[self.class.attribute_map[key]].nil?
111
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
112
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
113
+ end
114
+
115
+ self
116
+ end
117
+
118
+ # Deserializes the data based on type
119
+ # @param string type Data type
120
+ # @param string value Value to be deserialized
121
+ # @return [Object] Deserialized data
122
+ def _deserialize(type, value)
123
+ case type.to_sym
124
+ when :DateTime
125
+ DateTime.parse(value)
126
+ when :Date
127
+ Date.parse(value)
128
+ when :String
129
+ value.to_s
130
+ when :Integer
131
+ value.to_i
132
+ when :Float
133
+ value.to_f
134
+ when :BOOLEAN
135
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
136
+ true
137
+ else
138
+ false
139
+ end
140
+ when :Object
141
+ # generic object (usually a Hash), return directly
142
+ value
143
+ when /\AArray<(?<inner_type>.+)>\z/
144
+ inner_type = Regexp.last_match[:inner_type]
145
+ value.map { |v| _deserialize(inner_type, v) }
146
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
147
+ k_type = Regexp.last_match[:k_type]
148
+ v_type = Regexp.last_match[:v_type]
149
+ {}.tap do |hash|
150
+ value.each do |k, v|
151
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
152
+ end
153
+ end
154
+ else # model
155
+ temp_model = UltracartClient.const_get(type).new
156
+ temp_model.build_from_hash(value)
157
+ end
158
+ end
159
+
160
+ # Returns the string representation of the object
161
+ # @return [String] String presentation of the object
162
+ def to_s
163
+ to_hash.to_s
164
+ end
165
+
166
+ # to_body is an alias to to_hash (backward compatibility)
167
+ # @return [Hash] Returns the object in the form of hash
168
+ def to_body
169
+ to_hash
170
+ end
171
+
172
+ # Returns the object in the form of hash
173
+ # @return [Hash] Returns the object in the form of hash
174
+ def to_hash
175
+ hash = {}
176
+ self.class.attribute_map.each_pair do |attr, param|
177
+ value = self.send(attr)
178
+ next if value.nil?
179
+ hash[param] = _to_hash(value)
180
+ end
181
+ hash
182
+ end
183
+
184
+ # Outputs non-array value in the form of hash
185
+ # For object, use to_hash. Otherwise, just return the value
186
+ # @param [Object] value Any valid value
187
+ # @return [Hash] Returns the value in the form of hash
188
+ def _to_hash(value)
189
+ if value.is_a?(Array)
190
+ value.compact.map { |v| _to_hash(v) }
191
+ elsif value.is_a?(Hash)
192
+ {}.tap do |hash|
193
+ value.each { |k, v| hash[k] = _to_hash(v) }
194
+ end
195
+ elsif value.respond_to? :to_hash
196
+ value.to_hash
197
+ else
198
+ value
199
+ end
200
+ end
201
+
202
+ end
203
+ end
@@ -22,11 +22,18 @@ module UltracartClient
22
22
 
23
23
  attr_accessor :client_message_id
24
24
 
25
+ attr_accessor :conversation_message_uuid
26
+
25
27
  attr_accessor :media_urls
26
28
 
29
+ attr_accessor :merchant_id
30
+
27
31
  # Message date/time
28
32
  attr_accessor :message_dts
29
33
 
34
+ # Message epoch milliseconds
35
+ attr_accessor :message_epoch
36
+
30
37
  attr_accessor :transport_statuses
31
38
 
32
39
  # Message type
@@ -63,8 +70,11 @@ module UltracartClient
63
70
  :'author_conversation_participant_name' => :'author_conversation_participant_name',
64
71
  :'body' => :'body',
65
72
  :'client_message_id' => :'client_message_id',
73
+ :'conversation_message_uuid' => :'conversation_message_uuid',
66
74
  :'media_urls' => :'media_urls',
75
+ :'merchant_id' => :'merchant_id',
67
76
  :'message_dts' => :'message_dts',
77
+ :'message_epoch' => :'message_epoch',
68
78
  :'transport_statuses' => :'transport_statuses',
69
79
  :'type' => :'type',
70
80
  :'upload_keys' => :'upload_keys'
@@ -78,8 +88,11 @@ module UltracartClient
78
88
  :'author_conversation_participant_name' => :'String',
79
89
  :'body' => :'String',
80
90
  :'client_message_id' => :'String',
91
+ :'conversation_message_uuid' => :'String',
81
92
  :'media_urls' => :'Array<String>',
93
+ :'merchant_id' => :'String',
82
94
  :'message_dts' => :'String',
95
+ :'message_epoch' => :'Integer',
83
96
  :'transport_statuses' => :'Array<ConversationMessageTransportStatus>',
84
97
  :'type' => :'String',
85
98
  :'upload_keys' => :'Array<String>'
@@ -110,16 +123,28 @@ module UltracartClient
110
123
  self.client_message_id = attributes[:'client_message_id']
111
124
  end
112
125
 
126
+ if attributes.has_key?(:'conversation_message_uuid')
127
+ self.conversation_message_uuid = attributes[:'conversation_message_uuid']
128
+ end
129
+
113
130
  if attributes.has_key?(:'media_urls')
114
131
  if (value = attributes[:'media_urls']).is_a?(Array)
115
132
  self.media_urls = value
116
133
  end
117
134
  end
118
135
 
136
+ if attributes.has_key?(:'merchant_id')
137
+ self.merchant_id = attributes[:'merchant_id']
138
+ end
139
+
119
140
  if attributes.has_key?(:'message_dts')
120
141
  self.message_dts = attributes[:'message_dts']
121
142
  end
122
143
 
144
+ if attributes.has_key?(:'message_epoch')
145
+ self.message_epoch = attributes[:'message_epoch']
146
+ end
147
+
123
148
  if attributes.has_key?(:'transport_statuses')
124
149
  if (value = attributes[:'transport_statuses']).is_a?(Array)
125
150
  self.transport_statuses = value
@@ -171,8 +196,11 @@ module UltracartClient
171
196
  author_conversation_participant_name == o.author_conversation_participant_name &&
172
197
  body == o.body &&
173
198
  client_message_id == o.client_message_id &&
199
+ conversation_message_uuid == o.conversation_message_uuid &&
174
200
  media_urls == o.media_urls &&
201
+ merchant_id == o.merchant_id &&
175
202
  message_dts == o.message_dts &&
203
+ message_epoch == o.message_epoch &&
176
204
  transport_statuses == o.transport_statuses &&
177
205
  type == o.type &&
178
206
  upload_keys == o.upload_keys
@@ -187,7 +215,7 @@ module UltracartClient
187
215
  # Calculates hash code according to all attributes.
188
216
  # @return [Fixnum] Hash code
189
217
  def hash
190
- [author_conversation_participant_arn, author_conversation_participant_name, body, client_message_id, media_urls, message_dts, transport_statuses, type, upload_keys].hash
218
+ [author_conversation_participant_arn, author_conversation_participant_name, body, client_message_id, conversation_message_uuid, media_urls, merchant_id, message_dts, message_epoch, transport_statuses, type, upload_keys].hash
191
219
  end
192
220
 
193
221
  # Builds the object from hash
@@ -16,8 +16,31 @@ module UltracartClient
16
16
  class ConversationMessageTransportStatus
17
17
  attr_accessor :conversation_participant_arn
18
18
 
19
+ # The status of the message transport
19
20
  attr_accessor :status
20
21
 
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
21
44
  # Attribute mapping from ruby-style variable name to JSON key.
22
45
  def self.attribute_map
23
46
  {
@@ -61,9 +84,21 @@ module UltracartClient
61
84
  # Check to see if the all the properties in the model are valid
62
85
  # @return true if the model is valid
63
86
  def valid?
87
+ status_validator = EnumAttributeValidator.new('String', ['accepted', 'scheduled', 'queued', 'sending', 'sent', 'read', 'TWILIO_CREDENTIALS_MISSING', 'SENT_TO_TWILIO', 'TWILIO_ERROR', 'SENT_TO_PINPOINT', 'PINPOINT_ERROR'])
88
+ return false unless status_validator.valid?(@status)
64
89
  true
65
90
  end
66
91
 
92
+ # Custom attribute writer method checking allowed values (enum).
93
+ # @param [Object] status Object to be assigned
94
+ def status=(status)
95
+ validator = EnumAttributeValidator.new('String', ['accepted', 'scheduled', 'queued', 'sending', 'sent', 'read', 'TWILIO_CREDENTIALS_MISSING', 'SENT_TO_TWILIO', 'TWILIO_ERROR', 'SENT_TO_PINPOINT', 'PINPOINT_ERROR'])
96
+ unless validator.valid?(status)
97
+ fail ArgumentError, 'invalid value for "status", must be one of #{validator.allowable_values}.'
98
+ end
99
+ @status = status
100
+ end
101
+
67
102
  # Checks equality by comparing each attribute.
68
103
  # @param [Object] Object to be compared
69
104
  def ==(o)
@@ -31,6 +31,8 @@ module UltracartClient
31
31
 
32
32
  attr_accessor :status
33
33
 
34
+ attr_accessor :unread_messages
35
+
34
36
  # Attribute mapping from ruby-style variable name to JSON key.
35
37
  def self.attribute_map
36
38
  {
@@ -40,7 +42,8 @@ module UltracartClient
40
42
  :'joined_dts' => :'joined_dts',
41
43
  :'last_message_dts' => :'last_message_dts',
42
44
  :'left_dts' => :'left_dts',
43
- :'status' => :'status'
45
+ :'status' => :'status',
46
+ :'unread_messages' => :'unread_messages'
44
47
  }
45
48
  end
46
49
 
@@ -53,7 +56,8 @@ module UltracartClient
53
56
  :'joined_dts' => :'String',
54
57
  :'last_message_dts' => :'String',
55
58
  :'left_dts' => :'String',
56
- :'status' => :'String'
59
+ :'status' => :'String',
60
+ :'unread_messages' => :'Integer'
57
61
  }
58
62
  end
59
63
 
@@ -92,6 +96,10 @@ module UltracartClient
92
96
  if attributes.has_key?(:'status')
93
97
  self.status = attributes[:'status']
94
98
  end
99
+
100
+ if attributes.has_key?(:'unread_messages')
101
+ self.unread_messages = attributes[:'unread_messages']
102
+ end
95
103
  end
96
104
 
97
105
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -118,7 +126,8 @@ module UltracartClient
118
126
  joined_dts == o.joined_dts &&
119
127
  last_message_dts == o.last_message_dts &&
120
128
  left_dts == o.left_dts &&
121
- status == o.status
129
+ status == o.status &&
130
+ unread_messages == o.unread_messages
122
131
  end
123
132
 
124
133
  # @see the `==` method
@@ -130,7 +139,7 @@ module UltracartClient
130
139
  # Calculates hash code according to all attributes.
131
140
  # @return [Fixnum] Hash code
132
141
  def hash
133
- [conversation_participant_arn, conversation_participant_name, conversation_participant_uuid, joined_dts, last_message_dts, left_dts, status].hash
142
+ [conversation_participant_arn, conversation_participant_name, conversation_participant_uuid, joined_dts, last_message_dts, left_dts, status, unread_messages].hash
134
143
  end
135
144
 
136
145
  # Builds the object from hash
@@ -29,6 +29,9 @@ 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
@@ -42,6 +45,28 @@ module UltracartClient
42
45
 
43
46
  attr_accessor :visible
44
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
+
45
70
  # Attribute mapping from ruby-style variable name to JSON key.
46
71
  def self.attribute_map
47
72
  {
@@ -52,6 +77,7 @@ module UltracartClient
52
77
  :'last_conversation_participant_arn' => :'last_conversation_participant_arn',
53
78
  :'last_conversation_participant_name' => :'last_conversation_participant_name',
54
79
  :'last_message_dts' => :'last_message_dts',
80
+ :'medium' => :'medium',
55
81
  :'merchant_id' => :'merchant_id',
56
82
  :'message_count' => :'message_count',
57
83
  :'participants' => :'participants',
@@ -71,6 +97,7 @@ module UltracartClient
71
97
  :'last_conversation_participant_arn' => :'String',
72
98
  :'last_conversation_participant_name' => :'String',
73
99
  :'last_message_dts' => :'String',
100
+ :'medium' => :'String',
74
101
  :'merchant_id' => :'String',
75
102
  :'message_count' => :'Integer',
76
103
  :'participants' => :'Array<ConversationParticipant>',
@@ -116,6 +143,10 @@ module UltracartClient
116
143
  self.last_message_dts = attributes[:'last_message_dts']
117
144
  end
118
145
 
146
+ if attributes.has_key?(:'medium')
147
+ self.medium = attributes[:'medium']
148
+ end
149
+
119
150
  if attributes.has_key?(:'merchant_id')
120
151
  self.merchant_id = attributes[:'merchant_id']
121
152
  end
@@ -153,9 +184,21 @@ module UltracartClient
153
184
  # Check to see if the all the properties in the model are valid
154
185
  # @return true if the model is valid
155
186
  def valid?
187
+ medium_validator = EnumAttributeValidator.new('String', ['sms', 'websocket'])
188
+ return false unless medium_validator.valid?(@medium)
156
189
  true
157
190
  end
158
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
+
159
202
  # Checks equality by comparing each attribute.
160
203
  # @param [Object] Object to be compared
161
204
  def ==(o)
@@ -168,6 +211,7 @@ module UltracartClient
168
211
  last_conversation_participant_arn == o.last_conversation_participant_arn &&
169
212
  last_conversation_participant_name == o.last_conversation_participant_name &&
170
213
  last_message_dts == o.last_message_dts &&
214
+ medium == o.medium &&
171
215
  merchant_id == o.merchant_id &&
172
216
  message_count == o.message_count &&
173
217
  participants == o.participants &&
@@ -185,7 +229,7 @@ module UltracartClient
185
229
  # Calculates hash code according to all attributes.
186
230
  # @return [Fixnum] Hash code
187
231
  def hash
188
- [closed, conversation_arn, conversation_uuid, last_conversation_message_body, last_conversation_participant_arn, last_conversation_participant_name, last_message_dts, merchant_id, message_count, participants, 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
189
233
  end
190
234
 
191
235
  # Builds the object from hash
@@ -29,6 +29,8 @@ module UltracartClient
29
29
 
30
30
  attr_accessor :event_queue_status_update
31
31
 
32
+ attr_accessor :event_read_message
33
+
32
34
  attr_accessor :event_rrweb
33
35
 
34
36
  # Type of event
@@ -75,6 +77,7 @@ module UltracartClient
75
77
  :'event_participant_update' => :'event_participant_update',
76
78
  :'event_queue_position' => :'event_queue_position',
77
79
  :'event_queue_status_update' => :'event_queue_status_update',
80
+ :'event_read_message' => :'event_read_message',
78
81
  :'event_rrweb' => :'event_rrweb',
79
82
  :'event_type' => :'event_type',
80
83
  :'event_typing' => :'event_typing',
@@ -94,6 +97,7 @@ module UltracartClient
94
97
  :'event_participant_update' => :'ConversationSummary',
95
98
  :'event_queue_position' => :'ConversationEventQueuePosition',
96
99
  :'event_queue_status_update' => :'ConversationWebchatQueueStatus',
100
+ :'event_read_message' => :'ConversationEventReadMessage',
97
101
  :'event_rrweb' => :'ConversationEventRRWeb',
98
102
  :'event_type' => :'String',
99
103
  :'event_typing' => :'ConversationEventTyping',
@@ -139,6 +143,10 @@ module UltracartClient
139
143
  self.event_queue_status_update = attributes[:'event_queue_status_update']
140
144
  end
141
145
 
146
+ if attributes.has_key?(:'event_read_message')
147
+ self.event_read_message = attributes[:'event_read_message']
148
+ end
149
+
142
150
  if attributes.has_key?(:'event_rrweb')
143
151
  self.event_rrweb = attributes[:'event_rrweb']
144
152
  end
@@ -174,7 +182,7 @@ module UltracartClient
174
182
  # Check to see if the all the properties in the model are valid
175
183
  # @return true if the model is valid
176
184
  def valid?
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'])
185
+ 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', 'read message'])
178
186
  return false unless event_type_validator.valid?(@event_type)
179
187
  type_validator = EnumAttributeValidator.new('String', ['message', 'event', 'ping', 'check queue position'])
180
188
  return false unless type_validator.valid?(@type)
@@ -184,7 +192,7 @@ module UltracartClient
184
192
  # Custom attribute writer method checking allowed values (enum).
185
193
  # @param [Object] event_type Object to be assigned
186
194
  def event_type=(event_type)
187
- validator = EnumAttributeValidator.new('String', ['queue position', 'webchat start conversation', 'conversation closed', 'new conversation', 'new message', 'updated message', 'queue status update', 'rrweb', 'participant update'])
195
+ validator = EnumAttributeValidator.new('String', ['queue position', 'webchat start conversation', 'conversation closed', 'new conversation', 'new message', 'updated message', 'queue status update', 'rrweb', 'participant update', 'read message'])
188
196
  unless validator.valid?(event_type)
189
197
  fail ArgumentError, 'invalid value for "event_type", must be one of #{validator.allowable_values}.'
190
198
  end
@@ -213,6 +221,7 @@ module UltracartClient
213
221
  event_participant_update == o.event_participant_update &&
214
222
  event_queue_position == o.event_queue_position &&
215
223
  event_queue_status_update == o.event_queue_status_update &&
224
+ event_read_message == o.event_read_message &&
216
225
  event_rrweb == o.event_rrweb &&
217
226
  event_type == o.event_type &&
218
227
  event_typing == o.event_typing &&
@@ -230,7 +239,7 @@ module UltracartClient
230
239
  # Calculates hash code according to all attributes.
231
240
  # @return [Fixnum] Hash code
232
241
  def 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
242
+ [conversation_uuid, event_conversation_closed, event_new_conversation, event_new_message, event_participant_update, event_queue_position, event_queue_status_update, event_read_message, event_rrweb, event_type, event_typing, event_updated_message, message, type].hash
234
243
  end
235
244
 
236
245
  # Builds the object from hash
@@ -14,15 +14,20 @@ require 'date'
14
14
 
15
15
  module UltracartClient
16
16
  class CouponNoDiscount
17
+ # This property does nothing but is included in this object to ensure the object is generated by our sdk builders.
18
+ attr_accessor :ignore_this_property
19
+
17
20
  # Attribute mapping from ruby-style variable name to JSON key.
18
21
  def self.attribute_map
19
22
  {
23
+ :'ignore_this_property' => :'ignore_this_property'
20
24
  }
21
25
  end
22
26
 
23
27
  # Attribute type mapping.
24
28
  def self.swagger_types
25
29
  {
30
+ :'ignore_this_property' => :'BOOLEAN'
26
31
  }
27
32
  end
28
33
 
@@ -33,6 +38,10 @@ module UltracartClient
33
38
 
34
39
  # convert string to symbol for hash key
35
40
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
41
+
42
+ if attributes.has_key?(:'ignore_this_property')
43
+ self.ignore_this_property = attributes[:'ignore_this_property']
44
+ end
36
45
  end
37
46
 
38
47
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -52,7 +61,8 @@ module UltracartClient
52
61
  # @param [Object] Object to be compared
53
62
  def ==(o)
54
63
  return true if self.equal?(o)
55
- self.class == o.class
64
+ self.class == o.class &&
65
+ ignore_this_property == o.ignore_this_property
56
66
  end
57
67
 
58
68
  # @see the `==` method
@@ -64,7 +74,7 @@ module UltracartClient
64
74
  # Calculates hash code according to all attributes.
65
75
  # @return [Fixnum] Hash code
66
76
  def hash
67
- [].hash
77
+ [ignore_this_property].hash
68
78
  end
69
79
 
70
80
  # 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.33'
14
+ VERSION = '3.10.36'
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_read_message'
142
143
  require 'ultracart_api/models/conversation_event_typing'
143
144
  require 'ultracart_api/models/conversation_message'
144
145
  require 'ultracart_api/models/conversation_message_transport_status'
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.33
4
+ version: 3.10.36
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-03 00:00:00.000000000 Z
11
+ date: 2022-08-10 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/ConversationEventReadMessage.md
352
353
  - docs/ConversationEventTyping.md
353
354
  - docs/ConversationMessage.md
354
355
  - docs/ConversationMessageTransportStatus.md
@@ -1045,6 +1046,7 @@ files:
1045
1046
  - lib/ultracart_api/models/conversation_agent_auth.rb
1046
1047
  - lib/ultracart_api/models/conversation_agent_auth_response.rb
1047
1048
  - lib/ultracart_api/models/conversation_event_queue_position.rb
1049
+ - lib/ultracart_api/models/conversation_event_read_message.rb
1048
1050
  - lib/ultracart_api/models/conversation_event_rr_web.rb
1049
1051
  - lib/ultracart_api/models/conversation_event_typing.rb
1050
1052
  - lib/ultracart_api/models/conversation_message.rb