purecloud 0.38.1 → 0.39.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/config-ruby.json +1 -1
  4. data/doc_out/AuthorizationApi.html.md +0 -57
  5. data/doc_out/AvailableLanguageList.html.md +13 -0
  6. data/doc_out/BillingContact.html.md +20 -0
  7. data/doc_out/{FlowHistoryResultItemEntityListing.html.md → BillingContactListing.html.md} +3 -3
  8. data/doc_out/CallRecord.html.md +2 -2
  9. data/doc_out/CallableContactsDiagnostic.html.md +3 -3
  10. data/doc_out/CallableTimeSet.html.md +3 -3
  11. data/doc_out/Campaign.html.md +3 -3
  12. data/doc_out/CampaignDiagnostics.html.md +3 -3
  13. data/doc_out/CampaignSchedule.html.md +6 -6
  14. data/doc_out/CampaignSequence.html.md +8 -8
  15. data/doc_out/CampaignStats.html.md +4 -4
  16. data/doc_out/Condition.html.md +7 -7
  17. data/doc_out/ConnectRate.html.md +3 -3
  18. data/doc_out/ContactCallbackRequest.html.md +5 -5
  19. data/doc_out/ContactList.html.md +9 -9
  20. data/doc_out/ContactPhoneNumberColumn.html.md +3 -3
  21. data/doc_out/CreateCallbackCommand.html.md +1 -0
  22. data/doc_out/CreateUser.html.md +1 -1
  23. data/doc_out/CustomerInteractionCenter.html.md +18 -0
  24. data/doc_out/DialerAction.html.md +4 -4
  25. data/doc_out/DialerContact.html.md +5 -5
  26. data/doc_out/DialerRule.html.md +6 -6
  27. data/doc_out/DncList.html.md +6 -7
  28. data/doc_out/ExternalContact.html.md +1 -0
  29. data/doc_out/ExternalDataSource.html.md +14 -0
  30. data/doc_out/ExternalOrganization.html.md +1 -0
  31. data/doc_out/IdentityProviderApi.html.md +1011 -0
  32. data/doc_out/ImportStatus.html.md +5 -5
  33. data/doc_out/InitiateScreenRecording.html.md +15 -0
  34. data/doc_out/JsonNode.html.md +3 -3
  35. data/doc_out/Keyword.html.md +19 -0
  36. data/doc_out/KeywordSet.html.md +21 -0
  37. data/doc_out/KeywordSetEntityListing.html.md +22 -0
  38. data/doc_out/OAuthApi.html.md +45 -886
  39. data/doc_out/OAuthClient.html.md +2 -2
  40. data/doc_out/Okta.html.md +1 -1
  41. data/doc_out/OneLogin.html.md +1 -1
  42. data/doc_out/OrgMediaUtilization.html.md +1 -0
  43. data/doc_out/OutboundApi.html.md +3 -3
  44. data/doc_out/PaymentMethod.html.md +3 -0
  45. data/doc_out/PhoneNumberStatus.html.md +1 -1
  46. data/doc_out/PolicyActions.html.md +1 -0
  47. data/doc_out/PresenceApi.html.md +68 -17
  48. data/doc_out/QualityApi.html.md +361 -0
  49. data/doc_out/QueueUtilizationDiagnostic.html.md +8 -8
  50. data/doc_out/ResponseSet.html.md +3 -3
  51. data/doc_out/RoutingApi.html.md +15 -12
  52. data/doc_out/RoutingSkill.html.md +1 -2
  53. data/doc_out/RuleSet.html.md +6 -6
  54. data/doc_out/Salesforce.html.md +1 -1
  55. data/doc_out/ScheduleInterval.html.md +14 -0
  56. data/doc_out/SequenceSchedule.html.md +6 -6
  57. data/doc_out/Station.html.md +1 -0
  58. data/doc_out/StationsApi.html.md +3 -1
  59. data/doc_out/SupportCredit.html.md +16 -0
  60. data/doc_out/SupportCreditListing.html.md +22 -0
  61. data/doc_out/SystemPresence.html.md +15 -0
  62. data/doc_out/TelephonyProvidersEdgeApi.html.md +112 -1
  63. data/doc_out/TrunkRecordingEnabledCount.html.md +14 -0
  64. data/doc_out/UserImage.html.md +1 -1
  65. data/doc_out/UserMe.html.md +5 -1
  66. data/doc_out/UserRoutingSkill.html.md +2 -2
  67. data/doc_out/UsersApi.html.md +182 -0
  68. data/doc_out/WrapUpCodeMapping.html.md +5 -5
  69. data/doc_out/index.html.md +3 -3
  70. data/lib/purecloud.rb +15 -3
  71. data/lib/purecloud/api/authorization_api.rb +0 -60
  72. data/lib/purecloud/api/identity_provider_api.rb +1072 -0
  73. data/lib/purecloud/api/o_auth_api.rb +26 -906
  74. data/lib/purecloud/api/outbound_api.rb +2 -2
  75. data/lib/purecloud/api/presence_api.rb +67 -12
  76. data/lib/purecloud/api/quality_api.rb +378 -0
  77. data/lib/purecloud/api/routing_api.rb +21 -16
  78. data/lib/purecloud/api/stations_api.rb +3 -0
  79. data/lib/purecloud/api/telephony_providers_edge_api.rb +120 -0
  80. data/lib/purecloud/api/users_api.rb +189 -0
  81. data/lib/purecloud/api_client.rb +1 -1
  82. data/lib/purecloud/models/analytics_session.rb +1 -1
  83. data/lib/purecloud/models/available_language_list.rb +167 -0
  84. data/lib/purecloud/models/billing_contact.rb +237 -0
  85. data/lib/purecloud/models/{flow_history_result_item_entity_listing.rb → billing_contact_listing.rb} +2 -2
  86. data/lib/purecloud/models/call_record.rb +2 -1
  87. data/lib/purecloud/models/callable_contacts_diagnostic.rb +3 -0
  88. data/lib/purecloud/models/callable_time_set.rb +3 -3
  89. data/lib/purecloud/models/campaign.rb +3 -3
  90. data/lib/purecloud/models/campaign_diagnostics.rb +3 -0
  91. data/lib/purecloud/models/campaign_schedule.rb +7 -4
  92. data/lib/purecloud/models/campaign_sequence.rb +8 -3
  93. data/lib/purecloud/models/campaign_stats.rb +4 -0
  94. data/lib/purecloud/models/condition.rb +16 -0
  95. data/lib/purecloud/models/connect_rate.rb +3 -0
  96. data/lib/purecloud/models/contact_callback_request.rb +5 -0
  97. data/lib/purecloud/models/contact_list.rb +9 -3
  98. data/lib/purecloud/models/contact_phone_number_column.rb +3 -0
  99. data/lib/purecloud/models/create_callback_command.rb +12 -1
  100. data/lib/purecloud/models/create_user.rb +1 -0
  101. data/lib/purecloud/models/customer_interaction_center.rb +217 -0
  102. data/lib/purecloud/models/dialer_action.rb +31 -0
  103. data/lib/purecloud/models/dialer_contact.rb +5 -0
  104. data/lib/purecloud/models/dialer_rule.rb +15 -0
  105. data/lib/purecloud/models/dnc_list.rb +7 -14
  106. data/lib/purecloud/models/external_contact.rb +14 -1
  107. data/lib/purecloud/models/external_data_source.rb +176 -0
  108. data/lib/purecloud/models/external_organization.rb +14 -1
  109. data/lib/purecloud/models/import_status.rb +5 -0
  110. data/lib/purecloud/models/initiate_screen_recording.rb +187 -0
  111. data/lib/purecloud/models/json_node.rb +37 -37
  112. data/lib/purecloud/models/keyword.rb +227 -0
  113. data/lib/purecloud/models/keyword_set.rb +253 -0
  114. data/lib/purecloud/models/keyword_set_entity_listing.rb +257 -0
  115. data/lib/purecloud/models/o_auth_client.rb +3 -3
  116. data/lib/purecloud/models/okta.rb +11 -11
  117. data/lib/purecloud/models/one_login.rb +11 -11
  118. data/lib/purecloud/models/org_media_utilization.rb +17 -4
  119. data/lib/purecloud/models/organization_presence.rb +0 -9
  120. data/lib/purecloud/models/payment_method.rb +42 -1
  121. data/lib/purecloud/models/phone_number_status.rb +1 -0
  122. data/lib/purecloud/models/policy_actions.rb +14 -4
  123. data/lib/purecloud/models/queue_utilization_diagnostic.rb +8 -0
  124. data/lib/purecloud/models/response_set.rb +3 -3
  125. data/lib/purecloud/models/routing_skill.rb +2 -12
  126. data/lib/purecloud/models/routing_status.rb +1 -1
  127. data/lib/purecloud/models/rule_set.rb +6 -3
  128. data/lib/purecloud/models/salesforce.rb +11 -11
  129. data/lib/purecloud/models/{campaign_schedule_intervals.rb → schedule_interval.rb} +5 -5
  130. data/lib/purecloud/models/sequence_schedule.rb +7 -4
  131. data/lib/purecloud/models/station.rb +11 -1
  132. data/lib/purecloud/models/support_credit.rb +197 -0
  133. data/lib/purecloud/models/support_credit_listing.rb +257 -0
  134. data/lib/purecloud/models/system_presence.rb +187 -0
  135. data/lib/purecloud/models/trunk_recording_enabled_count.rb +177 -0
  136. data/lib/purecloud/models/user_image.rb +1 -0
  137. data/lib/purecloud/models/user_me.rb +50 -2
  138. data/lib/purecloud/models/user_routing_skill.rb +18 -11
  139. data/lib/purecloud/models/wrap_up_code_mapping.rb +5 -3
  140. data/lib/purecloud/version.rb +1 -1
  141. data/newVersion.md +1 -1
  142. data/swagger.json +1 -1
  143. data/version.json +1 -1
  144. metadata +32 -8
  145. data/doc_out/CampaignScheduleIntervals.html.md +0 -14
  146. data/doc_out/ObjectsApi.html.md +0 -69
  147. data/lib/purecloud/api/objects_api.rb +0 -87
