purecloudplatformclientv2 14.1.0 → 15.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 (283) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AgentActivityEntityListing.md +1 -1
  4. data/docs/ArchitectApi.md +14 -14
  5. data/docs/AttemptLimitsEntityListing.md +1 -1
  6. data/docs/AttributeEntityListing.md +1 -1
  7. data/docs/CalibrationEntityListing.md +1 -1
  8. data/docs/CallConversationEntityListing.md +1 -1
  9. data/docs/CallableTimeSetEntityListing.md +1 -1
  10. data/docs/CallbackConversationEntityListing.md +1 -1
  11. data/docs/CampaignEntityListing.md +1 -1
  12. data/docs/CampaignRuleEntityListing.md +1 -1
  13. data/docs/CampaignSequenceEntityListing.md +1 -1
  14. data/docs/CertificateAuthorityEntityListing.md +1 -1
  15. data/docs/CertificateDetails.md +1 -1
  16. data/docs/ChatConversationEntityListing.md +1 -1
  17. data/docs/CobrowseConversationEntityListing.md +1 -1
  18. data/docs/CommandStatusEntityListing.md +1 -1
  19. data/docs/ConsumedResourcesEntityListing.md +1 -1
  20. data/docs/ConsumingResourcesEntityListing.md +1 -1
  21. data/docs/ContactListEntityListing.md +1 -1
  22. data/docs/ContactListFilterEntityListing.md +1 -1
  23. data/docs/ContactListing.md +1 -1
  24. data/docs/ConversationEntityListing.md +1 -1
  25. data/docs/ConversationsApi.md +63 -0
  26. data/docs/CreateEmailRequest.md +2 -1
  27. data/docs/CreateQueueRequest.md +1 -1
  28. data/docs/DIDEntityListing.md +1 -1
  29. data/docs/DIDPoolEntityListing.md +1 -1
  30. data/docs/DependencyObjectEntityListing.md +1 -1
  31. data/docs/DependencyTypeEntityListing.md +1 -1
  32. data/docs/DialerEventEntityListing.md +1 -1
  33. data/docs/DncListEntityListing.md +1 -1
  34. data/docs/DocumentAuditEntityListing.md +1 -1
  35. data/docs/DocumentEntityListing.md +1 -1
  36. data/docs/DomainEdgeSoftwareVersionDtoEntityListing.md +1 -1
  37. data/docs/DomainEntityListing.md +1 -1
  38. data/docs/DomainEntityListingEvaluationForm.md +1 -1
  39. data/docs/DomainEntityListingQueryResult.md +1 -1
  40. data/docs/EdgeEntityListing.md +1 -1
  41. data/docs/EdgeGroupEntityListing.md +1 -1
  42. data/docs/EdgeLineEntityListing.md +1 -1
  43. data/docs/EmailConversationEntityListing.md +1 -1
  44. data/docs/EmailMessageListing.md +1 -1
  45. data/docs/EncryptionKeyEntityListing.md +1 -1
  46. data/docs/EndpointEntityListing.md +1 -1
  47. data/docs/EvaluationEntityListing.md +1 -1
  48. data/docs/EvaluationFormEntityListing.md +1 -1
  49. data/docs/EvaluatorActivityEntityListing.md +1 -1
  50. data/docs/ExtensionEntityListing.md +1 -1
  51. data/docs/ExtensionPoolEntityListing.md +1 -1
  52. data/docs/ExternalOrganizationListing.md +1 -1
  53. data/docs/FaxDocumentEntityListing.md +1 -1
  54. data/docs/FlowEntityListing.md +1 -1
  55. data/docs/FlowVersionEntityListing.md +1 -1
  56. data/docs/GreetingListing.md +1 -1
  57. data/docs/GroupEntityListing.md +1 -1
  58. data/docs/GroupsApi.md +2 -0
  59. data/docs/IVREntityListing.md +1 -1
  60. data/docs/InboundDomainEntityListing.md +1 -1
  61. data/docs/InboundMessageRequest.md +24 -0
  62. data/docs/InboundRouteEntityListing.md +1 -1
  63. data/docs/InteractionStatsAlertContainer.md +1 -1
  64. data/docs/InteractionStatsRuleContainer.md +1 -1
  65. data/docs/JsonNode.md +1 -1
  66. data/docs/KeywordSetEntityListing.md +1 -1
  67. data/docs/LanguageEntityListing.md +1 -1
  68. data/docs/LibraryEntityListing.md +1 -1
  69. data/docs/LineBaseEntityListing.md +1 -1
  70. data/docs/LineEntityListing.md +1 -1
  71. data/docs/LocationEntityListing.md +1 -1
  72. data/docs/LogicalInterfaceEntityListing.md +1 -1
  73. data/docs/NoteListing.md +1 -1
  74. data/docs/OAuthClientEntityListing.md +1 -1
  75. data/docs/OAuthProviderEntityListing.md +1 -1
  76. data/docs/OrganizationPresenceEntityListing.md +1 -1
  77. data/docs/OrganizationRoleEntityListing.md +1 -1
  78. data/docs/OrphanRecordingListing.md +1 -1
  79. data/docs/OutboundRouteBaseEntityListing.md +1 -1
  80. data/docs/OutboundRouteEntityListing.md +1 -1
  81. data/docs/PermissionCollectionEntityListing.md +1 -1
  82. data/docs/PhoneBaseEntityListing.md +1 -1
  83. data/docs/PhoneEntityListing.md +1 -1
  84. data/docs/PhoneMetaBaseEntityListing.md +1 -1
  85. data/docs/PhysicalInterfaceEntityListing.md +1 -1
  86. data/docs/PolicyEntityListing.md +1 -1
  87. data/docs/PromptAssetEntityListing.md +1 -1
  88. data/docs/PromptEntityListing.md +1 -1
  89. data/docs/QualityAuditPage.md +1 -1
  90. data/docs/Queue.md +1 -1
  91. data/docs/QueueEntityListing.md +1 -1
  92. data/docs/QueueMemberEntityListing.md +1 -1
  93. data/docs/Recording.md +1 -0
  94. data/docs/RelationshipListing.md +1 -1
  95. data/docs/ReportMetaDataEntityListing.md +1 -1
  96. data/docs/ReportRunEntryEntityDomainListing.md +1 -1
  97. data/docs/ReportScheduleEntityListing.md +1 -1
  98. data/docs/ResponseEntityList.md +1 -1
  99. data/docs/ResponseEntityListing.md +1 -1
  100. data/docs/ResponseSetEntityListing.md +1 -1
  101. data/docs/RoutingStatus.md +1 -1
  102. data/docs/RuleSetEntityListing.md +1 -1
  103. data/docs/ScheduleEntityListing.md +1 -1
  104. data/docs/ScheduleGroupEntityListing.md +1 -1
  105. data/docs/SchemaCategoryEntityListing.md +1 -1
  106. data/docs/SchemaReferenceEntityListing.md +1 -1
  107. data/docs/ScreenRecordingSessionListing.md +1 -1
  108. data/docs/ScriptEntityListing.md +1 -1
  109. data/docs/SecurityProfileEntityListing.md +1 -1
  110. data/docs/ShareEntityListing.md +1 -1
  111. data/docs/SiteEntityListing.md +1 -1
  112. data/docs/SkillEntityListing.md +1 -1
  113. data/docs/StationEntityListing.md +1 -1
  114. data/docs/SystemPromptAssetEntityListing.md +1 -1
  115. data/docs/SystemPromptEntityListing.md +1 -1
  116. data/docs/TagValueEntityListing.md +1 -1
  117. data/docs/TimeZoneEntityListing.md +1 -1
  118. data/docs/TrunkBaseEntityListing.md +1 -1
  119. data/docs/TrunkEntityListing.md +1 -1
  120. data/docs/TrunkMetabaseEntityListing.md +1 -1
  121. data/docs/TrustEntityListing.md +1 -1
  122. data/docs/TrustUserEntityListing.md +1 -1
  123. data/docs/TrustorEntityListing.md +1 -1
  124. data/docs/UserEntityListing.md +1 -1
  125. data/docs/UserQueue.md +1 -1
  126. data/docs/UserQueueEntityListing.md +1 -1
  127. data/docs/UserRecordingEntityListing.md +1 -1
  128. data/docs/UserSkillEntityListing.md +1 -1
  129. data/docs/VoicemailApi.md +66 -0
  130. data/docs/VoicemailMessage.md +2 -1
  131. data/docs/VoicemailMessageEntityListing.md +1 -1
  132. data/docs/WfmHistoricalAdherenceQuery.md +17 -0
  133. data/docs/WfmHistoricalAdherenceResponse.md +15 -0
  134. data/docs/WorkforceManagementApi.md +64 -0
  135. data/docs/WorkspaceEntityListing.md +1 -1
  136. data/docs/WorkspaceMemberEntityListing.md +1 -1
  137. data/docs/WrapupCodeEntityListing.md +1 -1
  138. data/lib/purecloudplatformclientv2.rb +3 -0
  139. data/lib/purecloudplatformclientv2/api/architect_api.rb +6 -6
  140. data/lib/purecloudplatformclientv2/api/conversations_api.rb +75 -0
  141. data/lib/purecloudplatformclientv2/api/groups_api.rb +9 -0
  142. data/lib/purecloudplatformclientv2/api/voicemail_api.rb +83 -0
  143. data/lib/purecloudplatformclientv2/api/workforce_management_api.rb +73 -0
  144. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  145. data/lib/purecloudplatformclientv2/models/agent_activity_entity_listing.rb +12 -12
  146. data/lib/purecloudplatformclientv2/models/attempt_limits_entity_listing.rb +12 -12
  147. data/lib/purecloudplatformclientv2/models/attribute_entity_listing.rb +12 -12
  148. data/lib/purecloudplatformclientv2/models/calibration_entity_listing.rb +12 -12
  149. data/lib/purecloudplatformclientv2/models/call_conversation_entity_listing.rb +12 -12
  150. data/lib/purecloudplatformclientv2/models/callable_time_set_entity_listing.rb +12 -12
  151. data/lib/purecloudplatformclientv2/models/callback_conversation_entity_listing.rb +12 -12
  152. data/lib/purecloudplatformclientv2/models/campaign_entity_listing.rb +12 -12
  153. data/lib/purecloudplatformclientv2/models/campaign_rule_entity_listing.rb +12 -12
  154. data/lib/purecloudplatformclientv2/models/campaign_sequence_entity_listing.rb +12 -12
  155. data/lib/purecloudplatformclientv2/models/certificate_authority_entity_listing.rb +12 -12
  156. data/lib/purecloudplatformclientv2/models/certificate_details.rb +13 -13
  157. data/lib/purecloudplatformclientv2/models/chat_conversation_entity_listing.rb +12 -12
  158. data/lib/purecloudplatformclientv2/models/cobrowse_conversation_entity_listing.rb +12 -12
  159. data/lib/purecloudplatformclientv2/models/command_status_entity_listing.rb +12 -12
  160. data/lib/purecloudplatformclientv2/models/condition.rb +2 -2
  161. data/lib/purecloudplatformclientv2/models/consumed_resources_entity_listing.rb +12 -12
  162. data/lib/purecloudplatformclientv2/models/consuming_resources_entity_listing.rb +12 -12
  163. data/lib/purecloudplatformclientv2/models/contact_list_entity_listing.rb +12 -12
  164. data/lib/purecloudplatformclientv2/models/contact_list_filter_entity_listing.rb +12 -12
  165. data/lib/purecloudplatformclientv2/models/contact_listing.rb +12 -12
  166. data/lib/purecloudplatformclientv2/models/conversation_entity_listing.rb +12 -12
  167. data/lib/purecloudplatformclientv2/models/create_email_request.rb +27 -6
  168. data/lib/purecloudplatformclientv2/models/create_queue_request.rb +1 -1
  169. data/lib/purecloudplatformclientv2/models/dependency.rb +2 -2
  170. data/lib/purecloudplatformclientv2/models/dependency_object.rb +2 -2
  171. data/lib/purecloudplatformclientv2/models/dependency_object_entity_listing.rb +12 -12
  172. data/lib/purecloudplatformclientv2/models/dependency_type_entity_listing.rb +12 -12
  173. data/lib/purecloudplatformclientv2/models/dialer_event_entity_listing.rb +12 -12
  174. data/lib/purecloudplatformclientv2/models/did_entity_listing.rb +12 -12
  175. data/lib/purecloudplatformclientv2/models/did_pool_entity_listing.rb +12 -12
  176. data/lib/purecloudplatformclientv2/models/dnc_list_entity_listing.rb +12 -12
  177. data/lib/purecloudplatformclientv2/models/document_audit_entity_listing.rb +12 -12
  178. data/lib/purecloudplatformclientv2/models/document_entity_listing.rb +12 -12
  179. data/lib/purecloudplatformclientv2/models/domain_edge_software_version_dto_entity_listing.rb +12 -12
  180. data/lib/purecloudplatformclientv2/models/domain_entity_listing.rb +12 -12
  181. data/lib/purecloudplatformclientv2/models/domain_entity_listing_evaluation_form.rb +12 -12
  182. data/lib/purecloudplatformclientv2/models/domain_entity_listing_query_result.rb +12 -12
  183. data/lib/purecloudplatformclientv2/models/edge_entity_listing.rb +12 -12
  184. data/lib/purecloudplatformclientv2/models/edge_group_entity_listing.rb +12 -12
  185. data/lib/purecloudplatformclientv2/models/edge_line_entity_listing.rb +12 -12
  186. data/lib/purecloudplatformclientv2/models/email_conversation_entity_listing.rb +12 -12
  187. data/lib/purecloudplatformclientv2/models/email_message_listing.rb +12 -12
  188. data/lib/purecloudplatformclientv2/models/encryption_key_entity_listing.rb +12 -12
  189. data/lib/purecloudplatformclientv2/models/endpoint_entity_listing.rb +12 -12
  190. data/lib/purecloudplatformclientv2/models/evaluation_entity_listing.rb +12 -12
  191. data/lib/purecloudplatformclientv2/models/evaluation_form_entity_listing.rb +12 -12
  192. data/lib/purecloudplatformclientv2/models/evaluator_activity_entity_listing.rb +12 -12
  193. data/lib/purecloudplatformclientv2/models/event_log.rb +2 -2
  194. data/lib/purecloudplatformclientv2/models/event_message.rb +2 -2
  195. data/lib/purecloudplatformclientv2/models/extension_entity_listing.rb +12 -12
  196. data/lib/purecloudplatformclientv2/models/extension_pool_entity_listing.rb +12 -12
  197. data/lib/purecloudplatformclientv2/models/external_organization_listing.rb +12 -12
  198. data/lib/purecloudplatformclientv2/models/fax_document_entity_listing.rb +12 -12
  199. data/lib/purecloudplatformclientv2/models/flow.rb +2 -2
  200. data/lib/purecloudplatformclientv2/models/flow_entity_listing.rb +12 -12
  201. data/lib/purecloudplatformclientv2/models/flow_version_entity_listing.rb +12 -12
  202. data/lib/purecloudplatformclientv2/models/greeting_listing.rb +12 -12
  203. data/lib/purecloudplatformclientv2/models/group_entity_listing.rb +12 -12
  204. data/lib/purecloudplatformclientv2/models/inbound_domain_entity_listing.rb +12 -12
  205. data/lib/purecloudplatformclientv2/models/inbound_message_request.rb +497 -0
  206. data/lib/purecloudplatformclientv2/models/inbound_route_entity_listing.rb +12 -12
  207. data/lib/purecloudplatformclientv2/models/interaction_stats_alert_container.rb +12 -12
  208. data/lib/purecloudplatformclientv2/models/interaction_stats_rule_container.rb +12 -12
  209. data/lib/purecloudplatformclientv2/models/ivr_entity_listing.rb +12 -12
  210. data/lib/purecloudplatformclientv2/models/json_node.rb +17 -17
  211. data/lib/purecloudplatformclientv2/models/keyword_set_entity_listing.rb +12 -12
  212. data/lib/purecloudplatformclientv2/models/language_entity_listing.rb +12 -12
  213. data/lib/purecloudplatformclientv2/models/library_entity_listing.rb +12 -12
  214. data/lib/purecloudplatformclientv2/models/line_base_entity_listing.rb +12 -12
  215. data/lib/purecloudplatformclientv2/models/line_entity_listing.rb +12 -12
  216. data/lib/purecloudplatformclientv2/models/location_entity_listing.rb +12 -12
  217. data/lib/purecloudplatformclientv2/models/logical_interface_entity_listing.rb +12 -12
  218. data/lib/purecloudplatformclientv2/models/note_listing.rb +12 -12
  219. data/lib/purecloudplatformclientv2/models/o_auth_client_entity_listing.rb +12 -12
  220. data/lib/purecloudplatformclientv2/models/o_auth_provider_entity_listing.rb +12 -12
  221. data/lib/purecloudplatformclientv2/models/organization_presence_entity_listing.rb +12 -12
  222. data/lib/purecloudplatformclientv2/models/organization_role_entity_listing.rb +12 -12
  223. data/lib/purecloudplatformclientv2/models/orphan_recording_listing.rb +12 -12
  224. data/lib/purecloudplatformclientv2/models/outbound_route_base_entity_listing.rb +12 -12
  225. data/lib/purecloudplatformclientv2/models/outbound_route_entity_listing.rb +12 -12
  226. data/lib/purecloudplatformclientv2/models/permission_collection_entity_listing.rb +12 -12
  227. data/lib/purecloudplatformclientv2/models/phone_base_entity_listing.rb +12 -12
  228. data/lib/purecloudplatformclientv2/models/phone_entity_listing.rb +12 -12
  229. data/lib/purecloudplatformclientv2/models/phone_meta_base_entity_listing.rb +12 -12
  230. data/lib/purecloudplatformclientv2/models/physical_interface_entity_listing.rb +12 -12
  231. data/lib/purecloudplatformclientv2/models/policy_entity_listing.rb +12 -12
  232. data/lib/purecloudplatformclientv2/models/prompt_asset_entity_listing.rb +12 -12
  233. data/lib/purecloudplatformclientv2/models/prompt_entity_listing.rb +12 -12
  234. data/lib/purecloudplatformclientv2/models/quality_audit_page.rb +12 -12
  235. data/lib/purecloudplatformclientv2/models/queue.rb +1 -1
  236. data/lib/purecloudplatformclientv2/models/queue_entity_listing.rb +12 -12
  237. data/lib/purecloudplatformclientv2/models/queue_member_entity_listing.rb +12 -12
  238. data/lib/purecloudplatformclientv2/models/recording.rb +29 -1
  239. data/lib/purecloudplatformclientv2/models/relationship_listing.rb +12 -12
  240. data/lib/purecloudplatformclientv2/models/report_meta_data_entity_listing.rb +12 -12
  241. data/lib/purecloudplatformclientv2/models/report_run_entry_entity_domain_listing.rb +12 -12
  242. data/lib/purecloudplatformclientv2/models/report_schedule_entity_listing.rb +12 -12
  243. data/lib/purecloudplatformclientv2/models/response_entity_list.rb +12 -12
  244. data/lib/purecloudplatformclientv2/models/response_entity_listing.rb +12 -12
  245. data/lib/purecloudplatformclientv2/models/response_set_entity_listing.rb +12 -12
  246. data/lib/purecloudplatformclientv2/models/routing_status.rb +1 -1
  247. data/lib/purecloudplatformclientv2/models/rule_set_entity_listing.rb +12 -12
  248. data/lib/purecloudplatformclientv2/models/schedule_entity_listing.rb +12 -12
  249. data/lib/purecloudplatformclientv2/models/schedule_group_entity_listing.rb +12 -12
  250. data/lib/purecloudplatformclientv2/models/schema_category_entity_listing.rb +12 -12
  251. data/lib/purecloudplatformclientv2/models/schema_reference_entity_listing.rb +12 -12
  252. data/lib/purecloudplatformclientv2/models/screen_recording_session_listing.rb +12 -12
  253. data/lib/purecloudplatformclientv2/models/script_entity_listing.rb +12 -12
  254. data/lib/purecloudplatformclientv2/models/security_profile_entity_listing.rb +12 -12
  255. data/lib/purecloudplatformclientv2/models/share_entity_listing.rb +12 -12
  256. data/lib/purecloudplatformclientv2/models/site_entity_listing.rb +12 -12
  257. data/lib/purecloudplatformclientv2/models/skill_entity_listing.rb +12 -12
  258. data/lib/purecloudplatformclientv2/models/station_entity_listing.rb +12 -12
  259. data/lib/purecloudplatformclientv2/models/system_prompt_asset_entity_listing.rb +12 -12
  260. data/lib/purecloudplatformclientv2/models/system_prompt_entity_listing.rb +12 -12
  261. data/lib/purecloudplatformclientv2/models/tag_value_entity_listing.rb +12 -12
  262. data/lib/purecloudplatformclientv2/models/time_zone_entity_listing.rb +12 -12
  263. data/lib/purecloudplatformclientv2/models/trunk_base_entity_listing.rb +12 -12
  264. data/lib/purecloudplatformclientv2/models/trunk_entity_listing.rb +12 -12
  265. data/lib/purecloudplatformclientv2/models/trunk_metabase_entity_listing.rb +12 -12
  266. data/lib/purecloudplatformclientv2/models/trust_entity_listing.rb +12 -12
  267. data/lib/purecloudplatformclientv2/models/trust_user_entity_listing.rb +12 -12
  268. data/lib/purecloudplatformclientv2/models/trustor_entity_listing.rb +12 -12
  269. data/lib/purecloudplatformclientv2/models/user_entity_listing.rb +12 -12
  270. data/lib/purecloudplatformclientv2/models/user_queue.rb +1 -1
  271. data/lib/purecloudplatformclientv2/models/user_queue_entity_listing.rb +12 -12
  272. data/lib/purecloudplatformclientv2/models/user_recording_entity_listing.rb +12 -12
  273. data/lib/purecloudplatformclientv2/models/user_skill_entity_listing.rb +12 -12
  274. data/lib/purecloudplatformclientv2/models/voicemail_message.rb +34 -8
  275. data/lib/purecloudplatformclientv2/models/voicemail_message_entity_listing.rb +12 -12
  276. data/lib/purecloudplatformclientv2/models/voicemail_retention_policy.rb +1 -1
  277. data/lib/purecloudplatformclientv2/models/wfm_historical_adherence_query.rb +323 -0
  278. data/lib/purecloudplatformclientv2/models/wfm_historical_adherence_response.rb +269 -0
  279. data/lib/purecloudplatformclientv2/models/workspace_entity_listing.rb +12 -12
  280. data/lib/purecloudplatformclientv2/models/workspace_member_entity_listing.rb +12 -12
  281. data/lib/purecloudplatformclientv2/models/wrapup_code_entity_listing.rb +12 -12
  282. data/lib/purecloudplatformclientv2/version.rb +1 -1
  283. metadata +8 -2
