getstream-ruby 3.0.0.beta.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/lib/getstream_ruby/client.rb +12 -0
  3. data/lib/getstream_ruby/generated/chat_client.rb +1652 -0
  4. data/lib/getstream_ruby/generated/common_client.rb +14 -14
  5. data/lib/getstream_ruby/generated/feed.rb +3 -1
  6. data/lib/getstream_ruby/generated/feeds_client.rb +29 -3
  7. data/lib/getstream_ruby/generated/models/activity_response.rb +15 -0
  8. data/lib/getstream_ruby/generated/models/add_activity_request.rb +5 -0
  9. data/lib/getstream_ruby/generated/models/aggregated_activity_response.rb +10 -0
  10. data/lib/getstream_ruby/generated/models/app_response_fields.rb +5 -0
  11. data/lib/getstream_ruby/generated/models/async_export_error_event.rb +1 -1
  12. data/lib/getstream_ruby/generated/models/block_list_config.rb +5 -0
  13. data/lib/getstream_ruby/generated/models/channel_batch_member_request.rb +36 -0
  14. data/lib/getstream_ruby/generated/models/channel_batch_update_request.rb +46 -0
  15. data/lib/getstream_ruby/generated/models/channel_batch_update_response.rb +36 -0
  16. data/lib/getstream_ruby/generated/models/channel_data_update.rb +61 -0
  17. data/lib/getstream_ruby/generated/models/check_s3_access_request.rb +31 -0
  18. data/lib/getstream_ruby/generated/models/check_s3_access_response.rb +41 -0
  19. data/lib/getstream_ruby/generated/models/create_feeds_batch_request.rb +6 -1
  20. data/lib/getstream_ruby/generated/models/delete_activity_reaction_request.rb +14 -0
  21. data/lib/getstream_ruby/generated/models/delete_activity_request.rb +1 -23
  22. data/lib/getstream_ruby/generated/models/delete_block_list_request.rb +14 -0
  23. data/lib/getstream_ruby/generated/models/delete_bookmark_folder_request.rb +36 -0
  24. data/lib/getstream_ruby/generated/models/delete_bookmark_request.rb +14 -0
  25. data/lib/getstream_ruby/generated/models/delete_call_type_request.rb +14 -0
  26. data/lib/getstream_ruby/generated/models/delete_channel_request.rb +14 -0
  27. data/lib/getstream_ruby/generated/models/delete_collections_request.rb +36 -0
  28. data/lib/getstream_ruby/generated/models/delete_command_request.rb +14 -0
  29. data/lib/getstream_ruby/generated/models/delete_comment_reaction_request.rb +14 -0
  30. data/lib/getstream_ruby/generated/models/delete_comment_request.rb +1 -23
  31. data/lib/getstream_ruby/generated/models/delete_custom_role_request.rb +14 -0
  32. data/lib/getstream_ruby/generated/models/delete_device_request.rb +14 -0
  33. data/lib/getstream_ruby/generated/models/delete_draft_request.rb +14 -0
  34. data/lib/getstream_ruby/generated/models/delete_external_storage_request.rb +14 -0
  35. data/lib/getstream_ruby/generated/models/delete_feed_group_request.rb +14 -0
  36. data/lib/getstream_ruby/generated/models/delete_feed_request.rb +14 -0
  37. data/lib/getstream_ruby/generated/models/delete_feed_view_request.rb +14 -0
  38. data/lib/getstream_ruby/generated/models/delete_import_v2_task_request.rb +14 -0
  39. data/lib/getstream_ruby/generated/models/delete_membership_level_request.rb +14 -0
  40. data/lib/getstream_ruby/generated/models/delete_message_request.rb +1 -23
  41. data/lib/getstream_ruby/generated/models/delete_moderation_config_request.rb +14 -0
  42. data/lib/getstream_ruby/generated/models/delete_moderation_template_request.rb +31 -0
  43. data/lib/getstream_ruby/generated/models/delete_poll_option_request.rb +14 -0
  44. data/lib/getstream_ruby/generated/models/delete_poll_request.rb +14 -0
  45. data/lib/getstream_ruby/generated/models/delete_poll_vote_request.rb +14 -0
  46. data/lib/getstream_ruby/generated/models/delete_push_provider_request.rb +14 -0
  47. data/lib/getstream_ruby/generated/models/delete_reaction_request.rb +2 -24
  48. data/lib/getstream_ruby/generated/models/delete_recording_request.rb +14 -0
  49. data/lib/getstream_ruby/generated/models/delete_reminder_request.rb +14 -0
  50. data/lib/getstream_ruby/generated/models/delete_segment_request.rb +14 -0
  51. data/lib/getstream_ruby/generated/models/delete_sip_inbound_routing_rule_request.rb +14 -0
  52. data/lib/getstream_ruby/generated/models/delete_sip_trunk_request.rb +14 -0
  53. data/lib/getstream_ruby/generated/models/delete_transcription_request.rb +14 -0
  54. data/lib/getstream_ruby/generated/models/delete_user_group_request.rb +14 -0
  55. data/lib/getstream_ruby/generated/models/feed_own_capability.rb +1 -1
  56. data/lib/getstream_ruby/generated/models/feed_updated_event.rb +1 -1
  57. data/lib/getstream_ruby/generated/models/file_delete_request.rb +14 -0
  58. data/lib/getstream_ruby/generated/models/follow_batch_request.rb +6 -1
  59. data/lib/getstream_ruby/generated/models/follow_request.rb +5 -0
  60. data/lib/getstream_ruby/generated/models/get_channel_type_request.rb +14 -0
  61. data/lib/getstream_ruby/generated/models/notification_status_response.rb +3 -3
  62. data/lib/getstream_ruby/generated/models/pin_activity_request.rb +5 -0
  63. data/lib/getstream_ruby/generated/models/query_activities_request.rb +5 -0
  64. data/lib/getstream_ruby/generated/models/query_bookmarks_request.rb +5 -0
  65. data/lib/getstream_ruby/generated/models/query_comments_request.rb +16 -1
  66. data/lib/getstream_ruby/generated/models/query_feeds_request.rb +5 -0
  67. data/lib/getstream_ruby/generated/models/query_moderation_rules_response.rb +6 -1
  68. data/lib/getstream_ruby/generated/models/query_pinned_activities_request.rb +5 -0
  69. data/lib/getstream_ruby/generated/models/remove_user_group_members_request.rb +1 -1
  70. data/lib/getstream_ruby/generated/models/track_activity_metrics_event.rb +41 -0
  71. data/lib/getstream_ruby/generated/models/track_activity_metrics_event_result.rb +46 -0
  72. data/lib/getstream_ruby/generated/models/track_activity_metrics_request.rb +41 -0
  73. data/lib/getstream_ruby/generated/models/track_activity_metrics_response.rb +36 -0
  74. data/lib/getstream_ruby/generated/models/unfollow_batch_request.rb +6 -1
  75. data/lib/getstream_ruby/generated/models/unfollow_request.rb +14 -0
  76. data/lib/getstream_ruby/generated/models/unpin_activity_request.rb +14 -0
  77. data/lib/getstream_ruby/generated/models/update_activity_partial_request.rb +5 -0
  78. data/lib/getstream_ruby/generated/models/update_activity_request.rb +5 -0
  79. data/lib/getstream_ruby/generated/models/update_app_request.rb +5 -0
  80. data/lib/getstream_ruby/generated/models/update_feed_request.rb +5 -0
  81. data/lib/getstream_ruby/generated/models/update_follow_request.rb +5 -0
  82. data/lib/getstream_ruby/generated/models/upsert_activities_request.rb +6 -1
  83. data/lib/getstream_ruby/generated/moderation_client.rb +17 -0
  84. data/lib/getstream_ruby/generated/video_client.rb +1385 -0
  85. data/lib/getstream_ruby/version.rb +1 -1
  86. metadata +51 -4