@@ -18,12 +18,16 @@ require 'date'
18
18
 
19
19
  module PureCloud
20
20
  class DialerAction
21
+ # Type of the action
21
22
  attr_accessor :type
22
23
 
24
+ # Identifier of the action
23
25
  attr_accessor :action_type_name
24
26
 
27
+ # Indicator of the type of update action (applicable only to certain types of actions)
25
28
  attr_accessor :update_option
26
29
 
30
+ # Map of key-value pairs pertinent to the action (different actions require different properties)
27
31
  attr_accessor :properties
28
32
 
29
33
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -79,6 +83,33 @@ module PureCloud
79
83
 
80
84
  end
81
85
 
86
+ # Custom attribute writer method checking allowed values (enum).
87
+ def type=(type)
88
+ allowed_values = ["Action", "modifyContactAttribute"]
89
+ if type && !allowed_values.include?(type)
90
+ fail "invalid value for 'type', must be one of #{allowed_values}"
91
+ end
92
+ @type = type
93
+ end
94
+
95
+ # Custom attribute writer method checking allowed values (enum).
96
+ def action_type_name=(action_type_name)
97
+ allowed_values = ["DO_NOT_DIAL", "MODIFY_CONTACT_ATTRIBUTE", "SWITCH_TO_PREVIEW", "APPEND_NUMBER_TO_DNC_LIST", "SCHEDULE_CALLBACK"]
98
+ if action_type_name && !allowed_values.include?(action_type_name)
99
+ fail "invalid value for 'action_type_name', must be one of #{allowed_values}"
100
+ end
101
+ @action_type_name = action_type_name
102
+ end
103
+
104
+ # Custom attribute writer method checking allowed values (enum).
105
+ def update_option=(update_option)
106
+ allowed_values = ["SET", "INCREMENT", "DECREMENT", "CURRENT_TIME"]
107
+ if update_option && !allowed_values.include?(update_option)
108
+ fail "invalid value for 'update_option', must be one of #{allowed_values}"
109
+ end
110
+ @update_option = update_option
111
+ end
112
+
82
113
  # Check equality by comparing each attribute.
