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,335 @@
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
+ class Party
16
+ # Whether the participant is from the company or not.
17
+ attr_accessor :affiliation
18
+
19
+ # A list of links to external systems such as CRM, Dialer, Case Management, etc.
20
+ attr_accessor :context
21
+
22
+ # Email address.
23
+ attr_accessor :email_address
24
+
25
+ # Unique ID of the participant in the call.
26
+ attr_accessor :id
27
+
28
+ # Whether the participant was invited to the meeting or only attended the call.
29
+ attr_accessor :methods
30
+
31
+ # The name of the participant.
32
+ attr_accessor :name
33
+
34
+ # The phone number of the participant.
35
+ attr_accessor :phone_number
36
+
37
+ # Unique ID of a participant that spoke in the call. References to this id will appear in the '/v2/calls/transcript' endpoint response.
38
+ attr_accessor :speaker_id
39
+
40
+ # The job title of the participant
41
+ attr_accessor :title
42
+
43
+ # The user ID of the participant within the Gong system, if the participant exists in the system.
44
+ attr_accessor :user_id
45
+
46
+ class EnumAttributeValidator
47
+ attr_reader :datatype
48
+ attr_reader :allowable_values
49
+
50
+ def initialize(datatype, allowable_values)
51
+ @allowable_values = allowable_values.map do |value|
52
+ case datatype.to_s
53
+ when /Integer/i
54
+ value.to_i
55
+ when /Float/i
56
+ value.to_f
57
+ else
58
+ value
59
+ end
60
+ end
61
+ end
62
+
63
+ def valid?(value)
64
+ !value || allowable_values.include?(value)
65
+ end
66
+ end
67
+
68
+ # Attribute mapping from ruby-style variable name to JSON key.
69
+ def self.attribute_map
70
+ {
71
+ :'affiliation' => :'affiliation',
72
+ :'context' => :'context',
73
+ :'email_address' => :'emailAddress',
74
+ :'id' => :'id',
75
+ :'methods' => :'methods',
76
+ :'name' => :'name',
77
+ :'phone_number' => :'phoneNumber',
78
+ :'speaker_id' => :'speakerId',
79
+ :'title' => :'title',
80
+ :'user_id' => :'userId'
81
+ }
82
+ end
83
+
84
+ # Attribute type mapping.
85
+ def self.openapi_types
86
+ {
87
+ :'affiliation' => :'Object',
88
+ :'context' => :'Object',
89
+ :'email_address' => :'Object',
90
+ :'id' => :'Object',
91
+ :'methods' => :'Object',
92
+ :'name' => :'Object',
93
+ :'phone_number' => :'Object',
94
+ :'speaker_id' => :'Object',
95
+ :'title' => :'Object',
96
+ :'user_id' => :'Object'
97
+ }
98
+ end
99
+
100
+ # List of attributes with nullable: true
101
+ def self.openapi_nullable
102
+ Set.new([
103
+ ])
104
+ end
105
+
106
+ # Initializes the object
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ def initialize(attributes = {})
109
+ if (!attributes.is_a?(Hash))
110
+ fail ArgumentError, "The input argument (attributes) must be a hash in `GongAPI::Party` initialize method"
111
+ end
112
+
113
+ # check to see if the attribute exists and convert string to symbol for hash key
114
+ attributes = attributes.each_with_object({}) { |(k, v), h|
115
+ if (!self.class.attribute_map.key?(k.to_sym))
116
+ fail ArgumentError, "`#{k}` is not a valid attribute in `GongAPI::Party`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
117
+ end
118
+ h[k.to_sym] = v
119
+ }
120
+
121
+ if attributes.key?(:'affiliation')
122
+ self.affiliation = attributes[:'affiliation']
123
+ end
124
+
125
+ if attributes.key?(:'context')
126
+ if (value = attributes[:'context']).is_a?(Array)
127
+ self.context = value
128
+ end
129
+ end
130
+
131
+ if attributes.key?(:'email_address')
132
+ self.email_address = attributes[:'email_address']
133
+ end
134
+
135
+ if attributes.key?(:'id')
136
+ self.id = attributes[:'id']
137
+ end
138
+
139
+ if attributes.key?(:'methods')
140
+ if (value = attributes[:'methods']).is_a?(Array)
141
+ self.methods = value
142
+ end
143
+ end
144
+
145
+ if attributes.key?(:'name')
146
+ self.name = attributes[:'name']
147
+ end
148
+
149
+ if attributes.key?(:'phone_number')
150
+ self.phone_number = attributes[:'phone_number']
151
+ end
152
+
153
+ if attributes.key?(:'speaker_id')
154
+ self.speaker_id = attributes[:'speaker_id']
155
+ end
156
+
157
+ if attributes.key?(:'title')
158
+ self.title = attributes[:'title']
159
+ end
160
+
161
+ if attributes.key?(:'user_id')
162
+ self.user_id = attributes[:'user_id']
163
+ end
164
+ end
165
+
166
+ # Show invalid properties with the reasons. Usually used together with valid?
167
+ # @return Array for valid properties with the reasons
168
+ def list_invalid_properties
169
+ invalid_properties = Array.new
170
+ invalid_properties
171
+ end
172
+
173
+ # Check to see if the all the properties in the model are valid
174
+ # @return true if the model is valid
175
+ def valid?
176
+ affiliation_validator = EnumAttributeValidator.new('Object', ['External', 'Internal', 'Unknown'])
177
+ return false unless affiliation_validator.valid?(@affiliation)
178
+ true
179
+ end
180
+
181
+ # Custom attribute writer method checking allowed values (enum).
182
+ # @param [Object] affiliation Object to be assigned
183
+ def affiliation=(affiliation)
184
+ validator = EnumAttributeValidator.new('Object', ['External', 'Internal', 'Unknown'])
185
+ unless validator.valid?(affiliation)
186
+ fail ArgumentError, "invalid value for \"affiliation\", must be one of #{validator.allowable_values}."
187
+ end
188
+ @affiliation = affiliation
189
+ end
190
+
191
+ # Checks equality by comparing each attribute.
192
+ # @param [Object] Object to be compared
193
+ def ==(o)
194
+ return true if self.equal?(o)
195
+ self.class == o.class &&
196
+ affiliation == o.affiliation &&
197
+ context == o.context &&
198
+ email_address == o.email_address &&
199
+ id == o.id &&
200
+ methods == o.methods &&
201
+ name == o.name &&
202
+ phone_number == o.phone_number &&
203
+ speaker_id == o.speaker_id &&
204
+ title == o.title &&
205
+ user_id == o.user_id
206
+ end
207
+
208
+ # @see the `==` method
209
+ # @param [Object] Object to be compared
210
+ def eql?(o)
211
+ self == o
212
+ end
213
+
214
+ # Calculates hash code according to all attributes.
215
+ # @return [Integer] Hash code
216
+ def hash
217
+ [affiliation, context, email_address, id, methods, name, phone_number, speaker_id, title, user_id].hash
218
+ end
219
+
220
+ # Builds the object from hash
221
+ # @param [Hash] attributes Model attributes in the form of hash
222
+ # @return [Object] Returns the model itself
223
+ def self.build_from_hash(attributes)
224
+ new.build_from_hash(attributes)
225
+ end
226
+
227
+ # Builds the object from hash
228
+ # @param [Hash] attributes Model attributes in the form of hash
229
+ # @return [Object] Returns the model itself
230
+ def build_from_hash(attributes)
231
+ return nil unless attributes.is_a?(Hash)
232
+ self.class.openapi_types.each_pair do |key, type|
233
+ if type =~ /\AArray<(.*)>/i
234
+ # check to ensure the input is an array given that the attribute
235
+ # is documented as an array but the input is not
236
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
237
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
238
+ end
239
+ elsif !attributes[self.class.attribute_map[key]].nil?
240
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
241
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
242
+ self.send("#{key}=", nil)
243
+ end
244
+ end
245
+
246
+ self
247
+ end
248
+
249
+ # Deserializes the data based on type
250
+ # @param string type Data type
251
+ # @param string value Value to be deserialized
252
+ # @return [Object] Deserialized data
253
+ def _deserialize(type, value)
254
+ case type.to_sym
255
+ when :DateTime
256
+ DateTime.parse(value)
257
+ when :Date
258
+ Date.parse(value)
259
+ when :String
260
+ value.to_s
261
+ when :Integer
262
+ value.to_i
263
+ when :Float
264
+ value.to_f
265
+ when :Boolean
266
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
267
+ true
268
+ else
269
+ false
270
+ end
271
+ when :Object
272
+ # generic object (usually a Hash), return directly
273
+ value
274
+ when /\AArray<(?<inner_type>.+)>\z/
275
+ inner_type = Regexp.last_match[:inner_type]
276
+ value.map { |v| _deserialize(inner_type, v) }
277
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
278
+ k_type = Regexp.last_match[:k_type]
279
+ v_type = Regexp.last_match[:v_type]
280
+ {}.tap do |hash|
281
+ value.each do |k, v|
282
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
283
+ end
284
+ end
285
+ else # model
286
+ GongAPI.const_get(type).build_from_hash(value)
287
+ end
288
+ end
289
+
290
+ # Returns the string representation of the object
291
+ # @return [String] String presentation of the object
292
+ def to_s
293
+ to_hash.to_s
294
+ end
295
+
296
+ # to_body is an alias to to_hash (backward compatibility)
297
+ # @return [Hash] Returns the object in the form of hash
298
+ def to_body
299
+ to_hash
300
+ end
301
+
302
+ # Returns the object in the form of hash
303
+ # @return [Hash] Returns the object in the form of hash
304
+ def to_hash
305
+ hash = {}
306
+ self.class.attribute_map.each_pair do |attr, param|
307
+ value = self.send(attr)
308
+ if value.nil?
309
+ is_nullable = self.class.openapi_nullable.include?(attr)
310
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
311
+ end
312
+
313
+ hash[param] = _to_hash(value)
314
+ end
315
+ hash
316
+ end
317
+
318
+ # Outputs non-array value in the form of hash
319
+ # For object, use to_hash. Otherwise, just return the value
320
+ # @param [Object] value Any valid value
321
+ # @return [Hash] Returns the value in the form of hash
322
+ def _to_hash(value)
323
+ if value.is_a?(Array)
324
+ value.compact.map { |v| _to_hash(v) }
325
+ elsif value.is_a?(Hash)
326
+ {}.tap do |hash|
327
+ value.each { |k, v| hash[k] = _to_hash(v) }
328
+ end
329
+ elsif value.respond_to? :to_hash
330
+ value.to_hash
331
+ else
332
+ value
333
+ end
334
+ end end
335
+ end
@@ -0,0 +1,254 @@
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
+ # Links to external systems such as CRM, Dialer, Case Management etc
16
+ class PartyContext
17
+ # List of objects within the external system
18
+ attr_accessor :objects
19
+
20
+ # External system name. e.g. Salesforce
21
+ attr_accessor :system
22
+
23
+ class EnumAttributeValidator
24
+ attr_reader :datatype
25
+ attr_reader :allowable_values
26
+
27
+ def initialize(datatype, allowable_values)
28
+ @allowable_values = allowable_values.map do |value|
29
+ case datatype.to_s
30
+ when /Integer/i
31
+ value.to_i
32
+ when /Float/i
33
+ value.to_f
34
+ else
35
+ value
36
+ end
37
+ end
38
+ end
39
+
40
+ def valid?(value)
41
+ !value || allowable_values.include?(value)
42
+ end
43
+ end
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+ :'objects' => :'objects',
49
+ :'system' => :'system'
50
+ }
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ def self.openapi_types
55
+ {
56
+ :'objects' => :'Object',
57
+ :'system' => :'Object'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ ])
65
+ end
66
+
67
+ # Initializes the object
68
+ # @param [Hash] attributes Model attributes in the form of hash
69
+ def initialize(attributes = {})
70
+ if (!attributes.is_a?(Hash))
71
+ fail ArgumentError, "The input argument (attributes) must be a hash in `GongAPI::PartyContext` initialize method"
72
+ end
73
+
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ attributes = attributes.each_with_object({}) { |(k, v), h|
76
+ if (!self.class.attribute_map.key?(k.to_sym))
77
+ fail ArgumentError, "`#{k}` is not a valid attribute in `GongAPI::PartyContext`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
78
+ end
79
+ h[k.to_sym] = v
80
+ }
81
+
82
+ if attributes.key?(:'objects')
83
+ if (value = attributes[:'objects']).is_a?(Array)
84
+ self.objects = value
85
+ end
86
+ end
87
+
88
+ if attributes.key?(:'system')
89
+ self.system = attributes[:'system']
90
+ end
91
+ end
92
+
93
+ # Show invalid properties with the reasons. Usually used together with valid?
94
+ # @return Array for valid properties with the reasons
95
+ def list_invalid_properties
96
+ invalid_properties = Array.new
97
+ invalid_properties
98
+ end
99
+
100
+ # Check to see if the all the properties in the model are valid
101
+ # @return true if the model is valid
102
+ def valid?
103
+ system_validator = EnumAttributeValidator.new('Object', ['Generic', 'HubSpot', 'MicrosoftDynamic', 'Salesforce'])
104
+ return false unless system_validator.valid?(@system)
105
+ true
106
+ end
107
+
108
+ # Custom attribute writer method checking allowed values (enum).
109
+ # @param [Object] system Object to be assigned
110
+ def system=(system)
111
+ validator = EnumAttributeValidator.new('Object', ['Generic', 'HubSpot', 'MicrosoftDynamic', 'Salesforce'])
112
+ unless validator.valid?(system)
113
+ fail ArgumentError, "invalid value for \"system\", must be one of #{validator.allowable_values}."
114
+ end
115
+ @system = system
116
+ end
117
+
118
+ # Checks equality by comparing each attribute.
119
+ # @param [Object] Object to be compared
120
+ def ==(o)
121
+ return true if self.equal?(o)
122
+ self.class == o.class &&
123
+ objects == o.objects &&
124
+ system == o.system
125
+ end
126
+
127
+ # @see the `==` method
128
+ # @param [Object] Object to be compared
129
+ def eql?(o)
130
+ self == o
131
+ end
132
+
133
+ # Calculates hash code according to all attributes.
134
+ # @return [Integer] Hash code
135
+ def hash
136
+ [objects, system].hash
137
+ end
138
+
139
+ # Builds the object from hash
140
+ # @param [Hash] attributes Model attributes in the form of hash
141
+ # @return [Object] Returns the model itself
142
+ def self.build_from_hash(attributes)
143
+ new.build_from_hash(attributes)
144
+ end
145
+
146
+ # Builds the object from hash
147
+ # @param [Hash] attributes Model attributes in the form of hash
148
+ # @return [Object] Returns the model itself
149
+ def build_from_hash(attributes)
150
+ return nil unless attributes.is_a?(Hash)
151
+ self.class.openapi_types.each_pair do |key, type|
152
+ if type =~ /\AArray<(.*)>/i
153
+ # check to ensure the input is an array given that the attribute
154
+ # is documented as an array but the input is not
155
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
156
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
157
+ end
158
+ elsif !attributes[self.class.attribute_map[key]].nil?
159
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
160
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
161
+ self.send("#{key}=", nil)
162
+ end
163
+ end
164
+
165
+ self
166
+ end
167
+
168
+ # Deserializes the data based on type
169
+ # @param string type Data type
170
+ # @param string value Value to be deserialized
171
+ # @return [Object] Deserialized data
172
+ def _deserialize(type, value)
173
+ case type.to_sym
174
+ when :DateTime
175
+ DateTime.parse(value)
176
+ when :Date
177
+ Date.parse(value)
178
+ when :String
179
+ value.to_s
180
+ when :Integer
181
+ value.to_i
182
+ when :Float
183
+ value.to_f
184
+ when :Boolean
185
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
186
+ true
187
+ else
188
+ false
189
+ end
190
+ when :Object
191
+ # generic object (usually a Hash), return directly
192
+ value
193
+ when /\AArray<(?<inner_type>.+)>\z/
194
+ inner_type = Regexp.last_match[:inner_type]
195
+ value.map { |v| _deserialize(inner_type, v) }
196
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
197
+ k_type = Regexp.last_match[:k_type]
198
+ v_type = Regexp.last_match[:v_type]
199
+ {}.tap do |hash|
200
+ value.each do |k, v|
201
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
202
+ end
203
+ end
204
+ else # model
205
+ GongAPI.const_get(type).build_from_hash(value)
206
+ end
207
+ end
208
+
209
+ # Returns the string representation of the object
210
+ # @return [String] String presentation of the object
211
+ def to_s
212
+ to_hash.to_s
213
+ end
214
+
215
+ # to_body is an alias to to_hash (backward compatibility)
216
+ # @return [Hash] Returns the object in the form of hash
217
+ def to_body
218
+ to_hash
219
+ end
220
+
221
+ # Returns the object in the form of hash
222
+ # @return [Hash] Returns the object in the form of hash
223
+ def to_hash
224
+ hash = {}
225
+ self.class.attribute_map.each_pair do |attr, param|
226
+ value = self.send(attr)
227
+ if value.nil?
228
+ is_nullable = self.class.openapi_nullable.include?(attr)
229
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
230
+ end
231
+
232
+ hash[param] = _to_hash(value)
233
+ end
234
+ hash
235
+ end
236
+
237
+ # Outputs non-array value in the form of hash
238
+ # For object, use to_hash. Otherwise, just return the value
239
+ # @param [Object] value Any valid value
240
+ # @return [Hash] Returns the value in the form of hash
241
+ def _to_hash(value)
242
+ if value.is_a?(Array)
243
+ value.compact.map { |v| _to_hash(v) }
244
+ elsif value.is_a?(Hash)
245
+ {}.tap do |hash|
246
+ value.each { |k, v| hash[k] = _to_hash(v) }
247
+ end
248
+ elsif value.respond_to? :to_hash
249
+ value.to_hash
250
+ else
251
+ value
252
+ end
253
+ end end
254
+ end