ultracart_api 3.10.67 → 3.10.69

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: 3cd99056d1cc2ccd249f1b68f272737a016e18567aa22a93ed78909bf61b6302
4
- data.tar.gz: fcc68320ca92c20e6423b8122af52ccb54f9a300358f2bd0fe94f0fb6366f3bd
3
+ metadata.gz: 1103c12b7948ddc60c291a1c814afd77b21e766db291075521acc3ec6a424a92
4
+ data.tar.gz: 5290aa17302e832dcbdf2c711f66b326a65a90c67878b93d597e950bd98b76b2
5
5
  SHA512:
6
- metadata.gz: 9ad83e934b3a4705718fc4906b8ecaa6214630a1c2030e3a588a866af4da3494e9c83d1bb21f7636994987dca8cb660ae1b11f004a61054982271cf1458a21ba
7
- data.tar.gz: 194f95d200aff28dce57cbff57a0decc09d6280e3c69cba35b6a4f8e3582706dc2364c1dd4ece27d4cdac13efb71f6be14de039af94db836fbd0e0b51e654a0d
6
+ metadata.gz: 4bf2a66e41e019c7ddcb4af1633fd8ccfca0bfad8d1dd4cde816daa1c59ae2215b35a9b6c203524054b0b5d1cfd9365617fcfcf2f9cf158dc751abf7542d3f81
7
+ data.tar.gz: 6185b32a541b629ac87e3acd94a398ef485aab0e4769dd423a9a0dcea8dea2aec58b73a7857e17dc1a91d7940c324a4059899102a5d62832cbd5d0e53ba74527
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.67
10
+ - Package version: 3.10.69
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.67.gem
27
+ gem install ./ultracart_api-3.10.69.gem
28
28
  ```
29
- (for development, run `gem install --dev ./ultracart_api-3.10.67.gem` to install the development dependencies)
29
+ (for development, run `gem install --dev ./ultracart_api-3.10.69.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.67'
35
+ gem 'ultracart_api', '~> 3.10.69'
36
36
 
37
37
  ### Install from Git
38
38
 
