purecloudplatformclientv2 13.1.0 → 14.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 (325) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AgentActivityEntityListing.md +2 -2
  4. data/docs/ArchitectApi.md +966 -33
  5. data/docs/AttemptLimitsEntityListing.md +2 -2
  6. data/docs/AttributeEntityListing.md +2 -2
  7. data/docs/AuditQueryResponse.md +12 -0
  8. data/docs/AuthorizationApi.md +2 -0
  9. data/docs/CalibrationEntityListing.md +2 -2
  10. data/docs/Call.md +1 -0
  11. data/docs/CallBasic.md +1 -0
  12. data/docs/CallConversationEntityListing.md +2 -2
  13. data/docs/CallableTimeSetEntityListing.md +2 -2
  14. data/docs/CallbackConversationEntityListing.md +2 -2
  15. data/docs/CampaignEntityListing.md +2 -2
  16. data/docs/CampaignRuleEntityListing.md +2 -2
  17. data/docs/CampaignSequenceEntityListing.md +2 -2
  18. data/docs/CertificateAuthorityEntityListing.md +2 -2
  19. data/docs/ChatConversationEntityListing.md +2 -2
  20. data/docs/CobrowseConversationEntityListing.md +2 -2
  21. data/docs/CommandStatusEntityListing.md +2 -2
  22. data/docs/ConsumedResourcesEntityListing.md +2 -2
  23. data/docs/ConsumingResourcesEntityListing.md +2 -2
  24. data/docs/ContactListEntityListing.md +2 -2
  25. data/docs/ContactListFilterEntityListing.md +2 -2
  26. data/docs/ContactListing.md +2 -2
  27. data/docs/ConversationChat.md +1 -0
  28. data/docs/ConversationEntityListing.md +2 -2
  29. data/docs/ConversationsApi.md +71 -2
  30. data/docs/CreateCallbackOnConversationCommand.md +20 -0
  31. data/docs/DIDEntityListing.md +2 -2
  32. data/docs/DIDPoolEntityListing.md +2 -2
  33. data/docs/DependencyObjectEntityListing.md +2 -2
  34. data/docs/DependencyTypeEntityListing.md +2 -2
  35. data/docs/DialerEventEntityListing.md +2 -2
  36. data/docs/DncListEntityListing.md +2 -2
  37. data/docs/DocumentAuditEntityListing.md +2 -2
  38. data/docs/DocumentEntityListing.md +2 -2
  39. data/docs/DocumentationSearchRequest.md +1 -0
  40. data/docs/DomainEdgeSoftwareVersionDtoEntityListing.md +2 -2
  41. data/docs/DomainEntityListing.md +2 -2
  42. data/docs/DomainEntityListingEvaluationForm.md +2 -2
  43. data/docs/DomainEntityListingQueryResult.md +2 -2
  44. data/docs/EdgeEntityListing.md +2 -2
  45. data/docs/EdgeGroupEntityListing.md +2 -2
  46. data/docs/EdgeLineEntityListing.md +2 -2
  47. data/docs/Email.md +2 -0
  48. data/docs/EmailConversationEntityListing.md +2 -2
  49. data/docs/EmailMessageListing.md +2 -2
  50. data/docs/EncryptionKeyEntityListing.md +2 -2
  51. data/docs/EndpointEntityListing.md +2 -2
  52. data/docs/EvaluationEntityListing.md +2 -2
  53. data/docs/EvaluationFormEntityListing.md +2 -2
  54. data/docs/EvaluatorActivityEntityListing.md +2 -2
  55. data/docs/ExtensionEntityListing.md +2 -2
  56. data/docs/ExtensionPoolEntityListing.md +2 -2
  57. data/docs/ExternalContactsApi.md +2 -2
  58. data/docs/ExternalOrganizationListing.md +2 -2
  59. data/docs/Facet.md +14 -0
  60. data/docs/FaxDocumentEntityListing.md +2 -2
  61. data/docs/Filter.md +16 -0
  62. data/docs/FlowEntityListing.md +2 -2
  63. data/docs/FlowVersionEntityListing.md +2 -2
  64. data/docs/GreetingListing.md +2 -2
  65. data/docs/GroupEntityListing.md +2 -2
  66. data/docs/GroupSearchRequest.md +1 -0
  67. data/docs/HistoryListing.md +10 -5
  68. data/docs/IVR.md +28 -0
  69. data/docs/IVREntityListing.md +22 -0
  70. data/docs/InboundDomainEntityListing.md +2 -2
  71. data/docs/InboundRouteEntityListing.md +2 -2
  72. data/docs/InteractionStatsAlertContainer.md +2 -2
  73. data/docs/InteractionStatsRuleContainer.md +2 -2
  74. data/docs/KeywordSetEntityListing.md +2 -2
  75. data/docs/LanguageEntityListing.md +2 -2
  76. data/docs/LibraryEntityListing.md +2 -2
  77. data/docs/LineBaseEntityListing.md +2 -2
  78. data/docs/LineEntityListing.md +2 -2
  79. data/docs/LocationEntityListing.md +2 -2
  80. data/docs/LocationSearchRequest.md +1 -0
  81. data/docs/LogicalInterfaceEntityListing.md +2 -2
  82. data/docs/NoteListing.md +2 -2
  83. data/docs/OAuthClientEntityListing.md +2 -2
  84. data/docs/OAuthProviderEntityListing.md +2 -2
  85. data/docs/OrganizationAuthorizationApi.md +1458 -0
  86. data/docs/OrganizationPresenceEntityListing.md +2 -2
  87. data/docs/OrganizationRoleEntityListing.md +2 -2
  88. data/docs/OrphanRecordingListing.md +2 -2
  89. data/docs/OutboundRouteBaseEntityListing.md +2 -2
  90. data/docs/OutboundRouteEntityListing.md +2 -2
  91. data/docs/Participant.md +1 -0
  92. data/docs/ParticipantBasic.md +1 -0
  93. data/docs/PermissionCollectionEntityListing.md +2 -2
  94. data/docs/PhoneBaseEntityListing.md +2 -2
  95. data/docs/PhoneEntityListing.md +2 -2
  96. data/docs/PhoneMetaBaseEntityListing.md +2 -2
  97. data/docs/PhysicalInterfaceEntityListing.md +2 -2
  98. data/docs/PolicyEntityListing.md +2 -2
  99. data/docs/PromptAssetEntityListing.md +2 -2
  100. data/docs/PromptEntityListing.md +2 -2
  101. data/docs/QualityAuditPage.md +2 -2
  102. data/docs/QueueEntityListing.md +2 -2
  103. data/docs/QueueMemberEntityListing.md +2 -2
  104. data/docs/RelationshipListing.md +2 -2
  105. data/docs/ReportMetaDataEntityListing.md +2 -2
  106. data/docs/ReportRunEntryEntityDomainListing.md +2 -2
  107. data/docs/ReportScheduleEntityListing.md +2 -2
  108. data/docs/ResponseEntityList.md +2 -2
  109. data/docs/ResponseEntityListing.md +2 -2
  110. data/docs/ResponseSetEntityListing.md +2 -2
  111. data/docs/RoutingApi.md +1 -1
  112. data/docs/RuleSetEntityListing.md +2 -2
  113. data/docs/Schedule.md +27 -0
  114. data/docs/ScheduleEntityListing.md +22 -0
  115. data/docs/ScheduleGroup.md +27 -0
  116. data/docs/ScheduleGroupEntityListing.md +22 -0
  117. data/docs/SchemaCategoryEntityListing.md +2 -2
  118. data/docs/SchemaReferenceEntityListing.md +2 -2
  119. data/docs/ScreenRecordingSession.md +1 -1
  120. data/docs/ScreenRecordingSessionListing.md +2 -2
  121. data/docs/ScriptEntityListing.md +2 -2
  122. data/docs/SearchRequest.md +1 -0
  123. data/docs/SearchSort.md +14 -0
  124. data/docs/SecurityProfileEntityListing.md +2 -2
  125. data/docs/SetUuiDataRequest.md +13 -0
  126. data/docs/ShareEntityListing.md +2 -2
  127. data/docs/SiteEntityListing.md +2 -2
  128. data/docs/SkillEntityListing.md +2 -2
  129. data/docs/SocialExpression.md +1 -0
  130. data/docs/StationEntityListing.md +2 -2
  131. data/docs/SystemPromptAssetEntityListing.md +2 -2
  132. data/docs/SystemPromptEntityListing.md +2 -2
  133. data/docs/TagValueEntityListing.md +2 -2
  134. data/docs/TimeZoneEntityListing.md +2 -2
  135. data/docs/TrunkBaseEntityListing.md +2 -2
  136. data/docs/TrunkEntityListing.md +2 -2
  137. data/docs/TrunkMetabaseEntityListing.md +2 -2
  138. data/docs/TrustCreate.md +15 -0
  139. data/docs/TrustEntityListing.md +22 -0
  140. data/docs/TrustRequest.md +18 -0
  141. data/docs/TrustRequestCreate.md +13 -0
  142. data/docs/TrustUser.md +36 -0
  143. data/docs/TrustUserCreate.md +14 -0
  144. data/docs/TrustUserDetails.md +14 -0
  145. data/docs/TrustUserEntityListing.md +22 -0
  146. data/docs/Trustee.md +18 -0
  147. data/docs/TrusteeAuditQueryRequest.md +19 -0
  148. data/docs/TrustorAuditQueryRequest.md +19 -0
  149. data/docs/TrustorEntityListing.md +22 -0
  150. data/docs/UserEntityListing.md +2 -2
  151. data/docs/UserMe.md +1 -0
  152. data/docs/UserQueueEntityListing.md +2 -2
  153. data/docs/UserRecordingEntityListing.md +2 -2
  154. data/docs/UserSearchRequest.md +1 -0
  155. data/docs/UserSkillEntityListing.md +2 -2
  156. data/docs/UsersApi.md +1 -1
  157. data/docs/VoicemailMessageEntityListing.md +2 -2
  158. data/docs/VoicemailSearchRequest.md +1 -0
  159. data/docs/WorkspaceEntityListing.md +2 -2
  160. data/docs/WorkspaceMemberEntityListing.md +2 -2
  161. data/docs/WrapupCodeEntityListing.md +2 -2
  162. data/lib/purecloudplatformclientv2.rb +25 -1
  163. data/lib/purecloudplatformclientv2/api/architect_api.rb +1216 -148
  164. data/lib/purecloudplatformclientv2/api/authorization_api.rb +9 -0
  165. data/lib/purecloudplatformclientv2/api/conversations_api.rb +97 -2
  166. data/lib/purecloudplatformclientv2/api/external_contacts_api.rb +2 -2
  167. data/lib/purecloudplatformclientv2/api/organization_authorization_api.rb +1751 -0
  168. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  169. data/lib/purecloudplatformclientv2/models/agent_activity_entity_listing.rb +25 -25
  170. data/lib/purecloudplatformclientv2/models/attempt_limits_entity_listing.rb +25 -25
  171. data/lib/purecloudplatformclientv2/models/attribute_entity_listing.rb +25 -25
  172. data/lib/purecloudplatformclientv2/models/audit_query_response.rb +176 -0
  173. data/lib/purecloudplatformclientv2/models/calibration_entity_listing.rb +25 -25
  174. data/lib/purecloudplatformclientv2/models/call.rb +30 -4
  175. data/lib/purecloudplatformclientv2/models/call_basic.rb +30 -4
  176. data/lib/purecloudplatformclientv2/models/call_conversation_entity_listing.rb +25 -25
  177. data/lib/purecloudplatformclientv2/models/callable_time_set_entity_listing.rb +25 -25
  178. data/lib/purecloudplatformclientv2/models/callback_conversation_entity_listing.rb +25 -25
  179. data/lib/purecloudplatformclientv2/models/campaign.rb +15 -1
  180. data/lib/purecloudplatformclientv2/models/campaign_entity_listing.rb +25 -25
  181. data/lib/purecloudplatformclientv2/models/campaign_rule_entity_listing.rb +25 -25
  182. data/lib/purecloudplatformclientv2/models/campaign_sequence_entity_listing.rb +25 -25
  183. data/lib/purecloudplatformclientv2/models/certificate_authority_entity_listing.rb +25 -25
  184. data/lib/purecloudplatformclientv2/models/chat_conversation_entity_listing.rb +25 -25
  185. data/lib/purecloudplatformclientv2/models/cobrowse_conversation_entity_listing.rb +25 -25
  186. data/lib/purecloudplatformclientv2/models/command_status_entity_listing.rb +25 -25
  187. data/lib/purecloudplatformclientv2/models/consumed_resources_entity_listing.rb +25 -25
  188. data/lib/purecloudplatformclientv2/models/consuming_resources_entity_listing.rb +25 -25
  189. data/lib/purecloudplatformclientv2/models/contact_list_entity_listing.rb +25 -25
  190. data/lib/purecloudplatformclientv2/models/contact_list_filter_entity_listing.rb +25 -25
  191. data/lib/purecloudplatformclientv2/models/contact_listing.rb +25 -25
  192. data/lib/purecloudplatformclientv2/models/conversation_chat.rb +27 -1
  193. data/lib/purecloudplatformclientv2/models/conversation_entity_listing.rb +25 -25
  194. data/lib/purecloudplatformclientv2/models/create_callback_on_conversation_command.rb +393 -0
  195. data/lib/purecloudplatformclientv2/models/dependency_object_entity_listing.rb +25 -25
  196. data/lib/purecloudplatformclientv2/models/dependency_type_entity_listing.rb +25 -25
  197. data/lib/purecloudplatformclientv2/models/dialer_event_entity_listing.rb +25 -25
  198. data/lib/purecloudplatformclientv2/models/did_entity_listing.rb +25 -25
  199. data/lib/purecloudplatformclientv2/models/did_pool_entity_listing.rb +25 -25
  200. data/lib/purecloudplatformclientv2/models/dnc_list_entity_listing.rb +25 -25
  201. data/lib/purecloudplatformclientv2/models/document_audit_entity_listing.rb +25 -25
  202. data/lib/purecloudplatformclientv2/models/document_entity_listing.rb +25 -25
  203. data/lib/purecloudplatformclientv2/models/documentation_search_request.rb +29 -1
  204. data/lib/purecloudplatformclientv2/models/domain_edge_software_version_dto_entity_listing.rb +25 -25
  205. data/lib/purecloudplatformclientv2/models/domain_entity_listing.rb +25 -25
  206. data/lib/purecloudplatformclientv2/models/domain_entity_listing_evaluation_form.rb +25 -25
  207. data/lib/purecloudplatformclientv2/models/domain_entity_listing_query_result.rb +25 -25
  208. data/lib/purecloudplatformclientv2/models/edge_entity_listing.rb +25 -25
  209. data/lib/purecloudplatformclientv2/models/edge_group_entity_listing.rb +25 -25
  210. data/lib/purecloudplatformclientv2/models/edge_line_entity_listing.rb +25 -25
  211. data/lib/purecloudplatformclientv2/models/email.rb +56 -4
  212. data/lib/purecloudplatformclientv2/models/email_conversation_entity_listing.rb +25 -25
  213. data/lib/purecloudplatformclientv2/models/email_message_listing.rb +25 -25
  214. data/lib/purecloudplatformclientv2/models/encryption_key_entity_listing.rb +25 -25
  215. data/lib/purecloudplatformclientv2/models/endpoint_entity_listing.rb +25 -25
  216. data/lib/purecloudplatformclientv2/models/evaluation_entity_listing.rb +25 -25
  217. data/lib/purecloudplatformclientv2/models/evaluation_form_entity_listing.rb +25 -25
  218. data/lib/purecloudplatformclientv2/models/evaluator_activity_entity_listing.rb +25 -25
  219. data/lib/purecloudplatformclientv2/models/extension_entity_listing.rb +25 -25
  220. data/lib/purecloudplatformclientv2/models/extension_pool_entity_listing.rb +25 -25
  221. data/lib/purecloudplatformclientv2/models/external_organization_listing.rb +25 -25
  222. data/lib/purecloudplatformclientv2/models/facet.rb +238 -0
  223. data/lib/purecloudplatformclientv2/models/fax_document_entity_listing.rb +25 -25
  224. data/lib/purecloudplatformclientv2/models/filter.rb +302 -0
  225. data/lib/purecloudplatformclientv2/models/flow_entity_listing.rb +25 -25
  226. data/lib/purecloudplatformclientv2/models/flow_version_entity_listing.rb +25 -25
  227. data/lib/purecloudplatformclientv2/models/greeting_listing.rb +25 -25
  228. data/lib/purecloudplatformclientv2/models/group_entity_listing.rb +25 -25
  229. data/lib/purecloudplatformclientv2/models/group_search_request.rb +29 -1
  230. data/lib/purecloudplatformclientv2/models/history_listing.rb +197 -38
  231. data/lib/purecloudplatformclientv2/models/inbound_domain_entity_listing.rb +25 -25
  232. data/lib/purecloudplatformclientv2/models/inbound_route_entity_listing.rb +25 -25
  233. data/lib/purecloudplatformclientv2/models/interaction_stats_alert_container.rb +25 -25
  234. data/lib/purecloudplatformclientv2/models/interaction_stats_rule_container.rb +25 -25
  235. data/lib/purecloudplatformclientv2/models/ivr.rb +607 -0
  236. data/lib/purecloudplatformclientv2/models/ivr_entity_listing.rb +428 -0
  237. data/lib/purecloudplatformclientv2/models/keyword_set_entity_listing.rb +25 -25
  238. data/lib/purecloudplatformclientv2/models/language_entity_listing.rb +25 -25
  239. data/lib/purecloudplatformclientv2/models/library_entity_listing.rb +25 -25
  240. data/lib/purecloudplatformclientv2/models/line_base_entity_listing.rb +25 -25
  241. data/lib/purecloudplatformclientv2/models/line_entity_listing.rb +25 -25
  242. data/lib/purecloudplatformclientv2/models/location_entity_listing.rb +25 -25
  243. data/lib/purecloudplatformclientv2/models/location_search_request.rb +29 -1
  244. data/lib/purecloudplatformclientv2/models/logical_interface_entity_listing.rb +25 -25
  245. data/lib/purecloudplatformclientv2/models/note_listing.rb +25 -25
  246. data/lib/purecloudplatformclientv2/models/o_auth_client_entity_listing.rb +25 -25
  247. data/lib/purecloudplatformclientv2/models/o_auth_provider_entity_listing.rb +25 -25
  248. data/lib/purecloudplatformclientv2/models/organization_presence_entity_listing.rb +25 -25
  249. data/lib/purecloudplatformclientv2/models/organization_role_entity_listing.rb +25 -25
  250. data/lib/purecloudplatformclientv2/models/orphan_recording_listing.rb +25 -25
  251. data/lib/purecloudplatformclientv2/models/outbound_route_base_entity_listing.rb +25 -25
  252. data/lib/purecloudplatformclientv2/models/outbound_route_entity_listing.rb +25 -25
  253. data/lib/purecloudplatformclientv2/models/participant.rb +44 -4
  254. data/lib/purecloudplatformclientv2/models/participant_basic.rb +44 -4
  255. data/lib/purecloudplatformclientv2/models/permission_collection_entity_listing.rb +25 -25
  256. data/lib/purecloudplatformclientv2/models/phone_base_entity_listing.rb +25 -25
  257. data/lib/purecloudplatformclientv2/models/phone_entity_listing.rb +25 -25
  258. data/lib/purecloudplatformclientv2/models/phone_meta_base_entity_listing.rb +25 -25
  259. data/lib/purecloudplatformclientv2/models/physical_interface_entity_listing.rb +25 -25
  260. data/lib/purecloudplatformclientv2/models/policy_entity_listing.rb +25 -25
  261. data/lib/purecloudplatformclientv2/models/prompt_asset_entity_listing.rb +25 -25
  262. data/lib/purecloudplatformclientv2/models/prompt_entity_listing.rb +25 -25
  263. data/lib/purecloudplatformclientv2/models/quality_audit_page.rb +25 -25
  264. data/lib/purecloudplatformclientv2/models/queue_entity_listing.rb +25 -25
  265. data/lib/purecloudplatformclientv2/models/queue_member_entity_listing.rb +25 -25
  266. data/lib/purecloudplatformclientv2/models/reaction.rb +2 -2
  267. data/lib/purecloudplatformclientv2/models/relationship_listing.rb +25 -25
  268. data/lib/purecloudplatformclientv2/models/report_meta_data_entity_listing.rb +25 -25
  269. data/lib/purecloudplatformclientv2/models/report_run_entry_entity_domain_listing.rb +25 -25
  270. data/lib/purecloudplatformclientv2/models/report_schedule_entity_listing.rb +25 -25
  271. data/lib/purecloudplatformclientv2/models/response_entity_list.rb +25 -25
  272. data/lib/purecloudplatformclientv2/models/response_entity_listing.rb +25 -25
  273. data/lib/purecloudplatformclientv2/models/response_set_entity_listing.rb +25 -25
  274. data/lib/purecloudplatformclientv2/models/rule_set_entity_listing.rb +25 -25
  275. data/lib/purecloudplatformclientv2/models/schedule.rb +578 -0
  276. data/lib/purecloudplatformclientv2/models/schedule_entity_listing.rb +428 -0
  277. data/lib/purecloudplatformclientv2/models/schedule_group.rb +577 -0
  278. data/lib/purecloudplatformclientv2/models/schedule_group_entity_listing.rb +428 -0
  279. data/lib/purecloudplatformclientv2/models/schema_category_entity_listing.rb +25 -25
  280. data/lib/purecloudplatformclientv2/models/schema_reference_entity_listing.rb +25 -25
  281. data/lib/purecloudplatformclientv2/models/screen_recording_session.rb +8 -8
  282. data/lib/purecloudplatformclientv2/models/screen_recording_session_listing.rb +25 -25
  283. data/lib/purecloudplatformclientv2/models/script_entity_listing.rb +25 -25
  284. data/lib/purecloudplatformclientv2/models/search_request.rb +29 -1
  285. data/lib/purecloudplatformclientv2/models/search_sort.rb +242 -0
  286. data/lib/purecloudplatformclientv2/models/security_profile_entity_listing.rb +25 -25
  287. data/lib/purecloudplatformclientv2/models/set_uui_data_request.rb +202 -0
  288. data/lib/purecloudplatformclientv2/models/share_entity_listing.rb +25 -25
  289. data/lib/purecloudplatformclientv2/models/site_entity_listing.rb +25 -25
  290. data/lib/purecloudplatformclientv2/models/skill_entity_listing.rb +25 -25
  291. data/lib/purecloudplatformclientv2/models/social_expression.rb +27 -1
  292. data/lib/purecloudplatformclientv2/models/station_entity_listing.rb +25 -25
  293. data/lib/purecloudplatformclientv2/models/system_prompt_asset_entity_listing.rb +25 -25
  294. data/lib/purecloudplatformclientv2/models/system_prompt_entity_listing.rb +25 -25
  295. data/lib/purecloudplatformclientv2/models/tag_value_entity_listing.rb +25 -25
  296. data/lib/purecloudplatformclientv2/models/time_zone_entity_listing.rb +25 -25
  297. data/lib/purecloudplatformclientv2/models/trunk_base_entity_listing.rb +25 -25
  298. data/lib/purecloudplatformclientv2/models/trunk_entity_listing.rb +25 -25
  299. data/lib/purecloudplatformclientv2/models/trunk_metabase_entity_listing.rb +25 -25
  300. data/lib/purecloudplatformclientv2/models/trust_create.rb +271 -0
  301. data/lib/purecloudplatformclientv2/models/trust_entity_listing.rb +428 -0
  302. data/lib/purecloudplatformclientv2/models/trust_request.rb +344 -0
  303. data/lib/purecloudplatformclientv2/models/trust_request_create.rb +209 -0
  304. data/lib/purecloudplatformclientv2/models/trust_user.rb +822 -0
  305. data/lib/purecloudplatformclientv2/models/trust_user_create.rb +240 -0
  306. data/lib/purecloudplatformclientv2/models/trust_user_details.rb +228 -0
  307. data/lib/purecloudplatformclientv2/models/trust_user_entity_listing.rb +428 -0
  308. data/lib/purecloudplatformclientv2/models/{history_entry.rb → trustee.rb} +66 -46
  309. data/lib/purecloudplatformclientv2/models/trustee_audit_query_request.rb +376 -0
  310. data/lib/purecloudplatformclientv2/models/trustor_audit_query_request.rb +374 -0
  311. data/lib/purecloudplatformclientv2/models/trustor_entity_listing.rb +428 -0
  312. data/lib/purecloudplatformclientv2/models/user_entity_listing.rb +25 -25
  313. data/lib/purecloudplatformclientv2/models/user_me.rb +29 -1
  314. data/lib/purecloudplatformclientv2/models/user_queue_entity_listing.rb +25 -25
  315. data/lib/purecloudplatformclientv2/models/user_recording_entity_listing.rb +25 -25
  316. data/lib/purecloudplatformclientv2/models/user_search_request.rb +29 -1
  317. data/lib/purecloudplatformclientv2/models/user_skill_entity_listing.rb +25 -25
  318. data/lib/purecloudplatformclientv2/models/voicemail_message_entity_listing.rb +25 -25
  319. data/lib/purecloudplatformclientv2/models/voicemail_search_request.rb +29 -1
  320. data/lib/purecloudplatformclientv2/models/workspace_entity_listing.rb +25 -25
  321. data/lib/purecloudplatformclientv2/models/workspace_member_entity_listing.rb +25 -25
  322. data/lib/purecloudplatformclientv2/models/wrapup_code_entity_listing.rb +25 -25
  323. data/lib/purecloudplatformclientv2/version.rb +1 -1
  324. metadata +52 -4
  325. data/docs/HistoryEntry.md +0 -17