83
114
  def ==(o)
84
115
  return true if self.equal?(o)
@@ -23,14 +23,19 @@ module PureCloud
23
23
 
24
24
  attr_accessor :name
25
25
 
26
+ # Identifier of the contact list containing this contact
26
27
  attr_accessor :contact_list_id
27
28
 
29
+ # A map of the contact's data attributes and values
28
30
  attr_accessor :data
29
31
 
32
+ # A map of call records for the contact phone columns
30
33
  attr_accessor :call_records
31
34
 
35
+ # false if the contact is not to be called
32
36
  attr_accessor :callable
33
37
 
38
+ # A map of statuses for the contact phone columns
34
39
  attr_accessor :phone_number_status
35
40
 
36
41
  # The URI for this object
@@ -18,16 +18,22 @@ require 'date'
18
18
 
19
19
  module PureCloud
20
20
  class DialerRule
21
+ # The identifier of the rule
21
22
  attr_accessor :id
22
23
 
24
+ # The name of the rule
23
25
  attr_accessor :name
24
26
 
27
+ # The ranked order of the rule; rules are processed from lowest number to highest
25
28
  attr_accessor :order
26
29
 
30
+ # The category of the rule
27
31
  attr_accessor :category
28
32
 
33
+ # The list of rule conditions; all must evaluate to true to trigger the rule actions
29
34
  attr_accessor :conditions
