vonage 7.20.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 +87 -386
- data/lib/vonage/applications.rb +4 -12
- data/lib/vonage/client.rb +0 -42
- data/lib/vonage/client_error.rb +1 -1
- data/lib/vonage/config.rb +1 -9
- 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 +0 -2
- 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 +57 -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 +53 -18
- data/lib/vonage/video/list_response.rb +11 -0
- data/lib/vonage/video/moderation.rb +22 -7
- data/lib/vonage/video/signals.rb +9 -4
- data/lib/vonage/video/streams.rb +12 -6
- data/lib/vonage/video.rb +13 -31
- data/lib/vonage/voice/actions/connect.rb +3 -27
- data/lib/vonage/voice/actions/conversation.rb +2 -2
- 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 -2
- data/vonage.gemspec +1 -2
- metadata +9 -65
- 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/number_insight_2.rb +0 -36
- 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 -36
- data/lib/vonage/verify2/channels/silent_auth.rb +0 -45
- data/lib/vonage/verify2/channels/sms.rb +0 -53
- 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
- data/lib/vonage/video/archives/list_response.rb +0 -11
- data/lib/vonage/video/broadcasts/list_response.rb +0 -11
- data/lib/vonage/video/broadcasts.rb +0 -75
- data/lib/vonage/video/sip.rb +0 -48
- data/lib/vonage/video/streams/list_response.rb +0 -11
@@ -0,0 +1,107 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
module Vonage
|
4
|
+
class Voice::Actions::Pay
|
5
|
+
attr_accessor :amount, :currency, :eventUrl, :prompts, :voice
|
6
|
+
|
7
|
+
def initialize(attributes= {})
|
8
|
+
@amount = attributes.fetch(:amount)
|
9
|
+
@currency = attributes.fetch(:currency, nil)
|
10
|
+
@eventUrl = attributes.fetch(:eventUrl, nil)
|
11
|
+
@prompts = attributes.fetch(:prompts, nil)
|
12
|
+
@voice = attributes.fetch(:voice, nil)
|
13
|
+
|
14
|
+
after_initialize!
|
15
|
+
end
|
16
|
+
|
17
|
+
def action
|
18
|
+
create_pay!(self)
|
19
|
+
end
|
20
|
+
|
21
|
+
def create_pay!(builder)
|
22
|
+
ncco = [
|
23
|
+
{
|
24
|
+
action: 'pay',
|
25
|
+
amount: builder.amount
|
26
|
+
}
|
27
|
+
]
|
28
|
+
|
29
|
+
ncco[0].merge!(currency: builder.currency) if builder.currency
|
30
|
+
ncco[0].merge!(eventUrl: builder.eventUrl) if builder.eventUrl
|
31
|
+
ncco[0].merge!(prompts: builder.prompts) if builder.prompts
|
32
|
+
ncco[0].merge!(voice: builder.voice) if builder.voice
|
33
|
+
|
34
|
+
ncco
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def after_initialize!
|
40
|
+
verify_amount
|
41
|
+
|
42
|
+
if self.eventUrl
|
43
|
+
verify_event_url
|
44
|
+
end
|
45
|
+
|
46
|
+
if self.prompts
|
47
|
+
verify_prompts
|
48
|
+
end
|
49
|
+
|
50
|
+
if self.voice
|
51
|
+
verify_voice
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def verify_amount
|
56
|
+
verify_amount_class
|
57
|
+
verify_amount_value
|
58
|
+
end
|
59
|
+
|
60
|
+
def verify_event_url
|
61
|
+
raise ClientError.new("Expected 'eventUrl' parameter to be an Array containing a single string item") unless self.eventUrl.is_a?(Array)
|
62
|
+
|
63
|
+
uri = URI.parse(self.eventUrl[0])
|
64
|
+
|
65
|
+
raise ClientError.new("Invalid 'eventUrl' value, must be a valid URL") unless uri.kind_of?(URI::HTTP) || uri.kind_of?(URI::HTTPS)
|
66
|
+
end
|
67
|
+
|
68
|
+
def verify_prompts
|
69
|
+
verify_prompts_structure
|
70
|
+
verify_prompts_values
|
71
|
+
end
|
72
|
+
|
73
|
+
def verify_voice
|
74
|
+
verify_voice_structure
|
75
|
+
verify_voice_style if self.voice[:style]
|
76
|
+
end
|
77
|
+
|
78
|
+
def verify_amount_class
|
79
|
+
raise ClientError.new("Invalid 'amount' value, must be a float") unless self.amount.is_a?(Float)
|
80
|
+
end
|
81
|
+
|
82
|
+
def verify_amount_value
|
83
|
+
raise ClientError.new("Invalid 'amount' value, must be greater than 0") unless self.amount > 0
|
84
|
+
end
|
85
|
+
|
86
|
+
def verify_prompts_structure
|
87
|
+
raise ClientError.new("Invalid 'prompt', must be an array of at least one hash") unless self.prompts.is_a?(Array) && !self.prompts.empty? && self.prompts.all?(Hash)
|
88
|
+
end
|
89
|
+
|
90
|
+
def verify_prompts_values
|
91
|
+
self.prompts.each do |prompt|
|
92
|
+
prompt_keys = prompt.keys
|
93
|
+
[:type, :text, :errors].each do |key|
|
94
|
+
raise ClientError.new("Invalid 'prompt', '#{key}' is required") unless prompt_keys.include?(key)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
def verify_voice_structure
|
100
|
+
raise ClientError.new("Expected 'voice' value to be a Hash") unless self.voice.is_a?(Hash)
|
101
|
+
end
|
102
|
+
|
103
|
+
def verify_voice_style
|
104
|
+
raise ClientError.new("Expected 'style' value to be an Integer") unless self.voice[:style].is_a?(Integer)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
@@ -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
@@ -7,13 +7,11 @@ module Vonage
|
|
7
7
|
loader = Zeitwerk::Loader.new
|
8
8
|
loader.tag = File.basename(__FILE__, '.rb')
|
9
9
|
loader.inflector.inflect({
|
10
|
-
'api_error' => 'APIError',
|
11
10
|
'dtmf' => 'DTMF',
|
12
11
|
'gsm7' => 'GSM7',
|
13
12
|
'http' => 'HTTP',
|
14
13
|
'json' => 'JSON',
|
15
14
|
'jwt' => 'JWT',
|
16
|
-
'sip' => 'SIP',
|
17
15
|
'sms' => 'SMS',
|
18
16
|
'mms' => 'MMS',
|
19
17
|
'tfa' => 'TFA',
|
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
|
@@ -161,23 +135,12 @@ files:
|
|
161
135
|
- lib/vonage/messaging/message.rb
|
162
136
|
- lib/vonage/namespace.rb
|
163
137
|
- lib/vonage/number_insight.rb
|
164
|
-
- lib/vonage/number_insight_2.rb
|
165
138
|
- lib/vonage/numbers.rb
|
166
139
|
- lib/vonage/numbers/list_response.rb
|
167
140
|
- lib/vonage/numbers/response.rb
|
168
141
|
- lib/vonage/params.rb
|
169
142
|
- lib/vonage/pricing.rb
|
170
143
|
- lib/vonage/pricing_types.rb
|
171
|
-
- lib/vonage/proactive_connect.rb
|
172
|
-
- lib/vonage/proactive_connect/events.rb
|
173
|
-
- lib/vonage/proactive_connect/events/list_response.rb
|
174
|
-
- lib/vonage/proactive_connect/item.rb
|
175
|
-
- lib/vonage/proactive_connect/items.rb
|
176
|
-
- lib/vonage/proactive_connect/items/file_response.rb
|
177
|
-
- lib/vonage/proactive_connect/items/list_response.rb
|
178
|
-
- lib/vonage/proactive_connect/list.rb
|
179
|
-
- lib/vonage/proactive_connect/lists.rb
|
180
|
-
- lib/vonage/proactive_connect/lists/list_response.rb
|
181
144
|
- lib/vonage/redact.rb
|
182
145
|
- lib/vonage/response.rb
|
183
146
|
- lib/vonage/secrets.rb
|
@@ -186,41 +149,22 @@ files:
|
|
186
149
|
- lib/vonage/service_error.rb
|
187
150
|
- lib/vonage/signature.rb
|
188
151
|
- lib/vonage/sms.rb
|
189
|
-
- lib/vonage/subaccounts.rb
|
190
|
-
- lib/vonage/subaccounts/balance_transfers/list_response.rb
|
191
|
-
- lib/vonage/subaccounts/credit_transfers/list_response.rb
|
192
|
-
- lib/vonage/subaccounts/list_response.rb
|
193
152
|
- lib/vonage/tfa.rb
|
194
153
|
- lib/vonage/user_agent.rb
|
195
|
-
- lib/vonage/users.rb
|
196
|
-
- lib/vonage/users/list_response.rb
|
197
154
|
- lib/vonage/verify.rb
|
198
|
-
- lib/vonage/verify2.rb
|
199
|
-
- lib/vonage/verify2/channels/email.rb
|
200
|
-
- lib/vonage/verify2/channels/silent_auth.rb
|
201
|
-
- lib/vonage/verify2/channels/sms.rb
|
202
|
-
- lib/vonage/verify2/channels/voice.rb
|
203
|
-
- lib/vonage/verify2/channels/whats_app.rb
|
204
|
-
- lib/vonage/verify2/channels/whats_app_interactive.rb
|
205
|
-
- lib/vonage/verify2/start_verification_options.rb
|
206
|
-
- lib/vonage/verify2/workflow.rb
|
207
|
-
- lib/vonage/verify2/workflow_builder.rb
|
208
155
|
- lib/vonage/version.rb
|
209
156
|
- lib/vonage/video.rb
|
210
157
|
- lib/vonage/video/archives.rb
|
211
|
-
- lib/vonage/video/
|
212
|
-
- lib/vonage/video/broadcasts.rb
|
213
|
-
- lib/vonage/video/broadcasts/list_response.rb
|
158
|
+
- lib/vonage/video/list_response.rb
|
214
159
|
- lib/vonage/video/moderation.rb
|
215
160
|
- lib/vonage/video/signals.rb
|
216
|
-
- lib/vonage/video/sip.rb
|
217
161
|
- lib/vonage/video/streams.rb
|
218
|
-
- lib/vonage/video/streams/list_response.rb
|
219
162
|
- lib/vonage/voice.rb
|
220
163
|
- lib/vonage/voice/actions/connect.rb
|
221
164
|
- lib/vonage/voice/actions/conversation.rb
|
222
165
|
- lib/vonage/voice/actions/input.rb
|
223
166
|
- lib/vonage/voice/actions/notify.rb
|
167
|
+
- lib/vonage/voice/actions/pay.rb
|
224
168
|
- lib/vonage/voice/actions/record.rb
|
225
169
|
- lib/vonage/voice/actions/stream.rb
|
226
170
|
- lib/vonage/voice/actions/talk.rb
|
@@ -250,11 +194,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
250
194
|
version: 2.5.0
|
251
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
252
196
|
requirements:
|
253
|
-
- - "
|
197
|
+
- - ">"
|
254
198
|
- !ruby/object:Gem::Version
|
255
|
-
version:
|
199
|
+
version: 1.3.1
|
256
200
|
requirements: []
|
257
|
-
rubygems_version: 3.
|
201
|
+
rubygems_version: 3.3.26
|
258
202
|
signing_key:
|
259
203
|
specification_version: 4
|
260
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
|