@@ -320,7 +320,7 @@ module PureCloud
320
320
 
321
321
 
322
322
 
323
- allowed_values = ["INBOUNDCALL", "INBOUNDEMAIL", "INQUEUECALL", "OUTBOUNDCALL", "SECURECALL", "SPEECH", "WORKFLOW"]
323
+ allowed_values = ["INBOUNDCALL", "INBOUNDEMAIL", "INQUEUECALL", "OUTBOUNDCALL", "SECURECALL", "SPEECH", "SURVEYINVITE", "WORKFLOW"]
324
324
  if @type && !allowed_values.include?(@type)
325
325
  return false
326
326
  end
@@ -397,7 +397,7 @@ module PureCloud
397
397
  # Custom attribute writer method checking allowed values (enum).
398
398
  # @param [Object] type Object to be assigned
399
399
  def type=(type)
400
- allowed_values = ["INBOUNDCALL", "INBOUNDEMAIL", "INQUEUECALL", "OUTBOUNDCALL", "SECURECALL", "SPEECH", "WORKFLOW"]
400
+ allowed_values = ["INBOUNDCALL", "INBOUNDEMAIL", "INQUEUECALL", "OUTBOUNDCALL", "SECURECALL", "SPEECH", "SURVEYINVITE", "WORKFLOW"]
401
401
  if type && !allowed_values.include?(type)
