purecloudplatformclientv2 85.0.1 → 86.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 (244) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AnalyticsEvaluation.md +1 -1
  4. data/docs/Call.md +1 -0
  5. data/docs/CallBasic.md +1 -0
  6. data/docs/Callback.md +1 -0
  7. data/docs/CallbackBasic.md +1 -0
  8. data/docs/Cobrowsesession.md +1 -0
  9. data/docs/{PartialUploadResponse.md → ContextEntity.md} +3 -3
  10. data/docs/ContextIntent.md +13 -0
  11. data/docs/ConversationCallbackEventTopicCallbackMediaParticipant.md +1 -0
  12. data/docs/ConversationChat.md +1 -0
  13. data/docs/ConversationEventTopicCallback.md +1 -0
  14. data/docs/Coretype.md +23 -0
  15. data/docs/CoretypeListing.md +15 -0
  16. data/docs/DataExtensionsApi.md +198 -0
  17. data/docs/DataSchemaListing.md +15 -0
  18. data/docs/DetectedDialogAct.md +14 -0
  19. data/docs/DetectedIntent.md +15 -0
  20. data/docs/DetectedNamedEntity.md +16 -0
  21. data/docs/DetectedNamedEntityValue.md +14 -0
  22. data/docs/DialogflowAgent.md +3 -2
  23. data/docs/Edge.md +1 -1
  24. data/docs/Email.md +1 -0
  25. data/docs/EntityListing.md +1 -5
  26. data/docs/ExternalContactsApi.md +1001 -144
  27. data/docs/FlowDivisionView.md +2 -0
  28. data/docs/IntentDefinition.md +15 -0
  29. data/docs/IntentFeedback.md +16 -0
  30. data/docs/ItemValidationLimits.md +14 -0
  31. data/docs/Items.md +14 -0
  32. data/docs/LanguageUnderstandingApi.md +1160 -0
  33. data/docs/MaxLength.md +14 -0
  34. data/docs/Message.md +1 -0
  35. data/docs/MinLength.md +14 -0
  36. data/docs/NamedEntityAnnotation.md +13 -0
  37. data/docs/NamedEntityTypeBinding.md +14 -0
  38. data/docs/NamedEntityTypeDefinition.md +15 -0
  39. data/docs/NamedEntityTypeItem.md +14 -0
  40. data/docs/NamedEntityTypeMechanism.md +15 -0
  41. data/docs/NluConfusionMatrixColumn.md +14 -0
  42. data/docs/NluConfusionMatrixRow.md +14 -0
  43. data/docs/NluDetectionContext.md +14 -0
  44. data/docs/NluDetectionInput.md +13 -0
  45. data/docs/NluDetectionOutput.md +14 -0
  46. data/docs/NluDetectionRequest.md +14 -0
  47. data/docs/NluDetectionResponse.md +15 -0
  48. data/docs/NluDomain.md +19 -0
  49. data/docs/NluDomainListing.md +22 -0
  50. data/docs/NluDomainVersion.md +24 -0
  51. data/docs/NluDomainVersionListing.md +22 -0
  52. data/docs/NluDomainVersionQualityReport.md +15 -0
  53. data/docs/NluDomainVersionTrainingResponse.md +14 -0
  54. data/docs/NluFeedbackListing.md +22 -0
  55. data/docs/NluFeedbackRequest.md +15 -0
  56. data/docs/NluFeedbackResponse.md +18 -0
  57. data/docs/NluQualityReportSummary.md +13 -0
  58. data/docs/NluQualityReportSummaryMetric.md +14 -0
  59. data/docs/NluUtterance.md +13 -0
  60. data/docs/NluUtteranceSegment.md +14 -0
  61. data/docs/QueueConversationCallbackEventTopicCallbackMediaParticipant.md +1 -0
  62. data/docs/QueueConversationEventTopicCallback.md +1 -0
  63. data/docs/QueueConversationSocialExpressionEventTopicCallback.md +1 -0
  64. data/docs/QueueConversationVideoEventTopicCallback.md +1 -0
  65. data/docs/ReportingExportJobRequest.md +1 -0
  66. data/docs/ReportingExportJobResponse.md +2 -0
  67. data/docs/RoutingApi.md +65 -0
  68. data/docs/SCIMApi.md +12 -12
  69. data/docs/Schema.md +17 -0
  70. data/docs/SchemaQuantityLimits.md +26 -0
  71. data/docs/ScimV2EnterpriseUser.md +1 -0
  72. data/docs/Screenshare.md +1 -0
  73. data/docs/SocialExpression.md +1 -0
  74. data/docs/{TimeOffRequestLookup.md → TimeOffRequest.md} +2 -2
  75. data/docs/TimeOffRequestListing.md +13 -0
  76. data/docs/UploadUrlRequest.md +15 -0
  77. data/docs/UploadUrlResponse.md +14 -0
  78. data/docs/UploadsApi.md +78 -0
  79. data/docs/ValidationLimits.md +18 -0
  80. data/docs/Video.md +1 -0
  81. data/docs/WorkforceManagementApi.md +297 -448
  82. data/lib/purecloudplatformclientv2.rb +50 -57
  83. data/lib/purecloudplatformclientv2/api/data_extensions_api.rb +207 -0
  84. data/lib/purecloudplatformclientv2/api/external_contacts_api.rb +868 -4
  85. data/lib/purecloudplatformclientv2/api/language_understanding_api.rb +1304 -0
  86. data/lib/purecloudplatformclientv2/api/routing_api.rb +64 -0
  87. data/lib/purecloudplatformclientv2/api/scim_api.rb +8 -8
  88. data/lib/purecloudplatformclientv2/api/uploads_api.rb +92 -0
  89. data/lib/purecloudplatformclientv2/api/workforce_management_api.rb +314 -571
  90. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  91. data/lib/purecloudplatformclientv2/models/analytics_evaluation.rb +13 -13
  92. data/lib/purecloudplatformclientv2/models/bulk_update_shift_trade_state_result_item.rb +2 -2
  93. data/lib/purecloudplatformclientv2/models/call.rb +30 -4
  94. data/lib/purecloudplatformclientv2/models/call_basic.rb +30 -4
  95. data/lib/purecloudplatformclientv2/models/callback.rb +30 -4
  96. data/lib/purecloudplatformclientv2/models/callback_basic.rb +30 -4
  97. data/lib/purecloudplatformclientv2/models/cobrowsesession.rb +30 -4
  98. data/lib/purecloudplatformclientv2/models/{partial_upload_response.rb → context_entity.rb} +14 -9
  99. data/lib/purecloudplatformclientv2/models/{list_wrapper_wfm_forecast_modification.rb → context_intent.rb} +14 -10
  100. data/lib/purecloudplatformclientv2/models/conversation_callback_event_topic_callback_media_participant.rb +26 -1
  101. data/lib/purecloudplatformclientv2/models/conversation_chat.rb +30 -4
  102. data/lib/purecloudplatformclientv2/models/conversation_event_topic_callback.rb +26 -1
  103. data/lib/purecloudplatformclientv2/models/{rescheduling_options_response.rb → coretype.rb} +97 -102
  104. data/lib/purecloudplatformclientv2/models/{service_goal_group_list.rb → coretype_listing.rb} +34 -11
  105. data/lib/purecloudplatformclientv2/models/data_schema_listing.rb +253 -0
  106. data/lib/purecloudplatformclientv2/models/{forecast_result_response.rb → detected_dialog_act.rb} +16 -16
  107. data/lib/purecloudplatformclientv2/models/{intraday_queue.rb → detected_intent.rb} +23 -23
  108. data/lib/purecloudplatformclientv2/models/detected_named_entity.rb +280 -0
  109. data/lib/purecloudplatformclientv2/models/detected_named_entity_value.rb +228 -0
  110. data/lib/purecloudplatformclientv2/models/dialogflow_agent.rb +31 -3
  111. data/lib/purecloudplatformclientv2/models/edge.rb +1 -0
  112. data/lib/purecloudplatformclientv2/models/email.rb +30 -4
  113. data/lib/purecloudplatformclientv2/models/entity_listing.rb +4 -104
  114. data/lib/purecloudplatformclientv2/models/flow_division_view.rb +53 -1
  115. data/lib/purecloudplatformclientv2/models/{create_service_goal_group_request.rb → intent_definition.rb} +30 -19
  116. data/lib/purecloudplatformclientv2/models/{wfm_intraday_queue_listing.rb → intent_feedback.rb} +71 -18
  117. data/lib/purecloudplatformclientv2/models/{service_goal_group_goals.rb → item_validation_limits.rb} +18 -45
  118. data/lib/purecloudplatformclientv2/models/{short_term_forecast_list_response.rb → items.rb} +33 -10
  119. data/lib/purecloudplatformclientv2/models/max_length.rb +238 -0
  120. data/lib/purecloudplatformclientv2/models/message.rb +30 -4
  121. data/lib/purecloudplatformclientv2/models/{forecast_generation_route_group_result.rb → min_length.rb} +26 -18
  122. data/lib/purecloudplatformclientv2/models/{list_wrapper_forecast_source_day_pointer.rb → named_entity_annotation.rb} +14 -10
  123. data/lib/purecloudplatformclientv2/models/{copy_short_term_forecast_request.rb → named_entity_type_binding.rb} +18 -19
  124. data/lib/purecloudplatformclientv2/models/{generate_week_schedule_request.rb → named_entity_type_definition.rb} +38 -13
  125. data/lib/purecloudplatformclientv2/models/{wfm_abandon_rate.rb → named_entity_type_item.rb} +19 -18
  126. data/lib/purecloudplatformclientv2/models/{short_term_forecast_response.rb → named_entity_type_mechanism.rb} +48 -36
  127. data/lib/purecloudplatformclientv2/models/{copy_week_schedule_request.rb → nlu_confusion_matrix_column.rb} +18 -18
  128. data/lib/purecloudplatformclientv2/models/{wfm_average_speed_of_answer.rb → nlu_confusion_matrix_row.rb} +24 -18
  129. data/lib/purecloudplatformclientv2/models/nlu_detection_context.rb +228 -0
  130. data/lib/purecloudplatformclientv2/models/{scheduling_run_list_response.rb → nlu_detection_input.rb} +14 -10
  131. data/lib/purecloudplatformclientv2/models/nlu_detection_output.rb +232 -0
  132. data/lib/purecloudplatformclientv2/models/nlu_detection_request.rb +233 -0
  133. data/lib/purecloudplatformclientv2/models/{route_group_list.rb → nlu_detection_response.rb} +39 -22
  134. data/lib/purecloudplatformclientv2/models/{short_term_forecast_list_item_response.rb → nlu_domain.rb} +66 -60
  135. data/lib/purecloudplatformclientv2/models/{intraday_query_data_command.rb → nlu_domain_listing.rb} +156 -53
  136. data/lib/purecloudplatformclientv2/models/{short_term_forecast.rb → nlu_domain_version.rb} +132 -87
  137. data/lib/purecloudplatformclientv2/models/nlu_domain_version_listing.rb +428 -0
  138. data/lib/purecloudplatformclientv2/models/{intraday_metric.rb → nlu_domain_version_quality_report.rb} +57 -28
  139. data/lib/purecloudplatformclientv2/models/{user_schedules_partial_upload_request.rb → nlu_domain_version_training_response.rb} +33 -16
  140. data/lib/purecloudplatformclientv2/models/{import_week_schedule_request.rb → nlu_feedback_listing.rb} +158 -46
  141. data/lib/purecloudplatformclientv2/models/{wfm_service_level.rb → nlu_feedback_request.rb} +36 -25
  142. data/lib/purecloudplatformclientv2/models/{service_goal_group.rb → nlu_feedback_response.rb} +32 -37
  143. data/lib/purecloudplatformclientv2/models/{generate_short_term_forecast_request.rb → nlu_quality_report_summary.rb} +12 -10
  144. data/lib/purecloudplatformclientv2/models/nlu_quality_report_summary_metric.rb +238 -0
  145. data/lib/purecloudplatformclientv2/models/nlu_utterance.rb +209 -0
  146. data/lib/purecloudplatformclientv2/models/nlu_utterance_segment.rb +233 -0
  147. data/lib/purecloudplatformclientv2/models/queue_conversation_callback_event_topic_callback_media_participant.rb +26 -1
  148. data/lib/purecloudplatformclientv2/models/queue_conversation_event_topic_callback.rb +26 -1
  149. data/lib/purecloudplatformclientv2/models/queue_conversation_social_expression_event_topic_callback.rb +26 -1
  150. data/lib/purecloudplatformclientv2/models/queue_conversation_video_event_topic_callback.rb +26 -1
  151. data/lib/purecloudplatformclientv2/models/reporting_export_job_request.rb +32 -4
  152. data/lib/purecloudplatformclientv2/models/reporting_export_job_response.rb +57 -1
  153. data/lib/purecloudplatformclientv2/models/{import_short_term_forecast_request.rb → schema.rb} +50 -35
  154. data/lib/purecloudplatformclientv2/models/schema_quantity_limits.rb +539 -0
  155. data/lib/purecloudplatformclientv2/models/scim_v2_enterprise_user.rb +30 -4
  156. data/lib/purecloudplatformclientv2/models/screenshare.rb +30 -4
  157. data/lib/purecloudplatformclientv2/models/shift_trade_match_violation.rb +2 -2
  158. data/lib/purecloudplatformclientv2/models/social_expression.rb +30 -4
  159. data/lib/purecloudplatformclientv2/models/{time_off_request_lookup.rb → time_off_request.rb} +1 -1
  160. data/lib/purecloudplatformclientv2/models/{time_off_request_lookup_list.rb → time_off_request_listing.rb} +2 -2
  161. data/lib/purecloudplatformclientv2/models/{create_queue_media_association_request.rb → upload_url_request.rb} +23 -26
  162. data/lib/purecloudplatformclientv2/models/upload_url_response.rb +230 -0
  163. data/lib/purecloudplatformclientv2/models/{wfm_forecast_modification_attributes.rb → validation_limits.rb} +76 -38
  164. data/lib/purecloudplatformclientv2/models/video.rb +30 -4
  165. data/lib/purecloudplatformclientv2/version.rb +1 -1
  166. metadata +102 -116
  167. data/docs/AsyncWeekScheduleResponse.md +0 -16
  168. data/docs/CopyShortTermForecastRequest.md +0 -14
  169. data/docs/CopyWeekScheduleRequest.md +0 -14
  170. data/docs/CreateQueueMediaAssociationRequest.md +0 -15
  171. data/docs/CreateServiceGoalGroupRequest.md +0 -15
  172. data/docs/ForecastGenerationResult.md +0 -13
  173. data/docs/ForecastGenerationRouteGroupResult.md +0 -14
  174. data/docs/ForecastResultResponse.md +0 -14
  175. data/docs/ForecastTimeSeriesResult.md +0 -14
  176. data/docs/GenerateShortTermForecastRequest.md +0 -13
  177. data/docs/GenerateShortTermForecastResponse.md +0 -16
  178. data/docs/GenerateWeekScheduleRequest.md +0 -14
  179. data/docs/GenerateWeekScheduleResponse.md +0 -15
  180. data/docs/ImportShortTermForecastRequest.md +0 -16
  181. data/docs/ImportWeekScheduleRequest.md +0 -17
  182. data/docs/IntradayDataGroup.md +0 -19
  183. data/docs/IntradayForecastData.md +0 -15
  184. data/docs/IntradayHistoricalAgentData.md +0 -14
  185. data/docs/IntradayHistoricalQueueData.md +0 -20
  186. data/docs/IntradayMetric.md +0 -14
  187. data/docs/IntradayPerformancePredictionAgentData.md +0 -13
  188. data/docs/IntradayPerformancePredictionQueueData.md +0 -15
  189. data/docs/IntradayQueryDataCommand.md +0 -17
  190. data/docs/IntradayQueue.md +0 -15
  191. data/docs/IntradayResponse.md +0 -20
  192. data/docs/IntradayScheduleData.md +0 -14
  193. data/docs/ListWrapperForecastSourceDayPointer.md +0 -13
  194. data/docs/ListWrapperWfmForecastModification.md +0 -13
  195. data/docs/QueueMediaAssociation.md +0 -16
  196. data/docs/RescheduleRequest.md +0 -20
  197. data/docs/RescheduleResult.md +0 -13
  198. data/docs/ReschedulingOptionsResponse.md +0 -22
  199. data/docs/RouteGroup.md +0 -18
  200. data/docs/RouteGroupAttributes.md +0 -16
  201. data/docs/RouteGroupList.md +0 -14
  202. data/docs/SchedulingRunListResponse.md +0 -13
  203. data/docs/SchedulingRunResponse.md +0 -28
  204. data/docs/ServiceGoalGroup.md +0 -18
  205. data/docs/ServiceGoalGroupGoals.md +0 -15
  206. data/docs/ServiceGoalGroupList.md +0 -14
  207. data/docs/ShortTermForecast.md +0 -22
  208. data/docs/ShortTermForecastListItemResponse.md +0 -18
  209. data/docs/ShortTermForecastListResponse.md +0 -13
  210. data/docs/ShortTermForecastResponse.md +0 -15
  211. data/docs/TimeOffRequestEntityList.md +0 -13
  212. data/docs/TimeOffRequestLookupList.md +0 -13
  213. data/docs/UnscheduledAgentWarning.md +0 -14
  214. data/docs/UpdateWeekScheduleRequest.md +0 -21
  215. data/docs/UserSchedulesPartialUploadRequest.md +0 -13
  216. data/docs/WfmAbandonRate.md +0 -14
  217. data/docs/WfmAverageSpeedOfAnswer.md +0 -14
  218. data/docs/WfmForecastModification.md +0 -20
  219. data/docs/WfmForecastModificationAttributes.md +0 -16
  220. data/docs/WfmIntradayQueueListing.md +0 -14
  221. data/docs/WfmServiceLevel.md +0 -15
  222. data/lib/purecloudplatformclientv2/models/async_week_schedule_response.rb +0 -295
  223. data/lib/purecloudplatformclientv2/models/forecast_generation_result.rb +0 -204
  224. data/lib/purecloudplatformclientv2/models/forecast_time_series_result.rb +0 -256
  225. data/lib/purecloudplatformclientv2/models/generate_short_term_forecast_response.rb +0 -294
  226. data/lib/purecloudplatformclientv2/models/generate_week_schedule_response.rb +0 -269
  227. data/lib/purecloudplatformclientv2/models/intraday_data_group.rb +0 -384
  228. data/lib/purecloudplatformclientv2/models/intraday_forecast_data.rb +0 -254
  229. data/lib/purecloudplatformclientv2/models/intraday_historical_agent_data.rb +0 -228
  230. data/lib/purecloudplatformclientv2/models/intraday_historical_queue_data.rb +0 -384
  231. data/lib/purecloudplatformclientv2/models/intraday_performance_prediction_agent_data.rb +0 -202
  232. data/lib/purecloudplatformclientv2/models/intraday_performance_prediction_queue_data.rb +0 -254
  233. data/lib/purecloudplatformclientv2/models/intraday_response.rb +0 -404
  234. data/lib/purecloudplatformclientv2/models/intraday_schedule_data.rb +0 -228
  235. data/lib/purecloudplatformclientv2/models/queue_media_association.rb +0 -283
  236. data/lib/purecloudplatformclientv2/models/reschedule_request.rb +0 -418
  237. data/lib/purecloudplatformclientv2/models/reschedule_result.rb +0 -202
  238. data/lib/purecloudplatformclientv2/models/route_group.rb +0 -363
  239. data/lib/purecloudplatformclientv2/models/route_group_attributes.rb +0 -307
  240. data/lib/purecloudplatformclientv2/models/scheduling_run_response.rb +0 -609
  241. data/lib/purecloudplatformclientv2/models/time_off_request_entity_list.rb +0 -203
  242. data/lib/purecloudplatformclientv2/models/unscheduled_agent_warning.rb +0 -242
  243. data/lib/purecloudplatformclientv2/models/update_week_schedule_request.rb +0 -438
  244. data/lib/purecloudplatformclientv2/models/wfm_forecast_modification.rb +0 -435
