purecloud 0.27.0 → 0.28.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.
- checksums.yaml +4 -4
- data/README.md +10 -0
- data/config-ruby.json +1 -1
- data/extensions/auth.rb +7 -0
- data/lib/purecloud.rb +137 -85
- data/lib/purecloud/api/analytics_api.rb +1906 -0
- data/lib/purecloud/api/architect_api.rb +51 -51
- data/lib/purecloud/api/attributes_api.rb +6 -6
- data/lib/purecloud/api/authorization_api.rb +17 -79
- data/lib/purecloud/api/callbacks_api.rb +483 -0
- data/lib/purecloud/api/calls_api.rb +1088 -0
- data/lib/purecloud/api/chats_api.rb +483 -0
- data/lib/purecloud/api/compliance_api.rb +2 -2
- data/lib/purecloud/api/configuration_api.rb +83 -83
- data/lib/purecloud/api/content_management_api.rb +36 -36
- data/lib/purecloud/api/conversations_api.rb +3542 -465
- data/lib/purecloud/api/downloads_api.rb +2 -2
- data/lib/purecloud/api/emails_api.rb +1013 -0
- data/lib/purecloud/api/evaluations_api.rb +73 -0
- data/lib/purecloud/api/external_contacts_api.rb +26 -26
- data/lib/purecloud/api/fax_api.rb +6 -6
- data/lib/purecloud/api/faxes_api.rb +73 -0
- data/lib/purecloud/api/geolocation_api.rb +4 -4
- data/lib/purecloud/api/greetings_api.rb +12 -12
- data/lib/purecloud/api/groups_api.rb +3 -3
- data/lib/purecloud/api/integrations_api.rb +144 -0
- data/lib/purecloud/api/languages_api.rb +2 -2
- data/lib/purecloud/api/licensing_api.rb +7 -7
- data/lib/purecloud/api/locations_api.rb +2 -2
- data/lib/purecloud/api/notifications_api.rb +7 -7
- data/lib/purecloud/api/o_auth_api.rb +22 -22
- data/lib/purecloud/api/outbound_api.rb +69 -81
- data/lib/purecloud/api/presence_api.rb +10 -10
- data/lib/purecloud/api/quality_api.rb +41 -93
- data/lib/purecloud/api/recording_api.rb +20 -29
- data/lib/purecloud/api/response_management_api.rb +11 -11
- data/lib/purecloud/api/routing_api.rb +333 -189
- data/lib/purecloud/api/scripts_api.rb +11 -11
- data/lib/purecloud/api/search_api.rb +1 -1
- data/lib/purecloud/api/socials_api.rb +483 -0
- data/lib/purecloud/api/stations_api.rb +3 -3
- data/lib/purecloud/api/telephony_providers_edge_api.rb +38 -38
- data/lib/purecloud/api/tokens_api.rb +1 -1
- data/lib/purecloud/api/user_recordings_api.rb +6 -6
- data/lib/purecloud/api/users_api.rb +403 -95
- data/lib/purecloud/api/utilities_api.rb +4 -60
- data/lib/purecloud/api/videos_api.rb +483 -0
- data/lib/purecloud/api/voicemail_api.rb +11 -11
- data/lib/purecloud/models/address.rb +47 -25
- data/lib/purecloud/models/address_listing.rb +11 -11
- data/lib/purecloud/models/agent_activity_entity_listing.rb +11 -11
- data/lib/purecloud/models/aggregate_data_container.rb +161 -0
- data/lib/purecloud/models/aggregate_metric_data.rb +175 -0
- data/lib/purecloud/models/{session_request.rb → aggregate_query_response.rb} +10 -8
- data/lib/purecloud/models/{domain_license_entity_listing.rb → aggregation_query.rb} +49 -79
- data/lib/purecloud/models/{tag.rb → aggregation_range.rb} +16 -16
- data/lib/purecloud/models/aggregation_result.rb +199 -0
- data/lib/purecloud/models/aggregation_result_entry.rb +179 -0
- data/lib/purecloud/models/alert_entity_listing.rb +11 -11
- data/lib/purecloud/models/analytics_conversation.rb +181 -0
- data/lib/purecloud/models/analytics_conversation_query_response.rb +160 -0
- data/lib/purecloud/models/{queue_member_entity_listing.rb → analytics_evaluation.rb} +62 -64
- data/lib/purecloud/models/analytics_participant.rb +158 -0
- data/lib/purecloud/models/analytics_property.rb +178 -0
- data/lib/purecloud/models/analytics_query_aggregation.rb +202 -0
- data/lib/purecloud/models/analytics_query_clause.rb +168 -0
- data/lib/purecloud/models/analytics_query_filter.rb +181 -0
- data/lib/purecloud/models/analytics_query_predicate.rb +269 -0
- data/lib/purecloud/models/analytics_segment.rb +607 -0
- data/lib/purecloud/models/{put_management_unit.rb → analytics_session.rb} +27 -25
- data/lib/purecloud/models/attribute_entity_listing.rb +11 -11
- data/lib/purecloud/models/audit_entity_reference.rb +1 -1
- data/lib/purecloud/models/automate_queue_member_entity_listing.rb +11 -11
- data/lib/purecloud/models/available_additional_service_listing.rb +11 -11
- data/lib/purecloud/models/available_topic_entity_listing.rb +11 -11
- data/lib/purecloud/models/calibration_entity_listing.rb +11 -11
- data/lib/purecloud/models/call.rb +2 -22
- data/lib/purecloud/models/call_conversation.rb +213 -0
- data/lib/purecloud/models/call_participant.rb +527 -0
- data/lib/purecloud/models/callable_time_set_entity_listing.rb +11 -11
- data/lib/purecloud/models/callback_conversation.rb +194 -0
- data/lib/purecloud/models/callback_participant.rb +456 -0
- data/lib/purecloud/models/campaign.rb +17 -219
- data/lib/purecloud/models/campaign_entity_listing.rb +11 -11
- data/lib/purecloud/models/campaign_sequence_entity_listing.rb +11 -11
- data/lib/purecloud/models/carrier_entity_listing.rb +11 -11
- data/lib/purecloud/models/certificate_authority_entity_listing.rb +11 -11
- data/lib/purecloud/models/channel_entity_listing.rb +11 -11
- data/lib/purecloud/models/channel_topic_entity_listing.rb +11 -11
- data/lib/purecloud/models/{domain_license.rb → chat_conversation.rb} +19 -25
- data/lib/purecloud/models/chat_participant.rb +270 -12
- data/lib/purecloud/models/chat_search_listing.rb +11 -11
- data/lib/purecloud/models/command_status_entity_listing.rb +11 -11
- data/lib/purecloud/models/consumed_resources_entity_listing.rb +11 -11
- data/lib/purecloud/models/consuming_resources_entity_listing.rb +11 -11
- data/lib/purecloud/models/contact.rb +41 -73
- data/lib/purecloud/models/contact_list_entity_listing.rb +11 -11
- data/lib/purecloud/models/contact_listing.rb +11 -11
- data/lib/purecloud/models/contact_sales.rb +1 -21
- data/lib/purecloud/models/conversation_entity_listing.rb +11 -11
- data/lib/purecloud/models/{evaluation_query_request.rb → conversation_query.rb} +77 -90
- data/lib/purecloud/models/conversation_query_response.rb +11 -11
- data/lib/purecloud/models/{session_entity_listing.rb → create_call_request.rb} +71 -68
- data/lib/purecloud/models/{conversation_response.rb → create_call_response.rb} +1 -1
- data/lib/purecloud/models/create_user.rb +219 -0
- data/lib/purecloud/models/data_item.rb +19 -23
- data/lib/purecloud/models/deleted_resource_consumer_entity_listing.rb +11 -11
- data/lib/purecloud/models/dependency_object_entity_listing.rb +11 -11
- data/lib/purecloud/models/dependency_type_entity_listing.rb +11 -11
- data/lib/purecloud/models/destination.rb +1 -21
- data/lib/purecloud/models/did_entity_listing.rb +11 -11
- data/lib/purecloud/models/did_pool_entity_listing.rb +11 -11
- data/lib/purecloud/models/dnc_list_entity_listing.rb +11 -11
- data/lib/purecloud/models/document_audit_entity_listing.rb +11 -11
- data/lib/purecloud/models/document_entity_listing.rb +11 -11
- data/lib/purecloud/models/domain_billing_period_entity_listing.rb +11 -11
- data/lib/purecloud/models/domain_entity_listing.rb +11 -11
- data/lib/purecloud/models/domain_entity_listing_evaluation_form.rb +11 -11
- data/lib/purecloud/models/domain_entity_listing_query_result.rb +11 -11
- data/lib/purecloud/models/domain_invoice_entity_listing.rb +11 -11
- data/lib/purecloud/models/domain_organization_role.rb +1 -23
- data/lib/purecloud/models/domain_permission.rb +1 -13
- data/lib/purecloud/models/domain_third_party_account_entity_listing.rb +11 -11
- data/lib/purecloud/models/domain_third_party_subscription_entity_listing.rb +11 -11
- data/lib/purecloud/models/domain_voice_rate_extended_response_item_entity_listing.rb +11 -11
- data/lib/purecloud/models/domain_voice_rate_international_response_item_entity_listing.rb +11 -11
- data/lib/purecloud/models/domain_voice_rate_response_item_entity_listing.rb +11 -11
- data/lib/purecloud/models/edge_entity_listing.rb +11 -11
- data/lib/purecloud/models/edge_group_entity_listing.rb +11 -11
- data/lib/purecloud/models/edge_line_entity_listing.rb +11 -11
- data/lib/purecloud/models/email_conversation.rb +194 -0
- data/lib/purecloud/models/email_message_listing.rb +11 -11
- data/lib/purecloud/models/email_participant.rb +424 -0
- data/lib/purecloud/models/encryption_key_entity_listing.rb +11 -11
- data/lib/purecloud/models/endpoint_entity_listing.rb +11 -11
- data/lib/purecloud/models/entity.rb +10 -20
- data/lib/purecloud/models/evaluation.rb +1 -0
- data/lib/purecloud/models/evaluation_entity_listing.rb +11 -11
- data/lib/purecloud/models/evaluation_form_entity_listing.rb +11 -11
- data/lib/purecloud/models/evaluator_activity_entity_listing.rb +11 -11
- data/lib/purecloud/models/extension_entity_listing.rb +11 -11
- data/lib/purecloud/models/extension_pool_entity_listing.rb +11 -11
- data/lib/purecloud/models/external_organization_listing.rb +11 -11
- data/lib/purecloud/models/fax_document_entity_listing.rb +11 -11
- data/lib/purecloud/models/filter.rb +14 -11
- data/lib/purecloud/models/flow_config_meta_data_entity_listing.rb +11 -11
- data/lib/purecloud/models/flow_entity_listing.rb +11 -11
- data/lib/purecloud/models/flow_history_result_item_entity_listing.rb +11 -11
- data/lib/purecloud/models/flow_version_config_meta_data_entity_listing.rb +11 -11
- data/lib/purecloud/models/flow_version_entity_listing.rb +11 -11
- data/lib/purecloud/models/group_entity_listing.rb +11 -11
- data/lib/purecloud/models/hardware_rate_listing.rb +11 -11
- data/lib/purecloud/models/inbound_domain_entity_listing.rb +11 -11
- data/lib/purecloud/models/inbound_route_entity_listing.rb +11 -11
- data/lib/purecloud/models/integration_type_entity_listing.rb +11 -11
- data/lib/purecloud/models/ivr_entity_listing.rb +11 -11
- data/lib/purecloud/models/language_entity_listing.rb +11 -11
- data/lib/purecloud/models/library_entity_listing.rb +11 -11
- data/lib/purecloud/models/line_base_entity_listing.rb +11 -11
- data/lib/purecloud/models/line_entity_listing.rb +11 -11
- data/lib/purecloud/models/linked_entity_listing_flow_details.rb +11 -11
- data/lib/purecloud/models/linked_entity_listing_work_item_search_details.rb +11 -11
- data/lib/purecloud/models/location_entity_listing.rb +11 -11
- data/lib/purecloud/models/logical_interface_entity_listing.rb +11 -11
- data/lib/purecloud/models/management_unit.rb +26 -14
- data/lib/purecloud/models/media_result.rb +1 -11
- data/lib/purecloud/models/media_summary.rb +2 -2
- data/lib/purecloud/models/media_summary_detail.rb +156 -0
- data/lib/purecloud/models/note_listing.rb +11 -11
- data/lib/purecloud/models/numeric_range.rb +180 -0
- data/lib/purecloud/models/o_auth_client.rb +21 -14
- data/lib/purecloud/models/o_auth_client_entity_listing.rb +11 -11
- data/lib/purecloud/models/o_auth_provider_entity_listing.rb +11 -11
- data/lib/purecloud/models/observation_data_container.rb +161 -0
- data/lib/purecloud/models/observation_query.rb +160 -0
- data/lib/purecloud/models/observation_query_response.rb +148 -0
- data/lib/purecloud/models/okta.rb +11 -11
- data/lib/purecloud/models/one_login.rb +11 -11
- data/lib/purecloud/models/organization_presence_entity_listing.rb +11 -11
- data/lib/purecloud/models/organization_role_entity_listing.rb +11 -11
- data/lib/purecloud/models/orphan_recording_listing.rb +11 -11
- data/lib/purecloud/models/outbound_route_entity_listing.rb +11 -11
- data/lib/purecloud/models/paging_spec.rb +158 -0
- data/lib/purecloud/models/participant.rb +1 -13
- data/lib/purecloud/models/payment_method_listing.rb +11 -11
- data/lib/purecloud/models/permission_collection_entity_listing.rb +11 -11
- data/lib/purecloud/models/phone_base_entity_listing.rb +11 -11
- data/lib/purecloud/models/phone_entity_listing.rb +11 -11
- data/lib/purecloud/models/phone_meta_base_entity_listing.rb +11 -11
- data/lib/purecloud/models/physical_interface_entity_listing.rb +11 -11
- data/lib/purecloud/models/policy_entity_listing.rb +11 -11
- data/lib/purecloud/models/presence_query_response.rb +161 -0
- data/lib/purecloud/models/prompt_asset_entity_listing.rb +11 -11
- data/lib/purecloud/models/prompt_entity_listing.rb +11 -11
- data/lib/purecloud/models/property_index_request.rb +182 -0
- data/lib/purecloud/models/quality_audit_page.rb +11 -11
- data/lib/purecloud/models/queue.rb +1 -23
- data/lib/purecloud/models/queue_entity_listing.rb +11 -11
- data/lib/purecloud/models/queues_entity_listing.rb +11 -11
- data/lib/purecloud/models/quote.rb +1 -37
- data/lib/purecloud/models/quote_listing.rb +11 -11
- data/lib/purecloud/models/recording.rb +13 -34
- data/lib/purecloud/models/relationship_listing.rb +11 -11
- data/lib/purecloud/models/report_meta_data_entity_listing.rb +11 -11
- data/lib/purecloud/models/report_run_entry_entity_domain_listing.rb +11 -11
- data/lib/purecloud/models/report_schedule_entity_listing.rb +11 -11
- data/lib/purecloud/models/response.rb +14 -84
- data/lib/purecloud/models/response_entity_list.rb +11 -11
- data/lib/purecloud/models/response_entity_listing.rb +11 -11
- data/lib/purecloud/models/response_set_entity_listing.rb +11 -11
- data/lib/purecloud/models/{user_status.rb → routing_skill.rb} +35 -25
- data/lib/purecloud/models/rule_entity_listing.rb +11 -11
- data/lib/purecloud/models/rule_set_entity_listing.rb +11 -11
- data/lib/purecloud/models/salesforce.rb +11 -11
- data/lib/purecloud/models/schedule_entity_listing.rb +11 -11
- data/lib/purecloud/models/schedule_group_entity_listing.rb +11 -11
- data/lib/purecloud/models/schema_category_entity_listing.rb +11 -11
- data/lib/purecloud/models/schema_reference_entity_listing.rb +11 -11
- data/lib/purecloud/models/script_entity_listing.rb +11 -11
- data/lib/purecloud/models/security_profile_entity_listing.rb +11 -11
- data/lib/purecloud/models/service_entity_listing.rb +11 -11
- data/lib/purecloud/models/share_entity_listing.rb +11 -11
- data/lib/purecloud/models/site_entity_listing.rb +11 -11
- data/lib/purecloud/models/skill_entity_listing.rb +12 -12
- data/lib/purecloud/models/social_conversation.rb +194 -0
- data/lib/purecloud/models/social_participant.rb +446 -0
- data/lib/purecloud/models/spreadsheet_transform_entity_listing.rb +11 -11
- data/lib/purecloud/models/station_entity_listing.rb +11 -11
- data/lib/purecloud/models/statistical_response.rb +158 -0
- data/lib/purecloud/models/statistical_summary.rb +226 -0
- data/lib/purecloud/models/system_prompt_asset_entity_listing.rb +11 -11
- data/lib/purecloud/models/system_prompt_entity_listing.rb +11 -11
- data/lib/purecloud/models/tag_value_entity_listing.rb +11 -11
- data/lib/purecloud/models/template_entity_listing.rb +11 -11
- data/lib/purecloud/models/text_table_transform_entity_listing.rb +11 -11
- data/lib/purecloud/models/time_zone.rb +1 -11
- data/lib/purecloud/models/time_zone_entity_listing.rb +11 -11
- data/lib/purecloud/models/transfer_request.rb +193 -0
- data/lib/purecloud/models/trunk_metabase_entity_listing.rb +11 -11
- data/lib/purecloud/models/user.rb +96 -129
- data/lib/purecloud/models/user_action_category_entity_listing.rb +11 -11
- data/lib/purecloud/models/user_action_metadata_entity_listing.rb +11 -11
- data/lib/purecloud/models/user_authorization.rb +1 -13
- data/lib/purecloud/models/user_entity_listing.rb +11 -11
- data/lib/purecloud/models/user_presence_entity_listing.rb +11 -11
- data/lib/purecloud/models/user_queue.rb +1 -23
- data/lib/purecloud/models/user_queue_entity_listing.rb +11 -11
- data/lib/purecloud/models/user_recording_entity_listing.rb +11 -11
- data/lib/purecloud/models/{session.rb → user_routing_skill.rb} +26 -41
- data/lib/purecloud/models/user_skill_entity_listing.rb +12 -12
- data/lib/purecloud/models/user_station.rb +178 -0
- data/lib/purecloud/models/user_stations.rb +180 -0
- data/lib/purecloud/models/users_entity_listing.rb +11 -11
- data/lib/purecloud/models/utilization.rb +4 -36
- data/lib/purecloud/models/video_conversation.rb +194 -0
- data/lib/purecloud/models/video_participant.rb +463 -0
- data/lib/purecloud/models/voice_rate_international_entity_listing.rb +11 -11
- data/lib/purecloud/models/voice_xml_operation_entity_listing.rb +11 -11
- data/lib/purecloud/models/voicemail_message_entity_listing.rb +11 -11
- data/lib/purecloud/models/workspace_entity_listing.rb +11 -11
- data/lib/purecloud/models/workspace_member_entity_listing.rb +11 -11
- data/lib/purecloud/models/wrapup_code_entity_listing.rb +11 -11
- data/lib/purecloud/version.rb +1 -1
- data/newVersion.md +1 -1
- data/swagger.json +1 -1
- data/version.json +1 -1
- metadata +60 -15
- data/lib/purecloud/models/skill.rb +0 -269
- data/lib/purecloud/models/user_skill.rb +0 -290
|
@@ -31,10 +31,6 @@ module PureCloud
|
|
|
31
31
|
|
|
32
32
|
attr_accessor :document_id
|
|
33
33
|
|
|
34
|
-
attr_accessor :_self
|
|
35
|
-
|
|
36
|
-
attr_accessor :other
|
|
37
|
-
|
|
38
34
|
# Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
|
|
39
35
|
attr_accessor :connected_time
|
|
40
36
|
|
|
@@ -70,10 +66,6 @@ module PureCloud
|
|
|
70
66
|
|
|
71
67
|
:'document_id' => :'documentId',
|
|
72
68
|
|
|
73
|
-
:'_self' => :'self',
|
|
74
|
-
|
|
75
|
-
:'other' => :'other',
|
|
76
|
-
|
|
77
69
|
:'connected_time' => :'connectedTime'
|
|
78
70
|
|
|
79
71
|
}
|
|
@@ -96,8 +88,6 @@ module PureCloud
|
|
|
96
88
|
:'disconnect_type' => :'String',
|
|
97
89
|
:'start_hold_time' => :'DateTime',
|
|
98
90
|
:'document_id' => :'String',
|
|
99
|
-
:'_self' => :'Address',
|
|
100
|
-
:'other' => :'Address',
|
|
101
91
|
:'connected_time' => :'DateTime'
|
|
102
92
|
|
|
103
93
|
}
|
|
@@ -176,14 +166,6 @@ module PureCloud
|
|
|
176
166
|
self.document_id = attributes[:'documentId']
|
|
177
167
|
end
|
|
178
168
|
|
|
179
|
-
if attributes[:'self']
|
|
180
|
-
self._self = attributes[:'self']
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
if attributes[:'other']
|
|
184
|
-
self.other = attributes[:'other']
|
|
185
|
-
end
|
|
186
|
-
|
|
187
169
|
if attributes[:'connectedTime']
|
|
188
170
|
self.connected_time = attributes[:'connectedTime']
|
|
189
171
|
end
|
|
@@ -219,7 +201,7 @@ module PureCloud
|
|
|
219
201
|
|
|
220
202
|
# Custom attribute writer method checking allowed values (enum).
|
|
221
203
|
def disconnect_type=(disconnect_type)
|
|
222
|
-
allowed_values = ["ENDPOINT", "CLIENT", "SYSTEM", "
|
|
204
|
+
allowed_values = ["ENDPOINT", "CLIENT", "SYSTEM", "TRANSFER", "TRANSFER_CONFERENCE", "TRANSFER_CONSULT", "ERROR", "PEER", "OTHER"]
|
|
223
205
|
if disconnect_type && !allowed_values.include?(disconnect_type)
|
|
224
206
|
fail "invalid value for 'disconnect_type', must be one of #{allowed_values}"
|
|
225
207
|
end
|
|
@@ -244,8 +226,6 @@ module PureCloud
|
|
|
244
226
|
disconnect_type == o.disconnect_type &&
|
|
245
227
|
start_hold_time == o.start_hold_time &&
|
|
246
228
|
document_id == o.document_id &&
|
|
247
|
-
_self == o._self &&
|
|
248
|
-
other == o.other &&
|
|
249
229
|
connected_time == o.connected_time
|
|
250
230
|
end
|
|
251
231
|
|
|
@@ -256,7 +236,7 @@ module PureCloud
|
|
|
256
236
|
|
|
257
237
|
# Calculate hash code according to all attributes.
|
|
258
238
|
def hash
|
|
259
|
-
[state, id, direction, recording, recording_state, muted, confined, held, recording_id, segments, error_info, disconnect_type, start_hold_time, document_id,
|
|
239
|
+
[state, id, direction, recording, recording_state, muted, confined, held, recording_id, segments, error_info, disconnect_type, start_hold_time, document_id, connected_time].hash
|
|
260
240
|
end
|
|
261
241
|
|
|
262
242
|
# build the object from hash
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
require 'date'
|
|
2
|
+
|
|
3
|
+
module PureCloud
|
|
4
|
+
class CallConversation
|
|
5
|
+
# The globally unique identifier for the object.
|
|
6
|
+
attr_accessor :id
|
|
7
|
+
|
|
8
|
+
attr_accessor :name
|
|
9
|
+
|
|
10
|
+
# The list of participants involved in the conversation.
|
|
11
|
+
attr_accessor :participants
|
|
12
|
+
|
|
13
|
+
# The list of other media channels involved in the conversation.
|
|
14
|
+
attr_accessor :other_media_uris
|
|
15
|
+
|
|
16
|
+
attr_accessor :recording_state
|
|
17
|
+
|
|
18
|
+
# The URI for this object
|
|
19
|
+
attr_accessor :self_uri
|
|
20
|
+
|
|
21
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
22
|
+
def self.attribute_map
|
|
23
|
+
{
|
|
24
|
+
|
|
25
|
+
:'id' => :'id',
|
|
26
|
+
|
|
27
|
+
:'name' => :'name',
|
|
28
|
+
|
|
29
|
+
:'participants' => :'participants',
|
|
30
|
+
|
|
31
|
+
:'other_media_uris' => :'otherMediaUris',
|
|
32
|
+
|
|
33
|
+
:'recording_state' => :'recordingState',
|
|
34
|
+
|
|
35
|
+
:'self_uri' => :'selfUri'
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Attribute type mapping.
|
|
41
|
+
def self.swagger_types
|
|
42
|
+
{
|
|
43
|
+
:'id' => :'String',
|
|
44
|
+
:'name' => :'String',
|
|
45
|
+
:'participants' => :'Array<CallParticipant>',
|
|
46
|
+
:'other_media_uris' => :'Array<String>',
|
|
47
|
+
:'recording_state' => :'String',
|
|
48
|
+
:'self_uri' => :'String'
|
|
49
|
+
|
|
50
|
+
}
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def initialize(attributes = {})
|
|
54
|
+
return unless attributes.is_a?(Hash)
|
|
55
|
+
|
|
56
|
+
# convert string to symbol for hash key
|
|
57
|
+
attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
if attributes[:'id']
|
|
61
|
+
self.id = attributes[:'id']
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
if attributes[:'name']
|
|
65
|
+
self.name = attributes[:'name']
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
if attributes[:'participants']
|
|
69
|
+
if (value = attributes[:'participants']).is_a?(Array)
|
|
70
|
+
self.participants = value
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
if attributes[:'otherMediaUris']
|
|
75
|
+
if (value = attributes[:'otherMediaUris']).is_a?(Array)
|
|
76
|
+
self.other_media_uris = value
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
if attributes[:'recordingState']
|
|
81
|
+
self.recording_state = attributes[:'recordingState']
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
if attributes[:'selfUri']
|
|
85
|
+
self.self_uri = attributes[:'selfUri']
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
91
|
+
def recording_state=(recording_state)
|
|
92
|
+
allowed_values = ["NONE", "ACTIVE", "PAUSED"]
|
|
93
|
+
if recording_state && !allowed_values.include?(recording_state)
|
|
94
|
+
fail "invalid value for 'recording_state', must be one of #{allowed_values}"
|
|
95
|
+
end
|
|
96
|
+
@recording_state = recording_state
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Check equality by comparing each attribute.
|
|
100
|
+
def ==(o)
|
|
101
|
+
return true if self.equal?(o)
|
|
102
|
+
self.class == o.class &&
|
|
103
|
+
id == o.id &&
|
|
104
|
+
name == o.name &&
|
|
105
|
+
participants == o.participants &&
|
|
106
|
+
other_media_uris == o.other_media_uris &&
|
|
107
|
+
recording_state == o.recording_state &&
|
|
108
|
+
self_uri == o.self_uri
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# @see the `==` method
|
|
112
|
+
def eql?(o)
|
|
113
|
+
self == o
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Calculate hash code according to all attributes.
|
|
117
|
+
def hash
|
|
118
|
+
[id, name, participants, other_media_uris, recording_state, self_uri].hash
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# build the object from hash
|
|
122
|
+
def build_from_hash(attributes)
|
|
123
|
+
return nil unless attributes.is_a?(Hash)
|
|
124
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
125
|
+
if type =~ /^Array<(.*)>/i
|
|
126
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
127
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
|
128
|
+
else
|
|
129
|
+
#TODO show warning in debug mode
|
|
130
|
+
end
|
|
131
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
132
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
133
|
+
else
|
|
134
|
+
# data not found in attributes(hash), not an issue as the data can be optional
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
self
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def _deserialize(type, value)
|
|
142
|
+
case type.to_sym
|
|
143
|
+
when :DateTime
|
|
144
|
+
DateTime.parse(value)
|
|
145
|
+
when :Date
|
|
146
|
+
Date.parse(value)
|
|
147
|
+
when :String
|
|
148
|
+
value.to_s
|
|
149
|
+
when :Integer
|
|
150
|
+
value.to_i
|
|
151
|
+
when :Float
|
|
152
|
+
value.to_f
|
|
153
|
+
when :BOOLEAN
|
|
154
|
+
if value =~ /^(true|t|yes|y|1)$/i
|
|
155
|
+
true
|
|
156
|
+
else
|
|
157
|
+
false
|
|
158
|
+
end
|
|
159
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
160
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
161
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
162
|
+
when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
|
|
163
|
+
k_type = Regexp.last_match[:k_type]
|
|
164
|
+
v_type = Regexp.last_match[:v_type]
|
|
165
|
+
{}.tap do |hash|
|
|
166
|
+
value.each do |k, v|
|
|
167
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
else # model
|
|
171
|
+
_model = Object.const_get("PureCloud").const_get(type).new
|
|
172
|
+
_model.build_from_hash(value)
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
def to_s
|
|
177
|
+
to_hash.to_s
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# to_body is an alias to to_body (backward compatibility))
|
|
181
|
+
def to_body
|
|
182
|
+
to_hash
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
# return the object in the form of hash
|
|
186
|
+
def to_hash
|
|
187
|
+
hash = {}
|
|
188
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
189
|
+
value = self.send(attr)
|
|
190
|
+
next if value.nil?
|
|
191
|
+
hash[param] = _to_hash(value)
|
|
192
|
+
end
|
|
193
|
+
hash
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# Method to output non-array value in the form of hash
|
|
197
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
198
|
+
def _to_hash(value)
|
|
199
|
+
if value.is_a?(Array)
|
|
200
|
+
value.compact.map{ |v| _to_hash(v) }
|
|
201
|
+
elsif value.is_a?(Hash)
|
|
202
|
+
{}.tap do |hash|
|
|
203
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
204
|
+
end
|
|
205
|
+
elsif value.respond_to? :to_hash
|
|
206
|
+
value.to_hash
|
|
207
|
+
else
|
|
208
|
+
value
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
end
|
|
213
|
+
end
|
|
@@ -0,0 +1,527 @@
|
|
|
1
|
+
require 'date'
|
|
2
|
+
|
|
3
|
+
module PureCloud
|
|
4
|
+
class CallParticipant
|
|
5
|
+
# The unique participant ID.
|
|
6
|
+
attr_accessor :id
|
|
7
|
+
|
|
8
|
+
# The display friendly name of the participant.
|
|
9
|
+
attr_accessor :name
|
|
10
|
+
|
|
11
|
+
# The participant address.
|
|
12
|
+
attr_accessor :address
|
|
13
|
+
|
|
14
|
+
# The time when this participant joined the conversation. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
|
|
15
|
+
attr_accessor :start_time
|
|
16
|
+
|
|
17
|
+
# The time when this participant went connected on the conversation. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
|
|
18
|
+
attr_accessor :connected_time
|
|
19
|
+
|
|
20
|
+
# The time when this participant when disconnected on the conversation. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
|
|
21
|
+
attr_accessor :end_time
|
|
22
|
+
|
|
23
|
+
# The time when this participant's hold started. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
|
|
24
|
+
attr_accessor :start_hold_time
|
|
25
|
+
|
|
26
|
+
# The participant's purpose. Values can be: 'agent', 'user', 'customer', 'external', 'acd', 'ivr
|
|
27
|
+
attr_accessor :purpose
|
|
28
|
+
|
|
29
|
+
# The participant's state. Values can be: 'alerting', 'connected', 'disconnected', 'dialing', 'contacting
|
|
30
|
+
attr_accessor :state
|
|
31
|
+
|
|
32
|
+
# The participant's direction. Values can be: 'inbound' or 'outbound'
|
|
33
|
+
attr_accessor :direction
|
|
34
|
+
|
|
35
|
+
# The reason the participant was disconnected from the conversation.
|
|
36
|
+
attr_accessor :disconnect_type
|
|
37
|
+
|
|
38
|
+
# Value is true when the participant is on hold.
|
|
39
|
+
attr_accessor :held
|
|
40
|
+
|
|
41
|
+
# Value is true when the participant requires wrap-up.
|
|
42
|
+
attr_accessor :wrapup_required
|
|
43
|
+
|
|
44
|
+
# The wrap-up prompt indicating the type of wrap-up to be performed.
|
|
45
|
+
attr_accessor :wrapup_prompt
|
|
46
|
+
|
|
47
|
+
# The PureCloud user for this participant.
|
|
48
|
+
attr_accessor :user
|
|
49
|
+
|
|
50
|
+
# The PureCloud queue for this participant.
|
|
51
|
+
attr_accessor :queue
|
|
52
|
+
|
|
53
|
+
# A list of ad-hoc attributes for the participant.
|
|
54
|
+
attr_accessor :attributes
|
|
55
|
+
|
|
56
|
+
# If the conversation ends in error, contains additional error details.
|
|
57
|
+
attr_accessor :error_info
|
|
58
|
+
|
|
59
|
+
# The Engage script that should be used by this participant.
|
|
60
|
+
attr_accessor :script
|
|
61
|
+
|
|
62
|
+
# The amount of time the participant has to complete wrap-up.
|
|
63
|
+
attr_accessor :wrapup_timeout_ms
|
|
64
|
+
|
|
65
|
+
# Value is true when the participant has skipped wrap-up.
|
|
66
|
+
attr_accessor :wrapup_skipped
|
|
67
|
+
|
|
68
|
+
# Value is true when the call is muted.
|
|
69
|
+
attr_accessor :muted
|
|
70
|
+
|
|
71
|
+
# Value is true when the call is confined.
|
|
72
|
+
attr_accessor :confined
|
|
73
|
+
|
|
74
|
+
# Value is true when the call is being recorded.
|
|
75
|
+
attr_accessor :recording
|
|
76
|
+
|
|
77
|
+
# The state of the call recording.
|
|
78
|
+
attr_accessor :recording_state
|
|
79
|
+
|
|
80
|
+
# The group involved in the group ring call.
|
|
81
|
+
attr_accessor :group
|
|
82
|
+
|
|
83
|
+
# The call ANI.
|
|
84
|
+
attr_accessor :ani
|
|
85
|
+
|
|
86
|
+
# The call DNIS.
|
|
87
|
+
attr_accessor :dnis
|
|
88
|
+
|
|
89
|
+
# The ID of the Content Management document if the call is a fax.
|
|
90
|
+
attr_accessor :document_id
|
|
91
|
+
|
|
92
|
+
# The ID of the participant being monitored when performing a call monitor.
|
|
93
|
+
attr_accessor :monitored_participant_id
|
|
94
|
+
|
|
95
|
+
# The ID of the consult transfer target participant when performing a consult transfer.
|
|
96
|
+
attr_accessor :consult_participant_id
|
|
97
|
+
|
|
98
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
99
|
+
def self.attribute_map
|
|
100
|
+
{
|
|
101
|
+
|
|
102
|
+
:'id' => :'id',
|
|
103
|
+
|
|
104
|
+
:'name' => :'name',
|
|
105
|
+
|
|
106
|
+
:'address' => :'address',
|
|
107
|
+
|
|
108
|
+
:'start_time' => :'startTime',
|
|
109
|
+
|
|
110
|
+
:'connected_time' => :'connectedTime',
|
|
111
|
+
|
|
112
|
+
:'end_time' => :'endTime',
|
|
113
|
+
|
|
114
|
+
:'start_hold_time' => :'startHoldTime',
|
|
115
|
+
|
|
116
|
+
:'purpose' => :'purpose',
|
|
117
|
+
|
|
118
|
+
:'state' => :'state',
|
|
119
|
+
|
|
120
|
+
:'direction' => :'direction',
|
|
121
|
+
|
|
122
|
+
:'disconnect_type' => :'disconnectType',
|
|
123
|
+
|
|
124
|
+
:'held' => :'held',
|
|
125
|
+
|
|
126
|
+
:'wrapup_required' => :'wrapupRequired',
|
|
127
|
+
|
|
128
|
+
:'wrapup_prompt' => :'wrapupPrompt',
|
|
129
|
+
|
|
130
|
+
:'user' => :'user',
|
|
131
|
+
|
|
132
|
+
:'queue' => :'queue',
|
|
133
|
+
|
|
134
|
+
:'attributes' => :'attributes',
|
|
135
|
+
|
|
136
|
+
:'error_info' => :'errorInfo',
|
|
137
|
+
|
|
138
|
+
:'script' => :'script',
|
|
139
|
+
|
|
140
|
+
:'wrapup_timeout_ms' => :'wrapupTimeoutMs',
|
|
141
|
+
|
|
142
|
+
:'wrapup_skipped' => :'wrapupSkipped',
|
|
143
|
+
|
|
144
|
+
:'muted' => :'muted',
|
|
145
|
+
|
|
146
|
+
:'confined' => :'confined',
|
|
147
|
+
|
|
148
|
+
:'recording' => :'recording',
|
|
149
|
+
|
|
150
|
+
:'recording_state' => :'recordingState',
|
|
151
|
+
|
|
152
|
+
:'group' => :'group',
|
|
153
|
+
|
|
154
|
+
:'ani' => :'ani',
|
|
155
|
+
|
|
156
|
+
:'dnis' => :'dnis',
|
|
157
|
+
|
|
158
|
+
:'document_id' => :'documentId',
|
|
159
|
+
|
|
160
|
+
:'monitored_participant_id' => :'monitoredParticipantId',
|
|
161
|
+
|
|
162
|
+
:'consult_participant_id' => :'consultParticipantId'
|
|
163
|
+
|
|
164
|
+
}
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# Attribute type mapping.
|
|
168
|
+
def self.swagger_types
|
|
169
|
+
{
|
|
170
|
+
:'id' => :'String',
|
|
171
|
+
:'name' => :'String',
|
|
172
|
+
:'address' => :'String',
|
|
173
|
+
:'start_time' => :'DateTime',
|
|
174
|
+
:'connected_time' => :'DateTime',
|
|
175
|
+
:'end_time' => :'DateTime',
|
|
176
|
+
:'start_hold_time' => :'DateTime',
|
|
177
|
+
:'purpose' => :'String',
|
|
178
|
+
:'state' => :'String',
|
|
179
|
+
:'direction' => :'String',
|
|
180
|
+
:'disconnect_type' => :'String',
|
|
181
|
+
:'held' => :'BOOLEAN',
|
|
182
|
+
:'wrapup_required' => :'BOOLEAN',
|
|
183
|
+
:'wrapup_prompt' => :'String',
|
|
184
|
+
:'user' => :'UriReference',
|
|
185
|
+
:'queue' => :'UriReference',
|
|
186
|
+
:'attributes' => :'Hash<String, String>',
|
|
187
|
+
:'error_info' => :'ErrorBody',
|
|
188
|
+
:'script' => :'UriReference',
|
|
189
|
+
:'wrapup_timeout_ms' => :'Integer',
|
|
190
|
+
:'wrapup_skipped' => :'BOOLEAN',
|
|
191
|
+
:'muted' => :'BOOLEAN',
|
|
192
|
+
:'confined' => :'BOOLEAN',
|
|
193
|
+
:'recording' => :'BOOLEAN',
|
|
194
|
+
:'recording_state' => :'String',
|
|
195
|
+
:'group' => :'UriReference',
|
|
196
|
+
:'ani' => :'String',
|
|
197
|
+
:'dnis' => :'String',
|
|
198
|
+
:'document_id' => :'String',
|
|
199
|
+
:'monitored_participant_id' => :'String',
|
|
200
|
+
:'consult_participant_id' => :'String'
|
|
201
|
+
|
|
202
|
+
}
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
def initialize(attributes = {})
|
|
206
|
+
return unless attributes.is_a?(Hash)
|
|
207
|
+
|
|
208
|
+
# convert string to symbol for hash key
|
|
209
|
+
attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
if attributes[:'id']
|
|
213
|
+
self.id = attributes[:'id']
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
if attributes[:'name']
|
|
217
|
+
self.name = attributes[:'name']
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
if attributes[:'address']
|
|
221
|
+
self.address = attributes[:'address']
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
if attributes[:'startTime']
|
|
225
|
+
self.start_time = attributes[:'startTime']
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
if attributes[:'connectedTime']
|
|
229
|
+
self.connected_time = attributes[:'connectedTime']
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
if attributes[:'endTime']
|
|
233
|
+
self.end_time = attributes[:'endTime']
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
if attributes[:'startHoldTime']
|
|
237
|
+
self.start_hold_time = attributes[:'startHoldTime']
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
if attributes[:'purpose']
|
|
241
|
+
self.purpose = attributes[:'purpose']
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
if attributes[:'state']
|
|
245
|
+
self.state = attributes[:'state']
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
if attributes[:'direction']
|
|
249
|
+
self.direction = attributes[:'direction']
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
if attributes[:'disconnectType']
|
|
253
|
+
self.disconnect_type = attributes[:'disconnectType']
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
if attributes[:'held']
|
|
257
|
+
self.held = attributes[:'held']
|
|
258
|
+
else
|
|
259
|
+
self.held = false
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
if attributes[:'wrapupRequired']
|
|
263
|
+
self.wrapup_required = attributes[:'wrapupRequired']
|
|
264
|
+
else
|
|
265
|
+
self.wrapup_required = false
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
if attributes[:'wrapupPrompt']
|
|
269
|
+
self.wrapup_prompt = attributes[:'wrapupPrompt']
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
if attributes[:'user']
|
|
273
|
+
self.user = attributes[:'user']
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
if attributes[:'queue']
|
|
277
|
+
self.queue = attributes[:'queue']
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
if attributes[:'attributes']
|
|
281
|
+
if (value = attributes[:'attributes']).is_a?(Array)
|
|
282
|
+
self.attributes = value
|
|
283
|
+
end
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
if attributes[:'errorInfo']
|
|
287
|
+
self.error_info = attributes[:'errorInfo']
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
if attributes[:'script']
|
|
291
|
+
self.script = attributes[:'script']
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
if attributes[:'wrapupTimeoutMs']
|
|
295
|
+
self.wrapup_timeout_ms = attributes[:'wrapupTimeoutMs']
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
if attributes[:'wrapupSkipped']
|
|
299
|
+
self.wrapup_skipped = attributes[:'wrapupSkipped']
|
|
300
|
+
else
|
|
301
|
+
self.wrapup_skipped = false
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
if attributes[:'muted']
|
|
305
|
+
self.muted = attributes[:'muted']
|
|
306
|
+
else
|
|
307
|
+
self.muted = false
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
if attributes[:'confined']
|
|
311
|
+
self.confined = attributes[:'confined']
|
|
312
|
+
else
|
|
313
|
+
self.confined = false
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
if attributes[:'recording']
|
|
317
|
+
self.recording = attributes[:'recording']
|
|
318
|
+
else
|
|
319
|
+
self.recording = false
|
|
320
|
+
end
|
|
321
|
+
|
|
322
|
+
if attributes[:'recordingState']
|
|
323
|
+
self.recording_state = attributes[:'recordingState']
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
if attributes[:'group']
|
|
327
|
+
self.group = attributes[:'group']
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
if attributes[:'ani']
|
|
331
|
+
self.ani = attributes[:'ani']
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
if attributes[:'dnis']
|
|
335
|
+
self.dnis = attributes[:'dnis']
|
|
336
|
+
end
|
|
337
|
+
|
|
338
|
+
if attributes[:'documentId']
|
|
339
|
+
self.document_id = attributes[:'documentId']
|
|
340
|
+
end
|
|
341
|
+
|
|
342
|
+
if attributes[:'monitoredParticipantId']
|
|
343
|
+
self.monitored_participant_id = attributes[:'monitoredParticipantId']
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
if attributes[:'consultParticipantId']
|
|
347
|
+
self.consult_participant_id = attributes[:'consultParticipantId']
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
353
|
+
def state=(state)
|
|
354
|
+
allowed_values = ["ALERTING", "DIALING", "CONTACTING", "OFFERING", "CONNECTED", "DISCONNECTED", "TERMINATED", "CONVERTING", "UPLOADING", "TRANSMITTING", "NONE"]
|
|
355
|
+
if state && !allowed_values.include?(state)
|
|
356
|
+
fail "invalid value for 'state', must be one of #{allowed_values}"
|
|
357
|
+
end
|
|
358
|
+
@state = state
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
362
|
+
def direction=(direction)
|
|
363
|
+
allowed_values = ["INBOUND", "OUTBOUND"]
|
|
364
|
+
if direction && !allowed_values.include?(direction)
|
|
365
|
+
fail "invalid value for 'direction', must be one of #{allowed_values}"
|
|
366
|
+
end
|
|
367
|
+
@direction = direction
|
|
368
|
+
end
|
|
369
|
+
|
|
370
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
371
|
+
def disconnect_type=(disconnect_type)
|
|
372
|
+
allowed_values = ["ENDPOINT", "CLIENT", "SYSTEM", "TRANSFER", "TRANSFER_CONFERENCE", "TRANSFER_CONSULT", "ERROR", "PEER", "OTHER"]
|
|
373
|
+
if disconnect_type && !allowed_values.include?(disconnect_type)
|
|
374
|
+
fail "invalid value for 'disconnect_type', must be one of #{allowed_values}"
|
|
375
|
+
end
|
|
376
|
+
@disconnect_type = disconnect_type
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
380
|
+
def recording_state=(recording_state)
|
|
381
|
+
allowed_values = ["NONE", "ACTIVE", "PAUSED"]
|
|
382
|
+
if recording_state && !allowed_values.include?(recording_state)
|
|
383
|
+
fail "invalid value for 'recording_state', must be one of #{allowed_values}"
|
|
384
|
+
end
|
|
385
|
+
@recording_state = recording_state
|
|
386
|
+
end
|
|
387
|
+
|
|
388
|
+
# Check equality by comparing each attribute.
|
|
389
|
+
def ==(o)
|
|
390
|
+
return true if self.equal?(o)
|
|
391
|
+
self.class == o.class &&
|
|
392
|
+
id == o.id &&
|
|
393
|
+
name == o.name &&
|
|
394
|
+
address == o.address &&
|
|
395
|
+
start_time == o.start_time &&
|
|
396
|
+
connected_time == o.connected_time &&
|
|
397
|
+
end_time == o.end_time &&
|
|
398
|
+
start_hold_time == o.start_hold_time &&
|
|
399
|
+
purpose == o.purpose &&
|
|
400
|
+
state == o.state &&
|
|
401
|
+
direction == o.direction &&
|
|
402
|
+
disconnect_type == o.disconnect_type &&
|
|
403
|
+
held == o.held &&
|
|
404
|
+
wrapup_required == o.wrapup_required &&
|
|
405
|
+
wrapup_prompt == o.wrapup_prompt &&
|
|
406
|
+
user == o.user &&
|
|
407
|
+
queue == o.queue &&
|
|
408
|
+
attributes == o.attributes &&
|
|
409
|
+
error_info == o.error_info &&
|
|
410
|
+
script == o.script &&
|
|
411
|
+
wrapup_timeout_ms == o.wrapup_timeout_ms &&
|
|
412
|
+
wrapup_skipped == o.wrapup_skipped &&
|
|
413
|
+
muted == o.muted &&
|
|
414
|
+
confined == o.confined &&
|
|
415
|
+
recording == o.recording &&
|
|
416
|
+
recording_state == o.recording_state &&
|
|
417
|
+
group == o.group &&
|
|
418
|
+
ani == o.ani &&
|
|
419
|
+
dnis == o.dnis &&
|
|
420
|
+
document_id == o.document_id &&
|
|
421
|
+
monitored_participant_id == o.monitored_participant_id &&
|
|
422
|
+
consult_participant_id == o.consult_participant_id
|
|
423
|
+
end
|
|
424
|
+
|
|
425
|
+
# @see the `==` method
|
|
426
|
+
def eql?(o)
|
|
427
|
+
self == o
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
# Calculate hash code according to all attributes.
|
|
431
|
+
def hash
|
|
432
|
+
[id, name, address, start_time, connected_time, end_time, start_hold_time, purpose, state, direction, disconnect_type, held, wrapup_required, wrapup_prompt, user, queue, attributes, error_info, script, wrapup_timeout_ms, wrapup_skipped, muted, confined, recording, recording_state, group, ani, dnis, document_id, monitored_participant_id, consult_participant_id].hash
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
# build the object from hash
|
|
436
|
+
def build_from_hash(attributes)
|
|
437
|
+
return nil unless attributes.is_a?(Hash)
|
|
438
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
439
|
+
if type =~ /^Array<(.*)>/i
|
|
440
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
441
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
|
442
|
+
else
|
|
443
|
+
#TODO show warning in debug mode
|
|
444
|
+
end
|
|
445
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
446
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
447
|
+
else
|
|
448
|
+
# data not found in attributes(hash), not an issue as the data can be optional
|
|
449
|
+
end
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
self
|
|
453
|
+
end
|
|
454
|
+
|
|
455
|
+
def _deserialize(type, value)
|
|
456
|
+
case type.to_sym
|
|
457
|
+
when :DateTime
|
|
458
|
+
DateTime.parse(value)
|
|
459
|
+
when :Date
|
|
460
|
+
Date.parse(value)
|
|
461
|
+
when :String
|
|
462
|
+
value.to_s
|
|
463
|
+
when :Integer
|
|
464
|
+
value.to_i
|
|
465
|
+
when :Float
|
|
466
|
+
value.to_f
|
|
467
|
+
when :BOOLEAN
|
|
468
|
+
if value =~ /^(true|t|yes|y|1)$/i
|
|
469
|
+
true
|
|
470
|
+
else
|
|
471
|
+
false
|
|
472
|
+
end
|
|
473
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
474
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
475
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
476
|
+
when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
|
|
477
|
+
k_type = Regexp.last_match[:k_type]
|
|
478
|
+
v_type = Regexp.last_match[:v_type]
|
|
479
|
+
{}.tap do |hash|
|
|
480
|
+
value.each do |k, v|
|
|
481
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
482
|
+
end
|
|
483
|
+
end
|
|
484
|
+
else # model
|
|
485
|
+
_model = Object.const_get("PureCloud").const_get(type).new
|
|
486
|
+
_model.build_from_hash(value)
|
|
487
|
+
end
|
|
488
|
+
end
|
|
489
|
+
|
|
490
|
+
def to_s
|
|
491
|
+
to_hash.to_s
|
|
492
|
+
end
|
|
493
|
+
|
|
494
|
+
# to_body is an alias to to_body (backward compatibility))
|
|
495
|
+
def to_body
|
|
496
|
+
to_hash
|
|
497
|
+
end
|
|
498
|
+
|
|
499
|
+
# return the object in the form of hash
|
|
500
|
+
def to_hash
|
|
501
|
+
hash = {}
|
|
502
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
503
|
+
value = self.send(attr)
|
|
504
|
+
next if value.nil?
|
|
505
|
+
hash[param] = _to_hash(value)
|
|
506
|
+
end
|
|
507
|
+
hash
|
|
508
|
+
end
|
|
509
|
+
|
|
510
|
+
# Method to output non-array value in the form of hash
|
|
511
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
512
|
+
def _to_hash(value)
|
|
513
|
+
if value.is_a?(Array)
|
|
514
|
+
value.compact.map{ |v| _to_hash(v) }
|
|
515
|
+
elsif value.is_a?(Hash)
|
|
516
|
+
{}.tap do |hash|
|
|
517
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
518
|
+
end
|
|
519
|
+
elsif value.respond_to? :to_hash
|
|
520
|
+
value.to_hash
|
|
521
|
+
else
|
|
522
|
+
value
|
|
523
|
+
end
|
|
524
|
+
end
|
|
525
|
+
|
|
526
|
+
end
|
|
527
|
+
end
|