@@ -128,6 +128,7 @@ Class | Method | HTTP request | Description
128
128
  *UltracartClient::ConversationApi* | [**get_agent_keep_alive**](docs/ConversationApi.md#get_agent_keep_alive) | **GET** /conversation/agent/keepalive | Agent keep alive
129
129
  *UltracartClient::ConversationApi* | [**get_agent_websocket_authorization**](docs/ConversationApi.md#get_agent_websocket_authorization) | **PUT** /conversation/agent/auth | Get agent websocket authorization
130
130
  *UltracartClient::ConversationApi* | [**get_conversation**](docs/ConversationApi.md#get_conversation) | **GET** /conversation/conversations/{conversation_uuid} | Retrieve a conversation
131
+ *UltracartClient::ConversationApi* | [**get_conversation_context**](docs/ConversationApi.md#get_conversation_context) | **PUT** /conversation/conversations/{conversation_uuid}/context | Get a webchat conversation context
131
132
  *UltracartClient::ConversationApi* | [**get_conversation_messages**](docs/ConversationApi.md#get_conversation_messages) | **GET** /conversation/conversations/{conversation_uuid}/messages/{since} | Retrieve conversation messages
132
133
  *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
133
134
  *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
@@ -588,6 +589,7 @@ Class | Method | HTTP request | Description
588
589
  - [UltracartClient::ConversationEventRRWeb](docs/ConversationEventRRWeb.md)
589
590
  - [UltracartClient::ConversationEventReadMessage](docs/ConversationEventReadMessage.md)
590
591
  - [UltracartClient::ConversationEventTyping](docs/ConversationEventTyping.md)
592
+ - [UltracartClient::ConversationEventWebchatContext](docs/ConversationEventWebchatContext.md)
591
593
  - [UltracartClient::ConversationMessage](docs/ConversationMessage.md)
592
594
  - [UltracartClient::ConversationMessageTransportStatus](docs/ConversationMessageTransportStatus.md)
593
595
  - [UltracartClient::ConversationMessagesResponse](docs/ConversationMessagesResponse.md)
@@ -599,6 +601,7 @@ Class | Method | HTTP request | Description
599
601
  - [UltracartClient::ConversationStartResponse](docs/ConversationStartResponse.md)
600
602
  - [UltracartClient::ConversationSummary](docs/ConversationSummary.md)
601
603
  - [UltracartClient::ConversationTwilioAccount](docs/ConversationTwilioAccount.md)
604
+ - [UltracartClient::ConversationWebchatContext](docs/ConversationWebchatContext.md)
602
605
  - [UltracartClient::ConversationWebchatQueueStatus](docs/ConversationWebchatQueueStatus.md)
603
606
  - [UltracartClient::ConversationWebchatQueueStatusAgent](docs/ConversationWebchatQueueStatusAgent.md)
604
607
  - [UltracartClient::ConversationWebchatQueueStatusQueueEntry](docs/ConversationWebchatQueueStatusQueueEntry.md)
@@ -851,6 +854,10 @@ Class | Method | HTTP request | Description
851
854
  - [UltracartClient::GroupUserMembership](docs/GroupUserMembership.md)
852
855
  - [UltracartClient::GroupsResponse](docs/GroupsResponse.md)
853
856
  - [UltracartClient::HTTPHeader](docs/HTTPHeader.md)
857
+ - [UltracartClient::HitPageView](docs/HitPageView.md)
858
+ - [UltracartClient::HitPageViewMetaData](docs/HitPageViewMetaData.md)
859
+ - [UltracartClient::HitSessionStart](docs/HitSessionStart.md)
860
+ - [UltracartClient::HitSessionUtm](docs/HitSessionUtm.md)
854
861
  - [UltracartClient::IntegrationLog](docs/IntegrationLog.md)
855
862
  - [UltracartClient::IntegrationLogFile](docs/IntegrationLogFile.md)
856
863
  - [UltracartClient::IntegrationLogLog](docs/IntegrationLogLog.md)
@@ -1217,6 +1224,8 @@ Not every change is committed to every SDK.
1217
1224
 
1218
1225
  | Version | Date | Comments |
1219
1226
  | --: | :-: | --- |
1227
+ | 3.10.69 | 11/21/2022 | conversation context method |
1228
+ | 3.10.68 | 11/21/2022 | adjusted conversation event model |
1220
1229
  | 3.10.67 | 11/15/2022 | conversation methods bug fix |
1221
1230
  | 3.10.66 | 11/15/2022 | conversations - enw events for add coupon and items |
1222
1231
  | 3.10.65 | 11/15/2022 | order api new method is order refundable |
@@ -7,6 +7,7 @@ Method | HTTP request | Description
7
7
  [**get_agent_keep_alive**](ConversationApi.md#get_agent_keep_alive) | **GET** /conversation/agent/keepalive | Agent keep alive
8
8
  [**get_agent_websocket_authorization**](ConversationApi.md#get_agent_websocket_authorization) | **PUT** /conversation/agent/auth | Get agent websocket authorization
9
9
  [**get_conversation**](ConversationApi.md#get_conversation) | **GET** /conversation/conversations/{conversation_uuid} | Retrieve a conversation
10
+ [**get_conversation_context**](ConversationApi.md#get_conversation_context) | **PUT** /conversation/conversations/{conversation_uuid}/context | Get a webchat conversation context
10
11
  [**get_conversation_messages**](ConversationApi.md#get_conversation_messages) | **GET** /conversation/conversations/{conversation_uuid}/messages/{since} | Retrieve conversation messages
11
12
  [**get_conversation_multimedia_upload_url**](ConversationApi.md#get_conversation_multimedia_upload_url) | **GET** /conversation/upload_url/{extension} | Get a presigned conersation multimedia upload URL
12
13
  [**get_conversation_webchat_queue_statuses**](ConversationApi.md#get_conversation_webchat_queue_statuses) | **GET** /conversation/conversations/queues/statuses | Retrieve a conversation webchat queue statuses
@@ -160,6 +161,56 @@ Name | Type | Description | Notes
160
161
 
161
162
 
162
163
 
164
+ # **get_conversation_context**
165
+ > ConversationWebchatContext get_conversation_context(conversation_uuid)
166
+
167
+ Get a webchat conversation context
168
+
169
+ Get a webchat conversation context
170
+
171
+ ### Example
172
+ ```ruby
173
+ # load the gem
174
+ require 'ultracart_api'
175
+
176
+ # Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
177
+ simple_key = '109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00'
178
+ api_instance = UltracartClient::ConversationApi.new_using_api_key(simple_key, false, false)
179
+
180
+
181
+ conversation_uuid = 'conversation_uuid_example' # String |
182
+
183
+
184
+ begin
185
+ #Get a webchat conversation context
186
+ result = api_instance.get_conversation_context(conversation_uuid)
187
+ p result
188
+ rescue UltracartClient::ApiError => e
189
+ puts "Exception when calling ConversationApi->get_conversation_context: #{e}"
190
+ end
191
+ ```
192
+
193
+ ### Parameters
194
+
195
+ Name | Type | Description | Notes
196
+ ------------- | ------------- | ------------- | -------------
197
+ **conversation_uuid** | **String**| |
198
+
199
+ ### Return type
200
+
201
+ [**ConversationWebchatContext**](ConversationWebchatContext.md)
202
+
203
+ ### Authorization
204
+
205
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
206
+
207
+ ### HTTP request headers
208
+
209
+ - **Content-Type**: application/json
210
+ - **Accept**: application/json
211
+
212
+
213
+
163
214
  # **get_conversation_messages**
164
215
  > ConversationMessagesResponse get_conversation_messages(conversation_uuid, since, opts)
165
216
 
@@ -3,6 +3,8 @@
3
3
  ## Properties
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
+ **agent_arn** | **String** | | [optional]
7
+ **agent_name** | **String** | | [optional]
6
8
  **coupon_code** | **String** | | [optional]
7
9
 
8
10
 
@@ -3,6 +3,8 @@
3
3
  ## Properties
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
- **item_id** | **String** | | [optional]
6
+ **agent_arn** | **String** | | [optional]
7
+ **agent_name** | **String** | | [optional]
8
+ **items** | [**Array<CartItem>**](CartItem.md) | | [optional]
7
9
 
8
10
 
@@ -0,0 +1,10 @@
1
+ # UltracartClient::ConversationEventWebchatContext
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **cart_id** | **String** | | [optional]
7
+ **ucacid** | **String** | | [optional]
8
+ **url** | **String** | | [optional]
9
+
10
+
@@ -0,0 +1,12 @@
1
+ # UltracartClient::ConversationWebchatContext
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **cart** | [**Cart**](Cart.md) | | [optional]
7
+ **current_url** | **String** | | [optional]
8
+ **page_view** | [**Array<HitPageView>**](HitPageView.md) | | [optional]
9
+ **session_start** | [**HitSessionStart**](HitSessionStart.md) | | [optional]
10
+ **session_utm** | [**HitSessionUtm**](HitSessionUtm.md) | | [optional]
11
+
12
+
@@ -17,6 +17,7 @@ Name | Type | Description | Notes
17
17
  **event_type** | **String** | Type of event | [optional]
18
18
  **event_typing** | [**ConversationEventTyping**](ConversationEventTyping.md) | | [optional]
19
19
  **event_updated_message** | [**ConversationMessage**](ConversationMessage.md) | | [optional]
20
+ **event_webchat_context** | [**ConversationEventWebchatContext**](ConversationEventWebchatContext.md) | | [optional]
20
21
  **message** | [**ConversationMessage**](ConversationMessage.md) | | [optional]
21
22
  **type** | **String** | Type of message | [optional]
22
23
 
@@ -0,0 +1,18 @@
1
+ # UltracartClient::HitPageView
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **bounce** | **BOOLEAN** | | [optional]
7
+ **meta_data** | [**Array<HitPageViewMetaData>**](HitPageViewMetaData.md) | | [optional]
8
+ **method** | **String** | | [optional]
9
+ **prefetch** | **BOOLEAN** | | [optional]
10
+ **query** | **String** | | [optional]
11
+ **recording** | **BOOLEAN** | | [optional]
12
+ **redirect** | **BOOLEAN** | | [optional]
13
+ **referrer** | **String** | | [optional]
14
+ **time_on_page** | **Float** | | [optional]
15
+ **title** | **String** | | [optional]
16
+ **url** | **String** | | [optional]
17
+
18
+
@@ -0,0 +1,9 @@
1
+ # UltracartClient::HitPageViewMetaData
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **key** | **String** | | [optional]
7
+ **value** | **String** | | [optional]
8
+
9
+
@@ -0,0 +1,24 @@
1
+ # UltracartClient::HitSessionStart
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **bot** | **BOOLEAN** | | [optional]
7
+ **bounce** | **BOOLEAN** | | [optional]
8
+ **channel** | **String** | | [optional]
9
+ **device_switch_detected** | **BOOLEAN** | | [optional]
10
+ **fake_bot** | **BOOLEAN** | | [optional]
11
+ **geolocation_country** | **String** | | [optional]
12
+ **geolocation_latitude** | **Float** | | [optional]
13
+ **geolocation_longitude** | **Float** | | [optional]
14
+ **geolocation_province** | **String** | | [optional]
15
+ **no_cookie_support** | **BOOLEAN** | | [optional]
16
+ **prefetch** | **BOOLEAN** | | [optional]
17
+ **referrer** | **String** | | [optional]
18
+ **screen_height** | **Integer** | | [optional]
19
+ **screen_width** | **Integer** | | [optional]
20
+ **time_on_site** | **Float** | | [optional]
21
+ **user_agent** | **String** | | [optional]
22
+ **user_ip** | **String** | | [optional]
23
+
24
+
@@ -0,0 +1,22 @@
1
+ # UltracartClient::HitSessionUtm
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **fb_ad_id** | **String** | | [optional]
7
+ **fbclid** | **String** | | [optional]
8
+ **gbraid** | **String** | | [optional]
9
+ **gclid** | **String** | | [optional]
10
+ **msclkid** | **String** | | [optional]
11
+ **ttclid** | **String** | | [optional]
12
+ **uc_message_id** | **String** | | [optional]
13
+ **utm_campaign** | **String** | | [optional]
14
+ **utm_content** | **String** | | [optional]
15
+ **utm_id** | **String** | | [optional]
16
+ **utm_medium** | **String** | | [optional]
17
+ **utm_source** | **String** | | [optional]
18
+ **utm_term** | **String** | | [optional]
19
+ **vmcid** | **String** | | [optional]
20
+ **wbraid** | **String** | | [optional]
21
+
22
+
@@ -187,6 +187,61 @@ module UltracartClient
187
187
  end
188
188
  return data, status_code, headers
189
189
  end
190
+ # Get a webchat conversation context
191
+ # Get a webchat conversation context
192
+ # @param conversation_uuid
193
+ # @param [Hash] opts the optional parameters
194
+ # @return [ConversationWebchatContext]
195
+ def get_conversation_context(conversation_uuid, opts = {})
196
+ data, _status_code, _headers = get_conversation_context_with_http_info(conversation_uuid, opts)
197
+ data
198
+ end
199
+
200
+ # Get a webchat conversation context
201
+ # Get a webchat conversation context
202
+ # @param conversation_uuid
203
+ # @param [Hash] opts the optional parameters
204
+ # @return [Array<(ConversationWebchatContext, Fixnum, Hash)>] ConversationWebchatContext data, response status code and response headers
205
+ def get_conversation_context_with_http_info(conversation_uuid, opts = {})
206
+ if @api_client.config.debugging
207
+ @api_client.config.logger.debug 'Calling API: ConversationApi.get_conversation_context ...'
208
+ end
209
+ # verify the required parameter 'conversation_uuid' is set
210
+ if @api_client.config.client_side_validation && conversation_uuid.nil?
211
+ fail ArgumentError, "Missing the required parameter 'conversation_uuid' when calling ConversationApi.get_conversation_context"
212
+ end
213
+ # resource path
214
+ local_var_path = '/conversation/conversations/{conversation_uuid}/context'.sub('{' + 'conversation_uuid' + '}', conversation_uuid.to_s)
215
+
216
+ # query parameters
217
+ query_params = {}
218
+
219
+ # header parameters
220
+ header_params = {}
221
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
222
+ # HTTP header 'Accept' (if needed)
223
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
224
+ # HTTP header 'Content-Type'
225
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
226
+
227
+ # form parameters
228
+ form_params = {}
229
+
230
+ # http body (model)
231
+ post_body = nil
232
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
233
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
234
+ :header_params => header_params,
235
+ :query_params => query_params,
236
+ :form_params => form_params,
237
+ :body => post_body,
238
+ :auth_names => auth_names,
239
+ :return_type => 'ConversationWebchatContext')
240
+ if @api_client.config.debugging
241
+ @api_client.config.logger.debug "API called: ConversationApi#get_conversation_context\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
242
+ end
243
+ return data, status_code, headers
244
+ end
190
245
  # Retrieve conversation messages
191
246
  # Retrieve conversation messages since a particular time
192
247
  # @param conversation_uuid
@@ -14,11 +14,17 @@ require 'date'
14
14
 
15
15
  module UltracartClient
16
16
  class ConversationEventAddCoupon
17
+ attr_accessor :agent_arn
18
+
19
+ attr_accessor :agent_name
20
+
17
21
  attr_accessor :coupon_code
18
22
 
19
23
  # Attribute mapping from ruby-style variable name to JSON key.
20
24
  def self.attribute_map
21
25
  {
26
+ :'agent_arn' => :'agent_arn',
27
+ :'agent_name' => :'agent_name',
22
28
  :'coupon_code' => :'coupon_code'
23
29
  }
24
30
  end
@@ -26,6 +32,8 @@ module UltracartClient
26
32
  # Attribute type mapping.
27
33
  def self.swagger_types
28
34
  {
35
+ :'agent_arn' => :'String',
36
+ :'agent_name' => :'String',
29
37
  :'coupon_code' => :'String'
30
38
  }
31
39
  end
@@ -38,6 +46,14 @@ module UltracartClient
38
46
  # convert string to symbol for hash key
39
47
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
40
48
 
49
+ if attributes.has_key?(:'agent_arn')
50
+ self.agent_arn = attributes[:'agent_arn']
51
+ end
52
+
53
+ if attributes.has_key?(:'agent_name')
54
+ self.agent_name = attributes[:'agent_name']
55
+ end
56
+
41
57
  if attributes.has_key?(:'coupon_code')
42
58
  self.coupon_code = attributes[:'coupon_code']
43
59
  end
@@ -61,6 +77,8 @@ module UltracartClient
61
77
  def ==(o)
62
78
  return true if self.equal?(o)
63
79
  self.class == o.class &&
80
+ agent_arn == o.agent_arn &&
81
+ agent_name == o.agent_name &&
64
82
  coupon_code == o.coupon_code
65
83
  end
66
84
 
@@ -73,7 +91,7 @@ module UltracartClient
73
91
  # Calculates hash code according to all attributes.
74
92
  # @return [Fixnum] Hash code
75
93
  def hash
76
- [coupon_code].hash
94
+ [agent_arn, agent_name, coupon_code].hash
77
95
  end
78
96
 
79
97
  # Builds the object from hash
@@ -14,19 +14,27 @@ require 'date'
14
14
 
15
15
  module UltracartClient
16
16
  class ConversationEventAddItem
17
- attr_accessor :item_id
17
+ attr_accessor :agent_arn
18
+
19
+ attr_accessor :agent_name
20
+
21
+ attr_accessor :items
18
22
 
19
23
  # Attribute mapping from ruby-style variable name to JSON key.
20
24
  def self.attribute_map
21
25
  {
22
- :'item_id' => :'item_id'
26
+ :'agent_arn' => :'agent_arn',
27
+ :'agent_name' => :'agent_name',
28
+ :'items' => :'items'
23
29
  }
24
30
  end
25
31
 
26
32
  # Attribute type mapping.
27
33
  def self.swagger_types
28
34
  {
29
- :'item_id' => :'String'
35
+ :'agent_arn' => :'String',
36
+ :'agent_name' => :'String',
37
+ :'items' => :'Array<CartItem>'
30
38
  }
31
39
  end
32
40
 
@@ -38,8 +46,18 @@ module UltracartClient
38
46
  # convert string to symbol for hash key
39
47
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
40
48
 
41
- if attributes.has_key?(:'item_id')
42
- self.item_id = attributes[:'item_id']
49
+ if attributes.has_key?(:'agent_arn')
50
+ self.agent_arn = attributes[:'agent_arn']
51
+ end
52
+
53
+ if attributes.has_key?(:'agent_name')
54
+ self.agent_name = attributes[:'agent_name']
55
+ end
56
+
57
+ if attributes.has_key?(:'items')
58
+ if (value = attributes[:'items']).is_a?(Array)
59
+ self.items = value
60
+ end
43
61
  end
44
62
  end
45
63
 
@@ -61,7 +79,9 @@ module UltracartClient
61
79
  def ==(o)
62
80
  return true if self.equal?(o)
63
81
  self.class == o.class &&
64
- item_id == o.item_id
82
+ agent_arn == o.agent_arn &&
83
+ agent_name == o.agent_name &&
84
+ items == o.items
65
85
  end
66
86
 
67
87
  # @see the `==` method
@@ -73,7 +93,7 @@ module UltracartClient
73
93
  # Calculates hash code according to all attributes.
74
94
  # @return [Fixnum] Hash code
75
95
  def hash
76
- [item_id].hash
96
+ [agent_arn, agent_name, items].hash
77
97
  end
78
98
 
79
99
  # Builds the object from hash
@@ -0,0 +1,202 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ OpenAPI spec version: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.15-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module UltracartClient
16
+ class ConversationEventWebchatContext
17
+ attr_accessor :cart_id
18
+
19
+ attr_accessor :ucacid
20
+
21
+ attr_accessor :url
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'cart_id' => :'cart_id',
27
+ :'ucacid' => :'ucacid',
28
+ :'url' => :'url'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.swagger_types
34
+ {
35
+ :'cart_id' => :'String',
36
+ :'ucacid' => :'String',
37
+ :'url' => :'String'
38
+ }
39
+ end
40
+
41
+ # Initializes the object
42
+ # @param [Hash] attributes Model attributes in the form of hash
43
+ def initialize(attributes = {})
44
+ return unless attributes.is_a?(Hash)
45
+
46
+ # convert string to symbol for hash key
47
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
48
+
49
+ if attributes.has_key?(:'cart_id')
50
+ self.cart_id = attributes[:'cart_id']
51
+ end
52
+
53
+ if attributes.has_key?(:'ucacid')
54
+ self.ucacid = attributes[:'ucacid']
55
+ end
56
+
57
+ if attributes.has_key?(:'url')
58
+ self.url = attributes[:'url']
59
+ end
60
+ end
61
+
62
+ # Show invalid properties with the reasons. Usually used together with valid?
63
+ # @return Array for valid properties with the reasons
64
+ def list_invalid_properties
65
+ invalid_properties = Array.new
66
+ invalid_properties
67
+ end
68
+
69
+ # Check to see if the all the properties in the model are valid
70
+ # @return true if the model is valid
71
+ def valid?
72
+ true
73
+ end
74
+
75
+ # Checks equality by comparing each attribute.
76
+ # @param [Object] Object to be compared
77
+ def ==(o)
78
+ return true if self.equal?(o)
79
+ self.class == o.class &&
80
+ cart_id == o.cart_id &&
81
+ ucacid == o.ucacid &&
82
+ url == o.url
83
+ end
84
+
85
+ # @see the `==` method
86
+ # @param [Object] Object to be compared
87
+ def eql?(o)
88
+ self == o
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Fixnum] Hash code
93
+ def hash
94
+ [cart_id, ucacid, url].hash
95
+ end
96
+
97
+ # Builds the object from hash
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ # @return [Object] Returns the model itself
100
+ def build_from_hash(attributes)
101
+ return nil unless attributes.is_a?(Hash)
102
+ self.class.swagger_types.each_pair do |key, type|
103
+ if type =~ /\AArray<(.*)>/i
104
+ # check to ensure the input is an array given that the attribute
105
+ # is documented as an array but the input is not
106
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
107
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
108
+ end
109
+ elsif !attributes[self.class.attribute_map[key]].nil?
110
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
111
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
112
+ end
113
+
114
+ self
115
+ end
116
+
117
+ # Deserializes the data based on type
118
+ # @param string type Data type
119
+ # @param string value Value to be deserialized
120
+ # @return [Object] Deserialized data
121
+ def _deserialize(type, value)
122
+ case type.to_sym
123
+ when :DateTime
124
+ DateTime.parse(value)
125
+ when :Date
126
+ Date.parse(value)
127
+ when :String
128
+ value.to_s
129
+ when :Integer
130
+ value.to_i
131
+ when :Float
132
+ value.to_f
133
+ when :BOOLEAN
134
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
135
+ true
136
+ else
137
+ false
138
+ end
139
+ when :Object
140
+ # generic object (usually a Hash), return directly
141
+ value
142
+ when /\AArray<(?<inner_type>.+)>\z/
143
+ inner_type = Regexp.last_match[:inner_type]
144
+ value.map { |v| _deserialize(inner_type, v) }
145
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
146
+ k_type = Regexp.last_match[:k_type]
147
+ v_type = Regexp.last_match[:v_type]
148
+ {}.tap do |hash|
149
+ value.each do |k, v|
150
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
151
+ end
152
+ end
153
+ else # model
154
+ temp_model = UltracartClient.const_get(type).new
155
+ temp_model.build_from_hash(value)
156
+ end
157
+ end
158
+
159
+ # Returns the string representation of the object
160
+ # @return [String] String presentation of the object
161
+ def to_s
162
+ to_hash.to_s
163
+ end
164
+
165
+ # to_body is an alias to to_hash (backward compatibility)
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_body
168
+ to_hash
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ next if value.nil?
178
+ hash[param] = _to_hash(value)
179
+ end
180
+ hash
181
+ end
182
+
183
+ # Outputs non-array value in the form of hash
184
+ # For object, use to_hash. Otherwise, just return the value
185
+ # @param [Object] value Any valid value
186
+ # @return [Hash] Returns the value in the form of hash
187
+ def _to_hash(value)
188
+ if value.is_a?(Array)
189
+ value.compact.map { |v| _to_hash(v) }
190
+ elsif value.is_a?(Hash)
191
+ {}.tap do |hash|
192
+ value.each { |k, v| hash[k] = _to_hash(v) }
193
+ end
194
+ elsif value.respond_to? :to_hash
195
+ value.to_hash
196
+ else
197
+ value
198
+ end
199
+ end
200
+
201
+ end
202
+ end