gong_api 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (531) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +906 -0
  4. data/Rakefile +8 -0
  5. data/config.json +12 -0
  6. data/docs/Actor.md +10 -0
  7. data/docs/AggregateActivity.md +21 -0
  8. data/docs/AggregateActivityWithDates.md +23 -0
  9. data/docs/Answer.md +12 -0
  10. data/docs/AnsweredScorecard.md +16 -0
  11. data/docs/AnsweredScorecards.md +9 -0
  12. data/docs/AnsweredScorecardsFilter.md +12 -0
  13. data/docs/AssociationObject.md +8 -0
  14. data/docs/AsyncProcessingResponse.md +8 -0
  15. data/docs/AuditingApi.md +61 -0
  16. data/docs/BaseResponse.md +7 -0
  17. data/docs/CRMApi.md +490 -0
  18. data/docs/Call.md +13 -0
  19. data/docs/CallAccessDetails.md +8 -0
  20. data/docs/CallAccessWithPermissionLevel.md +8 -0
  21. data/docs/CallBasicData.md +25 -0
  22. data/docs/CallCollaboration.md +7 -0
  23. data/docs/CallContent.md +11 -0
  24. data/docs/CallContext.md +8 -0
  25. data/docs/CallInteraction.md +10 -0
  26. data/docs/CallParticipant.md +13 -0
  27. data/docs/CallReference.md +9 -0
  28. data/docs/CallTranscript.md +8 -0
  29. data/docs/CallTranscripts.md +9 -0
  30. data/docs/CallUploadContext.md +8 -0
  31. data/docs/CallUsersAccessDto.md +8 -0
  32. data/docs/Calls.md +9 -0
  33. data/docs/CallsAccessDetailsResponse.md +8 -0
  34. data/docs/CallsAccessGetDto.md +7 -0
  35. data/docs/CallsApi.md +349 -0
  36. data/docs/CallsFilter.md +10 -0
  37. data/docs/CallsRequestFilterWithOwners.md +11 -0
  38. data/docs/CallsResponse.md +9 -0
  39. data/docs/CallsUsersAccessAddDto.md +7 -0
  40. data/docs/CallsUsersAccessDeleteDto.md +7 -0
  41. data/docs/CoachingAccessWithPermissionLevel.md +8 -0
  42. data/docs/Collaboration.md +7 -0
  43. data/docs/Comment.md +14 -0
  44. data/docs/CompanyUsersAggregateActivityResponse.md +12 -0
  45. data/docs/CompanyUsersIntercationStatsResponse.md +12 -0
  46. data/docs/Content.md +10 -0
  47. data/docs/ContentSelector.md +9 -0
  48. data/docs/ContentSharedEvent.md +23 -0
  49. data/docs/ContentViewedEvent.md +23 -0
  50. data/docs/ContextField.md +8 -0
  51. data/docs/CrmPartyContextField.md +8 -0
  52. data/docs/CustomActionEvent.md +22 -0
  53. data/docs/CustomerData.md +8 -0
  54. data/docs/CustomerDataObject.md +11 -0
  55. data/docs/CustomerEngagement.md +13 -0
  56. data/docs/DailyActivityWithDates.md +23 -0
  57. data/docs/DataPrivacyApi.md +195 -0
  58. data/docs/DealsAccessWithPermissionLevel.md +8 -0
  59. data/docs/DeleteMeetingRequest.md +7 -0
  60. data/docs/EmailAddressReferences.md +12 -0
  61. data/docs/EmailMessage.md +11 -0
  62. data/docs/EmailsAccessWithPermissionLevel.md +8 -0
  63. data/docs/EngagementInBetaPhaseApi.md +148 -0
  64. data/docs/ErrorResponse.md +8 -0
  65. data/docs/EventAcceptedResponse.md +7 -0
  66. data/docs/ExposedFields.md +11 -0
  67. data/docs/ExternalCallObject.md +10 -0
  68. data/docs/ExternalCrmCallObject.md +9 -0
  69. data/docs/ExternalCrmPartyObject.md +9 -0
  70. data/docs/ExternalPartyObject.md +10 -0
  71. data/docs/ExternalSystem.md +8 -0
  72. data/docs/ExternalSystemObject.md +8 -0
  73. data/docs/ForecastAccessWithPermissionLevel.md +8 -0
  74. data/docs/GenericCrmIntegration.md +9 -0
  75. data/docs/GenericCrmRegistrationRequest.md +8 -0
  76. data/docs/GenericDealStageRequest.md +10 -0
  77. data/docs/GenericProperty.md +9 -0
  78. data/docs/GenericSchemaFieldRequest.md +14 -0
  79. data/docs/GetGenericCrmObjectsResponse.md +8 -0
  80. data/docs/IdMediaBody.md +7 -0
  81. data/docs/InsightsAccessWithPermissionLevel.md +8 -0
  82. data/docs/IntegrationStatusRequest.md +7 -0
  83. data/docs/IntegrationStatusResponse.md +8 -0
  84. data/docs/Interaction.md +10 -0
  85. data/docs/InteractionStat.md +8 -0
  86. data/docs/InteractionStats.md +9 -0
  87. data/docs/LibraryApi.md +103 -0
  88. data/docs/LibraryCall.md +13 -0
  89. data/docs/LibraryFolder.md +11 -0
  90. data/docs/LibraryFolderAccess.md +11 -0
  91. data/docs/LibraryFolderListOfCallsResponse.md +12 -0
  92. data/docs/LibraryResponse.md +8 -0
  93. data/docs/LineErrorResponse.md +8 -0
  94. data/docs/ListGenericCrmIntegrationsResponse.md +8 -0
  95. data/docs/ListSelectedFieldsResponse.md +8 -0
  96. data/docs/LogEntry.md +15 -0
  97. data/docs/LogsResponse.md +9 -0
  98. data/docs/ManualAssociationResponse.md +9 -0
  99. data/docs/ManualAssociationsBasicData.md +10 -0
  100. data/docs/MapUsersBody.md +7 -0
  101. data/docs/Media.md +8 -0
  102. data/docs/Meeting.md +7 -0
  103. data/docs/MeetingInvitee.md +10 -0
  104. data/docs/MeetingsErrorResponse.md +11 -0
  105. data/docs/MeetingsInBetaPhaseApi.md +199 -0
  106. data/docs/Monologue.md +9 -0
  107. data/docs/MultipleUsersRequestWithCreationDates.md +10 -0
  108. data/docs/MultipleUsersWithDates.md +9 -0
  109. data/docs/NewCallAddingRequest.md +25 -0
  110. data/docs/NewCallAddingResponse.md +8 -0
  111. data/docs/NewCallRecordingResponse.md +9 -0
  112. data/docs/NewMeetingRequest.md +12 -0
  113. data/docs/NewMeetingResponse.md +10 -0
  114. data/docs/ObjectEntitiesBody.md +7 -0
  115. data/docs/Occurrences.md +8 -0
  116. data/docs/Party.md +16 -0
  117. data/docs/PartyContext.md +8 -0
  118. data/docs/PartyContextField.md +8 -0
  119. data/docs/PartyUploadContext.md +8 -0
  120. data/docs/PermissionProfileDTO.md +41 -0
  121. data/docs/PermissionProfileResponse.md +8 -0
  122. data/docs/PermissionProfileUsersResponse.md +8 -0
  123. data/docs/PermissionProfilesResponse.md +8 -0
  124. data/docs/PermissionsApi.md +387 -0
  125. data/docs/PhoneNumberReferences.md +14 -0
  126. data/docs/PointOfInterest.md +10 -0
  127. data/docs/PointsOfInterest.md +7 -0
  128. data/docs/Question.md +13 -0
  129. data/docs/Questions.md +8 -0
  130. data/docs/Records.md +10 -0
  131. data/docs/RegisterGenericCrmResponse.md +8 -0
  132. data/docs/RequestAnsweredScorecardsFilter.md +8 -0
  133. data/docs/RequestCallsAccessGetDto.md +7 -0
  134. data/docs/RequestCallsFilter.md +8 -0
  135. data/docs/RequestCallsRequestFilterWithOwnersContentSelector.md +9 -0
  136. data/docs/RequestMultipleUsersRequestWithCreationDates.md +8 -0
  137. data/docs/RequestMultipleUsersWithDates.md +8 -0
  138. data/docs/RequestStatusResponse.md +11 -0
  139. data/docs/RequestWithTimePeriodMultipleUsersWithDates.md +9 -0
  140. data/docs/SchemaUpdateResponse.md +7 -0
  141. data/docs/Scorecard.md +14 -0
  142. data/docs/Scorecards.md +8 -0
  143. data/docs/Sentence.md +9 -0
  144. data/docs/Settings.md +12 -0
  145. data/docs/SettingsApi.md +91 -0
  146. data/docs/SettingsHistory.md +8 -0
  147. data/docs/Sharer.md +9 -0
  148. data/docs/Snippet.md +8 -0
  149. data/docs/Speaker.md +9 -0
  150. data/docs/SpeakersTimeline.md +8 -0
  151. data/docs/SpecificCall.md +8 -0
  152. data/docs/SpeechSegment.md +9 -0
  153. data/docs/SpokenLanguage.md +8 -0
  154. data/docs/StatsApi.md +242 -0
  155. data/docs/Structure.md +8 -0
  156. data/docs/Topic.md +8 -0
  157. data/docs/Tracker.md +12 -0
  158. data/docs/TrackerPhrases.md +9 -0
  159. data/docs/UpdateMeetingRequest.md +12 -0
  160. data/docs/UpdateMeetingResponse.md +8 -0
  161. data/docs/User.md +8 -0
  162. data/docs/UserAccessDetails.md +7 -0
  163. data/docs/UserActivity.md +9 -0
  164. data/docs/UserAggregateByPeriodActivities.md +9 -0
  165. data/docs/UserDayByDayActivity.md +9 -0
  166. data/docs/UserIntegrationStatus.md +12 -0
  167. data/docs/UserMetadata.md +21 -0
  168. data/docs/UserSettingsHistory.md +9 -0
  169. data/docs/UserSimpleMetadata.md +9 -0
  170. data/docs/UsersAggregateByPeriodActivity.md +9 -0
  171. data/docs/UsersApi.md +198 -0
  172. data/docs/UsersDayByDayActivity.md +9 -0
  173. data/docs/UsersMetadata.md +9 -0
  174. data/docs/Video.md +8 -0
  175. data/docs/WorkspaceMetadata.md +9 -0
  176. data/docs/WorkspacesMetadata.md +8 -0
  177. data/git_push.sh +55 -0
  178. data/gong-swagger.json +1 -0
  179. data/gong_api.gemspec +38 -0
  180. data/lib/gong_api/api/auditing_api.rb +94 -0
  181. data/lib/gong_api/api/calls_api.rb +437 -0
  182. data/lib/gong_api/api/crm_api.rb +651 -0
  183. data/lib/gong_api/api/data_privacy_api.rb +248 -0
  184. data/lib/gong_api/api/engagement_in_beta_phase_api.rb +194 -0
  185. data/lib/gong_api/api/library_api.rb +126 -0
  186. data/lib/gong_api/api/meetings_in_beta_phase_api.rb +264 -0
  187. data/lib/gong_api/api/permissions_api.rb +495 -0
  188. data/lib/gong_api/api/settings_api.rb +120 -0
  189. data/lib/gong_api/api/stats_api.rb +310 -0
  190. data/lib/gong_api/api/users_api.rb +246 -0
  191. data/lib/gong_api/api_client.rb +387 -0
  192. data/lib/gong_api/api_error.rb +57 -0
  193. data/lib/gong_api/configuration.rb +198 -0
  194. data/lib/gong_api/models/actor.rb +239 -0
  195. data/lib/gong_api/models/aggregate_activity.rb +348 -0
  196. data/lib/gong_api/models/aggregate_activity_with_dates.rb +368 -0
  197. data/lib/gong_api/models/answer.rb +257 -0
  198. data/lib/gong_api/models/answered_scorecard.rb +332 -0
  199. data/lib/gong_api/models/answered_scorecards.rb +228 -0
  200. data/lib/gong_api/models/answered_scorecards_filter.rb +258 -0
  201. data/lib/gong_api/models/association_object.rb +217 -0
  202. data/lib/gong_api/models/async_processing_response.rb +217 -0
  203. data/lib/gong_api/models/base_response.rb +207 -0
  204. data/lib/gong_api/models/call.rb +267 -0
  205. data/lib/gong_api/models/call_access_details.rb +220 -0
  206. data/lib/gong_api/models/call_access_with_permission_level.rb +254 -0
  207. data/lib/gong_api/models/call_basic_data.rb +446 -0
  208. data/lib/gong_api/models/call_collaboration.rb +208 -0
  209. data/lib/gong_api/models/call_content.rb +248 -0
  210. data/lib/gong_api/models/call_context.rb +254 -0
  211. data/lib/gong_api/models/call_interaction.rb +238 -0
  212. data/lib/gong_api/models/call_participant.rb +269 -0
  213. data/lib/gong_api/models/call_reference.rb +230 -0
  214. data/lib/gong_api/models/call_transcript.rb +219 -0
  215. data/lib/gong_api/models/call_transcripts.rb +228 -0
  216. data/lib/gong_api/models/call_upload_context.rb +259 -0
  217. data/lib/gong_api/models/call_users_access_dto.rb +228 -0
  218. data/lib/gong_api/models/calls.rb +228 -0
  219. data/lib/gong_api/models/calls_access_details_response.rb +219 -0
  220. data/lib/gong_api/models/calls_access_get_dto.rb +212 -0
  221. data/lib/gong_api/models/calls_filter.rb +238 -0
  222. data/lib/gong_api/models/calls_request_filter_with_owners.rb +248 -0
  223. data/lib/gong_api/models/calls_response.rb +228 -0
  224. data/lib/gong_api/models/calls_users_access_add_dto.rb +209 -0
  225. data/lib/gong_api/models/calls_users_access_delete_dto.rb +209 -0
  226. data/lib/gong_api/models/coaching_access_with_permission_level.rb +254 -0
  227. data/lib/gong_api/models/collaboration.rb +210 -0
  228. data/lib/gong_api/models/comment.rb +277 -0
  229. data/lib/gong_api/models/company_users_aggregate_activity_response.rb +258 -0
  230. data/lib/gong_api/models/company_users_intercation_stats_response.rb +258 -0
  231. data/lib/gong_api/models/content.rb +243 -0
  232. data/lib/gong_api/models/content_selector.rb +263 -0
  233. data/lib/gong_api/models/content_shared_event.rb +400 -0
  234. data/lib/gong_api/models/content_viewed_event.rb +432 -0
  235. data/lib/gong_api/models/context_field.rb +218 -0
  236. data/lib/gong_api/models/crm_party_context_field.rb +218 -0
  237. data/lib/gong_api/models/custom_action_event.rb +407 -0
  238. data/lib/gong_api/models/customer_data.rb +253 -0
  239. data/lib/gong_api/models/customer_data_object.rb +283 -0
  240. data/lib/gong_api/models/customer_engagement.rb +301 -0
  241. data/lib/gong_api/models/daily_activity_with_dates.rb +368 -0
  242. data/lib/gong_api/models/deals_access_with_permission_level.rb +254 -0
  243. data/lib/gong_api/models/delete_meeting_request.rb +208 -0
  244. data/lib/gong_api/models/email_address_references.rb +267 -0
  245. data/lib/gong_api/models/email_message.rb +247 -0
  246. data/lib/gong_api/models/emails_access_with_permission_level.rb +254 -0
  247. data/lib/gong_api/models/error_response.rb +217 -0
  248. data/lib/gong_api/models/event_accepted_response.rb +207 -0
  249. data/lib/gong_api/models/exposed_fields.rb +245 -0
  250. data/lib/gong_api/models/external_call_object.rb +286 -0
  251. data/lib/gong_api/models/external_crm_call_object.rb +274 -0
  252. data/lib/gong_api/models/external_crm_party_object.rb +274 -0
  253. data/lib/gong_api/models/external_party_object.rb +286 -0
  254. data/lib/gong_api/models/external_system.rb +253 -0
  255. data/lib/gong_api/models/external_system_object.rb +251 -0
  256. data/lib/gong_api/models/forecast_access_with_permission_level.rb +254 -0
  257. data/lib/gong_api/models/generic_crm_integration.rb +227 -0
  258. data/lib/gong_api/models/generic_crm_registration_request.rb +227 -0
  259. data/lib/gong_api/models/generic_deal_stage_request.rb +257 -0
  260. data/lib/gong_api/models/generic_property.rb +276 -0
  261. data/lib/gong_api/models/generic_schema_field_request.rb +328 -0
  262. data/lib/gong_api/models/get_generic_crm_objects_response.rb +219 -0
  263. data/lib/gong_api/models/id_media_body.rb +206 -0
  264. data/lib/gong_api/models/insights_access_with_permission_level.rb +254 -0
  265. data/lib/gong_api/models/integration_status_request.rb +209 -0
  266. data/lib/gong_api/models/integration_status_response.rb +219 -0
  267. data/lib/gong_api/models/interaction.rb +243 -0
  268. data/lib/gong_api/models/interaction_stat.rb +217 -0
  269. data/lib/gong_api/models/interaction_stats.rb +228 -0
  270. data/lib/gong_api/models/library_call.rb +267 -0
  271. data/lib/gong_api/models/library_folder.rb +248 -0
  272. data/lib/gong_api/models/library_folder_access.rb +284 -0
  273. data/lib/gong_api/models/library_folder_list_of_calls_response.rb +259 -0
  274. data/lib/gong_api/models/library_response.rb +219 -0
  275. data/lib/gong_api/models/line_error_response.rb +217 -0
  276. data/lib/gong_api/models/list_generic_crm_integrations_response.rb +219 -0
  277. data/lib/gong_api/models/list_selected_fields_response.rb +219 -0
  278. data/lib/gong_api/models/log_entry.rb +287 -0
  279. data/lib/gong_api/models/logs_response.rb +228 -0
  280. data/lib/gong_api/models/manual_association_response.rb +228 -0
  281. data/lib/gong_api/models/manual_associations_basic_data.rb +240 -0
  282. data/lib/gong_api/models/map_users_body.rb +206 -0
  283. data/lib/gong_api/models/media.rb +218 -0
  284. data/lib/gong_api/models/meeting.rb +207 -0
  285. data/lib/gong_api/models/meeting_invitee.rb +237 -0
  286. data/lib/gong_api/models/meetings_error_response.rb +247 -0
  287. data/lib/gong_api/models/monologue.rb +229 -0
  288. data/lib/gong_api/models/multiple_users_request_with_creation_dates.rb +238 -0
  289. data/lib/gong_api/models/multiple_users_with_dates.rb +238 -0
  290. data/lib/gong_api/models/new_call_adding_request.rb +450 -0
  291. data/lib/gong_api/models/new_call_adding_response.rb +217 -0
  292. data/lib/gong_api/models/new_call_recording_response.rb +227 -0
  293. data/lib/gong_api/models/new_meeting_request.rb +265 -0
  294. data/lib/gong_api/models/new_meeting_response.rb +239 -0
  295. data/lib/gong_api/models/object_entities_body.rb +206 -0
  296. data/lib/gong_api/models/occurrences.rb +217 -0
  297. data/lib/gong_api/models/party.rb +335 -0
  298. data/lib/gong_api/models/party_context.rb +254 -0
  299. data/lib/gong_api/models/party_context_field.rb +218 -0
  300. data/lib/gong_api/models/party_upload_context.rb +259 -0
  301. data/lib/gong_api/models/permission_profile_dto.rb +541 -0
  302. data/lib/gong_api/models/permission_profile_response.rb +216 -0
  303. data/lib/gong_api/models/permission_profile_users_response.rb +219 -0
  304. data/lib/gong_api/models/permission_profiles_response.rb +219 -0
  305. data/lib/gong_api/models/phone_number_references.rb +289 -0
  306. data/lib/gong_api/models/point_of_interest.rb +237 -0
  307. data/lib/gong_api/models/points_of_interest.rb +210 -0
  308. data/lib/gong_api/models/question.rb +267 -0
  309. data/lib/gong_api/models/questions.rb +218 -0
  310. data/lib/gong_api/models/records.rb +238 -0
  311. data/lib/gong_api/models/register_generic_crm_response.rb +217 -0
  312. data/lib/gong_api/models/request_answered_scorecards_filter.rb +216 -0
  313. data/lib/gong_api/models/request_calls_access_get_dto.rb +206 -0
  314. data/lib/gong_api/models/request_calls_filter.rb +216 -0
  315. data/lib/gong_api/models/request_calls_request_filter_with_owners_content_selector.rb +225 -0
  316. data/lib/gong_api/models/request_multiple_users_request_with_creation_dates.rb +216 -0
  317. data/lib/gong_api/models/request_multiple_users_with_dates.rb +216 -0
  318. data/lib/gong_api/models/request_status_response.rb +282 -0
  319. data/lib/gong_api/models/request_with_time_period_multiple_users_with_dates.rb +265 -0
  320. data/lib/gong_api/models/schema_update_response.rb +207 -0
  321. data/lib/gong_api/models/scorecard.rb +279 -0
  322. data/lib/gong_api/models/scorecards.rb +219 -0
  323. data/lib/gong_api/models/sentence.rb +227 -0
  324. data/lib/gong_api/models/settings.rb +258 -0
  325. data/lib/gong_api/models/settings_history.rb +219 -0
  326. data/lib/gong_api/models/sharer.rb +227 -0
  327. data/lib/gong_api/models/snippet.rb +218 -0
  328. data/lib/gong_api/models/speaker.rb +228 -0
  329. data/lib/gong_api/models/speakers_timeline.rb +219 -0
  330. data/lib/gong_api/models/specific_call.rb +216 -0
  331. data/lib/gong_api/models/speech_segment.rb +244 -0
  332. data/lib/gong_api/models/spoken_language.rb +218 -0
  333. data/lib/gong_api/models/structure.rb +218 -0
  334. data/lib/gong_api/models/topic.rb +217 -0
  335. data/lib/gong_api/models/tracker.rb +295 -0
  336. data/lib/gong_api/models/tracker_phrases.rb +229 -0
  337. data/lib/gong_api/models/update_meeting_request.rb +265 -0
  338. data/lib/gong_api/models/update_meeting_response.rb +217 -0
  339. data/lib/gong_api/models/user.rb +216 -0
  340. data/lib/gong_api/models/user_access_details.rb +208 -0
  341. data/lib/gong_api/models/user_activity.rb +226 -0
  342. data/lib/gong_api/models/user_aggregate_by_period_activities.rb +229 -0
  343. data/lib/gong_api/models/user_day_by_day_activity.rb +229 -0
  344. data/lib/gong_api/models/user_integration_status.rb +257 -0
  345. data/lib/gong_api/models/user_metadata.rb +347 -0
  346. data/lib/gong_api/models/user_settings_history.rb +261 -0
  347. data/lib/gong_api/models/user_simple_metadata.rb +227 -0
  348. data/lib/gong_api/models/users_aggregate_by_period_activity.rb +228 -0
  349. data/lib/gong_api/models/users_day_by_day_activity.rb +228 -0
  350. data/lib/gong_api/models/users_metadata.rb +228 -0
  351. data/lib/gong_api/models/video.rb +218 -0
  352. data/lib/gong_api/models/workspace_metadata.rb +227 -0
  353. data/lib/gong_api/models/workspaces_metadata.rb +219 -0
  354. data/lib/gong_api/version.rb +14 -0
  355. data/lib/gong_api.rb +209 -0
  356. data/spec/api/auditing_api_spec.rb +49 -0
  357. data/spec/api/calls_api_spec.rb +123 -0
  358. data/spec/api/crm_api_spec.rb +161 -0
  359. data/spec/api/data_privacy_api_spec.rb +82 -0
  360. data/spec/api/engagement_in_beta_phase_api_spec.rb +70 -0
  361. data/spec/api/library_api_spec.rb +58 -0
  362. data/spec/api/meetings_in_beta_phase_api_spec.rb +84 -0
  363. data/spec/api/permissions_api_spec.rb +132 -0
  364. data/spec/api/settings_api_spec.rb +56 -0
  365. data/spec/api/stats_api_spec.rb +94 -0
  366. data/spec/api/users_api_spec.rb +83 -0
  367. data/spec/api_client_spec.rb +225 -0
  368. data/spec/base_object_spec.rb +109 -0
  369. data/spec/configuration_spec.rb +41 -0
  370. data/spec/models/actor_spec.rb +58 -0
  371. data/spec/models/aggregate_activity_spec.rb +124 -0
  372. data/spec/models/aggregate_activity_with_dates_spec.rb +136 -0
  373. data/spec/models/answer_spec.rb +70 -0
  374. data/spec/models/answered_scorecard_spec.rb +98 -0
  375. data/spec/models/answered_scorecards_filter_spec.rb +70 -0
  376. data/spec/models/answered_scorecards_spec.rb +52 -0
  377. data/spec/models/association_object_spec.rb +46 -0
  378. data/spec/models/async_processing_response_spec.rb +46 -0
  379. data/spec/models/base_response_spec.rb +40 -0
  380. data/spec/models/call_access_details_spec.rb +46 -0
  381. data/spec/models/call_access_with_permission_level_spec.rb +50 -0
  382. data/spec/models/call_basic_data_spec.rb +160 -0
  383. data/spec/models/call_collaboration_spec.rb +40 -0
  384. data/spec/models/call_content_spec.rb +64 -0
  385. data/spec/models/call_context_spec.rb +50 -0
  386. data/spec/models/call_interaction_spec.rb +58 -0
  387. data/spec/models/call_participant_spec.rb +76 -0
  388. data/spec/models/call_reference_spec.rb +52 -0
  389. data/spec/models/call_spec.rb +76 -0
  390. data/spec/models/call_transcript_spec.rb +46 -0
  391. data/spec/models/call_transcripts_spec.rb +52 -0
  392. data/spec/models/call_upload_context_spec.rb +50 -0
  393. data/spec/models/call_users_access_dto_spec.rb +46 -0
  394. data/spec/models/calls_access_details_response_spec.rb +46 -0
  395. data/spec/models/calls_access_get_dto_spec.rb +40 -0
  396. data/spec/models/calls_filter_spec.rb +58 -0
  397. data/spec/models/calls_request_filter_with_owners_spec.rb +64 -0
  398. data/spec/models/calls_response_spec.rb +52 -0
  399. data/spec/models/calls_spec.rb +52 -0
  400. data/spec/models/calls_users_access_add_dto_spec.rb +40 -0
  401. data/spec/models/calls_users_access_delete_dto_spec.rb +40 -0
  402. data/spec/models/coaching_access_with_permission_level_spec.rb +50 -0
  403. data/spec/models/collaboration_spec.rb +40 -0
  404. data/spec/models/comment_spec.rb +82 -0
  405. data/spec/models/company_users_aggregate_activity_response_spec.rb +70 -0
  406. data/spec/models/company_users_intercation_stats_response_spec.rb +70 -0
  407. data/spec/models/content_selector_spec.rb +60 -0
  408. data/spec/models/content_shared_event_spec.rb +136 -0
  409. data/spec/models/content_spec.rb +58 -0
  410. data/spec/models/content_viewed_event_spec.rb +140 -0
  411. data/spec/models/context_field_spec.rb +46 -0
  412. data/spec/models/crm_party_context_field_spec.rb +46 -0
  413. data/spec/models/custom_action_event_spec.rb +134 -0
  414. data/spec/models/customer_data_object_spec.rb +68 -0
  415. data/spec/models/customer_data_spec.rb +50 -0
  416. data/spec/models/customer_engagement_spec.rb +80 -0
  417. data/spec/models/daily_activity_with_dates_spec.rb +136 -0
  418. data/spec/models/deals_access_with_permission_level_spec.rb +50 -0
  419. data/spec/models/delete_meeting_request_spec.rb +40 -0
  420. data/spec/models/email_address_references_spec.rb +70 -0
  421. data/spec/models/email_message_spec.rb +64 -0
  422. data/spec/models/emails_access_with_permission_level_spec.rb +50 -0
  423. data/spec/models/error_response_spec.rb +46 -0
  424. data/spec/models/event_accepted_response_spec.rb +40 -0
  425. data/spec/models/exposed_fields_spec.rb +64 -0
  426. data/spec/models/external_call_object_spec.rb +66 -0
  427. data/spec/models/external_crm_call_object_spec.rb +56 -0
  428. data/spec/models/external_crm_party_object_spec.rb +56 -0
  429. data/spec/models/external_party_object_spec.rb +66 -0
  430. data/spec/models/external_system_object_spec.rb +50 -0
  431. data/spec/models/external_system_spec.rb +50 -0
  432. data/spec/models/forecast_access_with_permission_level_spec.rb +50 -0
  433. data/spec/models/generic_crm_integration_spec.rb +52 -0
  434. data/spec/models/generic_crm_registration_request_spec.rb +46 -0
  435. data/spec/models/generic_deal_stage_request_spec.rb +58 -0
  436. data/spec/models/generic_property_spec.rb +56 -0
  437. data/spec/models/generic_schema_field_request_spec.rb +86 -0
  438. data/spec/models/get_generic_crm_objects_response_spec.rb +46 -0
  439. data/spec/models/id_media_body_spec.rb +40 -0
  440. data/spec/models/insights_access_with_permission_level_spec.rb +50 -0
  441. data/spec/models/integration_status_request_spec.rb +40 -0
  442. data/spec/models/integration_status_response_spec.rb +46 -0
  443. data/spec/models/interaction_spec.rb +58 -0
  444. data/spec/models/interaction_stat_spec.rb +46 -0
  445. data/spec/models/interaction_stats_spec.rb +52 -0
  446. data/spec/models/library_call_spec.rb +76 -0
  447. data/spec/models/library_folder_access_spec.rb +68 -0
  448. data/spec/models/library_folder_list_of_calls_response_spec.rb +70 -0
  449. data/spec/models/library_folder_spec.rb +64 -0
  450. data/spec/models/library_response_spec.rb +46 -0
  451. data/spec/models/line_error_response_spec.rb +46 -0
  452. data/spec/models/list_generic_crm_integrations_response_spec.rb +46 -0
  453. data/spec/models/list_selected_fields_response_spec.rb +46 -0
  454. data/spec/models/log_entry_spec.rb +88 -0
  455. data/spec/models/logs_response_spec.rb +52 -0
  456. data/spec/models/manual_association_response_spec.rb +52 -0
  457. data/spec/models/manual_associations_basic_data_spec.rb +58 -0
  458. data/spec/models/map_users_body_spec.rb +40 -0
  459. data/spec/models/media_spec.rb +46 -0
  460. data/spec/models/meeting_invitee_spec.rb +58 -0
  461. data/spec/models/meeting_spec.rb +40 -0
  462. data/spec/models/meetings_error_response_spec.rb +64 -0
  463. data/spec/models/monologue_spec.rb +52 -0
  464. data/spec/models/multiple_users_request_with_creation_dates_spec.rb +58 -0
  465. data/spec/models/multiple_users_with_dates_spec.rb +52 -0
  466. data/spec/models/new_call_adding_request_spec.rb +152 -0
  467. data/spec/models/new_call_adding_response_spec.rb +46 -0
  468. data/spec/models/new_call_recording_response_spec.rb +52 -0
  469. data/spec/models/new_meeting_request_spec.rb +70 -0
  470. data/spec/models/new_meeting_response_spec.rb +58 -0
  471. data/spec/models/object_entities_body_spec.rb +40 -0
  472. data/spec/models/occurrences_spec.rb +46 -0
  473. data/spec/models/party_context_field_spec.rb +46 -0
  474. data/spec/models/party_context_spec.rb +50 -0
  475. data/spec/models/party_spec.rb +102 -0
  476. data/spec/models/party_upload_context_spec.rb +50 -0
  477. data/spec/models/permission_profile_dto_spec.rb +244 -0
  478. data/spec/models/permission_profile_response_spec.rb +46 -0
  479. data/spec/models/permission_profile_users_response_spec.rb +46 -0
  480. data/spec/models/permission_profiles_response_spec.rb +46 -0
  481. data/spec/models/phone_number_references_spec.rb +82 -0
  482. data/spec/models/point_of_interest_spec.rb +58 -0
  483. data/spec/models/points_of_interest_spec.rb +40 -0
  484. data/spec/models/question_spec.rb +76 -0
  485. data/spec/models/questions_spec.rb +46 -0
  486. data/spec/models/records_spec.rb +58 -0
  487. data/spec/models/register_generic_crm_response_spec.rb +46 -0
  488. data/spec/models/request_answered_scorecards_filter_spec.rb +46 -0
  489. data/spec/models/request_calls_access_get_dto_spec.rb +40 -0
  490. data/spec/models/request_calls_filter_spec.rb +46 -0
  491. data/spec/models/request_calls_request_filter_with_owners_content_selector_spec.rb +52 -0
  492. data/spec/models/request_multiple_users_request_with_creation_dates_spec.rb +46 -0
  493. data/spec/models/request_multiple_users_with_dates_spec.rb +46 -0
  494. data/spec/models/request_status_response_spec.rb +68 -0
  495. data/spec/models/request_with_time_period_multiple_users_with_dates_spec.rb +56 -0
  496. data/spec/models/schema_update_response_spec.rb +40 -0
  497. data/spec/models/scorecard_spec.rb +82 -0
  498. data/spec/models/scorecards_spec.rb +46 -0
  499. data/spec/models/sentence_spec.rb +52 -0
  500. data/spec/models/settings_history_spec.rb +46 -0
  501. data/spec/models/settings_spec.rb +70 -0
  502. data/spec/models/sharer_spec.rb +52 -0
  503. data/spec/models/snippet_spec.rb +46 -0
  504. data/spec/models/speaker_spec.rb +52 -0
  505. data/spec/models/speakers_timeline_spec.rb +46 -0
  506. data/spec/models/specific_call_spec.rb +46 -0
  507. data/spec/models/speech_segment_spec.rb +52 -0
  508. data/spec/models/spoken_language_spec.rb +46 -0
  509. data/spec/models/structure_spec.rb +46 -0
  510. data/spec/models/topic_spec.rb +46 -0
  511. data/spec/models/tracker_phrases_spec.rb +52 -0
  512. data/spec/models/tracker_spec.rb +74 -0
  513. data/spec/models/update_meeting_request_spec.rb +70 -0
  514. data/spec/models/update_meeting_response_spec.rb +46 -0
  515. data/spec/models/user_access_details_spec.rb +40 -0
  516. data/spec/models/user_activity_spec.rb +52 -0
  517. data/spec/models/user_aggregate_by_period_activities_spec.rb +52 -0
  518. data/spec/models/user_day_by_day_activity_spec.rb +52 -0
  519. data/spec/models/user_integration_status_spec.rb +70 -0
  520. data/spec/models/user_metadata_spec.rb +124 -0
  521. data/spec/models/user_settings_history_spec.rb +56 -0
  522. data/spec/models/user_simple_metadata_spec.rb +52 -0
  523. data/spec/models/user_spec.rb +46 -0
  524. data/spec/models/users_aggregate_by_period_activity_spec.rb +52 -0
  525. data/spec/models/users_day_by_day_activity_spec.rb +52 -0
  526. data/spec/models/users_metadata_spec.rb +52 -0
  527. data/spec/models/video_spec.rb +46 -0
  528. data/spec/models/workspace_metadata_spec.rb +52 -0
  529. data/spec/models/workspaces_metadata_spec.rb +46 -0
  530. data/spec/spec_helper.rb +110 -0
  531. metadata +807 -0
