ultracart_api 3.10.25 → 3.10.26

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: 62018a5360eca7ec5b4486ada8cd994c8ac49961de2dd9573647be2813a19d23
4
- data.tar.gz: 1c75d92c474562d84e62b756679b2053a6abc61cc85142e556aff0a8ffc9b74b
3
+ metadata.gz: '080a1090cb029f3ee4489f4fe2c6b2d95a7b1fae616073ed1fab7834d7dc5361'
4
+ data.tar.gz: 8e7eb7f63d3089381afb6e57ef59983d1989b2855f3b54b8236d37c4ccda81ec
5
5
  SHA512:
6
- metadata.gz: 3113af69817554808e0e47baa6300d832d3821b7f5bc9527533a786182bd064ad286808cc0bca36ad91f4a6438a0b1bc9831aa0497118d010e8946bd93a4523a
7
- data.tar.gz: 1e1de9bde6fde313c13a5ca9c9185f74dfd203ecba9d58aca6f3f920b34802c697e62fe720c8d6e2fa5be233fa332343f273019023dcb10db44f5e8077961ff9
6
+ metadata.gz: 94b7bb58f35e426e164631c5767b0b54caf91c9d21d6b25fbfec6e0e48fead239ba2e9cd14d657ebe8bd1f751fd4507f589e4478caaa88669ee47600c4658905
7
+ data.tar.gz: a845367dfdd240afa7de6cfa764fde437e2b212694d189ec8ace5580ff95bd098e62893db9c31ba02687430ef1a85f65e18388f1e776f9ae30eb227e98260841
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.25
10
+ - Package version: 3.10.26
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.25.gem
27
+ gem install ./ultracart_api-3.10.26.gem
28
28
  ```
29
- (for development, run `gem install --dev ./ultracart_api-3.10.25.gem` to install the development dependencies)
29
+ (for development, run `gem install --dev ./ultracart_api-3.10.26.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.25'
35
+ gem 'ultracart_api', '~> 3.10.26'
36
36
 
37
37
  ### Install from Git
38
38
 
