vonage 7.18.0 → 8.0.0.beta
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.
- checksums.yaml +4 -4
- data/README.md +10 -271
- data/lib/vonage/applications.rb +4 -12
- data/lib/vonage/client.rb +4 -32
- data/lib/vonage/client_error.rb +1 -1
- data/lib/vonage/config.rb +3 -7
- data/lib/vonage/errors.rb +20 -37
- data/lib/vonage/gsm7.rb +1 -1
- data/lib/vonage/jwt.rb +0 -17
- data/lib/vonage/keys.rb +7 -1
- data/lib/vonage/logger.rb +3 -5
- data/lib/vonage/messaging/channels/viber.rb +1 -8
- data/lib/vonage/messaging/channels/whats_app.rb +1 -3
- data/lib/vonage/messaging.rb +0 -11
- data/lib/vonage/namespace.rb +58 -128
- data/lib/vonage/numbers.rb +6 -29
- data/lib/vonage/server_error.rb +1 -1
- data/lib/vonage/signature.rb +5 -5
- data/lib/vonage/sms.rb +20 -20
- data/lib/vonage/version.rb +1 -1
- data/lib/vonage/video/archives.rb +187 -0
- data/lib/vonage/video/list_response.rb +11 -0
- data/lib/vonage/video/moderation.rb +73 -0
- data/lib/vonage/video/signals.rb +55 -0
- data/lib/vonage/video/streams.rb +76 -0
- data/lib/vonage/video.rb +91 -0
- data/lib/vonage/voice/actions/connect.rb +3 -27
- data/lib/vonage/voice/actions/pay.rb +107 -0
- data/lib/vonage/voice/actions/talk.rb +2 -11
- data/lib/vonage/voice/talk.rb +1 -11
- data/lib/vonage/voice.rb +0 -22
- data/lib/vonage.rb +0 -1
- data/vonage.gemspec +1 -2
- metadata +14 -59
- data/lib/vonage/api_error.rb +0 -33
- data/lib/vonage/meetings/applications.rb +0 -25
- data/lib/vonage/meetings/dial_in_numbers/list_response.rb +0 -11
- data/lib/vonage/meetings/dial_in_numbers.rb +0 -23
- data/lib/vonage/meetings/recordings.rb +0 -36
- data/lib/vonage/meetings/rooms/list_response.rb +0 -11
- data/lib/vonage/meetings/rooms.rb +0 -155
- data/lib/vonage/meetings/sessions/list_response.rb +0 -11
- data/lib/vonage/meetings/sessions.rb +0 -28
- data/lib/vonage/meetings/themes/list_response.rb +0 -11
- data/lib/vonage/meetings/themes.rb +0 -218
- data/lib/vonage/meetings.rb +0 -38
- data/lib/vonage/proactive_connect/events/list_response.rb +0 -11
- data/lib/vonage/proactive_connect/events.rb +0 -68
- data/lib/vonage/proactive_connect/item.rb +0 -104
- data/lib/vonage/proactive_connect/items/file_response.rb +0 -32
- data/lib/vonage/proactive_connect/items/list_response.rb +0 -11
- data/lib/vonage/proactive_connect/items.rb +0 -107
- data/lib/vonage/proactive_connect/list.rb +0 -168
- data/lib/vonage/proactive_connect/lists/list_response.rb +0 -11
- data/lib/vonage/proactive_connect/lists.rb +0 -35
- data/lib/vonage/proactive_connect.rb +0 -33
- data/lib/vonage/subaccounts/balance_transfers/list_response.rb +0 -11
- data/lib/vonage/subaccounts/credit_transfers/list_response.rb +0 -11
- data/lib/vonage/subaccounts/list_response.rb +0 -15
- data/lib/vonage/subaccounts.rb +0 -203
- data/lib/vonage/users/list_response.rb +0 -11
- data/lib/vonage/users.rb +0 -156
- data/lib/vonage/verify2/channels/email.rb +0 -38
- data/lib/vonage/verify2/channels/silent_auth.rb +0 -32
- data/lib/vonage/verify2/channels/sms.rb +0 -39
- data/lib/vonage/verify2/channels/voice.rb +0 -32
- data/lib/vonage/verify2/channels/whats_app.rb +0 -38
- data/lib/vonage/verify2/channels/whats_app_interactive.rb +0 -32
- data/lib/vonage/verify2/start_verification_options.rb +0 -62
- data/lib/vonage/verify2/workflow.rb +0 -39
- data/lib/vonage/verify2/workflow_builder.rb +0 -25
- data/lib/vonage/verify2.rb +0 -93
@@ -2,7 +2,7 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
module Vonage
|
4
4
|
class Voice::Actions::Talk
|
5
|
-
attr_accessor :text, :bargeIn, :loop, :level, :language, :style
|
5
|
+
attr_accessor :text, :bargeIn, :loop, :level, :language, :style
|
6
6
|
|
7
7
|
def initialize(attributes= {})
|
8
8
|
@text = attributes.fetch(:text)
|
@@ -11,7 +11,6 @@ module Vonage
|
|
11
11
|
@level = attributes.fetch(:level, nil)
|
12
12
|
@language = attributes.fetch(:language, nil)
|
13
13
|
@style = attributes.fetch(:style, nil)
|
14
|
-
@premium = attributes.fetch(:premium, nil)
|
15
14
|
|
16
15
|
after_initialize!
|
17
16
|
end
|
@@ -32,10 +31,6 @@ module Vonage
|
|
32
31
|
if self.style
|
33
32
|
verify_style
|
34
33
|
end
|
35
|
-
|
36
|
-
if self.premium
|
37
|
-
verify_premium
|
38
|
-
end
|
39
34
|
end
|
40
35
|
|
41
36
|
def verify_barge_in
|
@@ -54,10 +49,6 @@ module Vonage
|
|
54
49
|
raise ClientError.new("Expected 'style' value to be an Integer") unless self.style.is_a?(Integer)
|
55
50
|
end
|
56
51
|
|
57
|
-
def verify_premium
|
58
|
-
raise ClientError.new("Expected 'premium' value to be a Boolean") unless self.premium == true || self.premium == false
|
59
|
-
end
|
60
|
-
|
61
52
|
def action
|
62
53
|
create_talk!(self)
|
63
54
|
end
|
@@ -79,4 +70,4 @@ module Vonage
|
|
79
70
|
ncco
|
80
71
|
end
|
81
72
|
end
|
82
|
-
end
|
73
|
+
end
|
data/lib/vonage/voice/talk.rb
CHANGED
@@ -12,18 +12,8 @@ module Vonage
|
|
12
12
|
# @option params [required, String] :text
|
13
13
|
# The text to read.
|
14
14
|
#
|
15
|
-
# @option params [String] :language
|
16
|
-
# The language to use. See {https://developer.vonage.com/en/api/voice#startTalk-req-body} for a list of valid language codes.
|
17
|
-
#
|
18
|
-
# @option params [Integer] :style
|
19
|
-
# The vocal style, as identified by an assigned integer.
|
20
|
-
# See {https://developer.vonage.com/en/voice/voice-api/concepts/text-to-speech#supported-languages} for a list of available styles.
|
21
|
-
#
|
22
|
-
# @option params [Boolean] :premium
|
23
|
-
# Set to `true` to use the premium version of the specified style if available, otherwise the standard version will be used.
|
24
|
-
#
|
25
15
|
# @option params [String] :voice_name
|
26
|
-
# The voice & language to use.
|
16
|
+
# The voice & language to use.
|
27
17
|
#
|
28
18
|
# @option params [Integer] :loop
|
29
19
|
# The number of times to repeat the text the file, 0 for infinite.
|
data/lib/vonage/voice.rb
CHANGED
@@ -48,17 +48,6 @@ module Vonage
|
|
48
48
|
# @option params [String] :machine_detection
|
49
49
|
# Configure the behavior when Vonage detects that the call is answered by voicemail.
|
50
50
|
#
|
51
|
-
# @option params [Hash] :advanced_machine_detection
|
52
|
-
# Configure the behavior of Vonage's advanced machine detection. Overrides machine_detection if both are set.
|
53
|
-
# Hash with three possible properties:
|
54
|
-
# - :behavior [String]: Must be one of `continue` or `hangup`. When hangup is used, the call will be terminated if a
|
55
|
-
# machine is detected. When continue is used, the call will continue even if a machine is detected.
|
56
|
-
# - :mode [String]: Must be one of `detect` or `detect_beep`. Detect if machine answered and sends a human or
|
57
|
-
# machine status in the webhook payload. When set to `detect_beep`, the system also attempts to detect
|
58
|
-
# voice mail beep and sends an additional parameter `sub_state` in the webhook with the value `beep_start`.
|
59
|
-
# - :beep_timeout [Integer]: Min: 45, Max: 120. Maximum time in seconds Vonage should wait for a machine beep
|
60
|
-
# to be detected. A machine event with `sub_state` set to `beep_timeout` will be sent if the timeout is exceeded.
|
61
|
-
#
|
62
51
|
# @option params [Integer] :length_timer
|
63
52
|
# Set the number of seconds that elapse before Vonage hangs up after the call state changes to in_progress.
|
64
53
|
#
|
@@ -279,16 +268,5 @@ module Vonage
|
|
279
268
|
def dtmf
|
280
269
|
@dtmf ||= DTMF.new(@config)
|
281
270
|
end
|
282
|
-
|
283
|
-
# Validate a JSON Web Token from a Voice API Webhook.
|
284
|
-
#
|
285
|
-
# @param [String, required] :token The JWT from the Webhook's Authorization header
|
286
|
-
# @param [String, optional] :signature_secret The account signature secret. Required, unless `signature_secret`
|
287
|
-
# is set in `Config`
|
288
|
-
#
|
289
|
-
# @return [Boolean] true, if the JWT is verified, false otherwise
|
290
|
-
def verify_webhook_token(token:, signature_secret: @config.signature_secret)
|
291
|
-
JWT.verify_hs256_signature(token: token, signature_secret: signature_secret)
|
292
|
-
end
|
293
271
|
end
|
294
272
|
end
|
data/lib/vonage.rb
CHANGED
data/vonage.gemspec
CHANGED
@@ -12,10 +12,9 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.summary = 'This is the Ruby Server SDK for Vonage APIs. To use it you\'ll need a Vonage account. Sign up for free at https://www.vonage.com'
|
13
13
|
s.files = Dir.glob('lib/**/*.rb') + %w(LICENSE.txt README.md vonage.gemspec)
|
14
14
|
s.required_ruby_version = '>= 2.5.0'
|
15
|
-
s.add_dependency('vonage-jwt', '~> 0.
|
15
|
+
s.add_dependency('vonage-jwt', '~> 0.1.0')
|
16
16
|
s.add_dependency('zeitwerk', '~> 2', '>= 2.2')
|
17
17
|
s.add_dependency('sorbet-runtime', '~> 0.5')
|
18
|
-
s.add_dependency('multipart-post', '~> 2.0')
|
19
18
|
s.add_runtime_dependency('rexml')
|
20
19
|
s.add_runtime_dependency('phonelib')
|
21
20
|
s.require_path = 'lib'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vonage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vonage
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: vonage-jwt
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: zeitwerk
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,20 +58,6 @@ dependencies:
|
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0.5'
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: multipart-post
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '2.0'
|
68
|
-
type: :runtime
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - "~>"
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '2.0'
|
75
61
|
- !ruby/object:Gem::Dependency
|
76
62
|
name: rexml
|
77
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -113,7 +99,6 @@ files:
|
|
113
99
|
- lib/vonage/abstract_authentication.rb
|
114
100
|
- lib/vonage/account.rb
|
115
101
|
- lib/vonage/alerts.rb
|
116
|
-
- lib/vonage/api_error.rb
|
117
102
|
- lib/vonage/applications.rb
|
118
103
|
- lib/vonage/applications/list_response.rb
|
119
104
|
- lib/vonage/authentication_error.rb
|
@@ -140,17 +125,6 @@ files:
|
|
140
125
|
- lib/vonage/key_secret_params.rb
|
141
126
|
- lib/vonage/keys.rb
|
142
127
|
- lib/vonage/logger.rb
|
143
|
-
- lib/vonage/meetings.rb
|
144
|
-
- lib/vonage/meetings/applications.rb
|
145
|
-
- lib/vonage/meetings/dial_in_numbers.rb
|
146
|
-
- lib/vonage/meetings/dial_in_numbers/list_response.rb
|
147
|
-
- lib/vonage/meetings/recordings.rb
|
148
|
-
- lib/vonage/meetings/rooms.rb
|
149
|
-
- lib/vonage/meetings/rooms/list_response.rb
|
150
|
-
- lib/vonage/meetings/sessions.rb
|
151
|
-
- lib/vonage/meetings/sessions/list_response.rb
|
152
|
-
- lib/vonage/meetings/themes.rb
|
153
|
-
- lib/vonage/meetings/themes/list_response.rb
|
154
128
|
- lib/vonage/messages.rb
|
155
129
|
- lib/vonage/messaging.rb
|
156
130
|
- lib/vonage/messaging/channels/messenger.rb
|
@@ -167,16 +141,6 @@ files:
|
|
167
141
|
- lib/vonage/params.rb
|
168
142
|
- lib/vonage/pricing.rb
|
169
143
|
- lib/vonage/pricing_types.rb
|
170
|
-
- lib/vonage/proactive_connect.rb
|
171
|
-
- lib/vonage/proactive_connect/events.rb
|
172
|
-
- lib/vonage/proactive_connect/events/list_response.rb
|
173
|
-
- lib/vonage/proactive_connect/item.rb
|
174
|
-
- lib/vonage/proactive_connect/items.rb
|
175
|
-
- lib/vonage/proactive_connect/items/file_response.rb
|
176
|
-
- lib/vonage/proactive_connect/items/list_response.rb
|
177
|
-
- lib/vonage/proactive_connect/list.rb
|
178
|
-
- lib/vonage/proactive_connect/lists.rb
|
179
|
-
- lib/vonage/proactive_connect/lists/list_response.rb
|
180
144
|
- lib/vonage/redact.rb
|
181
145
|
- lib/vonage/response.rb
|
182
146
|
- lib/vonage/secrets.rb
|
@@ -185,31 +149,22 @@ files:
|
|
185
149
|
- lib/vonage/service_error.rb
|
186
150
|
- lib/vonage/signature.rb
|
187
151
|
- lib/vonage/sms.rb
|
188
|
-
- lib/vonage/subaccounts.rb
|
189
|
-
- lib/vonage/subaccounts/balance_transfers/list_response.rb
|
190
|
-
- lib/vonage/subaccounts/credit_transfers/list_response.rb
|
191
|
-
- lib/vonage/subaccounts/list_response.rb
|
192
152
|
- lib/vonage/tfa.rb
|
193
153
|
- lib/vonage/user_agent.rb
|
194
|
-
- lib/vonage/users.rb
|
195
|
-
- lib/vonage/users/list_response.rb
|
196
154
|
- lib/vonage/verify.rb
|
197
|
-
- lib/vonage/verify2.rb
|
198
|
-
- lib/vonage/verify2/channels/email.rb
|
199
|
-
- lib/vonage/verify2/channels/silent_auth.rb
|
200
|
-
- lib/vonage/verify2/channels/sms.rb
|
201
|
-
- lib/vonage/verify2/channels/voice.rb
|
202
|
-
- lib/vonage/verify2/channels/whats_app.rb
|
203
|
-
- lib/vonage/verify2/channels/whats_app_interactive.rb
|
204
|
-
- lib/vonage/verify2/start_verification_options.rb
|
205
|
-
- lib/vonage/verify2/workflow.rb
|
206
|
-
- lib/vonage/verify2/workflow_builder.rb
|
207
155
|
- lib/vonage/version.rb
|
156
|
+
- lib/vonage/video.rb
|
157
|
+
- lib/vonage/video/archives.rb
|
158
|
+
- lib/vonage/video/list_response.rb
|
159
|
+
- lib/vonage/video/moderation.rb
|
160
|
+
- lib/vonage/video/signals.rb
|
161
|
+
- lib/vonage/video/streams.rb
|
208
162
|
- lib/vonage/voice.rb
|
209
163
|
- lib/vonage/voice/actions/connect.rb
|
210
164
|
- lib/vonage/voice/actions/conversation.rb
|
211
165
|
- lib/vonage/voice/actions/input.rb
|
212
166
|
- lib/vonage/voice/actions/notify.rb
|
167
|
+
- lib/vonage/voice/actions/pay.rb
|
213
168
|
- lib/vonage/voice/actions/record.rb
|
214
169
|
- lib/vonage/voice/actions/stream.rb
|
215
170
|
- lib/vonage/voice/actions/talk.rb
|
@@ -239,11 +194,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
239
194
|
version: 2.5.0
|
240
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
196
|
requirements:
|
242
|
-
- - "
|
197
|
+
- - ">"
|
243
198
|
- !ruby/object:Gem::Version
|
244
|
-
version:
|
199
|
+
version: 1.3.1
|
245
200
|
requirements: []
|
246
|
-
rubygems_version: 3.
|
201
|
+
rubygems_version: 3.3.26
|
247
202
|
signing_key:
|
248
203
|
specification_version: 4
|
249
204
|
summary: This is the Ruby Server SDK for Vonage APIs. To use it you'll need a Vonage
|
data/lib/vonage/api_error.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
# typed: strong
|
2
|
-
require "json"
|
3
|
-
|
4
|
-
module Vonage
|
5
|
-
class APIError < Error
|
6
|
-
extend T::Sig
|
7
|
-
|
8
|
-
sig { returns(Net::HTTPResponse) }
|
9
|
-
attr_reader :http_response
|
10
|
-
|
11
|
-
sig { params(message: T.nilable(String), http_response: T.nilable(Net::HTTPResponse)).void }
|
12
|
-
def initialize(message = nil, http_response: nil)
|
13
|
-
super(message)
|
14
|
-
@http_response = http_response
|
15
|
-
end
|
16
|
-
|
17
|
-
def http_response_code
|
18
|
-
return nil unless http_response
|
19
|
-
http_response.code
|
20
|
-
end
|
21
|
-
|
22
|
-
def http_response_headers
|
23
|
-
return nil unless http_response
|
24
|
-
http_response.to_hash
|
25
|
-
end
|
26
|
-
|
27
|
-
def http_response_body
|
28
|
-
return nil unless http_response
|
29
|
-
return {} unless http_response.content_type && http_response.content_type.include?("json")
|
30
|
-
::JSON.parse(http_response.body)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Vonage
|
5
|
-
class Meetings::Applications < Namespace
|
6
|
-
extend T::Sig
|
7
|
-
|
8
|
-
self.authentication = BearerToken
|
9
|
-
|
10
|
-
self.request_body = JSON
|
11
|
-
|
12
|
-
self.host = :vonage_host
|
13
|
-
|
14
|
-
# Update an existing application.
|
15
|
-
#
|
16
|
-
# @param [required, String] :default_theme_id The id of the theme to set as application default theme
|
17
|
-
#
|
18
|
-
# @return [Response]
|
19
|
-
#
|
20
|
-
# @see https://developer.vonage.com/en/api/meetings#updateApplication
|
21
|
-
def update(default_theme_id:)
|
22
|
-
request("/v1/meetings/applications", params: {update_details: {default_theme_id: default_theme_id}}, type: Patch)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Vonage
|
5
|
-
class Meetings::DialInNumbers < Namespace
|
6
|
-
extend T::Sig
|
7
|
-
|
8
|
-
self.authentication = BearerToken
|
9
|
-
|
10
|
-
self.request_body = JSON
|
11
|
-
|
12
|
-
self.host = :vonage_host
|
13
|
-
|
14
|
-
# Get numbers that can be used to dial into a meeting.
|
15
|
-
#
|
16
|
-
# @return [ListResponse]
|
17
|
-
#
|
18
|
-
# @see https://developer.vonage.com/en/api/meetings#getDialInNumbers
|
19
|
-
def list
|
20
|
-
request("/v1/meetings/dial-in-numbers", response_class: ListResponse)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Vonage
|
5
|
-
class Meetings::Recordings < Namespace
|
6
|
-
extend T::Sig
|
7
|
-
|
8
|
-
self.authentication = BearerToken
|
9
|
-
|
10
|
-
self.request_body = JSON
|
11
|
-
|
12
|
-
self.host = :vonage_host
|
13
|
-
|
14
|
-
# Return information for specified recording.
|
15
|
-
#
|
16
|
-
# @param [required, String] recording_id The id of the recoring for which the info should be returned
|
17
|
-
#
|
18
|
-
# @return [Response]
|
19
|
-
#
|
20
|
-
# @see https://developer.vonage.com/en/api/meetings#getRecording
|
21
|
-
def info(recording_id:)
|
22
|
-
request("/v1/meetings/recordings/" + recording_id)
|
23
|
-
end
|
24
|
-
|
25
|
-
# Delete a specified recording.
|
26
|
-
#
|
27
|
-
# @param [required, String] recording_id The id of the recoring to be deleted
|
28
|
-
#
|
29
|
-
# @return [Response]
|
30
|
-
#
|
31
|
-
# @see https://developer.vonage.com/en/api/meetings#deleteRecording
|
32
|
-
def delete(recording_id:)
|
33
|
-
request("/v1/meetings/recordings/" + recording_id, type: Delete)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,155 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Vonage
|
5
|
-
class Meetings::Rooms < Namespace
|
6
|
-
extend T::Sig
|
7
|
-
|
8
|
-
self.authentication = BearerToken
|
9
|
-
|
10
|
-
self.request_body = JSON
|
11
|
-
|
12
|
-
self.host = :vonage_host
|
13
|
-
|
14
|
-
# Get a list of rooms associated with the Vonage application.
|
15
|
-
#
|
16
|
-
# @param [optional, Integer] :start_id
|
17
|
-
#
|
18
|
-
# @param [optional, Integer] :end_id
|
19
|
-
#
|
20
|
-
# @param [optional, Integer] :page_size
|
21
|
-
#
|
22
|
-
# @return [ListResponse]
|
23
|
-
#
|
24
|
-
# @see https://developer.vonage.com/en/api/meetings#getRooms
|
25
|
-
def list(**params)
|
26
|
-
path = "/v1/meetings/rooms"
|
27
|
-
path += "?#{Params.encode(params)}" unless params.empty?
|
28
|
-
|
29
|
-
request(path, response_class: ListResponse)
|
30
|
-
end
|
31
|
-
|
32
|
-
# Return information for specified room.
|
33
|
-
#
|
34
|
-
# @param [required, String] room_id
|
35
|
-
# The id of the room for which the info should be returned
|
36
|
-
#
|
37
|
-
# @return [Response]
|
38
|
-
#
|
39
|
-
# @see https://developer.vonage.com/en/api/meetings#getRoom
|
40
|
-
def info(room_id:)
|
41
|
-
request("/v1/meetings/rooms/" + room_id)
|
42
|
-
end
|
43
|
-
|
44
|
-
# Create a new room.
|
45
|
-
#
|
46
|
-
# @param [required, String] :display_name
|
47
|
-
#
|
48
|
-
# @param [optional, String] :metadata
|
49
|
-
# Free text that can be attached to a room. This will be passed in the form of a header in events related to this room.
|
50
|
-
#
|
51
|
-
# @param [optional, String] :type
|
52
|
-
# The type of room. Must be one of `instant` (the default) or `long_term`.
|
53
|
-
#
|
54
|
-
# @param [String(date)] :expires_at
|
55
|
-
# The time for when the room will be expired, expressed in ISO 8601 format.
|
56
|
-
# The value must be greater than 10 minutes from now.
|
57
|
-
# Must be set if `type` is `long_term`. Should not be set if `type` is `instant`
|
58
|
-
#
|
59
|
-
# @param [optional, Boolean] :expire_after_use
|
60
|
-
# Close the room after a session ends. Only relevant for rooms where the `type` is `long_term`
|
61
|
-
#
|
62
|
-
# @param [optional, string(uuid)] :theme_id
|
63
|
-
# When specified, the meeting room will use the theme indicated by the ID.
|
64
|
-
#
|
65
|
-
# @param [optional, String] :join_approval_level
|
66
|
-
# The level of approval needed to join the meeting in the room. Must be one of: `none`, `after_owner_only`, `explicit_approval`
|
67
|
-
#
|
68
|
-
# @param [optional, Hash] :recording_options
|
69
|
-
# @option :recording_options [Boolean] :auto_record Automatically record all sessions in this room. Recording cannot be stopped when this is set to `true`.
|
70
|
-
# @option :recording_options [Boolean] :record_only_owner Record only the owner screen or any share screen of the video.
|
71
|
-
#
|
72
|
-
# @param [optional, Hash] :initial_join_options
|
73
|
-
# @option :initial_join_options [String] :microphone_state
|
74
|
-
# Set the default microphone option for users in the pre-join screen of this room.
|
75
|
-
# Must be one of: `on`, `off`, `default`
|
76
|
-
#
|
77
|
-
# @param [optional, Hash] :callback_urls Provides callback URLs to listen to events. If specified, over-rides the callback URLs specified at Application-level
|
78
|
-
# @option :callback_urls [String] :rooms_callback_url Callback url for rooms events
|
79
|
-
# @option :callback_urls [String] :sessions_callback_url Callback url for sessions events
|
80
|
-
# @option :callback_urls [String] :recordings_callback_url Callback url for recordings events
|
81
|
-
#
|
82
|
-
# @param [optional, Hash] :available_features
|
83
|
-
# @option :available_features [Boolean] :is_recording_available Determine if recording feature is available in the UI (default `true`)
|
84
|
-
# @option :available_features [Boolean] :is_chat_available Determine if chat feature is available in the UI (default `true`)
|
85
|
-
# @option :available_features [Boolean] :is_whiteboard_available Determine if whiteboard feature is available in the UI (default `true`)
|
86
|
-
# @option :available_features [Boolean] :is_locale_switcher_available Determine if locale switche feature is available in the UI (default `true`)
|
87
|
-
# @option :available_features [Boolean] :is_captions_available Determine if captions feature is available in the UI
|
88
|
-
#
|
89
|
-
# @param [optional, Hash] :ui_settings Provides options to customize the user interface
|
90
|
-
# @option :ui_settings [String] :language
|
91
|
-
# The desired language of the UI. The default is `en` (English).
|
92
|
-
# Must be one of: `ar`, `pt-br`, `ca`, `zh-tw`, `zh-cn`, `en`, `fr`, `de`, `he`, `it`, `es`
|
93
|
-
#
|
94
|
-
# @return [Response]
|
95
|
-
#
|
96
|
-
# @see https://developer.vonage.com/en/api/meetings#createRoom
|
97
|
-
def create(display_name:, **params)
|
98
|
-
request(
|
99
|
-
"/v1/meetings/rooms",
|
100
|
-
params: params.merge({ display_name: display_name }),
|
101
|
-
type: Post
|
102
|
-
)
|
103
|
-
end
|
104
|
-
|
105
|
-
# Update an existing room.
|
106
|
-
# Although paramaters (other than `room_id`) are optional, at least one other parameter must be provided or an error
|
107
|
-
# response will be received.
|
108
|
-
#
|
109
|
-
# @param [required, String] room_id The ID of the Room to be updated
|
110
|
-
#
|
111
|
-
# @param [optional, String(date)] :expires_at
|
112
|
-
# The time for when the room will be expired, expressed in ISO 8601 format.
|
113
|
-
# Only relevant for rooms where the `type` is `long_term``
|
114
|
-
#
|
115
|
-
# @param [optional, Boolean] :expire_after_use
|
116
|
-
# Close the room after a session ends. Only relevant for rooms where the `type` is `long_term`
|
117
|
-
#
|
118
|
-
# @param [optional, string(uuid)] :theme_id
|
119
|
-
# When specified, the meeting room will use the theme indicated by the ID.
|
120
|
-
#
|
121
|
-
# @param [optional, String] :join_approval_level
|
122
|
-
# The level of approval needed to join the meeting in the room. Must be one of: `none`, `after_owner_only`, `explicit_approval`
|
123
|
-
#
|
124
|
-
# @param [optional, Hash] :initial_join_options
|
125
|
-
# @option :initial_join_options [String] :microphone_state
|
126
|
-
# Set the default microphone option for users in the pre-join screen of this room.
|
127
|
-
# Must be one of: `on`, `off`, `default`
|
128
|
-
#
|
129
|
-
# @param [optional, Hash] :callback_urls Provides callback URLs to listen to events. If specified, over-rides the callback URLs specified at Application-level
|
130
|
-
# @option :callback_urls [String] :rooms_callback_url Callback url for rooms events
|
131
|
-
# @option :callback_urls [String] :sessions_callback_url Callback url for sessions events
|
132
|
-
# @option :callback_urls [String] :recordings_callback_url Callback url for recordings events
|
133
|
-
#
|
134
|
-
# @param [optional, Hash] :available_features
|
135
|
-
# @option :available_features [Boolean] :is_recording_available Determine if recording feature is available in the UI (default `true`)
|
136
|
-
# @option :available_features [Boolean] :is_chat_available Determine if chat feature is available in the UI (default `true`)
|
137
|
-
# @option :available_features [Boolean] :is_whiteboard_available Determine if whiteboard feature is available in the UI (default `true`)
|
138
|
-
# @option :available_features [Boolean] :is_locale_switcher_available Determine if locale switche feature is available in the UI (default `true`)
|
139
|
-
# @option :available_features [Boolean] :is_captions_available Determine if captions feature is available in the UI
|
140
|
-
#
|
141
|
-
# @return [Response]
|
142
|
-
#
|
143
|
-
# @see https://developer.vonage.com/en/api/meetings#updateRoom
|
144
|
-
def update(room_id:, **params)
|
145
|
-
raise ArgumentError, 'must provide at least one other param in addition to :room_id' if params.empty?
|
146
|
-
request(
|
147
|
-
"/v1/meetings/rooms/" + room_id,
|
148
|
-
params: {
|
149
|
-
update_details: params
|
150
|
-
},
|
151
|
-
type: Patch
|
152
|
-
)
|
153
|
-
end
|
154
|
-
end
|
155
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Vonage
|
5
|
-
class Meetings::Sessions < Namespace
|
6
|
-
extend T::Sig
|
7
|
-
|
8
|
-
self.authentication = BearerToken
|
9
|
-
|
10
|
-
self.request_body = JSON
|
11
|
-
|
12
|
-
self.host = :vonage_host
|
13
|
-
|
14
|
-
# Return a list of recordings for a specified session.
|
15
|
-
#
|
16
|
-
# @param [required, String] session_id The id of the session for which the recordings list should be returned
|
17
|
-
#
|
18
|
-
# @return [ListResponse]
|
19
|
-
#
|
20
|
-
# @see https://developer.vonage.com/en/api/meetings#getSessionRecordings
|
21
|
-
def list_recordings(session_id:)
|
22
|
-
request(
|
23
|
-
"/v1/meetings/sessions/" + session_id + "/recordings",
|
24
|
-
response_class: ListResponse
|
25
|
-
)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|