30
35
 
36
+ # The list of rule actions to be taken if the conditions are true
31
37
  attr_accessor :actions
32
38
 
33
39
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -99,6 +105,15 @@ module PureCloud
99
105
 
100
106
  end
101
107
 
108
+ # Custom attribute writer method checking allowed values (enum).
109
+ def category=(category)
110
+ allowed_values = ["DIALER_PRECALL", "DIALER_WRAPUP"]
111
+ if category && !allowed_values.include?(category)
112
+ fail "invalid value for 'category', must be one of #{allowed_values}"
113
+ end
114
+ @category = category
115
+ end
116
+
102
117
  # Check equality by comparing each attribute.
103
118
  def ==(o)
104
119
  return true if self.equal?(o)
@@ -23,21 +23,22 @@ module PureCloud
23
23
 
24
24
  attr_accessor :name
25
25
 
26
- # creation time of the entity. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
26
+ # Creation time of the entity. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
27
27
  attr_accessor :date_created
28
28
 
29
- # last modified time of the entity. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
29
+ # Last modified time of the entity. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
30
30
  attr_accessor :date_modified
31
31
 
32
- # required for updates, must match the version number of the most recent update
32
+ # Required for updates, must match the version number of the most recent update
33
33
  attr_accessor :version
34
34
 
35
+ # the name of the columns containing the numbers not to be called
35
36
  attr_accessor :phone_number_columns
36
37
 
38
+ # the status of the import process
37
39
  attr_accessor :import_status
38
40
 
39
- attr_accessor :file_key
40
-
41
+ # the number of phone numbers in the do not call list
41
42
  attr_accessor :size
42
43
 
43
44
  # The URI for this object
@@ -61,8 +62,6 @@ module PureCloud
61
62
 
62
63
  :'import_status' => :'importStatus',
63
64
 
64
- :'file_key' => :'fileKey',
65
-
66
65
  :'size' => :'size',
67
66
 
68
67
  :'self_uri' => :'selfUri'
@@ -80,7 +79,6 @@ module PureCloud
80
79
  :'version' => :'Integer',
81
80
  :'phone_number_columns' => :'Array<String>',
82
81
  :'import_status' => :'ImportStatus',
83
- :'file_key' => :'String',
84
82
  :'size' => :'Integer',
85
83
  :'self_uri' => :'String'
86
84
 
@@ -124,10 +122,6 @@ module PureCloud
124
122
  self.import_status = attributes[:'importStatus']
125
123
  end
126
124
 
127
- if attributes[:'fileKey']
128
- self.file_key = attributes[:'fileKey']
129
- end
130
-
131
125
  if attributes[:'size']
132
126
  self.size = attributes[:'size']
133
127
  end
@@ -149,7 +143,6 @@ module PureCloud
149
143
  version == o.version &&
150
144
  phone_number_columns == o.phone_number_columns &&
151
145
  import_status == o.import_status &&
152
- file_key == o.file_key &&
153
146
  size == o.size &&
154
147
  self_uri == o.self_uri
155
148
  end
@@ -161,7 +154,7 @@ module PureCloud
161
154
 
162
155
  # Calculate hash code according to all attributes.
163
156
  def hash
164
- [id, name, date_created, date_modified, version, phone_number_columns, import_status, file_key, size, self_uri].hash
157
+ [id, name, date_created, date_modified, version, phone_number_columns, import_status, size, self_uri].hash
165
158
  end
166
159
 
167
160
  # build the object from hash
@@ -55,6 +55,9 @@ module PureCloud
55
55
 
56
56
  attr_accessor :external_organization
57
57
 
58
+ # Links to the sources of data (e.g. one source might be a CRM) that contributed data to this record. Read-only, and only populated when requested via expand param.
59
+ attr_accessor :external_data_sources
60
+
58
61
  # The URI for this object
59
62
  attr_accessor :self_uri
60
63
 