@@ -128,10 +128,12 @@ Class | Method | HTTP request | Description
128
128
  *UltracartClient::ConversationApi* | [**get_agent_websocket_authorization**](docs/ConversationApi.md#get_agent_websocket_authorization) | **PUT** /conversation/agent/auth | Get agent websocket authorization
129
129
  *UltracartClient::ConversationApi* | [**get_conversation**](docs/ConversationApi.md#get_conversation) | **GET** /conversation/conversations/{conversation_uuid} | Retrieve a conversation
130
130
  *UltracartClient::ConversationApi* | [**get_conversation_multimedia_upload_url**](docs/ConversationApi.md#get_conversation_multimedia_upload_url) | **GET** /conversation/upload_url/{extension} | Get a presigned conersation multimedia upload URL
131
+ *UltracartClient::ConversationApi* | [**get_conversation_webchat_queue_statuses**](docs/ConversationApi.md#get_conversation_webchat_queue_statuses) | **GET** /conversation/conversations/queues/statuses | Retrieve a conversation webchat queue statuses
131
132
  *UltracartClient::ConversationApi* | [**get_conversations**](docs/ConversationApi.md#get_conversations) | **GET** /conversation/conversations | Retrieve a list of conversation summaries newest to oldest
132
133
  *UltracartClient::ConversationApi* | [**join_conversation**](docs/ConversationApi.md#join_conversation) | **PUT** /conversation/conversations/{conversation_uuid}/join | Join a conversation
133
134
  *UltracartClient::ConversationApi* | [**leave_conversation**](docs/ConversationApi.md#leave_conversation) | **DELETE** /conversation/conversations/{conversation_uuid}/leave | Leave a conversation
134
135
  *UltracartClient::ConversationApi* | [**start_conversation**](docs/ConversationApi.md#start_conversation) | **PUT** /conversation/conversations | Start a conversation
136
+ *UltracartClient::ConversationApi* | [**update_conversation_webchat_queue_status**](docs/ConversationApi.md#update_conversation_webchat_queue_status) | **PUT** /conversation/conversations/queues/{queue_name}/status | Update status within the queue
135
137
  *UltracartClient::CouponApi* | [**delete_coupon**](docs/CouponApi.md#delete_coupon) | **DELETE** /coupon/coupons/{coupon_oid} | Delete a coupon
136
138
  *UltracartClient::CouponApi* | [**delete_coupons_by_code**](docs/CouponApi.md#delete_coupons_by_code) | **DELETE** /coupon/coupons/by_code | Deletes multiple coupons
137
139
  *UltracartClient::CouponApi* | [**delete_coupons_by_oid**](docs/CouponApi.md#delete_coupons_by_oid) | **DELETE** /coupon/coupons/by_oid | Deletes multiple coupons
@@ -569,6 +571,11 @@ Class | Method | HTTP request | Description
569
571
  - [UltracartClient::ConversationStartRequest](docs/ConversationStartRequest.md)
570
572
  - [UltracartClient::ConversationStartResponse](docs/ConversationStartResponse.md)
571
573
  - [UltracartClient::ConversationSummary](docs/ConversationSummary.md)
574
+ - [UltracartClient::ConversationWebchatQueueStatus](docs/ConversationWebchatQueueStatus.md)
575
+ - [UltracartClient::ConversationWebchatQueueStatusAgent](docs/ConversationWebchatQueueStatusAgent.md)
576
+ - [UltracartClient::ConversationWebchatQueueStatusQueueEntry](docs/ConversationWebchatQueueStatusQueueEntry.md)
577
+ - [UltracartClient::ConversationWebchatQueueStatusUpdateRequest](docs/ConversationWebchatQueueStatusUpdateRequest.md)
578
+ - [UltracartClient::ConversationWebchatQueueStatusesResponse](docs/ConversationWebchatQueueStatusesResponse.md)
572
579
  - [UltracartClient::ConversationWebsocketMessage](docs/ConversationWebsocketMessage.md)
573
580
  - [UltracartClient::ConversationsResponse](docs/ConversationsResponse.md)
574
581
  - [UltracartClient::CountriesResponse](docs/CountriesResponse.md)
@@ -1159,6 +1166,7 @@ Not every change is committed to every SDK.
1159
1166
 
1160
1167
  | Version | Date | Comments |
1161
1168
  | --: | :-: | --- |
1169
+ | 3.10.26 | 07/26/2022 | conversations - queue statistics |
1162
1170
  | 3.10.25 | 07/25/2022 | conversation development |
1163
1171
  | 3.10.24 | 07/25/2022 | conversations bug fixes |
1164
1172
  | 3.10.23 | 07/25/2022 | conversations - add a websocket message model |
@@ -7,10 +7,12 @@ Method | HTTP request | Description
7
7
  [**get_agent_websocket_authorization**](ConversationApi.md#get_agent_websocket_authorization) | **PUT** /conversation/agent/auth | Get agent websocket authorization
8
8
  [**get_conversation**](ConversationApi.md#get_conversation) | **GET** /conversation/conversations/{conversation_uuid} | Retrieve a conversation
9
9
  [**get_conversation_multimedia_upload_url**](ConversationApi.md#get_conversation_multimedia_upload_url) | **GET** /conversation/upload_url/{extension} | Get a presigned conersation multimedia upload URL
10
+ [**get_conversation_webchat_queue_statuses**](ConversationApi.md#get_conversation_webchat_queue_statuses) | **GET** /conversation/conversations/queues/statuses | Retrieve a conversation webchat queue statuses
10
11
  [**get_conversations**](ConversationApi.md#get_conversations) | **GET** /conversation/conversations | Retrieve a list of conversation summaries newest to oldest
11
12
  [**join_conversation**](ConversationApi.md#join_conversation) | **PUT** /conversation/conversations/{conversation_uuid}/join | Join a conversation
12
13
  [**leave_conversation**](ConversationApi.md#leave_conversation) | **DELETE** /conversation/conversations/{conversation_uuid}/leave | Leave a conversation
13
14
  [**start_conversation**](ConversationApi.md#start_conversation) | **PUT** /conversation/conversations | Start a conversation
15
+ [**update_conversation_webchat_queue_status**](ConversationApi.md#update_conversation_webchat_queue_status) | **PUT** /conversation/conversations/queues/{queue_name}/status | Update status within the queue
14
16
 
15
17
 
16
18
  # **get_agent_websocket_authorization**
@@ -158,6 +160,51 @@ Name | Type | Description | Notes
158
160
 
159
161
 
160
162
 
163
+ # **get_conversation_webchat_queue_statuses**
164
+ > ConversationWebchatQueueStatusesResponse get_conversation_webchat_queue_statuses
165
+
166
+ Retrieve a conversation webchat queue statuses
167
+
168
+ Retrieve a conversation webchat queue statuses including agent status and queue entries
169
+
170
+ ### Example
171
+ ```ruby
172
+ # load the gem
173
+ require 'ultracart_api'
174
+
175
+ # Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
176
+ simple_key = '109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00'
177
+ api_instance = UltracartClient::ConversationApi.new_using_api_key(simple_key, false, false)
178
+
179
+
180
+
181
+ begin
182
+ #Retrieve a conversation webchat queue statuses
183
+ result = api_instance.get_conversation_webchat_queue_statuses
184
+ p result
185
+ rescue UltracartClient::ApiError => e
186
+ puts "Exception when calling ConversationApi->get_conversation_webchat_queue_statuses: #{e}"
187
+ end
188
+ ```
189
+
190
+ ### Parameters
191
+ This endpoint does not need any parameter.
192
+
193
+ ### Return type
194
+
195
+ [**ConversationWebchatQueueStatusesResponse**](ConversationWebchatQueueStatusesResponse.md)
196
+
197
+ ### Authorization
198
+
199
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
200
+
201
+ ### HTTP request headers
202
+
203
+ - **Content-Type**: application/json
204
+ - **Accept**: application/json
205
+
206
+
207
+
161
208
  # **get_conversations**
162
209
  > ConversationsResponse get_conversations(opts)
163
210
 
@@ -359,3 +406,55 @@ Name | Type | Description | Notes
359
406
 
360
407
 
361
408
 
409
+ # **update_conversation_webchat_queue_status**
410
+ > update_conversation_webchat_queue_status(queue_name, status_request)
411
+
412
+ Update status within the queue
413
+
414
+ Update status within the queue
415
+
416
+ ### Example
417
+ ```ruby
418
+ # load the gem
419
+ require 'ultracart_api'
420
+
421
+ # Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
422
+ simple_key = '109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00'
423
+ api_instance = UltracartClient::ConversationApi.new_using_api_key(simple_key, false, false)
424
+
425
+
426
+ queue_name = 'queue_name_example' # String |
427
+
428
+ status_request = UltracartClient::ConversationWebchatQueueStatusUpdateRequest.new # ConversationWebchatQueueStatusUpdateRequest | Status request
429
+
430
+
431
+ begin
432
+ #Update status within the queue
433
+ api_instance.update_conversation_webchat_queue_status(queue_name, status_request)
434
+ rescue UltracartClient::ApiError => e
435
+ puts "Exception when calling ConversationApi->update_conversation_webchat_queue_status: #{e}"
436
+ end
437
+ ```
438
+
439
+ ### Parameters
440
+
441
+ Name | Type | Description | Notes
442
+ ------------- | ------------- | ------------- | -------------
443
+ **queue_name** | **String**| |
444
+ **status_request** | [**ConversationWebchatQueueStatusUpdateRequest**](ConversationWebchatQueueStatusUpdateRequest.md)| Status request |
445
+
446
+ ### Return type
447
+
448
+ nil (empty response body)
449
+
450
+ ### Authorization
451
+
452
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
453
+
454
+ ### HTTP request headers
455
+
456
+ - **Content-Type**: application/json
457
+ - **Accept**: application/json
458
+
459
+
460
+
@@ -0,0 +1,18 @@
1
+ # UltracartClient::ConversationWebchatQueueStatus
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **agent_available_count** | **Integer** | | [optional]
7
+ **agent_busy_count** | **Integer** | | [optional]
8
+ **agent_count** | **Integer** | | [optional]
9
+ **agent_unavailable_count** | **Integer** | | [optional]
10
+ **agents** | [**Array<ConversationWebchatQueueStatusAgent>**](ConversationWebchatQueueStatusAgent.md) | | [optional]
11
+ **customer_abandon_count** | **Integer** | | [optional]
12
+ **customer_active_count** | **Integer** | | [optional]
13
+ **customer_waiting_count** | **Integer** | | [optional]
14
+ **customer_waiting_join_dts** | **String** | Date/time that the oldest person joined the queue | [optional]
15
+ **queue_entries** | [**Array<ConversationWebchatQueueStatusQueueEntry>**](ConversationWebchatQueueStatusQueueEntry.md) | | [optional]
16
+ **queue_name** | **String** | | [optional]
17
+
18
+
@@ -0,0 +1,12 @@
1
+ # UltracartClient::ConversationWebchatQueueStatusAgent
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **agent_status** | **String** | | [optional]
7
+ **conversation_participant_arn** | **String** | | [optional]
8
+ **conversation_participant_name** | **String** | | [optional]
9
+ **last_chat_dts** | **String** | Date/time that this agent took their last chat | [optional]
10
+ **next_round_robin** | **BOOLEAN** | | [optional]
11
+
12
+
@@ -0,0 +1,11 @@
1
+ # UltracartClient::ConversationWebchatQueueStatusQueueEntry
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **conversation_participant_arn** | **String** | | [optional]
7
+ **conversation_participant_name** | **String** | | [optional]
8
+ **conversation_webchat_queue_uuid** | **String** | | [optional]
9
+ **join_dts** | **String** | Date/time the customer joined the queue | [optional]
10
+
11
+
@@ -0,0 +1,8 @@
1
+ # UltracartClient::ConversationWebchatQueueStatusUpdateRequest
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **agent_status** | **String** | | [optional]
7
+
8
+
@@ -0,0 +1,12 @@
1
+ # UltracartClient::ConversationWebchatQueueStatusesResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **error** | [**Error**](Error.md) | | [optional]
7
+ **metadata** | [**ResponseMetadata**](ResponseMetadata.md) | | [optional]
8
+ **queue_statuses** | [**Array<ConversationWebchatQueueStatus>**](ConversationWebchatQueueStatus.md) | | [optional]
9
+ **success** | **BOOLEAN** | Indicates if API call was successful | [optional]
10
+ **warning** | [**Warning**](Warning.md) | | [optional]
11
+
12
+
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
8
8
  **event_new_conversation** | [**ConversationSummary**](ConversationSummary.md) | | [optional]
9
9
  **event_new_message** | [**ConversationSummary**](ConversationSummary.md) | | [optional]
10
10
  **event_queue_position** | [**ConversationEventQueuePosition**](ConversationEventQueuePosition.md) | | [optional]
11
+ **event_queue_status_update** | [**ConversationWebchatQueueStatus**](ConversationWebchatQueueStatus.md) | | [optional]
11
12
  **event_type** | **String** | Type of event | [optional]
12
13
  **event_updated_message** | [**ConversationMessage**](ConversationMessage.md) | | [optional]
13
14
  **message** | [**ConversationMessage**](ConversationMessage.md) | | [optional]
@@ -191,6 +191,55 @@ module UltracartClient
191
191
  end
192
192
  return data, status_code, headers
193
193
  end
194
+ # Retrieve a conversation webchat queue statuses
195
+ # Retrieve a conversation webchat queue statuses including agent status and queue entries
196
+ # @param [Hash] opts the optional parameters
197
+ # @return [ConversationWebchatQueueStatusesResponse]
198
+ def get_conversation_webchat_queue_statuses(opts = {})
199
+ data, _status_code, _headers = get_conversation_webchat_queue_statuses_with_http_info(opts)
200
+ data
201
+ end
202
+
203
+ # Retrieve a conversation webchat queue statuses
204
+ # Retrieve a conversation webchat queue statuses including agent status and queue entries
205
+ # @param [Hash] opts the optional parameters
206
+ # @return [Array<(ConversationWebchatQueueStatusesResponse, Fixnum, Hash)>] ConversationWebchatQueueStatusesResponse data, response status code and response headers
207
+ def get_conversation_webchat_queue_statuses_with_http_info(opts = {})
208
+ if @api_client.config.debugging
209
+ @api_client.config.logger.debug 'Calling API: ConversationApi.get_conversation_webchat_queue_statuses ...'
210
+ end
211
+ # resource path
212
+ local_var_path = '/conversation/conversations/queues/statuses'
213
+
214
+ # query parameters
215
+ query_params = {}
216
+
217
+ # header parameters
218
+ header_params = {}
219
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
220
+ # HTTP header 'Accept' (if needed)
221
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
222
+ # HTTP header 'Content-Type'
223
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
224
+
225
+ # form parameters
226
+ form_params = {}
227
+
228
+ # http body (model)
229
+ post_body = nil
230
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
231
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
232
+ :header_params => header_params,
233
+ :query_params => query_params,
234
+ :form_params => form_params,
235
+ :body => post_body,
236
+ :auth_names => auth_names,
237
+ :return_type => 'ConversationWebchatQueueStatusesResponse')
238
+ if @api_client.config.debugging
239
+ @api_client.config.logger.debug "API called: ConversationApi#get_conversation_webchat_queue_statuses\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
240
+ end
241
+ return data, status_code, headers
242
+ end
194
243
  # Retrieve a list of conversation summaries newest to oldest
195
244
  # Retrieve a list of conversation summaries that are ordered newest to oldest, include the most recent message and whether its been read.
196
245
  # @param [Hash] opts the optional parameters
@@ -409,5 +458,65 @@ module UltracartClient
409
458
  end
410
459
  return data, status_code, headers
411
460
  end
461
+ # Update status within the queue
462
+ # Update status within the queue
463
+ # @param queue_name
464
+ # @param status_request Status request
465
+ # @param [Hash] opts the optional parameters
466
+ # @return [nil]
467
+ def update_conversation_webchat_queue_status(queue_name, status_request, opts = {})
468
+ update_conversation_webchat_queue_status_with_http_info(queue_name, status_request, opts)
469
+ nil
470
+ end
471
+
472
+ # Update status within the queue
473
+ # Update status within the queue
474
+ # @param queue_name
475
+ # @param status_request Status request
476
+ # @param [Hash] opts the optional parameters
477
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
478
+ def update_conversation_webchat_queue_status_with_http_info(queue_name, status_request, opts = {})
479
+ if @api_client.config.debugging
480
+ @api_client.config.logger.debug 'Calling API: ConversationApi.update_conversation_webchat_queue_status ...'
481
+ end
482
+ # verify the required parameter 'queue_name' is set
483
+ if @api_client.config.client_side_validation && queue_name.nil?
484
+ fail ArgumentError, "Missing the required parameter 'queue_name' when calling ConversationApi.update_conversation_webchat_queue_status"
485
+ end
486
+ # verify the required parameter 'status_request' is set
487
+ if @api_client.config.client_side_validation && status_request.nil?
488
+ fail ArgumentError, "Missing the required parameter 'status_request' when calling ConversationApi.update_conversation_webchat_queue_status"
489
+ end
490
+ # resource path
491
+ local_var_path = '/conversation/conversations/queues/{queue_name}/status'.sub('{' + 'queue_name' + '}', queue_name.to_s)
492
+
493
+ # query parameters
494
+ query_params = {}
495
+
496
+ # header parameters
497
+ header_params = {}
498
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
499
+ # HTTP header 'Accept' (if needed)
500
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
501
+ # HTTP header 'Content-Type'
502
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
503
+
504
+ # form parameters
505
+ form_params = {}
506
+
507
+ # http body (model)
508
+ post_body = @api_client.object_to_http_body(status_request)
509
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
510
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
511
+ :header_params => header_params,
512
+ :query_params => query_params,
513
+ :form_params => form_params,
514
+ :body => post_body,
515
+ :auth_names => auth_names)
516
+ if @api_client.config.debugging
517
+ @api_client.config.logger.debug "API called: ConversationApi#update_conversation_webchat_queue_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
518
+ end
519
+ return data, status_code, headers
520
+ end
412
521
  end
413
522
  end
@@ -0,0 +1,279 @@
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 ConversationWebchatQueueStatus
17
+ attr_accessor :agent_available_count
18
+
19
+ attr_accessor :agent_busy_count
20
+
21
+ attr_accessor :agent_count
22
+
23
+ attr_accessor :agent_unavailable_count
24
+
25
+ attr_accessor :agents
26
+
27
+ attr_accessor :customer_abandon_count
28
+
29
+ attr_accessor :customer_active_count
30
+
31
+ attr_accessor :customer_waiting_count
32
+
33
+ # Date/time that the oldest person joined the queue
34
+ attr_accessor :customer_waiting_join_dts
35
+
36
+ attr_accessor :queue_entries
37
+
38
+ attr_accessor :queue_name
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'agent_available_count' => :'agent_available_count',
44
+ :'agent_busy_count' => :'agent_busy_count',
45
+ :'agent_count' => :'agent_count',
46
+ :'agent_unavailable_count' => :'agent_unavailable_count',
47
+ :'agents' => :'agents',
48
+ :'customer_abandon_count' => :'customer_abandon_count',
49
+ :'customer_active_count' => :'customer_active_count',
50
+ :'customer_waiting_count' => :'customer_waiting_count',
51
+ :'customer_waiting_join_dts' => :'customer_waiting_join_dts',
52
+ :'queue_entries' => :'queue_entries',
53
+ :'queue_name' => :'queue_name'
54
+ }
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.swagger_types
59
+ {
60
+ :'agent_available_count' => :'Integer',
61
+ :'agent_busy_count' => :'Integer',
62
+ :'agent_count' => :'Integer',
63
+ :'agent_unavailable_count' => :'Integer',
64
+ :'agents' => :'Array<ConversationWebchatQueueStatusAgent>',
65
+ :'customer_abandon_count' => :'Integer',
66
+ :'customer_active_count' => :'Integer',
67
+ :'customer_waiting_count' => :'Integer',
68
+ :'customer_waiting_join_dts' => :'String',
69
+ :'queue_entries' => :'Array<ConversationWebchatQueueStatusQueueEntry>',
70
+ :'queue_name' => :'String'
71
+ }
72
+ end
73
+
74
+ # Initializes the object
75
+ # @param [Hash] attributes Model attributes in the form of hash
76
+ def initialize(attributes = {})
77
+ return unless attributes.is_a?(Hash)
78
+
79
+ # convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
81
+
82
+ if attributes.has_key?(:'agent_available_count')
83
+ self.agent_available_count = attributes[:'agent_available_count']
84
+ end
85
+
86
+ if attributes.has_key?(:'agent_busy_count')
87
+ self.agent_busy_count = attributes[:'agent_busy_count']
88
+ end
89
+
90
+ if attributes.has_key?(:'agent_count')
91
+ self.agent_count = attributes[:'agent_count']
92
+ end
93
+
94
+ if attributes.has_key?(:'agent_unavailable_count')
95
+ self.agent_unavailable_count = attributes[:'agent_unavailable_count']
96
+ end
97
+
98
+ if attributes.has_key?(:'agents')
99
+ if (value = attributes[:'agents']).is_a?(Array)
100
+ self.agents = value
101
+ end
102
+ end
103
+
104
+ if attributes.has_key?(:'customer_abandon_count')
105
+ self.customer_abandon_count = attributes[:'customer_abandon_count']
106
+ end
107
+
108
+ if attributes.has_key?(:'customer_active_count')
109
+ self.customer_active_count = attributes[:'customer_active_count']
110
+ end
111
+
112
+ if attributes.has_key?(:'customer_waiting_count')
113
+ self.customer_waiting_count = attributes[:'customer_waiting_count']
114
+ end
115
+
116
+ if attributes.has_key?(:'customer_waiting_join_dts')
117
+ self.customer_waiting_join_dts = attributes[:'customer_waiting_join_dts']
118
+ end
119
+
120
+ if attributes.has_key?(:'queue_entries')
121
+ if (value = attributes[:'queue_entries']).is_a?(Array)
122
+ self.queue_entries = value
123
+ end
124
+ end
125
+
126
+ if attributes.has_key?(:'queue_name')
127
+ self.queue_name = attributes[:'queue_name']
128
+ end
129
+ end
130
+
131
+ # Show invalid properties with the reasons. Usually used together with valid?
132
+ # @return Array for valid properties with the reasons
133
+ def list_invalid_properties
134
+ invalid_properties = Array.new
135
+ invalid_properties
136
+ end
137
+
138
+ # Check to see if the all the properties in the model are valid
139
+ # @return true if the model is valid
140
+ def valid?
141
+ true
142
+ end
143
+
144
+ # Checks equality by comparing each attribute.
145
+ # @param [Object] Object to be compared
146
+ def ==(o)
147
+ return true if self.equal?(o)
148
+ self.class == o.class &&
149
+ agent_available_count == o.agent_available_count &&
150
+ agent_busy_count == o.agent_busy_count &&
151
+ agent_count == o.agent_count &&
152
+ agent_unavailable_count == o.agent_unavailable_count &&
153
+ agents == o.agents &&
154
+ customer_abandon_count == o.customer_abandon_count &&
155
+ customer_active_count == o.customer_active_count &&
156
+ customer_waiting_count == o.customer_waiting_count &&
157
+ customer_waiting_join_dts == o.customer_waiting_join_dts &&
158
+ queue_entries == o.queue_entries &&
159
+ queue_name == o.queue_name
160
+ end
161
+
162
+ # @see the `==` method
163
+ # @param [Object] Object to be compared
164
+ def eql?(o)
165
+ self == o
166
+ end
167
+
168
+ # Calculates hash code according to all attributes.
169
+ # @return [Fixnum] Hash code
170
+ def hash
171
+ [agent_available_count, agent_busy_count, agent_count, agent_unavailable_count, agents, customer_abandon_count, customer_active_count, customer_waiting_count, customer_waiting_join_dts, queue_entries, queue_name].hash
172
+ end
173
+
174
+ # Builds the object from hash
175
+ # @param [Hash] attributes Model attributes in the form of hash
176
+ # @return [Object] Returns the model itself
177
+ def build_from_hash(attributes)
178
+ return nil unless attributes.is_a?(Hash)
179
+ self.class.swagger_types.each_pair do |key, type|
180
+ if type =~ /\AArray<(.*)>/i
181
+ # check to ensure the input is an array given that the attribute
182
+ # is documented as an array but the input is not
183
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
184
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
185
+ end
186
+ elsif !attributes[self.class.attribute_map[key]].nil?
187
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
188
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
189
+ end
190
+
191
+ self
192
+ end
193
+
194
+ # Deserializes the data based on type
195
+ # @param string type Data type
196
+ # @param string value Value to be deserialized
197
+ # @return [Object] Deserialized data
198
+ def _deserialize(type, value)
199
+ case type.to_sym
200
+ when :DateTime
201
+ DateTime.parse(value)
202
+ when :Date
203
+ Date.parse(value)
204
+ when :String
205
+ value.to_s
206
+ when :Integer
207
+ value.to_i
208
+ when :Float
209
+ value.to_f
210
+ when :BOOLEAN
211
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
212
+ true
213
+ else
214
+ false
215
+ end
216
+ when :Object
217
+ # generic object (usually a Hash), return directly
218
+ value
219
+ when /\AArray<(?<inner_type>.+)>\z/
220
+ inner_type = Regexp.last_match[:inner_type]
221
+ value.map { |v| _deserialize(inner_type, v) }
222
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
223
+ k_type = Regexp.last_match[:k_type]
224
+ v_type = Regexp.last_match[:v_type]
225
+ {}.tap do |hash|
226
+ value.each do |k, v|
227
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
228
+ end
229
+ end
230
+ else # model
231
+ temp_model = UltracartClient.const_get(type).new
232
+ temp_model.build_from_hash(value)
233
+ end
234
+ end
235
+
236
+ # Returns the string representation of the object
237
+ # @return [String] String presentation of the object
238
+ def to_s
239
+ to_hash.to_s
240
+ end
241
+
242
+ # to_body is an alias to to_hash (backward compatibility)
243
+ # @return [Hash] Returns the object in the form of hash
244
+ def to_body
245
+ to_hash
246
+ end
247
+
248
+ # Returns the object in the form of hash
249
+ # @return [Hash] Returns the object in the form of hash
250
+ def to_hash
251
+ hash = {}
252
+ self.class.attribute_map.each_pair do |attr, param|
253
+ value = self.send(attr)
254
+ next if value.nil?
255
+ hash[param] = _to_hash(value)
256
+ end
257
+ hash
258
+ end
259
+
260
+ # Outputs non-array value in the form of hash
261
+ # For object, use to_hash. Otherwise, just return the value
262
+ # @param [Object] value Any valid value
263
+ # @return [Hash] Returns the value in the form of hash
264
+ def _to_hash(value)
265
+ if value.is_a?(Array)
266
+ value.compact.map { |v| _to_hash(v) }
267
+ elsif value.is_a?(Hash)
268
+ {}.tap do |hash|
269
+ value.each { |k, v| hash[k] = _to_hash(v) }
270
+ end
271
+ elsif value.respond_to? :to_hash
272
+ value.to_hash
273
+ else
274
+ value
275
+ end
276
+ end
277
+
278
+ end
279
+ end