ultracart_api 3.10.33 → 3.10.36

Sign up to get free protection for your applications and to get access to all the features.
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