402
402
  fail ArgumentError, "invalid value for 'type', must be one of #{allowed_values}."
403
403
  end
@@ -30,10 +30,10 @@ module PureCloud
30
30
 
31
31
  attr_accessor :first_uri
32
32
 
33
- attr_accessor :previous_uri
34
-
35
33
  attr_accessor :next_uri
36
34
 
35
+ attr_accessor :previous_uri
36
+
37
37
  attr_accessor :last_uri
38
38
 
39
39
  attr_accessor :page_count
@@ -54,10 +54,10 @@ module PureCloud
54
54
 
55
55
  :'first_uri' => :'firstUri',
56
56
 
57
- :'previous_uri' => :'previousUri',
58
-
59
57
  :'next_uri' => :'nextUri',
60
58
 
59
+ :'previous_uri' => :'previousUri',
60
+
61
61
  :'last_uri' => :'lastUri',
62
62
 
63
63
  :'page_count' => :'pageCount'
@@ -81,10 +81,10 @@ module PureCloud
81
81
 
82
82
  :'first_uri' => :'String',
83
83
 
84
- :'previous_uri' => :'String',
85
-
86
84
  :'next_uri' => :'String',
87
85
 
86
+ :'previous_uri' => :'String',
87
+
88
88
  :'last_uri' => :'String',
