purecloudplatformclientv2 70.0.0 → 71.0.0

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AnalyticsSession.md +1 -0
  4. data/docs/BuSearchAgentSchedulesRequest.md +15 -0
  5. data/docs/ConversationsApi.md +198 -0
  6. data/docs/ManagementUnitReference.md +14 -0
  7. data/docs/RoutingApi.md +126 -0
  8. data/docs/SCIMApi.md +270 -0
  9. data/docs/ScimServiceProviderConfigAuthenticationScheme.md +1 -1
  10. data/docs/ScimV2Group.md +2 -1
  11. data/docs/SendAgentlessOutboundMessageRequest.md +16 -0
  12. data/docs/SendAgentlessOutboundMessageResponse.md +21 -0
  13. data/docs/ShiftTradeSettings.md +1 -0
  14. data/docs/TranscriptionSettings.md +14 -0
  15. data/docs/WhatsAppIntegrationRequest.md +17 -0
  16. data/docs/WorkPlanReference.md +3 -1
  17. data/docs/WorkforceManagementApi.md +74 -3
  18. data/lib/purecloudplatformclientv2.rb +6 -0
  19. data/lib/purecloudplatformclientv2/api/conversations_api.rb +195 -0
  20. data/lib/purecloudplatformclientv2/api/routing_api.rb +120 -0
  21. data/lib/purecloudplatformclientv2/api/scim_api.rb +276 -0
  22. data/lib/purecloudplatformclientv2/api/workforce_management_api.rb +73 -0
  23. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  24. data/lib/purecloudplatformclientv2/models/analytics_session.rb +30 -4
  25. data/lib/purecloudplatformclientv2/models/bu_search_agent_schedules_request.rb +266 -0
  26. data/lib/purecloudplatformclientv2/models/conversation_aggregate_query_predicate.rb +2 -2
  27. data/lib/purecloudplatformclientv2/models/flow_aggregate_query_predicate.rb +2 -2
  28. data/lib/purecloudplatformclientv2/models/management_unit_reference.rb +229 -0
  29. data/lib/purecloudplatformclientv2/models/scim_service_provider_config_authentication_scheme.rb +1 -1
  30. data/lib/purecloudplatformclientv2/models/scim_v2_group.rb +32 -1
  31. data/lib/purecloudplatformclientv2/models/segment_detail_query_predicate.rb +2 -2
  32. data/lib/purecloudplatformclientv2/models/send_agentless_outbound_message_request.rb +314 -0
  33. data/lib/purecloudplatformclientv2/models/send_agentless_outbound_message_response.rb +424 -0
  34. data/lib/purecloudplatformclientv2/models/shift_trade_settings.rb +27 -1
  35. data/lib/purecloudplatformclientv2/models/transcription_settings.rb +252 -0
  36. data/lib/purecloudplatformclientv2/models/whats_app_integration_request.rb +321 -0
  37. data/lib/purecloudplatformclientv2/models/work_plan_reference.rb +57 -9
  38. data/lib/purecloudplatformclientv2/version.rb +1 -1
  39. metadata +14 -2
@@ -147,7 +147,7 @@ module PureCloud
147
147
 
148
148
 
149
149
 
150
- allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "exitReason", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeId", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "startingLanguage", "stationId", "transferTargetAddress", "transferTargetName", "transferType", "userId", "wrapUpCode"]
150
+ allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "exitReason", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeId", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "remote", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "startingLanguage", "stationId", "transferTargetAddress", "transferTargetName", "transferType", "userId", "wrapUpCode"]
151
151
  if @dimension && !allowed_values.include?(@dimension)
152
152
  return false
153
153
  end
@@ -192,7 +192,7 @@ module PureCloud
192
192
  # Custom attribute writer method checking allowed values (enum).
193
193
  # @param [Object] dimension Object to be assigned
194
194
  def dimension=(dimension)
195
- allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "exitReason", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeId", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "startingLanguage", "stationId", "transferTargetAddress", "transferTargetName", "transferType", "userId", "wrapUpCode"]
195
+ allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "exitReason", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutType", "flowOutcome", "flowOutcomeId", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "remote", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "startingLanguage", "stationId", "transferTargetAddress", "transferTargetName", "transferType", "userId", "wrapUpCode"]
196
196
  if dimension && !allowed_values.include?(dimension)
197
197
  fail ArgumentError, "invalid value for 'dimension', must be one of #{allowed_values}."
198
198
  end