@@ -0,0 +1,243 @@
1
+ =begin
2
+ #Gong API
3
+
4
+ #<h2>Overview</h2> <p> The Gong API allows you to: </p> <ol> <li> Receive the following information from Gong: <ol type=\"a\"> <li> Your company's <a href=\"#tag--Calls\">calls</a> in Gong </li> <li> Your company's <a href=\"#tag--Users\">users</a> in Gong </li> <li> Your company's user <a href=\"#tag--Stats\">stats</a> in Gong </li> <li> Your company's user <a href=\"#tag--Settings\">settings</a> in Gong </li> <li> Your company's <a href=\"#tag--Library\">libraries</a> in Gong </li> </ol></li> <li> <a href=\"#post-/v2/calls\">Upload</a> new or <a href=\"#put-/v2/calls/-id-/media\">update</a> call recordings in Gong, in order to support cases where you have an internal system that records calls or obtains them from a third-party entity. </li> <li> <a href=\"#post-/v2/data-privacy/erase-data-for-email-address\">Data Privacy</a>: Delete users and all their associated elements.</li> <li> Upload <a href=\"#tag--CRM\">CRM</a> data into Gong. </li> </ol> <p>Base URL for all API calls is <a href=\"https://us-55616.api.gong.io\"> https://us-55616.api.gong.io </a> </p> <h2>Authentication</h2> <p> There are two ways to retrieve credentials to the Gong Public API: </p> <ol><li>Retrieve Manually:<br> <p> In the <a href=\"https://app.gong.io/company/api\">Gong API Page</a> (you must be a technical administrator in Gong), click \"Create\" to receive an <b>Access Key</b> and an <b>Access Key Secret</b>.<br> </p> <p> Use the Basic Authorization HTTP header (as per <a target=\"_blank\" href=\"https://www.rfc-editor.org/rfc/rfc7617.txt\">RFC</a>) to access the Public API as shown below:<br> <code>Authorization: Basic &lt;token&gt;</code><br> </p> <p> To create the basic token, combine the <b>Access Key</b> and the <b>Access Key Secret</b> with colon (:) and then encode in Base64 as following:<br> <code>Base64(&lt;accessKey&gt; : &lt;accessKeySecret&gt;)</code><br><br> </p></li> <li>Retrieve through OAuth<br> <p> To obtain the Bearer token, follow the steps described in the <a target=\"_blank\" href=\"https://help.gong.io/hc/en-us/articles/360056677792\">Gong OAuth Guide</a>. <br></p> <p> After obtaining the token, use the Bearer Authorization HTTP header (as per <a target=\"_blank\" href=\"https://www.rfc-editor.org/rfc/rfc6750.txt\">RFC</a>) to access the Public API as shown below:<br> <code>Authorization: Bearer &lt;token&gt;</code> </p> </li></ol> <h2>Limits</h2> <p> By default Gong limits your company's access to the service to 3 API calls per second, and 10,000 API calls per day. </p> <p> When the rate of API calls exceeds these limits an HTTP status code <b>429</b> is returned and a <b>Retry-After</b> header indicates how many seconds to wait before making a new request. </p><p> If required, contact help@gong.io to change these limits. </p> <h2>Cursors</h2> <p> Some API calls that return a list are limited in the amount of records they may return, so multiple API calls may be required to bring all records. Such an API call also returns a <b>records</b> field, which contains the number of records in the current page, the current page number and the total number of records. </p> <p> In cases where the total number of records exceeds the number of records thus far retrieved, the <b>records</b> field will also contain a <b>cursor</b> field which can be used to access the next page of records. To retrieve the next page, repeat the API call with the <b>cursor</b> value as supplied by the previous API call. All other request inputs should remain the same. </p> <h2>Forward Compatibility</h2> <p> When coding a system to accept Gong data, take into account that Gong may, without prior warning, add fields to the JSON output. It is recommended to future proof your code so that it disregards all JSON fields you don't actually use. </p><p></p>
5
+
6
+ OpenAPI spec version: V2
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.37
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module GongAPI
15
+ # Analysis of the interaction content.
16
+ class Content
17
+ attr_accessor :points_of_interest
18
+
19
+ # A list of the agenda of each part of the call.
20
+ attr_accessor :structure
21
+
22
+ # A list of topics and their durations.
23
+ attr_accessor :topics
24
+
25
+ # A list of trackers found in the call. Trackers are collections of phrases defined in Gong for this company.
26
+ attr_accessor :trackers
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'points_of_interest' => :'pointsOfInterest',
32
+ :'structure' => :'structure',
33
+ :'topics' => :'topics',
34
+ :'trackers' => :'trackers'
35
+ }
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'points_of_interest' => :'Object',
42
+ :'structure' => :'Object',
43
+ :'topics' => :'Object',
44
+ :'trackers' => :'Object'
45
+ }
46
+ end
47
+
48
+ # List of attributes with nullable: true
49
+ def self.openapi_nullable
50
+ Set.new([
51
+ ])
52
+ end
53
+
54
+ # Initializes the object
55
+ # @param [Hash] attributes Model attributes in the form of hash
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `GongAPI::Content` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `GongAPI::Content`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ end
66
+ h[k.to_sym] = v
67
+ }
68
+
69
+ if attributes.key?(:'points_of_interest')
70
+ self.points_of_interest = attributes[:'points_of_interest']
71
+ end
72
+
73
+ if attributes.key?(:'structure')
74
+ if (value = attributes[:'structure']).is_a?(Array)
75
+ self.structure = value
76
+ end
77
+ end
78
+
79
+ if attributes.key?(:'topics')
80
+ if (value = attributes[:'topics']).is_a?(Array)
81
+ self.topics = value
82
+ end
83
+ end
84
+
85
+ if attributes.key?(:'trackers')
86
+ if (value = attributes[:'trackers']).is_a?(Array)
87
+ self.trackers = value
88
+ end
89
+ end
90
+ end
91
+
92
+ # Show invalid properties with the reasons. Usually used together with valid?
93
+ # @return Array for valid properties with the reasons
94
+ def list_invalid_properties
95
+ invalid_properties = Array.new
96
+ invalid_properties
97
+ end
98
+
99
+ # Check to see if the all the properties in the model are valid
100
+ # @return true if the model is valid
101
+ def valid?
102
+ true
103
+ end
104
+
105
+ # Checks equality by comparing each attribute.
106
+ # @param [Object] Object to be compared
107
+ def ==(o)
108
+ return true if self.equal?(o)
109
+ self.class == o.class &&
110
+ points_of_interest == o.points_of_interest &&
111
+ structure == o.structure &&
112
+ topics == o.topics &&
113
+ trackers == o.trackers
114
+ end
115
+
116
+ # @see the `==` method
117
+ # @param [Object] Object to be compared
118
+ def eql?(o)
119
+ self == o
120
+ end
121
+
122
+ # Calculates hash code according to all attributes.
123
+ # @return [Integer] Hash code
124
+ def hash
125
+ [points_of_interest, structure, topics, trackers].hash
126
+ end
127
+
128
+ # Builds the object from hash
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ # @return [Object] Returns the model itself
131
+ def self.build_from_hash(attributes)
132
+ new.build_from_hash(attributes)
133
+ end
134
+
135
+ # Builds the object from hash
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ # @return [Object] Returns the model itself
138
+ def build_from_hash(attributes)
139
+ return nil unless attributes.is_a?(Hash)
140
+ self.class.openapi_types.each_pair do |key, type|
141
+ if type =~ /\AArray<(.*)>/i
142
+ # check to ensure the input is an array given that the attribute
143
+ # is documented as an array but the input is not
144
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
145
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
146
+ end
147
+ elsif !attributes[self.class.attribute_map[key]].nil?
148
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
149
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
150
+ self.send("#{key}=", nil)
151
+ end
152
+ end
153
+
154
+ self
155
+ end
156
+
157
+ # Deserializes the data based on type
158
+ # @param string type Data type
159
+ # @param string value Value to be deserialized
160
+ # @return [Object] Deserialized data
161
+ def _deserialize(type, value)
162
+ case type.to_sym
163
+ when :DateTime
164
+ DateTime.parse(value)
165
+ when :Date
166
+ Date.parse(value)
167
+ when :String
168
+ value.to_s
169
+ when :Integer
170
+ value.to_i
171
+ when :Float
172
+ value.to_f
173
+ when :Boolean
174
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
175
+ true
176
+ else
177
+ false
178
+ end
179
+ when :Object
180
+ # generic object (usually a Hash), return directly
181
+ value
182
+ when /\AArray<(?<inner_type>.+)>\z/
183
+ inner_type = Regexp.last_match[:inner_type]
184
+ value.map { |v| _deserialize(inner_type, v) }
185
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
186
+ k_type = Regexp.last_match[:k_type]
187
+ v_type = Regexp.last_match[:v_type]
188
+ {}.tap do |hash|
189
+ value.each do |k, v|
190
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
191
+ end
192
+ end
193
+ else # model
194
+ GongAPI.const_get(type).build_from_hash(value)
195
+ end
196
+ end
197
+
198
+ # Returns the string representation of the object
199
+ # @return [String] String presentation of the object
200
+ def to_s
201
+ to_hash.to_s
202
+ end
203
+
204
+ # to_body is an alias to to_hash (backward compatibility)
205
+ # @return [Hash] Returns the object in the form of hash
206
+ def to_body
207
+ to_hash
208
+ end
209
+
210
+ # Returns the object in the form of hash
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_hash
213
+ hash = {}
214
+ self.class.attribute_map.each_pair do |attr, param|
215
+ value = self.send(attr)
216
+ if value.nil?
217
+ is_nullable = self.class.openapi_nullable.include?(attr)
218
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
219
+ end
220
+
221
+ hash[param] = _to_hash(value)
222
+ end
223
+ hash
224
+ end
225
+
226
+ # Outputs non-array value in the form of hash
227
+ # For object, use to_hash. Otherwise, just return the value
228
+ # @param [Object] value Any valid value
229
+ # @return [Hash] Returns the value in the form of hash
230
+ def _to_hash(value)
231
+ if value.is_a?(Array)
232
+ value.compact.map { |v| _to_hash(v) }
233
+ elsif value.is_a?(Hash)
234
+ {}.tap do |hash|
235
+ value.each { |k, v| hash[k] = _to_hash(v) }
236
+ end
237
+ elsif value.respond_to? :to_hash
238
+ value.to_hash
239
+ else
240
+ value
241
+ end
242
+ end end
243
+ end
@@ -0,0 +1,263 @@
1
+ =begin
2
+ #Gong API
3
+
4
+ #<h2>Overview</h2> <p> The Gong API allows you to: </p> <ol> <li> Receive the following information from Gong: <ol type=\"a\"> <li> Your company's <a href=\"#tag--Calls\">calls</a> in Gong </li> <li> Your company's <a href=\"#tag--Users\">users</a> in Gong </li> <li> Your company's user <a href=\"#tag--Stats\">stats</a> in Gong </li> <li> Your company's user <a href=\"#tag--Settings\">settings</a> in Gong </li> <li> Your company's <a href=\"#tag--Library\">libraries</a> in Gong </li> </ol></li> <li> <a href=\"#post-/v2/calls\">Upload</a> new or <a href=\"#put-/v2/calls/-id-/media\">update</a> call recordings in Gong, in order to support cases where you have an internal system that records calls or obtains them from a third-party entity. </li> <li> <a href=\"#post-/v2/data-privacy/erase-data-for-email-address\">Data Privacy</a>: Delete users and all their associated elements.</li> <li> Upload <a href=\"#tag--CRM\">CRM</a> data into Gong. </li> </ol> <p>Base URL for all API calls is <a href=\"https://us-55616.api.gong.io\"> https://us-55616.api.gong.io </a> </p> <h2>Authentication</h2> <p> There are two ways to retrieve credentials to the Gong Public API: </p> <ol><li>Retrieve Manually:<br> <p> In the <a href=\"https://app.gong.io/company/api\">Gong API Page</a> (you must be a technical administrator in Gong), click \"Create\" to receive an <b>Access Key</b> and an <b>Access Key Secret</b>.<br> </p> <p> Use the Basic Authorization HTTP header (as per <a target=\"_blank\" href=\"https://www.rfc-editor.org/rfc/rfc7617.txt\">RFC</a>) to access the Public API as shown below:<br> <code>Authorization: Basic &lt;token&gt;</code><br> </p> <p> To create the basic token, combine the <b>Access Key</b> and the <b>Access Key Secret</b> with colon (:) and then encode in Base64 as following:<br> <code>Base64(&lt;accessKey&gt; : &lt;accessKeySecret&gt;)</code><br><br> </p></li> <li>Retrieve through OAuth<br> <p> To obtain the Bearer token, follow the steps described in the <a target=\"_blank\" href=\"https://help.gong.io/hc/en-us/articles/360056677792\">Gong OAuth Guide</a>. <br></p> <p> After obtaining the token, use the Bearer Authorization HTTP header (as per <a target=\"_blank\" href=\"https://www.rfc-editor.org/rfc/rfc6750.txt\">RFC</a>) to access the Public API as shown below:<br> <code>Authorization: Bearer &lt;token&gt;</code> </p> </li></ol> <h2>Limits</h2> <p> By default Gong limits your company's access to the service to 3 API calls per second, and 10,000 API calls per day. </p> <p> When the rate of API calls exceeds these limits an HTTP status code <b>429</b> is returned and a <b>Retry-After</b> header indicates how many seconds to wait before making a new request. </p><p> If required, contact help@gong.io to change these limits. </p> <h2>Cursors</h2> <p> Some API calls that return a list are limited in the amount of records they may return, so multiple API calls may be required to bring all records. Such an API call also returns a <b>records</b> field, which contains the number of records in the current page, the current page number and the total number of records. </p> <p> In cases where the total number of records exceeds the number of records thus far retrieved, the <b>records</b> field will also contain a <b>cursor</b> field which can be used to access the next page of records. To retrieve the next page, repeat the API call with the <b>cursor</b> value as supplied by the previous API call. All other request inputs should remain the same. </p> <h2>Forward Compatibility</h2> <p> When coding a system to accept Gong data, take into account that Gong may, without prior warning, add fields to the JSON output. It is recommended to future proof your code so that it disregards all JSON fields you don't actually use. </p><p></p>
5
+
6
+ OpenAPI spec version: V2
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.37
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module GongAPI
15
+ # The content selector identifies which data components, if any, are needed, by the caller
16
+ class ContentSelector
17
+ # If 'Basic', add links to external systems (context objects) such as CRM, Telephony System, Case Management. If 'Extended' include also data (context fields) for these links. Default value 'None'
18
+ attr_accessor :context
19
+
20
+ # Timing for the context data. The field is optional and can contain either \"Now\" or \"TimeOfCall\" or both. The default value is [\"Now\"]. Can be provided only when the context field is set to 'Extended'
21
+ attr_accessor :context_timing
22
+
23
+ attr_accessor :exposed_fields
24
+
25
+ class EnumAttributeValidator
26
+ attr_reader :datatype
27
+ attr_reader :allowable_values
28
+
29
+ def initialize(datatype, allowable_values)
30
+ @allowable_values = allowable_values.map do |value|
31
+ case datatype.to_s
32
+ when /Integer/i
33
+ value.to_i
34
+ when /Float/i
35
+ value.to_f
36
+ else
37
+ value
38
+ end
39
+ end
40
+ end
41
+
42
+ def valid?(value)
43
+ !value || allowable_values.include?(value)
44
+ end
45
+ end
46
+
47
+ # Attribute mapping from ruby-style variable name to JSON key.
48
+ def self.attribute_map
49
+ {
50
+ :'context' => :'context',
51
+ :'context_timing' => :'contextTiming',
52
+ :'exposed_fields' => :'exposedFields'
53
+ }
54
+ end
55
+
56
+ # Attribute type mapping.
57
+ def self.openapi_types
58
+ {
59
+ :'context' => :'Object',
60
+ :'context_timing' => :'Object',
61
+ :'exposed_fields' => :'Object'
62
+ }
63
+ end
64
+
65
+ # List of attributes with nullable: true
66
+ def self.openapi_nullable
67
+ Set.new([
68
+ ])
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ if (!attributes.is_a?(Hash))
75
+ fail ArgumentError, "The input argument (attributes) must be a hash in `GongAPI::ContentSelector` initialize method"
76
+ end
77
+
78
+ # check to see if the attribute exists and convert string to symbol for hash key
79
+ attributes = attributes.each_with_object({}) { |(k, v), h|
80
+ if (!self.class.attribute_map.key?(k.to_sym))
81
+ fail ArgumentError, "`#{k}` is not a valid attribute in `GongAPI::ContentSelector`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
+ end
83
+ h[k.to_sym] = v
84
+ }
85
+
86
+ if attributes.key?(:'context')
87
+ self.context = attributes[:'context']
88
+ end
89
+
90
+ if attributes.key?(:'context_timing')
91
+ if (value = attributes[:'context_timing']).is_a?(Array)
92
+ self.context_timing = value
93
+ end
94
+ end
95
+
96
+ if attributes.key?(:'exposed_fields')
97
+ self.exposed_fields = attributes[:'exposed_fields']
98
+ end
99
+ end
100
+
101
+ # Show invalid properties with the reasons. Usually used together with valid?
102
+ # @return Array for valid properties with the reasons
103
+ def list_invalid_properties
104
+ invalid_properties = Array.new
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ context_validator = EnumAttributeValidator.new('Object', ['Basic', 'Extended', 'None'])
112
+ return false unless context_validator.valid?(@context)
113
+ true
114
+ end
115
+
116
+ # Custom attribute writer method checking allowed values (enum).
117
+ # @param [Object] context Object to be assigned
118
+ def context=(context)
119
+ validator = EnumAttributeValidator.new('Object', ['Basic', 'Extended', 'None'])
120
+ unless validator.valid?(context)
121
+ fail ArgumentError, "invalid value for \"context\", must be one of #{validator.allowable_values}."
122
+ end
123
+ @context = context
124
+ end
125
+
126
+ # Checks equality by comparing each attribute.
127
+ # @param [Object] Object to be compared
128
+ def ==(o)
129
+ return true if self.equal?(o)
130
+ self.class == o.class &&
131
+ context == o.context &&
132
+ context_timing == o.context_timing &&
133
+ exposed_fields == o.exposed_fields
134
+ end
135
+
136
+ # @see the `==` method
137
+ # @param [Object] Object to be compared
138
+ def eql?(o)
139
+ self == o
140
+ end
141
+
142
+ # Calculates hash code according to all attributes.
143
+ # @return [Integer] Hash code
144
+ def hash
145
+ [context, context_timing, exposed_fields].hash
146
+ end
147
+
148
+ # Builds the object from hash
149
+ # @param [Hash] attributes Model attributes in the form of hash
150
+ # @return [Object] Returns the model itself
151
+ def self.build_from_hash(attributes)
152
+ new.build_from_hash(attributes)
153
+ end
154
+
155
+ # Builds the object from hash
156
+ # @param [Hash] attributes Model attributes in the form of hash
157
+ # @return [Object] Returns the model itself
158
+ def build_from_hash(attributes)
159
+ return nil unless attributes.is_a?(Hash)
160
+ self.class.openapi_types.each_pair do |key, type|
161
+ if type =~ /\AArray<(.*)>/i
162
+ # check to ensure the input is an array given that the attribute
163
+ # is documented as an array but the input is not
164
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
165
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
166
+ end
167
+ elsif !attributes[self.class.attribute_map[key]].nil?
168
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
169
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
170
+ self.send("#{key}=", nil)
171
+ end
172
+ end
173
+
174
+ self
175
+ end
176
+
177
+ # Deserializes the data based on type
178
+ # @param string type Data type
179
+ # @param string value Value to be deserialized
180
+ # @return [Object] Deserialized data
181
+ def _deserialize(type, value)
182
+ case type.to_sym
183
+ when :DateTime
184
+ DateTime.parse(value)
185
+ when :Date
186
+ Date.parse(value)
187
+ when :String
188
+ value.to_s
189
+ when :Integer
190
+ value.to_i
191
+ when :Float
192
+ value.to_f
193
+ when :Boolean
194
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
195
+ true
196
+ else
197
+ false
198
+ end
199
+ when :Object
200
+ # generic object (usually a Hash), return directly
201
+ value
202
+ when /\AArray<(?<inner_type>.+)>\z/
203
+ inner_type = Regexp.last_match[:inner_type]
204
+ value.map { |v| _deserialize(inner_type, v) }
205
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
206
+ k_type = Regexp.last_match[:k_type]
207
+ v_type = Regexp.last_match[:v_type]
208
+ {}.tap do |hash|
209
+ value.each do |k, v|
210
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
211
+ end
212
+ end
213
+ else # model
214
+ GongAPI.const_get(type).build_from_hash(value)
215
+ end
216
+ end
217
+
218
+ # Returns the string representation of the object
219
+ # @return [String] String presentation of the object
220
+ def to_s
221
+ to_hash.to_s
222
+ end
223
+
224
+ # to_body is an alias to to_hash (backward compatibility)
225
+ # @return [Hash] Returns the object in the form of hash
226
+ def to_body
227
+ to_hash
228
+ end
229
+
230
+ # Returns the object in the form of hash
231
+ # @return [Hash] Returns the object in the form of hash
232
+ def to_hash
233
+ hash = {}
234
+ self.class.attribute_map.each_pair do |attr, param|
235
+ value = self.send(attr)
236
+ if value.nil?
237
+ is_nullable = self.class.openapi_nullable.include?(attr)
238
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
239
+ end
240
+
241
+ hash[param] = _to_hash(value)
242
+ end
243
+ hash
244
+ end
245
+
246
+ # Outputs non-array value in the form of hash
247
+ # For object, use to_hash. Otherwise, just return the value
248
+ # @param [Object] value Any valid value
249
+ # @return [Hash] Returns the value in the form of hash
250
+ def _to_hash(value)
251
+ if value.is_a?(Array)
252
+ value.compact.map { |v| _to_hash(v) }
253
+ elsif value.is_a?(Hash)
254
+ {}.tap do |hash|
255
+ value.each { |k, v| hash[k] = _to_hash(v) }
256
+ end
257
+ elsif value.respond_to? :to_hash
258
+ value.to_hash
259
+ else
260
+ value
261
+ end
262
+ end end
263
+ end