@@ -96,6 +99,8 @@ module PureCloud
96
99
 
97
100
  :'external_organization' => :'externalOrganization',
98
101
 
102
+ :'external_data_sources' => :'externalDataSources',
103
+
99
104
  :'self_uri' => :'selfUri'
100
105
 
101
106
  }
@@ -121,6 +126,7 @@ module PureCloud
121
126
  :'modify_date' => :'DateTime',
122
127
  :'create_date' => :'DateTime',
123
128
  :'external_organization' => :'ExternalOrganization',
129
+ :'external_data_sources' => :'Array<ExternalDataSource>',
124
130
  :'self_uri' => :'String'
125
131
 
126
132
  }
@@ -201,6 +207,12 @@ module PureCloud
201
207
  self.external_organization = attributes[:'externalOrganization']
202
208
  end
203
209
 
210
+ if attributes[:'externalDataSources']
211
+ if (value = attributes[:'externalDataSources']).is_a?(Array)
212
+ self.external_data_sources = value
213
+ end
214
+ end
215
+
204
216
  if attributes[:'selfUri']
205
217
  self.self_uri = attributes[:'selfUri']
206
218
  end
@@ -228,6 +240,7 @@ module PureCloud
228
240
  modify_date == o.modify_date &&
229
241
  create_date == o.create_date &&
230
242
  external_organization == o.external_organization &&
243
+ external_data_sources == o.external_data_sources &&
231
244
  self_uri == o.self_uri
232
245
  end
233
246
 
@@ -238,7 +251,7 @@ module PureCloud
238
251
 
239
252
  # Calculate hash code according to all attributes.
240
253
  def hash
241
- [id, first_name, middle_name, last_name, salutation, title, work_phone, cell_phone, home_phone, other_phone, work_email, personal_email, other_email, address, modify_date, create_date, external_organization, self_uri].hash
254
+ [id, first_name, middle_name, last_name, salutation, title, work_phone, cell_phone, home_phone, other_phone, work_email, personal_email, other_email, address, modify_date, create_date, external_organization, external_data_sources, self_uri].hash
242
255
  end
243
256
 
244
257
  # build the object from hash
@@ -0,0 +1,176 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@inin.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ # Describes a link to a record in an external system that contributed data to a Relate record
21
+ class ExternalDataSource
22
+ attr_accessor :platform
23
+
24
+ attr_accessor :url
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+
30
+ :'platform' => :'platform',
31
+
32
+ :'url' => :'url'
33
+
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.swagger_types
39
+ {
40
+ :'platform' => :'String',
41
+ :'url' => :'String'
42
+
43
+ }
44
+ end
45
+
46
+ def initialize(attributes = {})
47
+ return unless attributes.is_a?(Hash)
48
+
49
+ # convert string to symbol for hash key
50
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
51
+
52
+
53
+ if attributes[:'platform']
54
+ self.platform = attributes[:'platform']
55
+ end
56
+
57
+ if attributes[:'url']
58
+ self.url = attributes[:'url']
59
+ end
60
+
61
+ end
62
+
63
+ # Check equality by comparing each attribute.
64
+ def ==(o)
65
+ return true if self.equal?(o)
66
+ self.class == o.class &&
67
+ platform == o.platform &&
68
+ url == o.url
69
+ end
70
+
71
+ # @see the `==` method
72
+ def eql?(o)
73
+ self == o
74
+ end
75
+
76
+ # Calculate hash code according to all attributes.
77
+ def hash
78
+ [platform, url].hash
79
+ end
80
+
81
+ # build the object from hash
82
+ def build_from_hash(attributes)
83
+ return nil unless attributes.is_a?(Hash)
84
+ self.class.swagger_types.each_pair do |key, type|
85
+ if type =~ /^Array<(.*)>/i
86
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
87
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
88
+ else
89
+ #TODO show warning in debug mode
90
+ end
91
+ elsif !attributes[self.class.attribute_map[key]].nil?
92
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
93
+ else
94
+ # data not found in attributes(hash), not an issue as the data can be optional
95
+ end
96
+ end
97
+
98
+ self
99
+ end
100
+
101
+ def _deserialize(type, value)
102
+ case type.to_sym
103
+ when :DateTime
104
+ DateTime.parse(value)
105
+ when :Date
106
+ Date.parse(value)
107
+ when :String
108
+ value.to_s
109
+ when :Integer
110
+ value.to_i
111
+ when :Float
112
+ value.to_f
113
+ when :BOOLEAN
114
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
115
+ true
116
+ else
117
+ false
118
+ end
119
+ when :Object
120
+ # generic object (usually a Hash), return directly
121
+ value
122
+ when /\AArray<(?<inner_type>.+)>\z/
123
+ inner_type = Regexp.last_match[:inner_type]
124
+ value.map { |v| _deserialize(inner_type, v) }
125
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
126
+ k_type = Regexp.last_match[:k_type]
127
+ v_type = Regexp.last_match[:v_type]
128
+ {}.tap do |hash|
129
+ value.each do |k, v|
130
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
131
+ end
132
+ end
133
+ else # model
134
+ _model = Object.const_get("PureCloud").const_get(type).new
135
+ _model.build_from_hash(value)
136
+ end
137
+ end
138
+
139
+ def to_s
140
+ to_hash.to_s
141
+ end
142
+
143
+ # to_body is an alias to to_body (backward compatibility))
144
+ def to_body
145
+ to_hash
146
+ end
147
+
148
+ # return the object in the form of hash
149
+ def to_hash
150
+ hash = {}
151
+ self.class.attribute_map.each_pair do |attr, param|
152
+ value = self.send(attr)
153
+ next if value.nil?
154
+ hash[param] = _to_hash(value)
155
+ end
156
+ hash
157
+ end
158
+
159
+ # Method to output non-array value in the form of hash
160
+ # For object, use to_hash. Otherwise, just return the value
161
+ def _to_hash(value)
162
+ if value.is_a?(Array)
163
+ value.compact.map{ |v| _to_hash(v) }
164
+ elsif value.is_a?(Hash)
165
+ {}.tap do |hash|
166
+ value.each { |k, v| hash[k] = _to_hash(v) }
167
+ end
168
+ elsif value.respond_to? :to_hash
169
+ value.to_hash
170
+ else
171
+ value
172
+ end
173
+ end
174
+
175
+ end
176
+ end
@@ -51,6 +51,9 @@ module PureCloud
51
51
  # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