@@ -0,0 +1,229 @@
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@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: UNLICENSED
11
+ https://help.mypurecloud.com/articles/terms-and-conditions/
12
+
13
+ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ # Management unit reference object for Workforce Management (ID/selfUri only)
21
+ class ManagementUnitReference
22
+ # The globally unique identifier for the object.
23
+ attr_accessor :id
24
+
25
+ # The URI for this object
26
+ attr_accessor :self_uri
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+
32
+ :'id' => :'id',
33
+
34
+ :'self_uri' => :'selfUri'
35
+
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.swagger_types
41
+ {
42
+
43
+ :'id' => :'String',
44
+
45
+ :'self_uri' => :'String'
46
+
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ return unless attributes.is_a?(Hash)
54
+
55
+ # convert string to symbol for hash key
56
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
57
+
58
+
59
+ if attributes.has_key?(:'id')
60
+
61
+
62
+ self.id = attributes[:'id']
63
+
64
+
65
+ end
66
+
67
+
68
+ if attributes.has_key?(:'selfUri')
69
+
70
+
71
+ self.self_uri = attributes[:'selfUri']
72
+
73
+
74
+ end
75
+
76
+
77
+ end
78
+
79
+ # Show invalid properties with the reasons. Usually used together with valid?
80
+ # @return Array for valid properies with the reasons
81
+ def list_invalid_properties
82
+ invalid_properties = Array.new
83
+
84
+
85
+ return invalid_properties
86
+ end
87
+
88
+ # Check to see if the all the properties in the model are valid
89
+ # @return true if the model is valid
90
+ def valid?
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+ end
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+ # Checks equality by comparing each attribute.
114
+ # @param [Object] Object to be compared
115
+ def ==(o)
116
+ return true if self.equal?(o)
117
+ self.class == o.class &&
118
+ id == o.id &&
119
+ self_uri == o.self_uri
120
+ end
121
+
122
+ # @see the `==` method
123
+ # @param [Object] Object to be compared
124
+ def eql?(o)
125
+ self == o
126
+ end
127
+
128
+ # Calculates hash code according to all attributes.
129
+ # @return [Fixnum] Hash code
130
+ def hash
131
+ [id, self_uri].hash
132
+ end
133
+
134
+ # build the object from hash
135
+ def build_from_hash(attributes)
136
+ return nil unless attributes.is_a?(Hash)
137
+ self.class.swagger_types.each_pair do |key, type|
138
+ if type =~ /^Array<(.*)>/i
139
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
140
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
141
+ else
142
+ #TODO show warning in debug mode
143
+ end
144
+ elsif !attributes[self.class.attribute_map[key]].nil?
145
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
146
+ else
147
+ # data not found in attributes(hash), not an issue as the data can be optional
148
+ end
149
+ end
150
+
151
+ self
152
+ end
153
+
154
+ def _deserialize(type, value)
155
+ case type.to_sym
156
+ when :DateTime
157
+ DateTime.parse(value)
158
+ when :Date
159
+ Date.parse(value)
160
+ when :String
161
+ value.to_s
162
+ when :Integer
163
+ value.to_i
164
+ when :Float
165
+ value.to_f
166
+ when :BOOLEAN
167
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
168
+ true
169
+ else
170
+ false
171
+ end
172
+ when :Object
173
+ # generic object (usually a Hash), return directly
174
+ value
175
+ when /\AArray<(?<inner_type>.+)>\z/
176
+ inner_type = Regexp.last_match[:inner_type]
177
+ value.map { |v| _deserialize(inner_type, v) }
178
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
179
+ k_type = Regexp.last_match[:k_type]
180
+ v_type = Regexp.last_match[:v_type]
181
+ {}.tap do |hash|
182
+ value.each do |k, v|
183
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
184
+ end
185
+ end
186
+ else # model
187
+ _model = Object.const_get("PureCloud").const_get(type).new
188
+ _model.build_from_hash(value)
189
+ end
190
+ end
191
+
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # to_body is an alias to to_body (backward compatibility))
197
+ def to_body
198
+ to_hash
199
+ end
200
+
201
+ # return the object in the form of hash
202
+ def to_hash
203
+ hash = {}
204
+ self.class.attribute_map.each_pair do |attr, param|
205
+ value = self.send(attr)
206
+ next if value.nil?
207
+ hash[param] = _to_hash(value)
208
+ end
209
+ hash
210
+ end
211
+
212
+ # Method to output non-array value in the form of hash
213
+ # For object, use to_hash. Otherwise, just return the value
214
+ def _to_hash(value)
215
+ if value.is_a?(Array)
216
+ value.compact.map{ |v| _to_hash(v) }
217
+ elsif value.is_a?(Hash)
218
+ {}.tap do |hash|
219
+ value.each { |k, v| hash[k] = _to_hash(v) }
220
+ end
221
+ elsif value.respond_to? :to_hash
222
+ value.to_hash
223
+ else
224
+ value
225
+ end
226
+ end
227
+
228
+ end
229
+ end
@@ -34,7 +34,7 @@ module PureCloud
34
34
  # The type of authentication scheme.
35
35
  attr_accessor :type
36
36
 
37
- # Indicates the primary method of authentication.
37
+ # Indicates whether this authentication scheme is the primary method of authentication.
38
38
  attr_accessor :primary
39
39
 
40
40
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -28,6 +28,9 @@ module PureCloud
28
28
  # The display name of the group.
29
29
  attr_accessor :display_name
30
30
 
31
+ # The external ID of the group. Set by the provisioning client. \"caseExact\" is set to \"true\". \"mutability\" is set to \"readWrite\".
32
+ attr_accessor :external_id
33
+
31
34
  # The list of members in the group.
32
35
  attr_accessor :members
33
36
 
@@ -44,6 +47,8 @@ module PureCloud
44
47
 
45
48
  :'display_name' => :'displayName',
46
49
 
50
+ :'external_id' => :'externalId',
51
+
47
52
  :'members' => :'members',
48
53
 
49
54
  :'meta' => :'meta'
@@ -61,6 +66,8 @@ module PureCloud
61
66
 
62
67
  :'display_name' => :'String',
63
68
 
69
+ :'external_id' => :'String',
70
+
64
71
  :'members' => :'Array<ScimV2MemberReference>',
65
72
 
66
73
  :'meta' => :'ScimMetadata'
@@ -106,6 +113,15 @@ module PureCloud
106
113
  end
107
114
 
108
115
 
116
+ if attributes.has_key?(:'externalId')
117
+
118
+
119
+ self.external_id = attributes[:'externalId']
120
+
121
+
122
+ end
123
+
124
+
109
125
  if attributes.has_key?(:'members')
110
126
 
111
127
  if (value = attributes[:'members']).is_a?(Array)
@@ -150,6 +166,15 @@ module PureCloud
150
166
 
151
167
 
152
168
 
169
+ if @display_name.nil?
170
+ return false
171
+ end
172
+
173
+
174
+
175
+
176
+
177
+
153
178
 
154
179
 
155
180
 
@@ -183,6 +208,11 @@ module PureCloud
183
208
 
184
209
 
185
210
 
211
+
212
+
213
+
214
+
215
+
186
216
 
187
217
 
188
218
 
@@ -197,6 +227,7 @@ module PureCloud
197
227
  id == o.id &&
198
228
  schemas == o.schemas &&
199
229
  display_name == o.display_name &&
230
+ external_id == o.external_id &&
200
231
  members == o.members &&
201
232
  meta == o.meta
202
233
  end
@@ -210,7 +241,7 @@ module PureCloud
210
241
  # Calculates hash code according to all attributes.
211
242
  # @return [Fixnum] Hash code
212
243
  def hash
213
- [id, schemas, display_name, members, meta].hash
244
+ [id, schemas, display_name, external_id, members, meta].hash
214
245
  end
215
246
 
216
247
  # build the object from hash
@@ -195,7 +195,7 @@ module PureCloud
195
195
 
196
196
 
197
197
 
198
- allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaBridgeId", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "recording", "remoteNameDisplayable", "requestedLanguageId", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
198
+ allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaBridgeId", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "remote", "recording", "remoteNameDisplayable", "requestedLanguageId", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
199
199
  if @dimension && !allowed_values.include?(@dimension)
200
200
  return false
201
201
  end
@@ -262,7 +262,7 @@ module PureCloud
262
262
  # Custom attribute writer method checking allowed values (enum).
263
263
  # @param [Object] dimension Object to be assigned
264
264
  def dimension=(dimension)
265
- allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaBridgeId", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "recording", "remoteNameDisplayable", "requestedLanguageId", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
265
+ allowed_values = ["addressFrom", "addressOther", "addressSelf", "addressTo", "agentScore", "ani", "audioMuted", "callbackNumber", "callbackScheduledTime", "callbackUserName", "cobrowseRole", "cobrowseRoomId", "conference", "destinationConversationId", "destinationSessionId", "direction", "disconnectType", "dispositionAnalyzer", "dispositionName", "dnis", "edgeId", "endingLanguage", "entryReason", "entryType", "errorCode", "exitReason", "externalContactId", "externalOrganizationId", "flaggedReason", "flowId", "flowName", "flowOutcome", "flowOutcomeEndTimestamp", "flowOutcomeId", "flowOutcomeStartTimestamp", "flowOutcomeValue", "flowType", "flowVersion", "groupId", "issuedCallback", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaBridgeId", "mediaType", "messageType", "monitoredParticipantId", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantId", "participantName", "peerId", "protocolCallId", "provider", "purpose", "q850ResponseCode", "queueId", "remote", "recording", "remoteNameDisplayable", "requestedLanguageId", "requestedRoutingSkillId", "requestedRoutingUserId", "roomId", "scoredAgentId", "screenShareAddressSelf", "screenShareRoomId", "scriptId", "segmentEnd", "segmentType", "sessionDnis", "sessionId", "sharingScreen", "sipResponseCode", "skipEnabled", "sourceConversationId", "sourceSessionId", "startingLanguage", "subject", "timeoutSeconds", "transferTargetAddress", "transferTargetName", "transferType", "userId", "videoAddressSelf", "videoMuted", "videoRoomId", "wrapUpCode", "wrapUpNote", "wrapUpTag"]
266
266
  if dimension && !allowed_values.include?(dimension)
267
267
  fail ArgumentError, "invalid value for 'dimension', must be one of #{allowed_values}."
268
268
  end
@@ -0,0 +1,314 @@
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@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: UNLICENSED
11
+ https://help.mypurecloud.com/articles/terms-and-conditions/
12
+
13
+ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class SendAgentlessOutboundMessageRequest
21
+ # The messaging address of the sender of the message. For an SMS messenger type, this must be a currently provisioned sms phone number. The phone number address must be in E.164 format. E.g. +13175555555 or +34234234234
22
+ attr_accessor :from_address
23
+
24
+ # The messaging address of the recipient of the message. For an SMS messenger type, the phone number address must be in E.164 format. E.g. +13175555555 or +34234234234
25
+ attr_accessor :to_address
26
+
27
+ # The recipient messaging address messenger type.
28
+ attr_accessor :to_address_messenger_type
29
+
30
+ # The text of the message to send
31
+ attr_accessor :text_body
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ def self.attribute_map
35
+ {
36
+
37
+ :'from_address' => :'fromAddress',
38
+
39
+ :'to_address' => :'toAddress',
40
+
41
+ :'to_address_messenger_type' => :'toAddressMessengerType',
42
+
43
+ :'text_body' => :'textBody'
44
+
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.swagger_types
50
+ {
51
+
52
+ :'from_address' => :'String',
53
+
54
+ :'to_address' => :'String',
55
+
56
+ :'to_address_messenger_type' => :'String',
57
+
58
+ :'text_body' => :'String'
59
+
60
+ }
61
+ end
62
+
63
+ # Initializes the object
64
+ # @param [Hash] attributes Model attributes in the form of hash
65
+ def initialize(attributes = {})
66
+ return unless attributes.is_a?(Hash)
67
+
68
+ # convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
70
+
71
+
72
+ if attributes.has_key?(:'fromAddress')
73
+
74
+
75
+ self.from_address = attributes[:'fromAddress']
76
+
77
+
78
+ end
79
+
80
+
81
+ if attributes.has_key?(:'toAddress')
82
+
83
+
84
+ self.to_address = attributes[:'toAddress']
85
+
86
+
87
+ end
88
+
89
+
90
+ if attributes.has_key?(:'toAddressMessengerType')
91
+
92
+
93
+ self.to_address_messenger_type = attributes[:'toAddressMessengerType']
94
+
95
+
96
+ end
97
+
98
+
99
+ if attributes.has_key?(:'textBody')
100
+
101
+
102
+ self.text_body = attributes[:'textBody']
103
+
104
+
105
+ end
106
+
107
+
108
+ end
109
+
110
+ # Show invalid properties with the reasons. Usually used together with valid?
111
+ # @return Array for valid properies with the reasons
112
+ def list_invalid_properties
113
+ invalid_properties = Array.new
114
+
115
+
116
+ return invalid_properties
117
+ end
118
+
119
+ # Check to see if the all the properties in the model are valid
120
+ # @return true if the model is valid
121
+ def valid?
122
+
123
+
124
+ if @from_address.nil?
125
+ return false
126
+ end
127
+
128
+
129
+
130
+
131
+
132
+
133
+ if @to_address.nil?
134
+ return false
135
+ end
136
+
137
+
138
+
139
+
140
+
141
+
142
+ if @to_address_messenger_type.nil?
143
+ return false
144
+ end
145
+
146
+
147
+
148
+ allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp"]
149
+ if @to_address_messenger_type && !allowed_values.include?(@to_address_messenger_type)
150
+ return false
151
+ end
152
+
153
+
154
+
155
+
156
+ if @text_body.nil?
157
+ return false
158
+ end
159
+
160
+
161
+
162
+
163
+
164
+ end
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+ # Custom attribute writer method checking allowed values (enum).
179
+ # @param [Object] to_address_messenger_type Object to be assigned
180
+ def to_address_messenger_type=(to_address_messenger_type)
181
+ allowed_values = ["sms", "facebook", "twitter", "line", "whatsapp"]
182
+ if to_address_messenger_type && !allowed_values.include?(to_address_messenger_type)
183
+ fail ArgumentError, "invalid value for 'to_address_messenger_type', must be one of #{allowed_values}."
184
+ end
185
+ @to_address_messenger_type = to_address_messenger_type
186
+ end
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+ # Checks equality by comparing each attribute.
197
+ # @param [Object] Object to be compared
198
+ def ==(o)
199
+ return true if self.equal?(o)
200
+ self.class == o.class &&
201
+ from_address == o.from_address &&
202
+ to_address == o.to_address &&
203
+ to_address_messenger_type == o.to_address_messenger_type &&
204
+ text_body == o.text_body
205
+ end
206
+
207
+ # @see the `==` method
208
+ # @param [Object] Object to be compared
209
+ def eql?(o)
210
+ self == o
211
+ end
212
+
213
+ # Calculates hash code according to all attributes.
214
+ # @return [Fixnum] Hash code
215
+ def hash
216
+ [from_address, to_address, to_address_messenger_type, text_body].hash
217
+ end
218
+
219
+ # build the object from hash
220
+ def build_from_hash(attributes)
221
+ return nil unless attributes.is_a?(Hash)
222
+ self.class.swagger_types.each_pair do |key, type|
223
+ if type =~ /^Array<(.*)>/i
224
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
225
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
226
+ else
227
+ #TODO show warning in debug mode
228
+ end
229
+ elsif !attributes[self.class.attribute_map[key]].nil?
230
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
231
+ else
232
+ # data not found in attributes(hash), not an issue as the data can be optional
233
+ end
234
+ end
235
+
236
+ self
237
+ end
238
+
239
+ def _deserialize(type, value)
240
+ case type.to_sym
241
+ when :DateTime
242
+ DateTime.parse(value)
243
+ when :Date
244
+ Date.parse(value)
245
+ when :String
246
+ value.to_s
247
+ when :Integer
248
+ value.to_i
249
+ when :Float
250
+ value.to_f
251
+ when :BOOLEAN
252
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
253
+ true
254
+ else
255
+ false
256
+ end
257
+ when :Object
258
+ # generic object (usually a Hash), return directly
259
+ value
260
+ when /\AArray<(?<inner_type>.+)>\z/
261
+ inner_type = Regexp.last_match[:inner_type]
262
+ value.map { |v| _deserialize(inner_type, v) }
263
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
264
+ k_type = Regexp.last_match[:k_type]
265
+ v_type = Regexp.last_match[:v_type]
266
+ {}.tap do |hash|
267
+ value.each do |k, v|
268
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
269
+ end
270
+ end
271
+ else # model
272
+ _model = Object.const_get("PureCloud").const_get(type).new
273
+ _model.build_from_hash(value)
274
+ end
275
+ end
276
+
277
+ def to_s
278
+ to_hash.to_s
279
+ end
280
+
281
+ # to_body is an alias to to_body (backward compatibility))
282
+ def to_body
283
+ to_hash
284
+ end
285
+
286
+ # return the object in the form of hash
287
+ def to_hash
288
+ hash = {}
289
+ self.class.attribute_map.each_pair do |attr, param|
290
+ value = self.send(attr)
291
+ next if value.nil?
292
+ hash[param] = _to_hash(value)
293
+ end
294
+ hash
295
+ end
296
+
297
+ # Method to output non-array value in the form of hash
298
+ # For object, use to_hash. Otherwise, just return the value
299
+ def _to_hash(value)
300
+ if value.is_a?(Array)
301
+ value.compact.map{ |v| _to_hash(v) }
302
+ elsif value.is_a?(Hash)
303
+ {}.tap do |hash|
304
+ value.each { |k, v| hash[k] = _to_hash(v) }
305
+ end
306
+ elsif value.respond_to? :to_hash
307
+ value.to_hash
308
+ else
309
+ value
310
+ end
311
+ end
312
+
313
+ end
314
+ end