89
89
 
90
90
  :'page_count' => :'Integer'
@@ -157,19 +157,19 @@ module PureCloud
157
157
  end
158
158
 
159
159
 
160
- if attributes.has_key?(:'previousUri')
160
+ if attributes.has_key?(:'nextUri')
161
161
 
162
162
 
163
- self.previous_uri = attributes[:'previousUri']
163
+ self.next_uri = attributes[:'nextUri']
164
164
 
165
165
 
166
166
  end
167
167
 
168
168
 
169
- if attributes.has_key?(:'nextUri')
169
+ if attributes.has_key?(:'previousUri')
170
170
 
171
171
 
172
- self.next_uri = attributes[:'nextUri']
172
+ self.previous_uri = attributes[:'previousUri']
173
173
 
174
174
 
175
175
  end
@@ -312,8 +312,8 @@ module PureCloud
312
312
  total == o.total &&
313
313
  self_uri == o.self_uri &&
314
314
  first_uri == o.first_uri &&
315
- previous_uri == o.previous_uri &&
316
315
  next_uri == o.next_uri &&
316
+ previous_uri == o.previous_uri &&
317
317
  last_uri == o.last_uri &&
318
318
  page_count == o.page_count
319
319
  end
@@ -327,7 +327,7 @@ module PureCloud
327
327
  # Calculates hash code according to all attributes.