52
52
  attr_accessor :create_date
53
53
 
54
+ # Links to the sources of data (e.g. one source might be a CRM) that contributed data to this record. Read-only, and only populated when requested via expand param.
55
+ attr_accessor :external_data_sources
56
+
54
57
  # The URI for this object
55
58
  attr_accessor :self_uri
56
59
 
@@ -88,6 +91,8 @@ module PureCloud
88
91
 
89
92
  :'create_date' => :'createDate',
90
93
 
94
+ :'external_data_sources' => :'externalDataSources',
95
+
91
96
  :'self_uri' => :'selfUri'
92
97
 
93
98
  }
@@ -111,6 +116,7 @@ module PureCloud
111
116
  :'tickers' => :'Array<Ticker>',
112
117
  :'modify_date' => :'DateTime',
113
118
  :'create_date' => :'DateTime',
119
+ :'external_data_sources' => :'Array<ExternalDataSource>',
114
120
  :'self_uri' => :'String'
115
121
 
116
122
  }
@@ -189,6 +195,12 @@ module PureCloud
189
195
  self.create_date = attributes[:'createDate']
190
196
  end
191
197
 
198
+ if attributes[:'externalDataSources']
199
+ if (value = attributes[:'externalDataSources']).is_a?(Array)
200
+ self.external_data_sources = value
201
+ end
202
+ end
203
+
192
204
  if attributes[:'selfUri']
193
205
  self.self_uri = attributes[:'selfUri']
194
206
  end
@@ -214,6 +226,7 @@ module PureCloud
214
226
  tickers == o.tickers &&
215
227
  modify_date == o.modify_date &&
216
228
  create_date == o.create_date &&
229
+ external_data_sources == o.external_data_sources &&
217
230
  self_uri == o.self_uri
218
231
  end
219
232
 
@@ -224,7 +237,7 @@ module PureCloud
224
237
 
225
238
  # Calculate hash code according to all attributes.
226
239
  def hash
227
- [id, name, company_type, industry, primary_contact_id, address, phone_number, fax_number, employee_count, revenue, tags, websites, tickers, modify_date, create_date, self_uri].hash
240
+ [id, name, company_type, industry, primary_contact_id, address, phone_number, fax_number, employee_count, revenue, tags, websites, tickers, modify_date, create_date, external_data_sources, self_uri].hash
228
241
  end
229
242
 
230
243
  # build the object from hash