@@ -0,0 +1,1385 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ # Load all models at once
6
+ Dir[File.join(__dir__, "models", "*.rb")].sort.each { |file| require_relative file }
7
+
8
+ module GetStream
9
+ module Generated
10
+ # Video API client with generated methods
11
+ class VideoClient
12
+ def initialize(client)
13
+ @client = client
14
+ end
15
+ # Get the current status of all active calls including metrics and summary information
16
+ #
17
+ # @return [Models::GetActiveCallsStatusResponse]
18
+ def get_active_calls_status()
19
+ path = '/api/v2/video/active_calls_status'
20
+
21
+ # Make the API request
22
+ @client.make_request(
23
+ :get,
24
+ path
25
+ )
26
+ end
27
+
28
+ #
29
+ #
30
+ # @param query_user_feedback_request [QueryUserFeedbackRequest]
31
+ # @param full [Boolean]
32
+ # @return [Models::QueryUserFeedbackResponse]
33
+ def query_user_feedback(query_user_feedback_request, full = nil)
34
+ path = '/api/v2/video/call/feedback'
35
+ # Build query parameters
36
+ query_params = {}
37
+ query_params['full'] = full unless full.nil?
38
+ # Build request body
39
+ body = query_user_feedback_request
40
+
41
+ # Make the API request
42
+ @client.make_request(
43
+ :post,
44
+ path,
45
+ query_params: query_params,
46
+ body: body
47
+ )
48
+ end
49
+
50
+ # Query call members with filter query
51
+ #
52
+ # @param query_call_members_request [QueryCallMembersRequest]
53
+ # @return [Models::QueryCallMembersResponse]
54
+ def query_call_members(query_call_members_request)
55
+ path = '/api/v2/video/call/members'
56
+ # Build request body
57
+ body = query_call_members_request
58
+
59
+ # Make the API request
60
+ @client.make_request(
61
+ :post,
62
+ path,
63
+ body: body
64
+ )
65
+ end
66
+
67
+ #
68
+ #
69
+ # @param query_call_stats_request [QueryCallStatsRequest]
70
+ # @return [Models::QueryCallStatsResponse]
71
+ def query_call_stats(query_call_stats_request)
72
+ path = '/api/v2/video/call/stats'
73
+ # Build request body
74
+ body = query_call_stats_request
75
+
76
+ # Make the API request
77
+ @client.make_request(
78
+ :post,
79
+ path,
80
+ body: body
81
+ )
82
+ end
83
+
84
+ #
85
+ #
86
+ # @param _type [String]
87
+ # @param _id [String]
88
+ # @param members_limit [Integer]
89
+ # @param ring [Boolean]
90
+ # @param notify [Boolean]
91
+ # @param video [Boolean]
92
+ # @return [Models::GetCallResponse]
93
+ def get_call(_type, _id, members_limit = nil, ring = nil, notify = nil, video = nil)
94
+ path = '/api/v2/video/call/{type}/{id}'
95
+ # Replace path parameters
96
+ path = path.gsub('{type}', _type.to_s)
97
+ path = path.gsub('{id}', _id.to_s)
98
+ # Build query parameters
99
+ query_params = {}
100
+ query_params['members_limit'] = members_limit unless members_limit.nil?
101
+ query_params['ring'] = ring unless ring.nil?
102
+ query_params['notify'] = notify unless notify.nil?
103
+ query_params['video'] = video unless video.nil?
104
+
105
+ # Make the API request
106
+ @client.make_request(
107
+ :get,
108
+ path,
109
+ query_params: query_params
110
+ )
111
+ end
112
+
113
+ # Sends events:- call.updated
114
+ #
115
+ # @param _type [String]
116
+ # @param _id [String]
117
+ # @param update_call_request [UpdateCallRequest]
118
+ # @return [Models::UpdateCallResponse]
119
+ def update_call(_type, _id, update_call_request)
120
+ path = '/api/v2/video/call/{type}/{id}'
121
+ # Replace path parameters
122
+ path = path.gsub('{type}', _type.to_s)
123
+ path = path.gsub('{id}', _id.to_s)
124
+ # Build request body
125
+ body = update_call_request
126
+
127
+ # Make the API request
128
+ @client.make_request(
129
+ :patch,
130
+ path,
131
+ body: body
132
+ )
133
+ end
134
+
135
+ # Gets or creates a new callSends events:- call.created- call.notification- call.ring
136
+ #
137
+ # @param _type [String]
138
+ # @param _id [String]
139
+ # @param get_or_create_call_request [GetOrCreateCallRequest]
140
+ # @return [Models::GetOrCreateCallResponse]
141
+ def get_or_create_call(_type, _id, get_or_create_call_request)
142
+ path = '/api/v2/video/call/{type}/{id}'
143
+ # Replace path parameters
144
+ path = path.gsub('{type}', _type.to_s)
145
+ path = path.gsub('{id}', _id.to_s)
146
+ # Build request body
147
+ body = get_or_create_call_request
148
+
149
+ # Make the API request
150
+ @client.make_request(
151
+ :post,
152
+ path,
153
+ body: body
154
+ )
155
+ end
156
+
157
+ # Block a user, preventing them from joining the call until they are unblocked.Sends events:- call.blocked_user
158
+ #
159
+ # @param _type [String]
160
+ # @param _id [String]
161
+ # @param block_user_request [BlockUserRequest]
162
+ # @return [Models::BlockUserResponse]
163
+ def block_user(_type, _id, block_user_request)
164
+ path = '/api/v2/video/call/{type}/{id}/block'
165
+ # Replace path parameters
166
+ path = path.gsub('{type}', _type.to_s)
167
+ path = path.gsub('{id}', _id.to_s)
168
+ # Build request body
169
+ body = block_user_request
170
+
171
+ # Make the API request
172
+ @client.make_request(
173
+ :post,
174
+ path,
175
+ body: body
176
+ )
177
+ end
178
+
179
+ # Sends a closed caption event to the callSends events:- call.closed_caption
180
+ #
181
+ # @param _type [String]
182
+ # @param _id [String]
183
+ # @param send_closed_caption_request [SendClosedCaptionRequest]
184
+ # @return [Models::SendClosedCaptionResponse]
185
+ def send_closed_caption(_type, _id, send_closed_caption_request)
186
+ path = '/api/v2/video/call/{type}/{id}/closed_captions'
187
+ # Replace path parameters
188
+ path = path.gsub('{type}', _type.to_s)
189
+ path = path.gsub('{id}', _id.to_s)
190
+ # Build request body
191
+ body = send_closed_caption_request
192
+
193
+ # Make the API request
194
+ @client.make_request(
195
+ :post,
196
+ path,
197
+ body: body
198
+ )
199
+ end
200
+
201
+ # Sends events:- call.deleted
202
+ #
203
+ # @param _type [String]
204
+ # @param _id [String]
205
+ # @param delete_call_request [DeleteCallRequest]
206
+ # @return [Models::DeleteCallResponse]
207
+ def delete_call(_type, _id, delete_call_request)
208
+ path = '/api/v2/video/call/{type}/{id}/delete'
209
+ # Replace path parameters
210
+ path = path.gsub('{type}', _type.to_s)
211
+ path = path.gsub('{id}', _id.to_s)
212
+ # Build request body
213
+ body = delete_call_request
214
+
215
+ # Make the API request
216
+ @client.make_request(
217
+ :post,
218
+ path,
219
+ body: body
220
+ )
221
+ end
222
+
223
+ # Sends custom event to the callSends events:- custom
224
+ #
225
+ # @param _type [String]
226
+ # @param _id [String]
227
+ # @param send_call_event_request [SendCallEventRequest]
228
+ # @return [Models::SendCallEventResponse]
229
+ def send_call_event(_type, _id, send_call_event_request)
230
+ path = '/api/v2/video/call/{type}/{id}/event'
231
+ # Replace path parameters
232
+ path = path.gsub('{type}', _type.to_s)
233
+ path = path.gsub('{id}', _id.to_s)
234
+ # Build request body
235
+ body = send_call_event_request
236
+
237
+ # Make the API request
238
+ @client.make_request(
239
+ :post,
240
+ path,
241
+ body: body
242
+ )
243
+ end
244
+
245
+ # Sends events:- call.user_feedback_submitted
246
+ #
247
+ # @param _type [String]
248
+ # @param _id [String]
249
+ # @param collect_user_feedback_request [CollectUserFeedbackRequest]
250
+ # @return [Models::CollectUserFeedbackResponse]
251
+ def collect_user_feedback(_type, _id, collect_user_feedback_request)
252
+ path = '/api/v2/video/call/{type}/{id}/feedback'
253
+ # Replace path parameters
254
+ path = path.gsub('{type}', _type.to_s)
255
+ path = path.gsub('{id}', _id.to_s)
256
+ # Build request body
257
+ body = collect_user_feedback_request
258
+
259
+ # Make the API request
260
+ @client.make_request(
261
+ :post,
262
+ path,
263
+ body: body
264
+ )
265
+ end
266
+
267
+ # Sends events:- call.live_started
268
+ #
269
+ # @param _type [String]
270
+ # @param _id [String]
271
+ # @param go_live_request [GoLiveRequest]
272
+ # @return [Models::GoLiveResponse]
273
+ def go_live(_type, _id, go_live_request)
274
+ path = '/api/v2/video/call/{type}/{id}/go_live'
275
+ # Replace path parameters
276
+ path = path.gsub('{type}', _type.to_s)
277
+ path = path.gsub('{id}', _id.to_s)
278
+ # Build request body
279
+ body = go_live_request
280
+
281
+ # Make the API request
282
+ @client.make_request(
283
+ :post,
284
+ path,
285
+ body: body
286
+ )
287
+ end
288
+
289
+ # Kicks a user from the call. Optionally block the user from rejoining by setting block=true.Sends events:- call.blocked_user- call.kicked_user
290
+ #
291
+ # @param _type [String]
292
+ # @param _id [String]
293
+ # @param kick_user_request [KickUserRequest]
294
+ # @return [Models::KickUserResponse]
295
+ def kick_user(_type, _id, kick_user_request)
296
+ path = '/api/v2/video/call/{type}/{id}/kick'
297
+ # Replace path parameters
298
+ path = path.gsub('{type}', _type.to_s)
299
+ path = path.gsub('{id}', _id.to_s)
300
+ # Build request body
301
+ body = kick_user_request
302
+
303
+ # Make the API request
304
+ @client.make_request(
305
+ :post,
306
+ path,
307
+ body: body
308
+ )
309
+ end
310
+
311
+ # Sends events:- call.ended
312
+ #
313
+ # @param _type [String]
314
+ # @param _id [String]
315
+ # @return [Models::EndCallResponse]
316
+ def end_call(_type, _id)
317
+ path = '/api/v2/video/call/{type}/{id}/mark_ended'
318
+ # Replace path parameters
319
+ path = path.gsub('{type}', _type.to_s)
320
+ path = path.gsub('{id}', _id.to_s)
321
+
322
+ # Make the API request
323
+ @client.make_request(
324
+ :post,
325
+ path
326
+ )
327
+ end
328
+
329
+ # Sends events:- call.member_added- call.member_removed- call.member_updated
330
+ #
331
+ # @param _type [String]
332
+ # @param _id [String]
333
+ # @param update_call_members_request [UpdateCallMembersRequest]
334
+ # @return [Models::UpdateCallMembersResponse]
335
+ def update_call_members(_type, _id, update_call_members_request)
336
+ path = '/api/v2/video/call/{type}/{id}/members'
337
+ # Replace path parameters
338
+ path = path.gsub('{type}', _type.to_s)
339
+ path = path.gsub('{id}', _id.to_s)
340
+ # Build request body
341
+ body = update_call_members_request
342
+
343
+ # Make the API request
344
+ @client.make_request(
345
+ :post,
346
+ path,
347
+ body: body
348
+ )
349
+ end
350
+
351
+ # Mutes users in a call
352
+ #
353
+ # @param _type [String]
354
+ # @param _id [String]
355
+ # @param mute_users_request [MuteUsersRequest]
356
+ # @return [Models::MuteUsersResponse]
357
+ def mute_users(_type, _id, mute_users_request)
358
+ path = '/api/v2/video/call/{type}/{id}/mute_users'
359
+ # Replace path parameters
360
+ path = path.gsub('{type}', _type.to_s)
361
+ path = path.gsub('{id}', _id.to_s)
362
+ # Build request body
363
+ body = mute_users_request
364
+
365
+ # Make the API request
366
+ @client.make_request(
367
+ :post,
368
+ path,
369
+ body: body
370
+ )
371
+ end
372
+
373
+ # Returns a list of participants connected to the call
374
+ #
375
+ # @param _id [String]
376
+ # @param _type [String]
377
+ # @param query_call_participants_request [QueryCallParticipantsRequest]
378
+ # @param limit [Integer]
379
+ # @return [Models::QueryCallParticipantsResponse]
380
+ def query_call_participants(_id, _type, query_call_participants_request, limit = nil)
381
+ path = '/api/v2/video/call/{type}/{id}/participants'
382
+ # Replace path parameters
383
+ path = path.gsub('{id}', _id.to_s)
384
+ path = path.gsub('{type}', _type.to_s)
385
+ # Build query parameters
386
+ query_params = {}
387
+ query_params['limit'] = limit unless limit.nil?
388
+ # Build request body
389
+ body = query_call_participants_request
390
+
391
+ # Make the API request
392
+ @client.make_request(
393
+ :post,
394
+ path,
395
+ query_params: query_params,
396
+ body: body
397
+ )
398
+ end
399
+
400
+ # Pins a track for all users in the call.
401
+ #
402
+ # @param _type [String]
403
+ # @param _id [String]
404
+ # @param pin_request [PinRequest]
405
+ # @return [Models::PinResponse]
406
+ def video_pin(_type, _id, pin_request)
407
+ path = '/api/v2/video/call/{type}/{id}/pin'
408
+ # Replace path parameters
409
+ path = path.gsub('{type}', _type.to_s)
410
+ path = path.gsub('{id}', _id.to_s)
411
+ # Build request body
412
+ body = pin_request
413
+
414
+ # Make the API request
415
+ @client.make_request(
416
+ :post,
417
+ path,
418
+ body: body
419
+ )
420
+ end
421
+
422
+ # Lists recordings
423
+ #
424
+ # @param _type [String]
425
+ # @param _id [String]
426
+ # @return [Models::ListRecordingsResponse]
427
+ def list_recordings(_type, _id)
428
+ path = '/api/v2/video/call/{type}/{id}/recordings'
429
+ # Replace path parameters
430
+ path = path.gsub('{type}', _type.to_s)
431
+ path = path.gsub('{id}', _id.to_s)
432
+
433
+ # Make the API request
434
+ @client.make_request(
435
+ :get,
436
+ path
437
+ )
438
+ end
439
+
440
+ # Starts recordingSends events:- call.recording_started
441
+ #
442
+ # @param _type [String]
443
+ # @param _id [String]
444
+ # @param recording_type [String]
445
+ # @param start_recording_request [StartRecordingRequest]
446
+ # @return [Models::StartRecordingResponse]
447
+ def start_recording(_type, _id, recording_type, start_recording_request)
448
+ path = '/api/v2/video/call/{type}/{id}/recordings/{recording_type}/start'
449
+ # Replace path parameters
450
+ path = path.gsub('{type}', _type.to_s)
451
+ path = path.gsub('{id}', _id.to_s)
452
+ path = path.gsub('{recording_type}', recording_type.to_s)
453
+ # Build request body
454
+ body = start_recording_request
455
+
456
+ # Make the API request
457
+ @client.make_request(
458
+ :post,
459
+ path,
460
+ body: body
461
+ )
462
+ end
463
+
464
+ # Stops recordingSends events:- call.recording_stopped
465
+ #
466
+ # @param _type [String]
467
+ # @param _id [String]
468
+ # @param recording_type [String]
469
+ # @param stop_recording_request [StopRecordingRequest]
470
+ # @return [Models::StopRecordingResponse]
471
+ def stop_recording(_type, _id, recording_type, stop_recording_request)
472
+ path = '/api/v2/video/call/{type}/{id}/recordings/{recording_type}/stop'
473
+ # Replace path parameters
474
+ path = path.gsub('{type}', _type.to_s)
475
+ path = path.gsub('{id}', _id.to_s)
476
+ path = path.gsub('{recording_type}', recording_type.to_s)
477
+ # Build request body
478
+ body = stop_recording_request
479
+
480
+ # Make the API request
481
+ @client.make_request(
482
+ :post,
483
+ path,
484
+ body: body
485
+ )
486
+ end
487
+
488
+ #
489
+ #
490
+ # @param _type [String]
491
+ # @param _id [String]
492
+ # @param session_id [String]
493
+ # @return [Models::GetCallReportResponse]
494
+ def get_call_report(_type, _id, session_id = nil)
495
+ path = '/api/v2/video/call/{type}/{id}/report'
496
+ # Replace path parameters
497
+ path = path.gsub('{type}', _type.to_s)
498
+ path = path.gsub('{id}', _id.to_s)
499
+ # Build query parameters
500
+ query_params = {}
501
+ query_params['session_id'] = session_id unless session_id.nil?
502
+
503
+ # Make the API request
504
+ @client.make_request(
505
+ :get,
506
+ path,
507
+ query_params: query_params
508
+ )
509
+ end
510
+
511
+ # Sends a ring notification to the provided users who are not already in the call. All users should be members of the callSends events:- call.ring
512
+ #
513
+ # @param _type [String]
514
+ # @param _id [String]
515
+ # @param ring_call_request [RingCallRequest]
516
+ # @return [Models::RingCallResponse]
517
+ def ring_call(_type, _id, ring_call_request)
518
+ path = '/api/v2/video/call/{type}/{id}/ring'
519
+ # Replace path parameters
520
+ path = path.gsub('{type}', _type.to_s)
521
+ path = path.gsub('{id}', _id.to_s)
522
+ # Build request body
523
+ body = ring_call_request
524
+
525
+ # Make the API request
526
+ @client.make_request(
527
+ :post,
528
+ path,
529
+ body: body
530
+ )
531
+ end
532
+
533
+ # Starts RTMP broadcasts for the provided RTMP destinations
534
+ #
535
+ # @param _type [String]
536
+ # @param _id [String]
537
+ # @param start_rtmp_broadcasts_request [StartRTMPBroadcastsRequest]
538
+ # @return [Models::StartRTMPBroadcastsResponse]
539
+ def start_rtmp_broadcasts(_type, _id, start_rtmp_broadcasts_request)
540
+ path = '/api/v2/video/call/{type}/{id}/rtmp_broadcasts'
541
+ # Replace path parameters
542
+ path = path.gsub('{type}', _type.to_s)
543
+ path = path.gsub('{id}', _id.to_s)
544
+ # Build request body
545
+ body = start_rtmp_broadcasts_request
546
+
547
+ # Make the API request
548
+ @client.make_request(
549
+ :post,
550
+ path,
551
+ body: body
552
+ )
553
+ end
554
+
555
+ # Stop all RTMP broadcasts for the provided call
556
+ #
557
+ # @param _type [String]
558
+ # @param _id [String]
559
+ # @return [Models::StopAllRTMPBroadcastsResponse]
560
+ def stop_all_rtmp_broadcasts(_type, _id)
561
+ path = '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/stop'
562
+ # Replace path parameters
563
+ path = path.gsub('{type}', _type.to_s)
564
+ path = path.gsub('{id}', _id.to_s)
565
+
566
+ # Make the API request
567
+ @client.make_request(
568
+ :post,
569
+ path
570
+ )
571
+ end
572
+
573
+ # Stop RTMP broadcasts for the provided RTMP destinations
574
+ #
575
+ # @param _type [String]
576
+ # @param _id [String]
577
+ # @param name [String]
578
+ # @param stop_rtmp_broadcasts_request [StopRTMPBroadcastsRequest]
579
+ # @return [Models::StopRTMPBroadcastsResponse]
580
+ def stop_rtmp_broadcast(_type, _id, name, stop_rtmp_broadcasts_request)
581
+ path = '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/{name}/stop'
582
+ # Replace path parameters
583
+ path = path.gsub('{type}', _type.to_s)
584
+ path = path.gsub('{id}', _id.to_s)
585
+ path = path.gsub('{name}', name.to_s)
586
+ # Build request body
587
+ body = stop_rtmp_broadcasts_request
588
+
589
+ # Make the API request
590
+ @client.make_request(
591
+ :post,
592
+ path,
593
+ body: body
594
+ )
595
+ end
596
+
597
+ #
598
+ #
599
+ # @param _type [String]
600
+ # @param _id [String]
601
+ # @param session [String]
602
+ # @param user [String]
603
+ # @param user_session [String]
604
+ # @param since [DateTime]
605
+ # @param _until [DateTime]
606
+ # @return [Models::GetCallParticipantSessionMetricsResponse]
607
+ def get_call_participant_session_metrics(_type, _id, session, user, user_session, since = nil, _until = nil)
608
+ path = '/api/v2/video/call/{type}/{id}/session/{session}/participant/{user}/{user_session}/details/track'
609
+ # Replace path parameters
610
+ path = path.gsub('{type}', _type.to_s)
611
+ path = path.gsub('{id}', _id.to_s)
612
+ path = path.gsub('{session}', session.to_s)
613
+ path = path.gsub('{user}', user.to_s)
614
+ path = path.gsub('{user_session}', user_session.to_s)
615
+ # Build query parameters
616
+ query_params = {}
617
+ query_params['since'] = since unless since.nil?
618
+ query_params['until'] = _until unless _until.nil?
619
+
620
+ # Make the API request
621
+ @client.make_request(
622
+ :get,
623
+ path,
624
+ query_params: query_params
625
+ )
626
+ end
627
+
628
+ #
629
+ #
630
+ # @param _type [String]
631
+ # @param _id [String]
632
+ # @param session [String]
633
+ # @param limit [Integer]
634
+ # @param prev [String]
635
+ # @param _next [String]
636
+ # @param filter_conditions [Object]
637
+ # @return [Models::QueryCallParticipantSessionsResponse]
638
+ def query_call_participant_sessions(_type, _id, session, limit = nil, prev = nil, _next = nil, filter_conditions = nil)
639
+ path = '/api/v2/video/call/{type}/{id}/session/{session}/participant_sessions'
640
+ # Replace path parameters
641
+ path = path.gsub('{type}', _type.to_s)
642
+ path = path.gsub('{id}', _id.to_s)
643
+ path = path.gsub('{session}', session.to_s)
644
+ # Build query parameters
645
+ query_params = {}
646
+ query_params['limit'] = limit unless limit.nil?
647
+ query_params['prev'] = prev unless prev.nil?
648
+ query_params['next'] = _next unless _next.nil?
649
+ query_params['filter_conditions'] = filter_conditions unless filter_conditions.nil?
650
+
651
+ # Make the API request
652
+ @client.make_request(
653
+ :get,
654
+ path,
655
+ query_params: query_params
656
+ )
657
+ end
658
+
659
+ # Starts HLS broadcasting
660
+ #
661
+ # @param _type [String]
662
+ # @param _id [String]
663
+ # @return [Models::StartHLSBroadcastingResponse]
664
+ def start_hls_broadcasting(_type, _id)
665
+ path = '/api/v2/video/call/{type}/{id}/start_broadcasting'
666
+ # Replace path parameters
667
+ path = path.gsub('{type}', _type.to_s)
668
+ path = path.gsub('{id}', _id.to_s)
669
+
670
+ # Make the API request
671
+ @client.make_request(
672
+ :post,
673
+ path
674
+ )
675
+ end
676
+
677
+ # Starts closed captions
678
+ #
679
+ # @param _type [String]
680
+ # @param _id [String]
681
+ # @param start_closed_captions_request [StartClosedCaptionsRequest]
682
+ # @return [Models::StartClosedCaptionsResponse]
683
+ def start_closed_captions(_type, _id, start_closed_captions_request)
684
+ path = '/api/v2/video/call/{type}/{id}/start_closed_captions'
685
+ # Replace path parameters
686
+ path = path.gsub('{type}', _type.to_s)
687
+ path = path.gsub('{id}', _id.to_s)
688
+ # Build request body
689
+ body = start_closed_captions_request
690
+
691
+ # Make the API request
692
+ @client.make_request(
693
+ :post,
694
+ path,
695
+ body: body
696
+ )
697
+ end
698
+
699
+ # Starts frame by frame recordingSends events:- call.frame_recording_started
700
+ #
701
+ # @param _type [String]
702
+ # @param _id [String]
703
+ # @param start_frame_recording_request [StartFrameRecordingRequest]
704
+ # @return [Models::StartFrameRecordingResponse]
705
+ def start_frame_recording(_type, _id, start_frame_recording_request)
706
+ path = '/api/v2/video/call/{type}/{id}/start_frame_recording'
707
+ # Replace path parameters
708
+ path = path.gsub('{type}', _type.to_s)
709
+ path = path.gsub('{id}', _id.to_s)
710
+ # Build request body
711
+ body = start_frame_recording_request
712
+
713
+ # Make the API request
714
+ @client.make_request(
715
+ :post,
716
+ path,
717
+ body: body
718
+ )
719
+ end
720
+
721
+ # Starts transcription
722
+ #
723
+ # @param _type [String]
724
+ # @param _id [String]
725
+ # @param start_transcription_request [StartTranscriptionRequest]
726
+ # @return [Models::StartTranscriptionResponse]
727
+ def start_transcription(_type, _id, start_transcription_request)
728
+ path = '/api/v2/video/call/{type}/{id}/start_transcription'
729
+ # Replace path parameters
730
+ path = path.gsub('{type}', _type.to_s)
731
+ path = path.gsub('{id}', _id.to_s)
732
+ # Build request body
733
+ body = start_transcription_request
734
+
735
+ # Make the API request
736
+ @client.make_request(
737
+ :post,
738
+ path,
739
+ body: body
740
+ )
741
+ end
742
+
743
+ # Stops HLS broadcasting
744
+ #
745
+ # @param _type [String]
746
+ # @param _id [String]
747
+ # @return [Models::StopHLSBroadcastingResponse]
748
+ def stop_hls_broadcasting(_type, _id)
749
+ path = '/api/v2/video/call/{type}/{id}/stop_broadcasting'
750
+ # Replace path parameters
751
+ path = path.gsub('{type}', _type.to_s)
752
+ path = path.gsub('{id}', _id.to_s)
753
+
754
+ # Make the API request
755
+ @client.make_request(
756
+ :post,
757
+ path
758
+ )
759
+ end
760
+
761
+ # Stops closed captionsSends events:- call.transcription_stopped
762
+ #
763
+ # @param _type [String]
764
+ # @param _id [String]
765
+ # @param stop_closed_captions_request [StopClosedCaptionsRequest]
766
+ # @return [Models::StopClosedCaptionsResponse]
767
+ def stop_closed_captions(_type, _id, stop_closed_captions_request)
768
+ path = '/api/v2/video/call/{type}/{id}/stop_closed_captions'
769
+ # Replace path parameters
770
+ path = path.gsub('{type}', _type.to_s)
771
+ path = path.gsub('{id}', _id.to_s)
772
+ # Build request body
773
+ body = stop_closed_captions_request
774
+
775
+ # Make the API request
776
+ @client.make_request(
777
+ :post,
778
+ path,
779
+ body: body
780
+ )
781
+ end
782
+
783
+ # Stops frame recordingSends events:- call.frame_recording_stopped
784
+ #
785
+ # @param _type [String]
786
+ # @param _id [String]
787
+ # @return [Models::StopFrameRecordingResponse]
788
+ def stop_frame_recording(_type, _id)
789
+ path = '/api/v2/video/call/{type}/{id}/stop_frame_recording'
790
+ # Replace path parameters
791
+ path = path.gsub('{type}', _type.to_s)
792
+ path = path.gsub('{id}', _id.to_s)
793
+
794
+ # Make the API request
795
+ @client.make_request(
796
+ :post,
797
+ path
798
+ )
799
+ end
800
+
801
+ # Sends events:- call.updated
802
+ #
803
+ # @param _type [String]
804
+ # @param _id [String]
805
+ # @param stop_live_request [StopLiveRequest]
806
+ # @return [Models::StopLiveResponse]
807
+ def stop_live(_type, _id, stop_live_request)
808
+ path = '/api/v2/video/call/{type}/{id}/stop_live'
809
+ # Replace path parameters
810
+ path = path.gsub('{type}', _type.to_s)
811
+ path = path.gsub('{id}', _id.to_s)
812
+ # Build request body
813
+ body = stop_live_request
814
+
815
+ # Make the API request
816
+ @client.make_request(
817
+ :post,
818
+ path,
819
+ body: body
820
+ )
821
+ end
822
+
823
+ # Stops transcriptionSends events:- call.transcription_stopped
824
+ #
825
+ # @param _type [String]
826
+ # @param _id [String]
827
+ # @param stop_transcription_request [StopTranscriptionRequest]
828
+ # @return [Models::StopTranscriptionResponse]
829
+ def stop_transcription(_type, _id, stop_transcription_request)
830
+ path = '/api/v2/video/call/{type}/{id}/stop_transcription'
831
+ # Replace path parameters
832
+ path = path.gsub('{type}', _type.to_s)
833
+ path = path.gsub('{id}', _id.to_s)
834
+ # Build request body
835
+ body = stop_transcription_request
836
+
837
+ # Make the API request
838
+ @client.make_request(
839
+ :post,
840
+ path,
841
+ body: body
842
+ )
843
+ end
844
+
845
+ # Lists transcriptions
846
+ #
847
+ # @param _type [String]
848
+ # @param _id [String]
849
+ # @return [Models::ListTranscriptionsResponse]
850
+ def list_transcriptions(_type, _id)
851
+ path = '/api/v2/video/call/{type}/{id}/transcriptions'
852
+ # Replace path parameters
853
+ path = path.gsub('{type}', _type.to_s)
854
+ path = path.gsub('{id}', _id.to_s)
855
+
856
+ # Make the API request
857
+ @client.make_request(
858
+ :get,
859
+ path
860
+ )
861
+ end
862
+
863
+ # Removes the block for a user on a call. The user will be able to join the call again.Sends events:- call.unblocked_user
864
+ #
865
+ # @param _type [String]
866
+ # @param _id [String]
867
+ # @param unblock_user_request [UnblockUserRequest]
868
+ # @return [Models::UnblockUserResponse]
869
+ def unblock_user(_type, _id, unblock_user_request)
870
+ path = '/api/v2/video/call/{type}/{id}/unblock'
871
+ # Replace path parameters
872
+ path = path.gsub('{type}', _type.to_s)
873
+ path = path.gsub('{id}', _id.to_s)
874
+ # Build request body
875
+ body = unblock_user_request
876
+
877
+ # Make the API request
878
+ @client.make_request(
879
+ :post,
880
+ path,
881
+ body: body
882
+ )
883
+ end
884
+
885
+ # Unpins a track for all users in the call.
886
+ #
887
+ # @param _type [String]
888
+ # @param _id [String]
889
+ # @param unpin_request [UnpinRequest]
890
+ # @return [Models::UnpinResponse]
891
+ def video_unpin(_type, _id, unpin_request)
892
+ path = '/api/v2/video/call/{type}/{id}/unpin'
893
+ # Replace path parameters
894
+ path = path.gsub('{type}', _type.to_s)
895
+ path = path.gsub('{id}', _id.to_s)
896
+ # Build request body
897
+ body = unpin_request
898
+
899
+ # Make the API request
900
+ @client.make_request(
901
+ :post,
902
+ path,
903
+ body: body
904
+ )
905
+ end
906
+
907
+ # Updates user permissionsSends events:- call.permissions_updated
908
+ #
909
+ # @param _type [String]
910
+ # @param _id [String]
911
+ # @param update_user_permissions_request [UpdateUserPermissionsRequest]
912
+ # @return [Models::UpdateUserPermissionsResponse]
913
+ def update_user_permissions(_type, _id, update_user_permissions_request)
914
+ path = '/api/v2/video/call/{type}/{id}/user_permissions'
915
+ # Replace path parameters
916
+ path = path.gsub('{type}', _type.to_s)
917
+ path = path.gsub('{id}', _id.to_s)
918
+ # Build request body
919
+ body = update_user_permissions_request
920
+
921
+ # Make the API request
922
+ @client.make_request(
923
+ :post,
924
+ path,
925
+ body: body
926
+ )
927
+ end
928
+
929
+ # Deletes recording
930
+ #
931
+ # @param _type [String]
932
+ # @param _id [String]
933
+ # @param session [String]
934
+ # @param filename [String]
935
+ # @return [Models::DeleteRecordingResponse]
936
+ def delete_recording(_type, _id, session, filename)
937
+ path = '/api/v2/video/call/{type}/{id}/{session}/recordings/{filename}'
938
+ # Replace path parameters
939
+ path = path.gsub('{type}', _type.to_s)
940
+ path = path.gsub('{id}', _id.to_s)
941
+ path = path.gsub('{session}', session.to_s)
942
+ path = path.gsub('{filename}', filename.to_s)
943
+
944
+ # Make the API request
945
+ @client.make_request(
946
+ :delete,
947
+ path
948
+ )
949
+ end
950
+
951
+ # Deletes transcription
952
+ #
953
+ # @param _type [String]
954
+ # @param _id [String]
955
+ # @param session [String]
956
+ # @param filename [String]
957
+ # @return [Models::DeleteTranscriptionResponse]
958
+ def delete_transcription(_type, _id, session, filename)
959
+ path = '/api/v2/video/call/{type}/{id}/{session}/transcriptions/{filename}'
960
+ # Replace path parameters
961
+ path = path.gsub('{type}', _type.to_s)
962
+ path = path.gsub('{id}', _id.to_s)
963
+ path = path.gsub('{session}', session.to_s)
964
+ path = path.gsub('{filename}', filename.to_s)
965
+
966
+ # Make the API request
967
+ @client.make_request(
968
+ :delete,
969
+ path
970
+ )
971
+ end
972
+
973
+ #
974
+ #
975
+ # @param call_type [String]
976
+ # @param call_id [String]
977
+ # @param session [String]
978
+ # @param start_time [DateTime]
979
+ # @param end_time [DateTime]
980
+ # @param exclude_publishers [Boolean]
981
+ # @param exclude_subscribers [Boolean]
982
+ # @param exclude_sfus [Boolean]
983
+ # @return [Models::QueryCallStatsMapResponse]
984
+ def get_call_stats_map(call_type, call_id, session, start_time = nil, end_time = nil, exclude_publishers = nil, exclude_subscribers = nil, exclude_sfus = nil)
985
+ path = '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/map'
986
+ # Replace path parameters
987
+ path = path.gsub('{call_type}', call_type.to_s)
988
+ path = path.gsub('{call_id}', call_id.to_s)
989
+ path = path.gsub('{session}', session.to_s)
990
+ # Build query parameters
991
+ query_params = {}
992
+ query_params['start_time'] = start_time unless start_time.nil?
993
+ query_params['end_time'] = end_time unless end_time.nil?
994
+ query_params['exclude_publishers'] = exclude_publishers unless exclude_publishers.nil?
995
+ query_params['exclude_subscribers'] = exclude_subscribers unless exclude_subscribers.nil?
996
+ query_params['exclude_sfus'] = exclude_sfus unless exclude_sfus.nil?
997
+
998
+ # Make the API request
999
+ @client.make_request(
1000
+ :get,
1001
+ path,
1002
+ query_params: query_params
1003
+ )
1004
+ end
1005
+
1006
+ #
1007
+ #
1008
+ # @param call_type [String]
1009
+ # @param call_id [String]
1010
+ # @param session [String]
1011
+ # @param user [String]
1012
+ # @param user_session [String]
1013
+ # @param since [String]
1014
+ # @param _until [String]
1015
+ # @param max_points [Integer]
1016
+ # @return [Models::GetCallSessionParticipantStatsDetailsResponse]
1017
+ def get_call_session_participant_stats_details(call_type, call_id, session, user, user_session, since = nil, _until = nil, max_points = nil)
1018
+ path = '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/participant/{user}/{user_session}/details'
1019
+ # Replace path parameters
1020
+ path = path.gsub('{call_type}', call_type.to_s)
1021
+ path = path.gsub('{call_id}', call_id.to_s)
1022
+ path = path.gsub('{session}', session.to_s)
1023
+ path = path.gsub('{user}', user.to_s)
1024
+ path = path.gsub('{user_session}', user_session.to_s)
1025
+ # Build query parameters
1026
+ query_params = {}
1027
+ query_params['since'] = since unless since.nil?
1028
+ query_params['until'] = _until unless _until.nil?
1029
+ query_params['max_points'] = max_points unless max_points.nil?
1030
+
1031
+ # Make the API request
1032
+ @client.make_request(
1033
+ :get,
1034
+ path,
1035
+ query_params: query_params
1036
+ )
1037
+ end
1038
+
1039
+ #
1040
+ #
1041
+ # @param call_type [String]
1042
+ # @param call_id [String]
1043
+ # @param session [String]
1044
+ # @param limit [Integer]
1045
+ # @param prev [String]
1046
+ # @param _next [String]
1047
+ # @param sort [Array<SortParamRequest>]
1048
+ # @param filter_conditions [Object]
1049
+ # @return [Models::QueryCallSessionParticipantStatsResponse]
1050
+ def query_call_session_participant_stats(call_type, call_id, session, limit = nil, prev = nil, _next = nil, sort = nil, filter_conditions = nil)
1051
+ path = '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/participants'
1052
+ # Replace path parameters
1053
+ path = path.gsub('{call_type}', call_type.to_s)
1054
+ path = path.gsub('{call_id}', call_id.to_s)
1055
+ path = path.gsub('{session}', session.to_s)
1056
+ # Build query parameters
1057
+ query_params = {}
1058
+ query_params['limit'] = limit unless limit.nil?
1059
+ query_params['prev'] = prev unless prev.nil?
1060
+ query_params['next'] = _next unless _next.nil?
1061
+ query_params['sort'] = sort unless sort.nil?
1062
+ query_params['filter_conditions'] = filter_conditions unless filter_conditions.nil?
1063
+
1064
+ # Make the API request
1065
+ @client.make_request(
1066
+ :get,
1067
+ path,
1068
+ query_params: query_params
1069
+ )
1070
+ end
1071
+
1072
+ #
1073
+ #
1074
+ # @param call_type [String]
1075
+ # @param call_id [String]
1076
+ # @param session [String]
1077
+ # @param user [String]
1078
+ # @param user_session [String]
1079
+ # @param start_time [String]
1080
+ # @param end_time [String]
1081
+ # @param severity [Array<String>]
1082
+ # @return [Models::QueryCallSessionParticipantStatsTimelineResponse]
1083
+ def get_call_session_participant_stats_timeline(call_type, call_id, session, user, user_session, start_time = nil, end_time = nil, severity = nil)
1084
+ path = '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/participants/{user}/{user_session}/timeline'
1085
+ # Replace path parameters
1086
+ path = path.gsub('{call_type}', call_type.to_s)
1087
+ path = path.gsub('{call_id}', call_id.to_s)
1088
+ path = path.gsub('{session}', session.to_s)
1089
+ path = path.gsub('{user}', user.to_s)
1090
+ path = path.gsub('{user_session}', user_session.to_s)
1091
+ # Build query parameters
1092
+ query_params = {}
1093
+ query_params['start_time'] = start_time unless start_time.nil?
1094
+ query_params['end_time'] = end_time unless end_time.nil?
1095
+ query_params['severity'] = severity unless severity.nil?
1096
+
1097
+ # Make the API request
1098
+ @client.make_request(
1099
+ :get,
1100
+ path,
1101
+ query_params: query_params
1102
+ )
1103
+ end
1104
+
1105
+ # Query calls with filter query
1106
+ #
1107
+ # @param query_calls_request [QueryCallsRequest]
1108
+ # @return [Models::QueryCallsResponse]
1109
+ def query_calls(query_calls_request)
1110
+ path = '/api/v2/video/calls'
1111
+ # Build request body
1112
+ body = query_calls_request
1113
+
1114
+ # Make the API request
1115
+ @client.make_request(
1116
+ :post,
1117
+ path,
1118
+ body: body
1119
+ )
1120
+ end
1121
+
1122
+ #
1123
+ #
1124
+ # @return [Models::ListCallTypeResponse]
1125
+ def list_call_types()
1126
+ path = '/api/v2/video/calltypes'
1127
+
1128
+ # Make the API request
1129
+ @client.make_request(
1130
+ :get,
1131
+ path
1132
+ )
1133
+ end
1134
+
1135
+ #
1136
+ #
1137
+ # @param create_call_type_request [CreateCallTypeRequest]
1138
+ # @return [Models::CreateCallTypeResponse]
1139
+ def create_call_type(create_call_type_request)
1140
+ path = '/api/v2/video/calltypes'
1141
+ # Build request body
1142
+ body = create_call_type_request
1143
+
1144
+ # Make the API request
1145
+ @client.make_request(
1146
+ :post,
1147
+ path,
1148
+ body: body
1149
+ )
1150
+ end
1151
+
1152
+ #
1153
+ #
1154
+ # @param name [String]
1155
+ # @return [Models::Response]
1156
+ def delete_call_type(name)
1157
+ path = '/api/v2/video/calltypes/{name}'
1158
+ # Replace path parameters
1159
+ path = path.gsub('{name}', name.to_s)
1160
+
1161
+ # Make the API request
1162
+ @client.make_request(
1163
+ :delete,
1164
+ path
1165
+ )
1166
+ end
1167
+
1168
+ #
1169
+ #
1170
+ # @param name [String]
1171
+ # @return [Models::GetCallTypeResponse]
1172
+ def get_call_type(name)
1173
+ path = '/api/v2/video/calltypes/{name}'
1174
+ # Replace path parameters
1175
+ path = path.gsub('{name}', name.to_s)
1176
+
1177
+ # Make the API request
1178
+ @client.make_request(
1179
+ :get,
1180
+ path
1181
+ )
1182
+ end
1183
+
1184
+ #
1185
+ #
1186
+ # @param name [String]
1187
+ # @param update_call_type_request [UpdateCallTypeRequest]
1188
+ # @return [Models::UpdateCallTypeResponse]
1189
+ def update_call_type(name, update_call_type_request)
1190
+ path = '/api/v2/video/calltypes/{name}'
1191
+ # Replace path parameters
1192
+ path = path.gsub('{name}', name.to_s)
1193
+ # Build request body
1194
+ body = update_call_type_request
1195
+
1196
+ # Make the API request
1197
+ @client.make_request(
1198
+ :put,
1199
+ path,
1200
+ body: body
1201
+ )
1202
+ end
1203
+
1204
+ # Returns the list of all edges available for video calls.
1205
+ #
1206
+ # @return [Models::GetEdgesResponse]
1207
+ def get_edges()
1208
+ path = '/api/v2/video/edges'
1209
+
1210
+ # Make the API request
1211
+ @client.make_request(
1212
+ :get,
1213
+ path
1214
+ )
1215
+ end
1216
+
1217
+ # List all SIP Inbound Routing Rules for the application
1218
+ #
1219
+ # @return [Models::ListSIPInboundRoutingRuleResponse]
1220
+ def list_sip_inbound_routing_rule()
1221
+ path = '/api/v2/video/sip/inbound_routing_rules'
1222
+
1223
+ # Make the API request
1224
+ @client.make_request(
1225
+ :get,
1226
+ path
1227
+ )
1228
+ end
1229
+
1230
+ # Create a new SIP Inbound Routing Rule with either direct routing or PIN routing configuration
1231
+ #
1232
+ # @param sip_inbound_routing_rule_request [SIPInboundRoutingRuleRequest]
1233
+ # @return [Models::SIPInboundRoutingRuleResponse]
1234
+ def create_sip_inbound_routing_rule(sip_inbound_routing_rule_request)
1235
+ path = '/api/v2/video/sip/inbound_routing_rules'
1236
+ # Build request body
1237
+ body = sip_inbound_routing_rule_request
1238
+
1239
+ # Make the API request
1240
+ @client.make_request(
1241
+ :post,
1242
+ path,
1243
+ body: body
1244
+ )
1245
+ end
1246
+
1247
+ # Delete a SIP Inbound Routing Rule for the application
1248
+ #
1249
+ # @param _id [String]
1250
+ # @return [Models::DeleteSIPInboundRoutingRuleResponse]
1251
+ def delete_sip_inbound_routing_rule(_id)
1252
+ path = '/api/v2/video/sip/inbound_routing_rules/{id}'
1253
+ # Replace path parameters
1254
+ path = path.gsub('{id}', _id.to_s)
1255
+
1256
+ # Make the API request
1257
+ @client.make_request(
1258
+ :delete,
1259
+ path
1260
+ )
1261
+ end
1262
+
1263
+ # Update an existing SIP Inbound Routing Rule with new configuration
1264
+ #
1265
+ # @param _id [String]
1266
+ # @param update_sip_inbound_routing_rule_request [UpdateSIPInboundRoutingRuleRequest]
1267
+ # @return [Models::UpdateSIPInboundRoutingRuleResponse]
1268
+ def update_sip_inbound_routing_rule(_id, update_sip_inbound_routing_rule_request)
1269
+ path = '/api/v2/video/sip/inbound_routing_rules/{id}'
1270
+ # Replace path parameters
1271
+ path = path.gsub('{id}', _id.to_s)
1272
+ # Build request body
1273
+ body = update_sip_inbound_routing_rule_request
1274
+
1275
+ # Make the API request
1276
+ @client.make_request(
1277
+ :put,
1278
+ path,
1279
+ body: body
1280
+ )
1281
+ end
1282
+
1283
+ # List all SIP trunks for the application
1284
+ #
1285
+ # @return [Models::ListSIPTrunksResponse]
1286
+ def list_sip_trunks()
1287
+ path = '/api/v2/video/sip/inbound_trunks'
1288
+
1289
+ # Make the API request
1290
+ @client.make_request(
1291
+ :get,
1292
+ path
1293
+ )
1294
+ end
1295
+
1296
+ # Create a new SIP trunk for the application
1297
+ #
1298
+ # @param create_sip_trunk_request [CreateSIPTrunkRequest]
1299
+ # @return [Models::CreateSIPTrunkResponse]
1300
+ def create_sip_trunk(create_sip_trunk_request)
1301
+ path = '/api/v2/video/sip/inbound_trunks'
1302
+ # Build request body
1303
+ body = create_sip_trunk_request
1304
+
1305
+ # Make the API request
1306
+ @client.make_request(
1307
+ :post,
1308
+ path,
1309
+ body: body
1310
+ )
1311
+ end
1312
+
1313
+ # Delete a SIP trunk for the application
1314
+ #
1315
+ # @param _id [String]
1316
+ # @return [Models::DeleteSIPTrunkResponse]
1317
+ def delete_sip_trunk(_id)
1318
+ path = '/api/v2/video/sip/inbound_trunks/{id}'
1319
+ # Replace path parameters
1320
+ path = path.gsub('{id}', _id.to_s)
1321
+
1322
+ # Make the API request
1323
+ @client.make_request(
1324
+ :delete,
1325
+ path
1326
+ )
1327
+ end
1328
+
1329
+ # Update a SIP trunk for the application
1330
+ #
1331
+ # @param _id [String]
1332
+ # @param update_sip_trunk_request [UpdateSIPTrunkRequest]
1333
+ # @return [Models::UpdateSIPTrunkResponse]
1334
+ def update_sip_trunk(_id, update_sip_trunk_request)
1335
+ path = '/api/v2/video/sip/inbound_trunks/{id}'
1336
+ # Replace path parameters
1337
+ path = path.gsub('{id}', _id.to_s)
1338
+ # Build request body
1339
+ body = update_sip_trunk_request
1340
+
1341
+ # Make the API request
1342
+ @client.make_request(
1343
+ :put,
1344
+ path,
1345
+ body: body
1346
+ )
1347
+ end
1348
+
1349
+ # Resolve SIP inbound routing based on trunk number, caller number, and challenge authentication
1350
+ #
1351
+ # @param resolve_sip_inbound_request [ResolveSipInboundRequest]
1352
+ # @return [Models::ResolveSipInboundResponse]
1353
+ def resolve_sip_inbound(resolve_sip_inbound_request)
1354
+ path = '/api/v2/video/sip/resolve'
1355
+ # Build request body
1356
+ body = resolve_sip_inbound_request
1357
+
1358
+ # Make the API request
1359
+ @client.make_request(
1360
+ :post,
1361
+ path,
1362
+ body: body
1363
+ )
1364
+ end
1365
+
1366
+ #
1367
+ #
1368
+ # @param query_aggregate_call_stats_request [QueryAggregateCallStatsRequest]
1369
+ # @return [Models::QueryAggregateCallStatsResponse]
1370
+ def query_aggregate_call_stats(query_aggregate_call_stats_request)
1371
+ path = '/api/v2/video/stats'
1372
+ # Build request body
1373
+ body = query_aggregate_call_stats_request
1374
+
1375
+ # Make the API request
1376
+ @client.make_request(
1377
+ :post,
1378
+ path,
1379
+ body: body
1380
+ )
1381
+ end
1382
+
1383
+ end
1384
+ end
1385
+ end