@@ -0,0 +1,209 @@
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 TrustRequestCreate
21
+ # The list of trustee users that are requesting access.
22
+ attr_accessor :user_ids
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+
28
+ :'user_ids' => :'userIds'
29
+
30
+ }
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.swagger_types
35
+ {
36
+
37
+ :'user_ids' => :'Array<String>'
38
+
39
+ }
40
+ end
41
+
42
+ # Initializes the object
43
+ # @param [Hash] attributes Model attributes in the form of hash
44
+ def initialize(attributes = {})
45
+ return unless attributes.is_a?(Hash)
46
+
47
+ # convert string to symbol for hash key
48
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
49
+
50
+
51
+ if attributes.has_key?(:'userIds')
52
+
53
+ if (value = attributes[:'userIds']).is_a?(Array)
54
+ self.user_ids = value
55
+ end
56
+
57
+
58
+
59
+ end
60
+
61
+
62
+ end
63
+
64
+ # Show invalid properties with the reasons. Usually used together with valid?
65
+ # @return Array for valid properies with the reasons
66
+ def list_invalid_properties
67
+ invalid_properties = Array.new
68
+
69
+
70
+ return invalid_properties
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ def valid?
76
+
77
+
78
+ if @user_ids.nil?
79
+ return false
80
+ end
81
+
82
+
83
+
84
+
85
+
86
+ end
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+ # Checks equality by comparing each attribute.
95
+ # @param [Object] Object to be compared
96
+ def ==(o)
97
+ return true if self.equal?(o)
98
+ self.class == o.class &&
99
+ user_ids == o.user_ids
100
+ end
101
+
102
+ # @see the `==` method
103
+ # @param [Object] Object to be compared
104
+ def eql?(o)
105
+ self == o
106
+ end
107
+
108
+ # Calculates hash code according to all attributes.
109
+ # @return [Fixnum] Hash code
110
+ def hash
111
+ [user_ids].hash
112
+ end
113
+
114
+ # build the object from hash
115
+ def build_from_hash(attributes)
116
+ return nil unless attributes.is_a?(Hash)
117
+ self.class.swagger_types.each_pair do |key, type|
118
+ if type =~ /^Array<(.*)>/i
119
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
120
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
121
+ else
122
+ #TODO show warning in debug mode
123
+ end
124
+ elsif !attributes[self.class.attribute_map[key]].nil?
125
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
126
+ else
127
+ # data not found in attributes(hash), not an issue as the data can be optional
128
+ end
129
+ end
130
+
131
+ self
132
+ end
133
+
134
+ def _deserialize(type, value)
135
+ case type.to_sym
136
+ when :DateTime
137
+ DateTime.parse(value)
138
+ when :Date
139
+ Date.parse(value)
140
+ when :String
141
+ value.to_s
142
+ when :Integer
143
+ value.to_i
144
+ when :Float
145
+ value.to_f
146
+ when :BOOLEAN
147
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
148
+ true
149
+ else
150
+ false
151
+ end
152
+ when :Object
153
+ # generic object (usually a Hash), return directly
154
+ value
155
+ when /\AArray<(?<inner_type>.+)>\z/
156
+ inner_type = Regexp.last_match[:inner_type]
157
+ value.map { |v| _deserialize(inner_type, v) }
158
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
159
+ k_type = Regexp.last_match[:k_type]
160
+ v_type = Regexp.last_match[:v_type]
161
+ {}.tap do |hash|
162
+ value.each do |k, v|
163
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
164
+ end
165
+ end
166
+ else # model
167
+ _model = Object.const_get("PureCloud").const_get(type).new
168
+ _model.build_from_hash(value)
169
+ end
170
+ end
171
+
172
+ def to_s
173
+ to_hash.to_s
174
+ end
175
+
176
+ # to_body is an alias to to_body (backward compatibility))
177
+ def to_body
178
+ to_hash
179
+ end
180
+
181
+ # return the object in the form of hash
182
+ def to_hash
183
+ hash = {}
184
+ self.class.attribute_map.each_pair do |attr, param|
185
+ value = self.send(attr)
186
+ next if value.nil?
187
+ hash[param] = _to_hash(value)
188
+ end
189
+ hash
190
+ end
191
+
192
+ # Method to output non-array value in the form of hash
193
+ # For object, use to_hash. Otherwise, just return the value
194
+ def _to_hash(value)
195
+ if value.is_a?(Array)
196
+ value.compact.map{ |v| _to_hash(v) }
197
+ elsif value.is_a?(Hash)
198
+ {}.tap do |hash|
199
+ value.each { |k, v| hash[k] = _to_hash(v) }
200
+ end
201
+ elsif value.respond_to? :to_hash
202
+ value.to_hash
203
+ else
204
+ value
205
+ end
206
+ end
207
+
208
+ end
209
+ end
@@ -0,0 +1,822 @@
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 TrustUser
21
+ # The globally unique identifier for the object.
22
+ attr_accessor :id
23
+
24
+ attr_accessor :name
25
+
26
+ attr_accessor :chat
27
+
28
+ attr_accessor :department
29
+
30
+ attr_accessor :email
31
+
32
+ # Auto populated from addresses.
33
+ attr_accessor :primary_contact_info
34
+
35
+ # Email addresses and phone numbers for this user
36
+ attr_accessor :addresses
37
+
38
+ # The current state for this user.
39
+ attr_accessor :state
40
+
41
+ attr_accessor :title
42
+
43
+ attr_accessor :username
44
+
45
+ attr_accessor :manager
46
+
47
+ attr_accessor :images
48
+
49
+ # Required when updating a user, this value should be the current version of the user. The current version can be obtained with a GET on the user before doing a PATCH.
50
+ attr_accessor :version
51
+
52
+ # ACD routing status
53
+ attr_accessor :routing_status
54
+
55
+ # Active presence
56
+ attr_accessor :presence
57
+
58
+ # Summary of conversion statistics for conversation types.
59
+ attr_accessor :conversation_summary
60
+
61
+ # Determine if out of office is enabled
62
+ attr_accessor :out_of_office
63
+
64
+ # Current geolocation position
65
+ attr_accessor :geolocation
66
+
67
+ # Effective, default, and last station information
68
+ attr_accessor :station
69
+
70
+ # Roles and permissions assigned to the user
71
+ attr_accessor :authorization
72
+
73
+ # Skills possessed by the user
74
+ attr_accessor :profile_skills
75
+
76
+ # The user placement at each site location.
77
+ attr_accessor :locations
78
+
79
+ # The groups the user is a member of
80
+ attr_accessor :groups
81
+
82
+ attr_accessor :trust_user_details
83
+
84
+ # Attribute mapping from ruby-style variable name to JSON key.
85
+ def self.attribute_map
86
+ {
87
+
88
+ :'id' => :'id',
89
+
90
+ :'name' => :'name',
91
+
92
+ :'chat' => :'chat',
93
+
94
+ :'department' => :'department',
95
+
96
+ :'email' => :'email',
97
+
98
+ :'primary_contact_info' => :'primaryContactInfo',
99
+
100
+ :'addresses' => :'addresses',
101
+
102
+ :'state' => :'state',
103
+
104
+ :'title' => :'title',
105
+
106
+ :'username' => :'username',
107
+
108
+ :'manager' => :'manager',
109
+
110
+ :'images' => :'images',
111
+
112
+ :'version' => :'version',
113
+
114
+ :'routing_status' => :'routingStatus',
115
+
116
+ :'presence' => :'presence',
117
+
118
+ :'conversation_summary' => :'conversationSummary',
119
+
120
+ :'out_of_office' => :'outOfOffice',
121
+
122
+ :'geolocation' => :'geolocation',
123
+
124
+ :'station' => :'station',
125
+
126
+ :'authorization' => :'authorization',
127
+
128
+ :'profile_skills' => :'profileSkills',
129
+
130
+ :'locations' => :'locations',
131
+
132
+ :'groups' => :'groups',
133
+
134
+ :'trust_user_details' => :'trustUserDetails'
135
+
136
+ }
137
+ end
138
+
139
+ # Attribute type mapping.
140
+ def self.swagger_types
141
+ {
142
+
143
+ :'id' => :'String',
144
+
145
+ :'name' => :'String',
146
+
147
+ :'chat' => :'Chat',
148
+
149
+ :'department' => :'String',
150
+
151
+ :'email' => :'String',
152
+
153
+ :'primary_contact_info' => :'Array<Contact>',
154
+
155
+ :'addresses' => :'Array<Contact>',
156
+
157
+ :'state' => :'String',
158
+
159
+ :'title' => :'String',
160
+
161
+ :'username' => :'String',
162
+
163
+ :'manager' => :'User',
164
+
165
+ :'images' => :'Array<UserImage>',
166
+
167
+ :'version' => :'Integer',
168
+
169
+ :'routing_status' => :'RoutingStatus',
170
+
171
+ :'presence' => :'UserPresence',
172
+
173
+ :'conversation_summary' => :'UserConversationSummary',
174
+
175
+ :'out_of_office' => :'OutOfOffice',
176
+
177
+ :'geolocation' => :'Geolocation',
178
+
179
+ :'station' => :'UserStations',
180
+
181
+ :'authorization' => :'UserAuthorization',
182
+
183
+ :'profile_skills' => :'Array<String>',
184
+
185
+ :'locations' => :'Array<Location>',
186
+
187
+ :'groups' => :'Array<Group>',
188
+
189
+ :'trust_user_details' => :'TrustUserDetails'
190
+
191
+ }
192
+ end
193
+
194
+ # Initializes the object
195
+ # @param [Hash] attributes Model attributes in the form of hash
196
+ def initialize(attributes = {})
197
+ return unless attributes.is_a?(Hash)
198
+
199
+ # convert string to symbol for hash key
200
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
201
+
202
+
203
+ if attributes.has_key?(:'id')
204
+
205
+
206
+ self.id = attributes[:'id']
207
+
208
+
209
+ end
210
+
211
+
212
+ if attributes.has_key?(:'name')
213
+
214
+
215
+ self.name = attributes[:'name']
216
+
217
+
218
+ end
219
+
220
+
221
+ if attributes.has_key?(:'chat')
222
+
223
+
224
+ self.chat = attributes[:'chat']
225
+
226
+
227
+ end
228
+
229
+
230
+ if attributes.has_key?(:'department')
231
+
232
+
233
+ self.department = attributes[:'department']
234
+
235
+
236
+ end
237
+
238
+
239
+ if attributes.has_key?(:'email')
240
+
241
+
242
+ self.email = attributes[:'email']
243
+
244
+
245
+ end
246
+
247
+
248
+ if attributes.has_key?(:'primaryContactInfo')
249
+
250
+ if (value = attributes[:'primaryContactInfo']).is_a?(Array)
251
+ self.primary_contact_info = value
252
+ end
253
+
254
+
255
+
256
+ end
257
+
258
+
259
+ if attributes.has_key?(:'addresses')
260
+
261
+ if (value = attributes[:'addresses']).is_a?(Array)
262
+ self.addresses = value
263
+ end
264
+
265
+
266
+
267
+ end
268
+
269
+
270
+ if attributes.has_key?(:'state')
271
+
272
+
273
+ self.state = attributes[:'state']
274
+
275
+
276
+ end
277
+
278
+
279
+ if attributes.has_key?(:'title')
280
+
281
+
282
+ self.title = attributes[:'title']
283
+
284
+
285
+ end
286
+
287
+
288
+ if attributes.has_key?(:'username')
289
+
290
+
291
+ self.username = attributes[:'username']
292
+
293
+
294
+ end
295
+
296
+
297
+ if attributes.has_key?(:'manager')
298
+
299
+
300
+ self.manager = attributes[:'manager']
301
+
302
+
303
+ end
304
+
305
+
306
+ if attributes.has_key?(:'images')
307
+
308
+ if (value = attributes[:'images']).is_a?(Array)
309
+ self.images = value
310
+ end
311
+
312
+
313
+
314
+ end
315
+
316
+
317
+ if attributes.has_key?(:'version')
318
+
319
+
320
+ self.version = attributes[:'version']
321
+
322
+
323
+ end
324
+
325
+
326
+ if attributes.has_key?(:'routingStatus')
327
+
328
+
329
+ self.routing_status = attributes[:'routingStatus']
330
+
331
+
332
+ end
333
+
334
+
335
+ if attributes.has_key?(:'presence')
336
+
337
+
338
+ self.presence = attributes[:'presence']
339
+
340
+
341
+ end
342
+
343
+
344
+ if attributes.has_key?(:'conversationSummary')
345
+
346
+
347
+ self.conversation_summary = attributes[:'conversationSummary']
348
+
349
+
350
+ end
351
+
352
+
353
+ if attributes.has_key?(:'outOfOffice')
354
+
355
+
356
+ self.out_of_office = attributes[:'outOfOffice']
357
+
358
+
359
+ end
360
+
361
+
362
+ if attributes.has_key?(:'geolocation')
363
+
364
+
365
+ self.geolocation = attributes[:'geolocation']
366
+
367
+
368
+ end
369
+
370
+
371
+ if attributes.has_key?(:'station')
372
+
373
+
374
+ self.station = attributes[:'station']
375
+
376
+
377
+ end
378
+
379
+
380
+ if attributes.has_key?(:'authorization')
381
+
382
+
383
+ self.authorization = attributes[:'authorization']
384
+
385
+
386
+ end
387
+
388
+
389
+ if attributes.has_key?(:'profileSkills')
390
+
391
+ if (value = attributes[:'profileSkills']).is_a?(Array)
392
+ self.profile_skills = value
393
+ end
394
+
395
+
396
+
397
+ end
398
+
399
+
400
+ if attributes.has_key?(:'locations')
401
+
402
+ if (value = attributes[:'locations']).is_a?(Array)
403
+ self.locations = value
404
+ end
405
+
406
+
407
+
408
+ end
409
+
410
+
411
+ if attributes.has_key?(:'groups')
412
+
413
+ if (value = attributes[:'groups']).is_a?(Array)
414
+ self.groups = value
415
+ end
416
+
417
+
418
+
419
+ end
420
+
421
+
422
+ if attributes.has_key?(:'trustUserDetails')
423
+
424
+
425
+ self.trust_user_details = attributes[:'trustUserDetails']
426
+
427
+
428
+ end
429
+
430
+
431
+ end
432
+
433
+ # Show invalid properties with the reasons. Usually used together with valid?
434
+ # @return Array for valid properies with the reasons
435
+ def list_invalid_properties
436
+ invalid_properties = Array.new
437
+
438
+
439
+ return invalid_properties
440
+ end
441
+
442
+ # Check to see if the all the properties in the model are valid
443
+ # @return true if the model is valid
444
+ def valid?
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+ allowed_values = ["active", "inactive", "deleted"]
477
+ if @state && !allowed_values.include?(@state)
478
+ return false
479
+ end
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+ if @version.nil?
501
+ return false
502
+ end
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+ end
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+ # Custom attribute writer method checking allowed values (enum).
592
+ # @param [Object] state Object to be assigned
593
+ def state=(state)
594
+ allowed_values = ["active", "inactive", "deleted"]
595
+ if state && !allowed_values.include?(state)
596
+ fail ArgumentError, "invalid value for 'state', must be one of #{allowed_values}."
597
+ end
598
+ @state = state
599
+ end
600
+
601
+
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+
637
+
638
+
639
+
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+ # Checks equality by comparing each attribute.
685
+ # @param [Object] Object to be compared
686
+ def ==(o)
687
+ return true if self.equal?(o)
688
+ self.class == o.class &&
689
+ id == o.id &&
690
+ name == o.name &&
691
+ chat == o.chat &&
692
+ department == o.department &&
693
+ email == o.email &&
694
+ primary_contact_info == o.primary_contact_info &&
695
+ addresses == o.addresses &&
696
+ state == o.state &&
697
+ title == o.title &&
698
+ username == o.username &&
699
+ manager == o.manager &&
700
+ images == o.images &&
701
+ version == o.version &&
702
+ routing_status == o.routing_status &&
703
+ presence == o.presence &&
704
+ conversation_summary == o.conversation_summary &&
705
+ out_of_office == o.out_of_office &&
706
+ geolocation == o.geolocation &&
707
+ station == o.station &&
708
+ authorization == o.authorization &&
709
+ profile_skills == o.profile_skills &&
710
+ locations == o.locations &&
711
+ groups == o.groups &&
712
+ trust_user_details == o.trust_user_details
713
+ end
714
+
715
+ # @see the `==` method
716
+ # @param [Object] Object to be compared
717
+ def eql?(o)
718
+ self == o
719
+ end
720
+
721
+ # Calculates hash code according to all attributes.
722
+ # @return [Fixnum] Hash code
723
+ def hash
724
+ [id, name, chat, department, email, primary_contact_info, addresses, state, title, username, manager, images, version, routing_status, presence, conversation_summary, out_of_office, geolocation, station, authorization, profile_skills, locations, groups, trust_user_details].hash
725
+ end
726
+
727
+ # build the object from hash
728
+ def build_from_hash(attributes)
729
+ return nil unless attributes.is_a?(Hash)
730
+ self.class.swagger_types.each_pair do |key, type|
731
+ if type =~ /^Array<(.*)>/i
732
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
733
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
734
+ else
735
+ #TODO show warning in debug mode
736
+ end
737
+ elsif !attributes[self.class.attribute_map[key]].nil?
738
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
739
+ else
740
+ # data not found in attributes(hash), not an issue as the data can be optional
741
+ end
742
+ end
743
+
744
+ self
745
+ end
746
+
747
+ def _deserialize(type, value)
748
+ case type.to_sym
749
+ when :DateTime
750
+ DateTime.parse(value)
751
+ when :Date
752
+ Date.parse(value)
753
+ when :String
754
+ value.to_s
755
+ when :Integer
756
+ value.to_i
757
+ when :Float
758
+ value.to_f
759
+ when :BOOLEAN
760
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
761
+ true
762
+ else
763
+ false
764
+ end
765
+ when :Object
766
+ # generic object (usually a Hash), return directly
767
+ value
768
+ when /\AArray<(?<inner_type>.+)>\z/
769
+ inner_type = Regexp.last_match[:inner_type]
770
+ value.map { |v| _deserialize(inner_type, v) }
771
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
772
+ k_type = Regexp.last_match[:k_type]
773
+ v_type = Regexp.last_match[:v_type]
774
+ {}.tap do |hash|
775
+ value.each do |k, v|
776
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
777
+ end
778
+ end
779
+ else # model
780
+ _model = Object.const_get("PureCloud").const_get(type).new
781
+ _model.build_from_hash(value)
782
+ end
783
+ end
784
+
785
+ def to_s
786
+ to_hash.to_s
787
+ end
788
+
789
+ # to_body is an alias to to_body (backward compatibility))
790
+ def to_body
791
+ to_hash
792
+ end
793
+
794
+ # return the object in the form of hash
795
+ def to_hash
796
+ hash = {}
797
+ self.class.attribute_map.each_pair do |attr, param|
798
+ value = self.send(attr)
799
+ next if value.nil?
800
+ hash[param] = _to_hash(value)
801
+ end
802
+ hash
803
+ end
804
+
805
+ # Method to output non-array value in the form of hash
806
+ # For object, use to_hash. Otherwise, just return the value
807
+ def _to_hash(value)
808
+ if value.is_a?(Array)
809
+ value.compact.map{ |v| _to_hash(v) }
810
+ elsif value.is_a?(Hash)
811
+ {}.tap do |hash|
812
+ value.each { |k, v| hash[k] = _to_hash(v) }
813
+ end
814
+ elsif value.respond_to? :to_hash
815
+ value.to_hash
816
+ else
817
+ value
818
+ end
819
+ end
820
+
821
+ end
822
+ end