328
328
  # @return [Fixnum] Hash code
329
329
  def hash
330
- [entities, page_size, page_number, total, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
330
+ [entities, page_size, page_number, total, self_uri, first_uri, next_uri, previous_uri, last_uri, page_count].hash
331
331
  end
332
332
 
333
333
  # build the object from hash
@@ -30,10 +30,10 @@ module PureCloud
30
30
 
31
31
  attr_accessor :first_uri
32
32
 
33
- attr_accessor :previous_uri
34
-
35
33
  attr_accessor :next_uri
36
34
 
35
+ attr_accessor :previous_uri
36
+
37
37
  attr_accessor :last_uri
38
38
 
39
39
  attr_accessor :page_count
@@ -54,10 +54,10 @@ module PureCloud
54
54
 
55
55
  :'first_uri' => :'firstUri',
56
56
 
57
- :'previous_uri' => :'previousUri',
58
-
59
57
  :'next_uri' => :'nextUri',
60
58
 
59
+ :'previous_uri' => :'previousUri',
60
+
61
61
  :'last_uri' => :'lastUri',
62
62
 
63
63
  :'page_count' => :'pageCount'
@@ -81,10 +81,10 @@ module PureCloud
81
81
 
82
82
  :'first_uri' => :'String',
83
83
 
84
- :'previous_uri' => :'String',
85
-
86
84
  :'next_uri' => :'String',
87
85
 
86
+ :'previous_uri' => :'String',
87
+
88
88
  :'last_uri' => :'String',
89
89
 
90
90
  :'page_count' => :'Integer'
@@ -157,19 +157,19 @@ module PureCloud
157
157
  end
158
158
 
159
159
 
160
- if attributes.has_key?(:'previousUri')
160
+ if attributes.has_key?(:'nextUri')
161
161
 
162
162
 
163
- self.previous_uri = attributes[:'previousUri']
163
+ self.next_uri = attributes[:'nextUri']
164
164
 
165
165
 
166
166
  end
167
167
 
168
168
 
169
- if attributes.has_key?(:'nextUri')
169
+ if attributes.has_key?(:'previousUri')
170
170
 
171
171
 
172
- self.next_uri = attributes[:'nextUri']
172
+ self.previous_uri = attributes[:'previousUri']
173
173
 
174
174
 
175
175
  end
@@ -312,8 +312,8 @@ module PureCloud
312
312
  total == o.total &&
313
313
  self_uri == o.self_uri &&
314
314
  first_uri == o.first_uri &&
315
- previous_uri == o.previous_uri &&
316
315
  next_uri == o.next_uri &&
316
+ previous_uri == o.previous_uri &&
317
317
  last_uri == o.last_uri &&
318
318
  page_count == o.page_count
319
319
  end
@@ -327,7 +327,7 @@ module PureCloud
327
327
  # Calculates hash code according to all attributes.
328
328
  # @return [Fixnum] Hash code
329
329
  def hash
330
- [entities, page_size, page_number, total, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
330
+ [entities, page_size, page_number, total, self_uri, first_uri, next_uri, previous_uri, last_uri, page_count].hash
331
331
  end
332
332
 
333
333
  # build the object from hash
@@ -30,10 +30,10 @@ module PureCloud
30
30
 
31
31
  attr_accessor :first_uri
32
32
 
33
- attr_accessor :previous_uri
34
-
35
33
  attr_accessor :next_uri
36
34
 
35
+ attr_accessor :previous_uri
36
+
37
37
  attr_accessor :last_uri
38
38
 
39
39
  attr_accessor :page_count
@@ -54,10 +54,10 @@ module PureCloud
54
54
 
55
55
  :'first_uri' => :'firstUri',
56
56
 
57
- :'previous_uri' => :'previousUri',
58
-
59
57
  :'next_uri' => :'nextUri',
60
58
 
59
+ :'previous_uri' => :'previousUri',
60
+
61
61
  :'last_uri' => :'lastUri',
62
62
 
63
63
  :'page_count' => :'pageCount'
@@ -81,10 +81,10 @@ module PureCloud
81
81
 
82
82
  :'first_uri' => :'String',
83
83
 
84
- :'previous_uri' => :'String',
85
-
86
84
  :'next_uri' => :'String',
87
85
 
86
+ :'previous_uri' => :'String',
87
+
88
88
  :'last_uri' => :'String',
89
89
 
90
90
  :'page_count' => :'Integer'
@@ -157,19 +157,19 @@ module PureCloud
157
157
  end
158
158
 
159
159
 
160
- if attributes.has_key?(:'previousUri')
160
+ if attributes.has_key?(:'nextUri')
161
161
 
162
162
 
163
- self.previous_uri = attributes[:'previousUri']
163
+ self.next_uri = attributes[:'nextUri']
164
164
 
165
165
 
166
166
  end
167
167
 
168
168
 
169
- if attributes.has_key?(:'nextUri')
169
+ if attributes.has_key?(:'previousUri')
170
170
 
171
171
 
172
- self.next_uri = attributes[:'nextUri']
172
+ self.previous_uri = attributes[:'previousUri']
173
173
 
174
174
 
175
175
  end
@@ -312,8 +312,8 @@ module PureCloud
312
312
  total == o.total &&
313
313
  self_uri == o.self_uri &&
314
314
  first_uri == o.first_uri &&
315
- previous_uri == o.previous_uri &&
316
315
  next_uri == o.next_uri &&
316
+ previous_uri == o.previous_uri &&
317
317
  last_uri == o.last_uri &&
318
318
  page_count == o.page_count
319
319
  end
@@ -327,7 +327,7 @@ module PureCloud
327
327
  # Calculates hash code according to all attributes.
328
328
  # @return [Fixnum] Hash code
329
329
  def hash
330
- [entities, page_size, page_number, total, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
330
+ [entities, page_size, page_number, total, self_uri, first_uri, next_uri, previous_uri, last_uri, page_count].hash
331
331
  end
332
332
 
333
333
  # build the object from hash
@@ -30,10 +30,10 @@ module PureCloud
30
30
 
31
31
  attr_accessor :first_uri
32
32
 
33
- attr_accessor :previous_uri
34
-
35
33
  attr_accessor :next_uri
36
34
 
35
+ attr_accessor :previous_uri
36
+
37
37
  attr_accessor :last_uri
38
38
 
39
39
  attr_accessor :page_count
@@ -54,10 +54,10 @@ module PureCloud
54
54
 
55
55
  :'first_uri' => :'firstUri',
56
56
 
57
- :'previous_uri' => :'previousUri',
58
-
59
57
  :'next_uri' => :'nextUri',
60
58
 
59
+ :'previous_uri' => :'previousUri',
60
+
61
61
  :'last_uri' => :'lastUri',
62
62
 
63
63
  :'page_count' => :'pageCount'
@@ -81,10 +81,10 @@ module PureCloud
81
81
 
82
82
  :'first_uri' => :'String',
83
83
 
84
- :'previous_uri' => :'String',
85
-
86
84
  :'next_uri' => :'String',
87
85
 
86
+ :'previous_uri' => :'String',
87
+
88
88
  :'last_uri' => :'String',
89
89
 
90
90
  :'page_count' => :'Integer'
@@ -157,19 +157,19 @@ module PureCloud
157
157
  end
158
158
 
159
159
 
160
- if attributes.has_key?(:'previousUri')
160
+ if attributes.has_key?(:'nextUri')
161
161
 
162
162
 
163
- self.previous_uri = attributes[:'previousUri']
163
+ self.next_uri = attributes[:'nextUri']
164
164
 
165
165
 
166
166
  end
167
167
 
168
168
 
169
- if attributes.has_key?(:'nextUri')
169
+ if attributes.has_key?(:'previousUri')
170
170
 
171
171
 
172
- self.next_uri = attributes[:'nextUri']
172
+ self.previous_uri = attributes[:'previousUri']
173
173
 
174
174
 
175
175
  end
@@ -312,8 +312,8 @@ module PureCloud
312
312
  total == o.total &&
313
313
  self_uri == o.self_uri &&
314
314
  first_uri == o.first_uri &&
315
- previous_uri == o.previous_uri &&
316
315
  next_uri == o.next_uri &&
316
+ previous_uri == o.previous_uri &&
317
317
  last_uri == o.last_uri &&
318
318
  page_count == o.page_count
319
319
  end
@@ -327,7 +327,7 @@ module PureCloud
327
327
  # Calculates hash code according to all attributes.
328
328
  # @return [Fixnum] Hash code
329
329
  def hash
330
- [entities, page_size, page_number, total, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
330
+ [entities, page_size, page_number, total, self_uri, first_uri, next_uri, previous_uri, last_uri, page_count].hash
331
331
  end
332
332
 
333
333
  # build the object from hash
@@ -30,10 +30,10 @@ module PureCloud
30
30
 
31
31
  attr_accessor :first_uri
32
32
 
33
- attr_accessor :previous_uri
34
-
35
33
  attr_accessor :next_uri
36
34
 
35
+ attr_accessor :previous_uri
36
+
37
37
  attr_accessor :last_uri
38
38
 
39
39
  attr_accessor :page_count
@@ -54,10 +54,10 @@ module PureCloud
54
54
 
55
55
  :'first_uri' => :'firstUri',
56
56
 
57
- :'previous_uri' => :'previousUri',
58
-
59
57
  :'next_uri' => :'nextUri',
60
58
 
59
+ :'previous_uri' => :'previousUri',
60
+
61
61
  :'last_uri' => :'lastUri',
62
62
 
63
63
  :'page_count' => :'pageCount'
@@ -81,10 +81,10 @@ module PureCloud
81
81
 
82
82
  :'first_uri' => :'String',
83
83
 
84
- :'previous_uri' => :'String',
85
-
86
84
  :'next_uri' => :'String',
87
85
 
86
+ :'previous_uri' => :'String',
87
+
88
88
  :'last_uri' => :'String',
89
89
 
90
90
  :'page_count' => :'Integer'
@@ -157,19 +157,19 @@ module PureCloud
157
157
  end
158
158
 
159
159
 
160
- if attributes.has_key?(:'previousUri')
160
+ if attributes.has_key?(:'nextUri')
161
161
 
162
162
 
163
- self.previous_uri = attributes[:'previousUri']
163
+ self.next_uri = attributes[:'nextUri']
164
164
 
165
165
 
166
166
  end
167
167
 
168
168
 
169
- if attributes.has_key?(:'nextUri')
169
+ if attributes.has_key?(:'previousUri')
170
170
 
171
171
 
172
- self.next_uri = attributes[:'nextUri']
172
+ self.previous_uri = attributes[:'previousUri']
173
173
 
174
174
 
175
175
  end
@@ -312,8 +312,8 @@ module PureCloud
312
312
  total == o.total &&
313
313
  self_uri == o.self_uri &&
314
314
  first_uri == o.first_uri &&
315
- previous_uri == o.previous_uri &&
316
315
  next_uri == o.next_uri &&
316
+ previous_uri == o.previous_uri &&
317
317
  last_uri == o.last_uri &&
318
318
  page_count == o.page_count
319
319
  end
@@ -327,7 +327,7 @@ module PureCloud
327
327
  # Calculates hash code according to all attributes.
328
328
  # @return [Fixnum] Hash code
329
329
  def hash
330
- [entities, page_size, page_number, total, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
330
+ [entities, page_size, page_number, total, self_uri, first_uri, next_uri, previous_uri, last_uri, page_count].hash
331
331
  end
332
332
 
333
333
  # build the object from hash
@@ -0,0 +1,497 @@
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: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class InboundMessageRequest
21
+ # The ID of the queue to use for routing the email conversation. This field is mutually exclusive with flowId
22
+ attr_accessor :queue_id
23
+
24
+ # The ID of the flow to use for routing email conversation. This field is mutually exclusive with queueId
25
+ attr_accessor :flow_id
26
+
27
+ # The name of the provider that is sourcing the email such as Oracle, Salesforce, etc.
28
+ attr_accessor :provider
29
+
30
+ # The list of skill ID's to use for routing.
31
+ attr_accessor :skill_ids
32
+
33
+ # The ID of the language to use for routing.
34
+ attr_accessor :language_id
35
+
36
+ # The priority to assign to the conversation for routing.
37
+ attr_accessor :priority
38
+
39
+ # The list of attributes to associate with the customer participant.
40
+ attr_accessor :attributes
41
+
42
+ # The email address of the recipient of the email.
43
+ attr_accessor :to_address
44
+
45
+ # The name of the recipient of the email.
46
+ attr_accessor :to_name
47
+
48
+ # The email address of the sender of the email.
49
+ attr_accessor :from_address
50
+
51
+ # The name of the sender of the email.
52
+ attr_accessor :from_name
53
+
54
+ # The subject of the email
55
+ attr_accessor :subject
56
+
57
+ # Attribute mapping from ruby-style variable name to JSON key.
58
+ def self.attribute_map
59
+ {
60
+
61
+ :'queue_id' => :'queueId',
62
+
63
+ :'flow_id' => :'flowId',
64
+
65
+ :'provider' => :'provider',
66
+
67
+ :'skill_ids' => :'skillIds',
68
+
69
+ :'language_id' => :'languageId',
70
+
71
+ :'priority' => :'priority',
72
+
73
+ :'attributes' => :'attributes',
74
+
75
+ :'to_address' => :'toAddress',
76
+
77
+ :'to_name' => :'toName',
78
+
79
+ :'from_address' => :'fromAddress',
80
+
81
+ :'from_name' => :'fromName',
82
+
83
+ :'subject' => :'subject'
84
+
85
+ }
86
+ end
87
+
88
+ # Attribute type mapping.
89
+ def self.swagger_types
90
+ {
91
+
92
+ :'queue_id' => :'String',
93
+
94
+ :'flow_id' => :'String',
95
+
96
+ :'provider' => :'String',
97
+
98
+ :'skill_ids' => :'Array<String>',
99
+
100
+ :'language_id' => :'String',
101
+
102
+ :'priority' => :'Integer',
103
+
104
+ :'attributes' => :'Hash<String, String>',
105
+
106
+ :'to_address' => :'String',
107
+
108
+ :'to_name' => :'String',
109
+
110
+ :'from_address' => :'String',
111
+
112
+ :'from_name' => :'String',
113
+
114
+ :'subject' => :'String'
115
+
116
+ }
117
+ end
118
+
119
+ # Initializes the object
120
+ # @param [Hash] attributes Model attributes in the form of hash
121
+ def initialize(attributes = {})
122
+ return unless attributes.is_a?(Hash)
123
+
124
+ # convert string to symbol for hash key
125
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
126
+
127
+
128
+ if attributes.has_key?(:'queueId')
129
+
130
+
131
+ self.queue_id = attributes[:'queueId']
132
+
133
+
134
+ end
135
+
136
+
137
+ if attributes.has_key?(:'flowId')
138
+
139
+
140
+ self.flow_id = attributes[:'flowId']
141
+
142
+
143
+ end
144
+
145
+
146
+ if attributes.has_key?(:'provider')
147
+
148
+
149
+ self.provider = attributes[:'provider']
150
+
151
+
152
+ end
153
+
154
+
155
+ if attributes.has_key?(:'skillIds')
156
+
157
+ if (value = attributes[:'skillIds']).is_a?(Array)
158
+ self.skill_ids = value
159
+ end
160
+
161
+
162
+
163
+ end
164
+
165
+
166
+ if attributes.has_key?(:'languageId')
167
+
168
+
169
+ self.language_id = attributes[:'languageId']
170
+
171
+
172
+ end
173
+
174
+
175
+ if attributes.has_key?(:'priority')
176
+
177
+
178
+ self.priority = attributes[:'priority']
179
+
180
+
181
+ end
182
+
183
+
184
+ if attributes.has_key?(:'attributes')
185
+
186
+ if (value = attributes[:'attributes']).is_a?(Array)
187
+ self.attributes = value
188
+ end
189
+
190
+
191
+
192
+ end
193
+
194
+
195
+ if attributes.has_key?(:'toAddress')
196
+
197
+
198
+ self.to_address = attributes[:'toAddress']
199
+
200
+
201
+ end
202
+
203
+
204
+ if attributes.has_key?(:'toName')
205
+
206
+
207
+ self.to_name = attributes[:'toName']
208
+
209
+
210
+ end
211
+
212
+
213
+ if attributes.has_key?(:'fromAddress')
214
+
215
+
216
+ self.from_address = attributes[:'fromAddress']
217
+
218
+
219
+ end
220
+
221
+
222
+ if attributes.has_key?(:'fromName')
223
+
224
+
225
+ self.from_name = attributes[:'fromName']
226
+
227
+
228
+ end
229
+
230
+
231
+ if attributes.has_key?(:'subject')
232
+
233
+
234
+ self.subject = attributes[:'subject']
235
+
236
+
237
+ end
238
+
239
+
240
+ end
241
+
242
+ # Show invalid properties with the reasons. Usually used together with valid?
243
+ # @return Array for valid properies with the reasons
244
+ def list_invalid_properties
245
+ invalid_properties = Array.new
246
+
247
+
248
+ return invalid_properties
249
+ end
250
+
251
+ # Check to see if the all the properties in the model are valid
252
+ # @return true if the model is valid
253
+ def valid?
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+ if @provider.nil?
265
+ return false
266
+ end
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+ end
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+ # Checks equality by comparing each attribute.
372
+ # @param [Object] Object to be compared
373
+ def ==(o)
374
+ return true if self.equal?(o)
375
+ self.class == o.class &&
376
+ queue_id == o.queue_id &&
377
+ flow_id == o.flow_id &&
378
+ provider == o.provider &&
379
+ skill_ids == o.skill_ids &&
380
+ language_id == o.language_id &&
381
+ priority == o.priority &&
382
+ attributes == o.attributes &&
383
+ to_address == o.to_address &&
384
+ to_name == o.to_name &&
385
+ from_address == o.from_address &&
386
+ from_name == o.from_name &&
387
+ subject == o.subject
388
+ end
389
+
390
+ # @see the `==` method
391
+ # @param [Object] Object to be compared
392
+ def eql?(o)
393
+ self == o
394
+ end
395
+
396
+ # Calculates hash code according to all attributes.
397
+ # @return [Fixnum] Hash code
398
+ def hash
399
+ [queue_id, flow_id, provider, skill_ids, language_id, priority, attributes, to_address, to_name, from_address, from_name, subject].hash
400
+ end
401
+
402
+ # build the object from hash
403
+ def build_from_hash(attributes)
404
+ return nil unless attributes.is_a?(Hash)
405
+ self.class.swagger_types.each_pair do |key, type|
406
+ if type =~ /^Array<(.*)>/i
407
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
408
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
409
+ else
410
+ #TODO show warning in debug mode
411
+ end
412
+ elsif !attributes[self.class.attribute_map[key]].nil?
413
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
414
+ else
415
+ # data not found in attributes(hash), not an issue as the data can be optional
416
+ end
417
+ end
418
+
419
+ self
420
+ end
421
+
422
+ def _deserialize(type, value)
423
+ case type.to_sym
424
+ when :DateTime
425
+ DateTime.parse(value)
426
+ when :Date
427
+ Date.parse(value)
428
+ when :String
429
+ value.to_s
430
+ when :Integer
431
+ value.to_i
432
+ when :Float
433
+ value.to_f
434
+ when :BOOLEAN
435
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
436
+ true
437
+ else
438
+ false
439
+ end
440
+ when :Object
441
+ # generic object (usually a Hash), return directly
442
+ value
443
+ when /\AArray<(?<inner_type>.+)>\z/
444
+ inner_type = Regexp.last_match[:inner_type]
445
+ value.map { |v| _deserialize(inner_type, v) }
446
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
447
+ k_type = Regexp.last_match[:k_type]
448
+ v_type = Regexp.last_match[:v_type]
449
+ {}.tap do |hash|
450
+ value.each do |k, v|
451
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
452
+ end
453
+ end
454
+ else # model
455
+ _model = Object.const_get("PureCloud").const_get(type).new
456
+ _model.build_from_hash(value)
457
+ end
458
+ end
459
+
460
+ def to_s
461
+ to_hash.to_s
462
+ end
463
+
464
+ # to_body is an alias to to_body (backward compatibility))
465
+ def to_body
466
+ to_hash
467
+ end
468
+
469
+ # return the object in the form of hash
470
+ def to_hash
471
+ hash = {}
472
+ self.class.attribute_map.each_pair do |attr, param|
473
+ value = self.send(attr)
474
+ next if value.nil?
475
+ hash[param] = _to_hash(value)
476
+ end
477
+ hash
478
+ end
479
+
480
+ # Method to output non-array value in the form of hash
481
+ # For object, use to_hash. Otherwise, just return the value
482
+ def _to_hash(value)
483
+ if value.is_a?(Array)
484
+ value.compact.map{ |v| _to_hash(v) }
485
+ elsif value.is_a?(Hash)
486
+ {}.tap do |hash|
487
+ value.each { |k, v| hash[k] = _to_hash(v) }
488
+ end
489
+ elsif value.respond_to? :to_hash
490
+ value.to_hash
491
+ else
492
+ value
493
+ end
494
+ end
495
+
496
+ end
497
+ end