@@ -0,0 +1,232 @@
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 NluDetectionOutput
21
+ # The detected intents.
22
+ attr_accessor :intents
23
+
24
+ # The detected dialog acts.
25
+ attr_accessor :dialog_acts
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+
31
+ :'intents' => :'intents',
32
+
33
+ :'dialog_acts' => :'dialogActs'
34
+
35
+ }
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.swagger_types
40
+ {
41
+
42
+ :'intents' => :'Array<DetectedIntent>',
43
+
44
+ :'dialog_acts' => :'Array<DetectedDialogAct>'
45
+
46
+ }
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ return unless attributes.is_a?(Hash)
53
+
54
+ # convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
56
+
57
+
58
+ if attributes.has_key?(:'intents')
59
+
60
+ if (value = attributes[:'intents']).is_a?(Array)
61
+ self.intents = value
62
+ end
63
+
64
+
65
+
66
+ end
67
+
68
+
69
+ if attributes.has_key?(:'dialogActs')
70
+
71
+ if (value = attributes[:'dialogActs']).is_a?(Array)
72
+ self.dialog_acts = value
73
+ end
74
+
75
+
76
+
77
+ end
78
+
79
+
80
+ end
81
+
82
+ # Show invalid properties with the reasons. Usually used together with valid?
83
+ # @return Array for valid properies with the reasons
84
+ def list_invalid_properties
85
+ invalid_properties = Array.new
86
+
87
+
88
+ return invalid_properties
89
+ end
90
+
91
+ # Check to see if the all the properties in the model are valid
92
+ # @return true if the model is valid
93
+ def valid?
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+ end
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ # Checks equality by comparing each attribute.
117
+ # @param [Object] Object to be compared
118
+ def ==(o)
119
+ return true if self.equal?(o)
120
+ self.class == o.class &&
121
+ intents == o.intents &&
122
+ dialog_acts == o.dialog_acts
123
+ end
124
+
125
+ # @see the `==` method
126
+ # @param [Object] Object to be compared
127
+ def eql?(o)
128
+ self == o
129
+ end
130
+
131
+ # Calculates hash code according to all attributes.
132
+ # @return [Fixnum] Hash code
133
+ def hash
134
+ [intents, dialog_acts].hash
135
+ end
136
+
137
+ # build the object from hash
138
+ def build_from_hash(attributes)
139
+ return nil unless attributes.is_a?(Hash)
140
+ self.class.swagger_types.each_pair do |key, type|
141
+ if type =~ /^Array<(.*)>/i
142
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
143
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
144
+ else
145
+ #TODO show warning in debug mode
146
+ end
147
+ elsif !attributes[self.class.attribute_map[key]].nil?
148
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
149
+ else
150
+ # data not found in attributes(hash), not an issue as the data can be optional
151
+ end
152
+ end
153
+
154
+ self
155
+ end
156
+
157
+ def _deserialize(type, value)
158
+ case type.to_sym
159
+ when :DateTime
160
+ DateTime.parse(value)
161
+ when :Date
162
+ Date.parse(value)
163
+ when :String
164
+ value.to_s
165
+ when :Integer
166
+ value.to_i
167
+ when :Float
168
+ value.to_f
169
+ when :BOOLEAN
170
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
171
+ true
172
+ else
173
+ false
174
+ end
175
+ when :Object
176
+ # generic object (usually a Hash), return directly
177
+ value
178
+ when /\AArray<(?<inner_type>.+)>\z/
179
+ inner_type = Regexp.last_match[:inner_type]
180
+ value.map { |v| _deserialize(inner_type, v) }
181
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
182
+ k_type = Regexp.last_match[:k_type]
183
+ v_type = Regexp.last_match[:v_type]
184
+ {}.tap do |hash|
185
+ value.each do |k, v|
186
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
187
+ end
188
+ end
189
+ else # model
190
+ _model = Object.const_get("PureCloud").const_get(type).new
191
+ _model.build_from_hash(value)
192
+ end
193
+ end
194
+
195
+ def to_s
196
+ to_hash.to_s
197
+ end
198
+
199
+ # to_body is an alias to to_body (backward compatibility))
200
+ def to_body
201
+ to_hash
202
+ end
203
+
204
+ # return the object in the form of hash
205
+ def to_hash
206
+ hash = {}
207
+ self.class.attribute_map.each_pair do |attr, param|
208
+ value = self.send(attr)
209
+ next if value.nil?
210
+ hash[param] = _to_hash(value)
211
+ end
212
+ hash
213
+ end
214
+
215
+ # Method to output non-array value in the form of hash
216
+ # For object, use to_hash. Otherwise, just return the value
217
+ def _to_hash(value)
218
+ if value.is_a?(Array)
219
+ value.compact.map{ |v| _to_hash(v) }
220
+ elsif value.is_a?(Hash)
221
+ {}.tap do |hash|
222
+ value.each { |k, v| hash[k] = _to_hash(v) }
223
+ end
224
+ elsif value.respond_to? :to_hash
225
+ value.to_hash
226
+ else
227
+ value
228
+ end
229
+ end
230
+
231
+ end
232
+ end
@@ -0,0 +1,233 @@
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 NluDetectionRequest
21
+ # The input subject to NLU detection.
22
+ attr_accessor :input
23
+
24
+ # The context for the input to NLU detection.
25
+ attr_accessor :context
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+
31
+ :'input' => :'input',
32
+
33
+ :'context' => :'context'
34
+
35
+ }
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.swagger_types
40
+ {
41
+
42
+ :'input' => :'NluDetectionInput',
43
+
44
+ :'context' => :'NluDetectionContext'
45
+
46
+ }
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ return unless attributes.is_a?(Hash)
53
+
54
+ # convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
56
+
57
+
58
+ if attributes.has_key?(:'input')
59
+
60
+
61
+ self.input = attributes[:'input']
62
+
63
+
64
+ end
65
+
66
+
67
+ if attributes.has_key?(:'context')
68
+
69
+
70
+ self.context = attributes[:'context']
71
+
72
+
73
+ end
74
+
75
+
76
+ end
77
+
78
+ # Show invalid properties with the reasons. Usually used together with valid?
79
+ # @return Array for valid properies with the reasons
80
+ def list_invalid_properties
81
+ invalid_properties = Array.new
82
+
83
+
84
+ return invalid_properties
85
+ end
86
+
87
+ # Check to see if the all the properties in the model are valid
88
+ # @return true if the model is valid
89
+ def valid?
90
+
91
+
92
+ if @input.nil?
93
+ return false
94
+ end
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+ end
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param [Object] Object to be compared
119
+ def ==(o)
120
+ return true if self.equal?(o)
121
+ self.class == o.class &&
122
+ input == o.input &&
123
+ context == o.context
124
+ end
125
+
126
+ # @see the `==` method
127
+ # @param [Object] Object to be compared
128
+ def eql?(o)
129
+ self == o
130
+ end
131
+
132
+ # Calculates hash code according to all attributes.
133
+ # @return [Fixnum] Hash code
134
+ def hash
135
+ [input, context].hash
136
+ end
137
+
138
+ # build the object from hash
139
+ def build_from_hash(attributes)
140
+ return nil unless attributes.is_a?(Hash)
141
+ self.class.swagger_types.each_pair do |key, type|
142
+ if type =~ /^Array<(.*)>/i
143
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
144
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
145
+ else
146
+ #TODO show warning in debug mode
147
+ end
148
+ elsif !attributes[self.class.attribute_map[key]].nil?
149
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
150
+ else
151
+ # data not found in attributes(hash), not an issue as the data can be optional
152
+ end
153
+ end
154
+
155
+ self
156
+ end
157
+
158
+ def _deserialize(type, value)
159
+ case type.to_sym
160
+ when :DateTime
161
+ DateTime.parse(value)
162
+ when :Date
163
+ Date.parse(value)
164
+ when :String
165
+ value.to_s
166
+ when :Integer
167
+ value.to_i
168
+ when :Float
169
+ value.to_f
170
+ when :BOOLEAN
171
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
172
+ true
173
+ else
174
+ false
175
+ end
176
+ when :Object
177
+ # generic object (usually a Hash), return directly
178
+ value
179
+ when /\AArray<(?<inner_type>.+)>\z/
180
+ inner_type = Regexp.last_match[:inner_type]
181
+ value.map { |v| _deserialize(inner_type, v) }
182
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
183
+ k_type = Regexp.last_match[:k_type]
184
+ v_type = Regexp.last_match[:v_type]
185
+ {}.tap do |hash|
186
+ value.each do |k, v|
187
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
188
+ end
189
+ end
190
+ else # model
191
+ _model = Object.const_get("PureCloud").const_get(type).new
192
+ _model.build_from_hash(value)
193
+ end
194
+ end
195
+
196
+ def to_s
197
+ to_hash.to_s
198
+ end
199
+
200
+ # to_body is an alias to to_body (backward compatibility))
201
+ def to_body
202
+ to_hash
203
+ end
204
+
205
+ # return the object in the form of hash
206
+ def to_hash
207
+ hash = {}
208
+ self.class.attribute_map.each_pair do |attr, param|
209
+ value = self.send(attr)
210
+ next if value.nil?
211
+ hash[param] = _to_hash(value)
212
+ end
213
+ hash
214
+ end
215
+
216
+ # Method to output non-array value in the form of hash
217
+ # For object, use to_hash. Otherwise, just return the value
218
+ def _to_hash(value)
219
+ if value.is_a?(Array)
220
+ value.compact.map{ |v| _to_hash(v) }
221
+ elsif value.is_a?(Hash)
222
+ {}.tap do |hash|
223
+ value.each { |k, v| hash[k] = _to_hash(v) }
224
+ end
225
+ elsif value.respond_to? :to_hash
226
+ value.to_hash
227
+ else
228
+ value
229
+ end
230
+ end
231
+
232
+ end
233
+ end