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
|
@@ -12,12 +12,12 @@ module PureCloud
|
|
|
12
12
|
|
|
13
13
|
attr_accessor :self_uri
|
|
14
14
|
|
|
15
|
+
attr_accessor :next_uri
|
|
16
|
+
|
|
15
17
|
attr_accessor :first_uri
|
|
16
18
|
|
|
17
19
|
attr_accessor :previous_uri
|
|
18
20
|
|
|
19
|
-
attr_accessor :next_uri
|
|
20
|
-
|
|
21
21
|
attr_accessor :last_uri
|
|
22
22
|
|
|
23
23
|
attr_accessor :page_count
|
|
@@ -36,12 +36,12 @@ module PureCloud
|
|
|
36
36
|
|
|
37
37
|
:'self_uri' => :'selfUri',
|
|
38
38
|
|
|
39
|
+
:'next_uri' => :'nextUri',
|
|
40
|
+
|
|
39
41
|
:'first_uri' => :'firstUri',
|
|
40
42
|
|
|
41
43
|
:'previous_uri' => :'previousUri',
|
|
42
44
|
|
|
43
|
-
:'next_uri' => :'nextUri',
|
|
44
|
-
|
|
45
45
|
:'last_uri' => :'lastUri',
|
|
46
46
|
|
|
47
47
|
:'page_count' => :'pageCount'
|
|
@@ -55,11 +55,11 @@ module PureCloud
|
|
|
55
55
|
:'page_size' => :'Integer',
|
|
56
56
|
:'page_number' => :'Integer',
|
|
57
57
|
:'total' => :'Integer',
|
|
58
|
-
:'entities' => :'Array<
|
|
58
|
+
:'entities' => :'Array<RoutingSkill>',
|
|
59
59
|
:'self_uri' => :'String',
|
|
60
|
+
:'next_uri' => :'String',
|
|
60
61
|
:'first_uri' => :'String',
|
|
61
62
|
:'previous_uri' => :'String',
|
|
62
|
-
:'next_uri' => :'String',
|
|
63
63
|
:'last_uri' => :'String',
|
|
64
64
|
:'page_count' => :'Integer'
|
|
65
65
|
|
|
@@ -95,6 +95,10 @@ module PureCloud
|
|
|
95
95
|
self.self_uri = attributes[:'selfUri']
|
|
96
96
|
end
|
|
97
97
|
|
|
98
|
+
if attributes[:'nextUri']
|
|
99
|
+
self.next_uri = attributes[:'nextUri']
|
|
100
|
+
end
|
|
101
|
+
|
|
98
102
|
if attributes[:'firstUri']
|
|
99
103
|
self.first_uri = attributes[:'firstUri']
|
|
100
104
|
end
|
|
@@ -103,10 +107,6 @@ module PureCloud
|
|
|
103
107
|
self.previous_uri = attributes[:'previousUri']
|
|
104
108
|
end
|
|
105
109
|
|
|
106
|
-
if attributes[:'nextUri']
|
|
107
|
-
self.next_uri = attributes[:'nextUri']
|
|
108
|
-
end
|
|
109
|
-
|
|
110
110
|
if attributes[:'lastUri']
|
|
111
111
|
self.last_uri = attributes[:'lastUri']
|
|
112
112
|
end
|
|
@@ -126,9 +126,9 @@ module PureCloud
|
|
|
126
126
|
total == o.total &&
|
|
127
127
|
entities == o.entities &&
|
|
128
128
|
self_uri == o.self_uri &&
|
|
129
|
+
next_uri == o.next_uri &&
|
|
129
130
|
first_uri == o.first_uri &&
|
|
130
131
|
previous_uri == o.previous_uri &&
|
|
131
|
-
next_uri == o.next_uri &&
|
|
132
132
|
last_uri == o.last_uri &&
|
|
133
133
|
page_count == o.page_count
|
|
134
134
|
end
|
|
@@ -140,7 +140,7 @@ module PureCloud
|
|
|
140
140
|
|
|
141
141
|
# Calculate hash code according to all attributes.
|
|
142
142
|
def hash
|
|
143
|
-
[page_size, page_number, total, entities, self_uri, first_uri, previous_uri,
|
|
143
|
+
[page_size, page_number, total, entities, self_uri, next_uri, first_uri, previous_uri, last_uri, page_count].hash
|
|
144
144
|
end
|
|
145
145
|
|
|
146
146
|
# build the object from hash
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
require 'date'
|
|
2
|
+
|
|
3
|
+
module PureCloud
|
|
4
|
+
class SocialConversation
|
|
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
|
+
# The URI for this object
|
|
17
|
+
attr_accessor :self_uri
|
|
18
|
+
|
|
19
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
20
|
+
def self.attribute_map
|
|
21
|
+
{
|
|
22
|
+
|
|
23
|
+
:'id' => :'id',
|
|
24
|
+
|
|
25
|
+
:'name' => :'name',
|
|
26
|
+
|
|
27
|
+
:'participants' => :'participants',
|
|
28
|
+
|
|
29
|
+
:'other_media_uris' => :'otherMediaUris',
|
|
30
|
+
|
|
31
|
+
:'self_uri' => :'selfUri'
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Attribute type mapping.
|
|
37
|
+
def self.swagger_types
|
|
38
|
+
{
|
|
39
|
+
:'id' => :'String',
|
|
40
|
+
:'name' => :'String',
|
|
41
|
+
:'participants' => :'Array<SocialParticipant>',
|
|
42
|
+
:'other_media_uris' => :'Array<String>',
|
|
43
|
+
:'self_uri' => :'String'
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def initialize(attributes = {})
|
|
49
|
+
return unless attributes.is_a?(Hash)
|
|
50
|
+
|
|
51
|
+
# convert string to symbol for hash key
|
|
52
|
+
attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
if attributes[:'id']
|
|
56
|
+
self.id = attributes[:'id']
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
if attributes[:'name']
|
|
60
|
+
self.name = attributes[:'name']
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
if attributes[:'participants']
|
|
64
|
+
if (value = attributes[:'participants']).is_a?(Array)
|
|
65
|
+
self.participants = value
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
if attributes[:'otherMediaUris']
|
|
70
|
+
if (value = attributes[:'otherMediaUris']).is_a?(Array)
|
|
71
|
+
self.other_media_uris = value
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
if attributes[:'selfUri']
|
|
76
|
+
self.self_uri = attributes[:'selfUri']
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Check equality by comparing each attribute.
|
|
82
|
+
def ==(o)
|
|
83
|
+
return true if self.equal?(o)
|
|
84
|
+
self.class == o.class &&
|
|
85
|
+
id == o.id &&
|
|
86
|
+
name == o.name &&
|
|
87
|
+
participants == o.participants &&
|
|
88
|
+
other_media_uris == o.other_media_uris &&
|
|
89
|
+
self_uri == o.self_uri
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# @see the `==` method
|
|
93
|
+
def eql?(o)
|
|
94
|
+
self == o
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Calculate hash code according to all attributes.
|
|
98
|
+
def hash
|
|
99
|
+
[id, name, participants, other_media_uris, self_uri].hash
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# build the object from hash
|
|
103
|
+
def build_from_hash(attributes)
|
|
104
|
+
return nil unless attributes.is_a?(Hash)
|
|
105
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
106
|
+
if type =~ /^Array<(.*)>/i
|
|
107
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
108
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
|
109
|
+
else
|
|
110
|
+
#TODO show warning in debug mode
|
|
111
|
+
end
|
|
112
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
113
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
114
|
+
else
|
|
115
|
+
# data not found in attributes(hash), not an issue as the data can be optional
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
self
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def _deserialize(type, value)
|
|
123
|
+
case type.to_sym
|
|
124
|
+
when :DateTime
|
|
125
|
+
DateTime.parse(value)
|
|
126
|
+
when :Date
|
|
127
|
+
Date.parse(value)
|
|
128
|
+
when :String
|
|
129
|
+
value.to_s
|
|
130
|
+
when :Integer
|
|
131
|
+
value.to_i
|
|
132
|
+
when :Float
|
|
133
|
+
value.to_f
|
|
134
|
+
when :BOOLEAN
|
|
135
|
+
if value =~ /^(true|t|yes|y|1)$/i
|
|
136
|
+
true
|
|
137
|
+
else
|
|
138
|
+
false
|
|
139
|
+
end
|
|
140
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
141
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
142
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
143
|
+
when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
|
|
144
|
+
k_type = Regexp.last_match[:k_type]
|
|
145
|
+
v_type = Regexp.last_match[:v_type]
|
|
146
|
+
{}.tap do |hash|
|
|
147
|
+
value.each do |k, v|
|
|
148
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
else # model
|
|
152
|
+
_model = Object.const_get("PureCloud").const_get(type).new
|
|
153
|
+
_model.build_from_hash(value)
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def to_s
|
|
158
|
+
to_hash.to_s
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
# to_body is an alias to to_body (backward compatibility))
|
|
162
|
+
def to_body
|
|
163
|
+
to_hash
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
# return the object in the form of hash
|
|
167
|
+
def to_hash
|
|
168
|
+
hash = {}
|
|
169
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
170
|
+
value = self.send(attr)
|
|
171
|
+
next if value.nil?
|
|
172
|
+
hash[param] = _to_hash(value)
|
|
173
|
+
end
|
|
174
|
+
hash
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Method to output non-array value in the form of hash
|
|
178
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
179
|
+
def _to_hash(value)
|
|
180
|
+
if value.is_a?(Array)
|
|
181
|
+
value.compact.map{ |v| _to_hash(v) }
|
|
182
|
+
elsif value.is_a?(Hash)
|
|
183
|
+
{}.tap do |hash|
|
|
184
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
185
|
+
end
|
|
186
|
+
elsif value.respond_to? :to_hash
|
|
187
|
+
value.to_hash
|
|
188
|
+
else
|
|
189
|
+
value
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
end
|
|
194
|
+
end
|
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
require 'date'
|
|
2
|
+
|
|
3
|
+
module PureCloud
|
|
4
|
+
class SocialParticipant
|
|
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
|
+
# The social media ID used by this participant.
|
|
69
|
+
attr_accessor :social_media_id
|
|
70
|
+
|
|
71
|
+
# The social media hub used by this participant.
|
|
72
|
+
attr_accessor :social_media_hub
|
|
73
|
+
|
|
74
|
+
# The social media user name used by this participant.
|
|
75
|
+
attr_accessor :social_user_name
|
|
76
|
+
|
|
77
|
+
# Some preview text for this participant.
|
|
78
|
+
attr_accessor :preview_text
|
|
79
|
+
|
|
80
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
81
|
+
def self.attribute_map
|
|
82
|
+
{
|
|
83
|
+
|
|
84
|
+
:'id' => :'id',
|
|
85
|
+
|
|
86
|
+
:'name' => :'name',
|
|
87
|
+
|
|
88
|
+
:'address' => :'address',
|
|
89
|
+
|
|
90
|
+
:'start_time' => :'startTime',
|
|
91
|
+
|
|
92
|
+
:'connected_time' => :'connectedTime',
|
|
93
|
+
|
|
94
|
+
:'end_time' => :'endTime',
|
|
95
|
+
|
|
96
|
+
:'start_hold_time' => :'startHoldTime',
|
|
97
|
+
|
|
98
|
+
:'purpose' => :'purpose',
|
|
99
|
+
|
|
100
|
+
:'state' => :'state',
|
|
101
|
+
|
|
102
|
+
:'direction' => :'direction',
|
|
103
|
+
|
|
104
|
+
:'disconnect_type' => :'disconnectType',
|
|
105
|
+
|
|
106
|
+
:'held' => :'held',
|
|
107
|
+
|
|
108
|
+
:'wrapup_required' => :'wrapupRequired',
|
|
109
|
+
|
|
110
|
+
:'wrapup_prompt' => :'wrapupPrompt',
|
|
111
|
+
|
|
112
|
+
:'user' => :'user',
|
|
113
|
+
|
|
114
|
+
:'queue' => :'queue',
|
|
115
|
+
|
|
116
|
+
:'attributes' => :'attributes',
|
|
117
|
+
|
|
118
|
+
:'error_info' => :'errorInfo',
|
|
119
|
+
|
|
120
|
+
:'script' => :'script',
|
|
121
|
+
|
|
122
|
+
:'wrapup_timeout_ms' => :'wrapupTimeoutMs',
|
|
123
|
+
|
|
124
|
+
:'wrapup_skipped' => :'wrapupSkipped',
|
|
125
|
+
|
|
126
|
+
:'social_media_id' => :'socialMediaId',
|
|
127
|
+
|
|
128
|
+
:'social_media_hub' => :'socialMediaHub',
|
|
129
|
+
|
|
130
|
+
:'social_user_name' => :'socialUserName',
|
|
131
|
+
|
|
132
|
+
:'preview_text' => :'previewText'
|
|
133
|
+
|
|
134
|
+
}
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Attribute type mapping.
|
|
138
|
+
def self.swagger_types
|
|
139
|
+
{
|
|
140
|
+
:'id' => :'String',
|
|
141
|
+
:'name' => :'String',
|
|
142
|
+
:'address' => :'String',
|
|
143
|
+
:'start_time' => :'DateTime',
|
|
144
|
+
:'connected_time' => :'DateTime',
|
|
145
|
+
:'end_time' => :'DateTime',
|
|
146
|
+
:'start_hold_time' => :'DateTime',
|
|
147
|
+
:'purpose' => :'String',
|
|
148
|
+
:'state' => :'String',
|
|
149
|
+
:'direction' => :'String',
|
|
150
|
+
:'disconnect_type' => :'String',
|
|
151
|
+
:'held' => :'BOOLEAN',
|
|
152
|
+
:'wrapup_required' => :'BOOLEAN',
|
|
153
|
+
:'wrapup_prompt' => :'String',
|
|
154
|
+
:'user' => :'UriReference',
|
|
155
|
+
:'queue' => :'UriReference',
|
|
156
|
+
:'attributes' => :'Hash<String, String>',
|
|
157
|
+
:'error_info' => :'ErrorBody',
|
|
158
|
+
:'script' => :'UriReference',
|
|
159
|
+
:'wrapup_timeout_ms' => :'Integer',
|
|
160
|
+
:'wrapup_skipped' => :'BOOLEAN',
|
|
161
|
+
:'social_media_id' => :'String',
|
|
162
|
+
:'social_media_hub' => :'String',
|
|
163
|
+
:'social_user_name' => :'String',
|
|
164
|
+
:'preview_text' => :'String'
|
|
165
|
+
|
|
166
|
+
}
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
def initialize(attributes = {})
|
|
170
|
+
return unless attributes.is_a?(Hash)
|
|
171
|
+
|
|
172
|
+
# convert string to symbol for hash key
|
|
173
|
+
attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
if attributes[:'id']
|
|
177
|
+
self.id = attributes[:'id']
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
if attributes[:'name']
|
|
181
|
+
self.name = attributes[:'name']
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
if attributes[:'address']
|
|
185
|
+
self.address = attributes[:'address']
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
if attributes[:'startTime']
|
|
189
|
+
self.start_time = attributes[:'startTime']
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
if attributes[:'connectedTime']
|
|
193
|
+
self.connected_time = attributes[:'connectedTime']
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
if attributes[:'endTime']
|
|
197
|
+
self.end_time = attributes[:'endTime']
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
if attributes[:'startHoldTime']
|
|
201
|
+
self.start_hold_time = attributes[:'startHoldTime']
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
if attributes[:'purpose']
|
|
205
|
+
self.purpose = attributes[:'purpose']
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
if attributes[:'state']
|
|
209
|
+
self.state = attributes[:'state']
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
if attributes[:'direction']
|
|
213
|
+
self.direction = attributes[:'direction']
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
if attributes[:'disconnectType']
|
|
217
|
+
self.disconnect_type = attributes[:'disconnectType']
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
if attributes[:'held']
|
|
221
|
+
self.held = attributes[:'held']
|
|
222
|
+
else
|
|
223
|
+
self.held = false
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
if attributes[:'wrapupRequired']
|
|
227
|
+
self.wrapup_required = attributes[:'wrapupRequired']
|
|
228
|
+
else
|
|
229
|
+
self.wrapup_required = false
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
if attributes[:'wrapupPrompt']
|
|
233
|
+
self.wrapup_prompt = attributes[:'wrapupPrompt']
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
if attributes[:'user']
|
|
237
|
+
self.user = attributes[:'user']
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
if attributes[:'queue']
|
|
241
|
+
self.queue = attributes[:'queue']
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
if attributes[:'attributes']
|
|
245
|
+
if (value = attributes[:'attributes']).is_a?(Array)
|
|
246
|
+
self.attributes = value
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
if attributes[:'errorInfo']
|
|
251
|
+
self.error_info = attributes[:'errorInfo']
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
if attributes[:'script']
|
|
255
|
+
self.script = attributes[:'script']
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
if attributes[:'wrapupTimeoutMs']
|
|
259
|
+
self.wrapup_timeout_ms = attributes[:'wrapupTimeoutMs']
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
if attributes[:'wrapupSkipped']
|
|
263
|
+
self.wrapup_skipped = attributes[:'wrapupSkipped']
|
|
264
|
+
else
|
|
265
|
+
self.wrapup_skipped = false
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
if attributes[:'socialMediaId']
|
|
269
|
+
self.social_media_id = attributes[:'socialMediaId']
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
if attributes[:'socialMediaHub']
|
|
273
|
+
self.social_media_hub = attributes[:'socialMediaHub']
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
if attributes[:'socialUserName']
|
|
277
|
+
self.social_user_name = attributes[:'socialUserName']
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
if attributes[:'previewText']
|
|
281
|
+
self.preview_text = attributes[:'previewText']
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
287
|
+
def state=(state)
|
|
288
|
+
allowed_values = ["ALERTING", "DIALING", "CONTACTING", "OFFERING", "CONNECTED", "DISCONNECTED", "TERMINATED", "CONVERTING", "UPLOADING", "TRANSMITTING", "NONE"]
|
|
289
|
+
if state && !allowed_values.include?(state)
|
|
290
|
+
fail "invalid value for 'state', must be one of #{allowed_values}"
|
|
291
|
+
end
|
|
292
|
+
@state = state
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
296
|
+
def direction=(direction)
|
|
297
|
+
allowed_values = ["INBOUND", "OUTBOUND"]
|
|
298
|
+
if direction && !allowed_values.include?(direction)
|
|
299
|
+
fail "invalid value for 'direction', must be one of #{allowed_values}"
|
|
300
|
+
end
|
|
301
|
+
@direction = direction
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
305
|
+
def disconnect_type=(disconnect_type)
|
|
306
|
+
allowed_values = ["ENDPOINT", "CLIENT", "SYSTEM", "TRANSFER", "TRANSFER_CONFERENCE", "TRANSFER_CONSULT", "ERROR", "PEER", "OTHER"]
|
|
307
|
+
if disconnect_type && !allowed_values.include?(disconnect_type)
|
|
308
|
+
fail "invalid value for 'disconnect_type', must be one of #{allowed_values}"
|
|
309
|
+
end
|
|
310
|
+
@disconnect_type = disconnect_type
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
# Check equality by comparing each attribute.
|
|
314
|
+
def ==(o)
|
|
315
|
+
return true if self.equal?(o)
|
|
316
|
+
self.class == o.class &&
|
|
317
|
+
id == o.id &&
|
|
318
|
+
name == o.name &&
|
|
319
|
+
address == o.address &&
|
|
320
|
+
start_time == o.start_time &&
|
|
321
|
+
connected_time == o.connected_time &&
|
|
322
|
+
end_time == o.end_time &&
|
|
323
|
+
start_hold_time == o.start_hold_time &&
|
|
324
|
+
purpose == o.purpose &&
|
|
325
|
+
state == o.state &&
|
|
326
|
+
direction == o.direction &&
|
|
327
|
+
disconnect_type == o.disconnect_type &&
|
|
328
|
+
held == o.held &&
|
|
329
|
+
wrapup_required == o.wrapup_required &&
|
|
330
|
+
wrapup_prompt == o.wrapup_prompt &&
|
|
331
|
+
user == o.user &&
|
|
332
|
+
queue == o.queue &&
|
|
333
|
+
attributes == o.attributes &&
|
|
334
|
+
error_info == o.error_info &&
|
|
335
|
+
script == o.script &&
|
|
336
|
+
wrapup_timeout_ms == o.wrapup_timeout_ms &&
|
|
337
|
+
wrapup_skipped == o.wrapup_skipped &&
|
|
338
|
+
social_media_id == o.social_media_id &&
|
|
339
|
+
social_media_hub == o.social_media_hub &&
|
|
340
|
+
social_user_name == o.social_user_name &&
|
|
341
|
+
preview_text == o.preview_text
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
# @see the `==` method
|
|
345
|
+
def eql?(o)
|
|
346
|
+
self == o
|
|
347
|
+
end
|
|
348
|
+
|
|
349
|
+
# Calculate hash code according to all attributes.
|
|
350
|
+
def hash
|
|
351
|
+
[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, social_media_id, social_media_hub, social_user_name, preview_text].hash
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
# build the object from hash
|
|
355
|
+
def build_from_hash(attributes)
|
|
356
|
+
return nil unless attributes.is_a?(Hash)
|
|
357
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
358
|
+
if type =~ /^Array<(.*)>/i
|
|
359
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
360
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
|
361
|
+
else
|
|
362
|
+
#TODO show warning in debug mode
|
|
363
|
+
end
|
|
364
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
365
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
366
|
+
else
|
|
367
|
+
# data not found in attributes(hash), not an issue as the data can be optional
|
|
368
|
+
end
|
|
369
|
+
end
|
|
370
|
+
|
|
371
|
+
self
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
def _deserialize(type, value)
|
|
375
|
+
case type.to_sym
|
|
376
|
+
when :DateTime
|
|
377
|
+
DateTime.parse(value)
|
|
378
|
+
when :Date
|
|
379
|
+
Date.parse(value)
|
|
380
|
+
when :String
|
|
381
|
+
value.to_s
|
|
382
|
+
when :Integer
|
|
383
|
+
value.to_i
|
|
384
|
+
when :Float
|
|
385
|
+
value.to_f
|
|
386
|
+
when :BOOLEAN
|
|
387
|
+
if value =~ /^(true|t|yes|y|1)$/i
|
|
388
|
+
true
|
|
389
|
+
else
|
|
390
|
+
false
|
|
391
|
+
end
|
|
392
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
393
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
394
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
395
|
+
when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
|
|
396
|
+
k_type = Regexp.last_match[:k_type]
|
|
397
|
+
v_type = Regexp.last_match[:v_type]
|
|
398
|
+
{}.tap do |hash|
|
|
399
|
+
value.each do |k, v|
|
|
400
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
401
|
+
end
|
|
402
|
+
end
|
|
403
|
+
else # model
|
|
404
|
+
_model = Object.const_get("PureCloud").const_get(type).new
|
|
405
|
+
_model.build_from_hash(value)
|
|
406
|
+
end
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
def to_s
|
|
410
|
+
to_hash.to_s
|
|
411
|
+
end
|
|
412
|
+
|
|
413
|
+
# to_body is an alias to to_body (backward compatibility))
|
|
414
|
+
def to_body
|
|
415
|
+
to_hash
|
|
416
|
+
end
|
|
417
|
+
|
|
418
|
+
# return the object in the form of hash
|
|
419
|
+
def to_hash
|
|
420
|
+
hash = {}
|
|
421
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
422
|
+
value = self.send(attr)
|
|
423
|
+
next if value.nil?
|
|
424
|
+
hash[param] = _to_hash(value)
|
|
425
|
+
end
|
|
426
|
+
hash
|
|
427
|
+
end
|
|
428
|
+
|
|
429
|
+
# Method to output non-array value in the form of hash
|
|
430
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
431
|
+
def _to_hash(value)
|
|
432
|
+
if value.is_a?(Array)
|
|
433
|
+
value.compact.map{ |v| _to_hash(v) }
|
|
434
|
+
elsif value.is_a?(Hash)
|
|
435
|
+
{}.tap do |hash|
|
|
436
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
437
|
+
end
|
|
438
|
+
elsif value.respond_to? :to_hash
|
|
439
|
+
value.to_hash
|
|
440
|
+
else
|
|
441
|
+
value
|
|
442
|
+
end
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
end
|
|
446
|
+
end
|