vonage 7.24.0 → 8.0.0.beta
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +87 -387
- data/lib/vonage/applications.rb +4 -12
- data/lib/vonage/client.rb +0 -51
- data/lib/vonage/client_error.rb +1 -1
- data/lib/vonage/config.rb +1 -9
- data/lib/vonage/conversations/events.rb +0 -12
- data/lib/vonage/conversations/legs.rb +0 -6
- data/lib/vonage/conversations/members.rb +0 -15
- data/lib/vonage/conversations/users.rb +0 -15
- data/lib/vonage/conversations.rb +0 -30
- 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 +1 -8
- 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 +3 -19
- data/lib/vonage/namespace.rb +60 -132
- 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 -50
- 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 -3
- metadata +9 -98
- data/lib/vonage/api_error.rb +0 -33
- data/lib/vonage/conversation/event/list_response.rb +0 -11
- data/lib/vonage/conversation/event.rb +0 -108
- data/lib/vonage/conversation/list_response.rb +0 -11
- data/lib/vonage/conversation/member/list_response.rb +0 -11
- data/lib/vonage/conversation/member.rb +0 -134
- data/lib/vonage/conversation/user/conversations_list_response.rb +0 -11
- data/lib/vonage/conversation/user/sessions_list_response.rb +0 -11
- data/lib/vonage/conversation/user.rb +0 -67
- data/lib/vonage/conversation.rb +0 -164
- 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 -97
- 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/captions.rb +0 -67
- data/lib/vonage/video/renders/list_response.rb +0 -11
- data/lib/vonage/video/renders.rb +0 -107
- data/lib/vonage/video/sip.rb +0 -48
- data/lib/vonage/video/streams/list_response.rb +0 -11
- data/lib/vonage/video/web_socket.rb +0 -61
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,11 +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
|
-
s.add_dependency('net-http-persistent', '~> 4.0', '>= 4.0.2')
|
20
18
|
s.add_runtime_dependency('rexml')
|
21
19
|
s.add_runtime_dependency('phonelib')
|
22
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,40 +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
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: net-http-persistent
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - "~>"
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '4.0'
|
82
|
-
- - ">="
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: 4.0.2
|
85
|
-
type: :runtime
|
86
|
-
prerelease: false
|
87
|
-
version_requirements: !ruby/object:Gem::Requirement
|
88
|
-
requirements:
|
89
|
-
- - "~>"
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '4.0'
|
92
|
-
- - ">="
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: 4.0.2
|
95
61
|
- !ruby/object:Gem::Dependency
|
96
62
|
name: rexml
|
97
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -133,7 +99,6 @@ files:
|
|
133
99
|
- lib/vonage/abstract_authentication.rb
|
134
100
|
- lib/vonage/account.rb
|
135
101
|
- lib/vonage/alerts.rb
|
136
|
-
- lib/vonage/api_error.rb
|
137
102
|
- lib/vonage/applications.rb
|
138
103
|
- lib/vonage/applications/list_response.rb
|
139
104
|
- lib/vonage/authentication_error.rb
|
@@ -142,15 +107,6 @@ files:
|
|
142
107
|
- lib/vonage/client.rb
|
143
108
|
- lib/vonage/client_error.rb
|
144
109
|
- lib/vonage/config.rb
|
145
|
-
- lib/vonage/conversation.rb
|
146
|
-
- lib/vonage/conversation/event.rb
|
147
|
-
- lib/vonage/conversation/event/list_response.rb
|
148
|
-
- lib/vonage/conversation/list_response.rb
|
149
|
-
- lib/vonage/conversation/member.rb
|
150
|
-
- lib/vonage/conversation/member/list_response.rb
|
151
|
-
- lib/vonage/conversation/user.rb
|
152
|
-
- lib/vonage/conversation/user/conversations_list_response.rb
|
153
|
-
- lib/vonage/conversation/user/sessions_list_response.rb
|
154
110
|
- lib/vonage/conversations.rb
|
155
111
|
- lib/vonage/conversations/events.rb
|
156
112
|
- lib/vonage/conversations/legs.rb
|
@@ -169,17 +125,6 @@ files:
|
|
169
125
|
- lib/vonage/key_secret_params.rb
|
170
126
|
- lib/vonage/keys.rb
|
171
127
|
- lib/vonage/logger.rb
|
172
|
-
- lib/vonage/meetings.rb
|
173
|
-
- lib/vonage/meetings/applications.rb
|
174
|
-
- lib/vonage/meetings/dial_in_numbers.rb
|
175
|
-
- lib/vonage/meetings/dial_in_numbers/list_response.rb
|
176
|
-
- lib/vonage/meetings/recordings.rb
|
177
|
-
- lib/vonage/meetings/rooms.rb
|
178
|
-
- lib/vonage/meetings/rooms/list_response.rb
|
179
|
-
- lib/vonage/meetings/sessions.rb
|
180
|
-
- lib/vonage/meetings/sessions/list_response.rb
|
181
|
-
- lib/vonage/meetings/themes.rb
|
182
|
-
- lib/vonage/meetings/themes/list_response.rb
|
183
128
|
- lib/vonage/messages.rb
|
184
129
|
- lib/vonage/messaging.rb
|
185
130
|
- lib/vonage/messaging/channels/messenger.rb
|
@@ -190,23 +135,12 @@ files:
|
|
190
135
|
- lib/vonage/messaging/message.rb
|
191
136
|
- lib/vonage/namespace.rb
|
192
137
|
- lib/vonage/number_insight.rb
|
193
|
-
- lib/vonage/number_insight_2.rb
|
194
138
|
- lib/vonage/numbers.rb
|
195
139
|
- lib/vonage/numbers/list_response.rb
|
196
140
|
- lib/vonage/numbers/response.rb
|
197
141
|
- lib/vonage/params.rb
|
198
142
|
- lib/vonage/pricing.rb
|
199
143
|
- lib/vonage/pricing_types.rb
|
200
|
-
- lib/vonage/proactive_connect.rb
|
201
|
-
- lib/vonage/proactive_connect/events.rb
|
202
|
-
- lib/vonage/proactive_connect/events/list_response.rb
|
203
|
-
- lib/vonage/proactive_connect/item.rb
|
204
|
-
- lib/vonage/proactive_connect/items.rb
|
205
|
-
- lib/vonage/proactive_connect/items/file_response.rb
|
206
|
-
- lib/vonage/proactive_connect/items/list_response.rb
|
207
|
-
- lib/vonage/proactive_connect/list.rb
|
208
|
-
- lib/vonage/proactive_connect/lists.rb
|
209
|
-
- lib/vonage/proactive_connect/lists/list_response.rb
|
210
144
|
- lib/vonage/redact.rb
|
211
145
|
- lib/vonage/response.rb
|
212
146
|
- lib/vonage/secrets.rb
|
@@ -215,45 +149,22 @@ files:
|
|
215
149
|
- lib/vonage/service_error.rb
|
216
150
|
- lib/vonage/signature.rb
|
217
151
|
- lib/vonage/sms.rb
|
218
|
-
- lib/vonage/subaccounts.rb
|
219
|
-
- lib/vonage/subaccounts/balance_transfers/list_response.rb
|
220
|
-
- lib/vonage/subaccounts/credit_transfers/list_response.rb
|
221
|
-
- lib/vonage/subaccounts/list_response.rb
|
222
152
|
- lib/vonage/tfa.rb
|
223
153
|
- lib/vonage/user_agent.rb
|
224
|
-
- lib/vonage/users.rb
|
225
|
-
- lib/vonage/users/list_response.rb
|
226
154
|
- lib/vonage/verify.rb
|
227
|
-
- lib/vonage/verify2.rb
|
228
|
-
- lib/vonage/verify2/channels/email.rb
|
229
|
-
- lib/vonage/verify2/channels/silent_auth.rb
|
230
|
-
- lib/vonage/verify2/channels/sms.rb
|
231
|
-
- lib/vonage/verify2/channels/voice.rb
|
232
|
-
- lib/vonage/verify2/channels/whats_app.rb
|
233
|
-
- lib/vonage/verify2/channels/whats_app_interactive.rb
|
234
|
-
- lib/vonage/verify2/start_verification_options.rb
|
235
|
-
- lib/vonage/verify2/workflow.rb
|
236
|
-
- lib/vonage/verify2/workflow_builder.rb
|
237
155
|
- lib/vonage/version.rb
|
238
156
|
- lib/vonage/video.rb
|
239
157
|
- lib/vonage/video/archives.rb
|
240
|
-
- lib/vonage/video/
|
241
|
-
- lib/vonage/video/broadcasts.rb
|
242
|
-
- lib/vonage/video/broadcasts/list_response.rb
|
243
|
-
- lib/vonage/video/captions.rb
|
158
|
+
- lib/vonage/video/list_response.rb
|
244
159
|
- lib/vonage/video/moderation.rb
|
245
|
-
- lib/vonage/video/renders.rb
|
246
|
-
- lib/vonage/video/renders/list_response.rb
|
247
160
|
- lib/vonage/video/signals.rb
|
248
|
-
- lib/vonage/video/sip.rb
|
249
161
|
- lib/vonage/video/streams.rb
|
250
|
-
- lib/vonage/video/streams/list_response.rb
|
251
|
-
- lib/vonage/video/web_socket.rb
|
252
162
|
- lib/vonage/voice.rb
|
253
163
|
- lib/vonage/voice/actions/connect.rb
|
254
164
|
- lib/vonage/voice/actions/conversation.rb
|
255
165
|
- lib/vonage/voice/actions/input.rb
|
256
166
|
- lib/vonage/voice/actions/notify.rb
|
167
|
+
- lib/vonage/voice/actions/pay.rb
|
257
168
|
- lib/vonage/voice/actions/record.rb
|
258
169
|
- lib/vonage/voice/actions/stream.rb
|
259
170
|
- lib/vonage/voice/actions/talk.rb
|
@@ -283,11 +194,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
283
194
|
version: 2.5.0
|
284
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
285
196
|
requirements:
|
286
|
-
- - "
|
197
|
+
- - ">"
|
287
198
|
- !ruby/object:Gem::Version
|
288
|
-
version:
|
199
|
+
version: 1.3.1
|
289
200
|
requirements: []
|
290
|
-
rubygems_version: 3.
|
201
|
+
rubygems_version: 3.3.26
|
291
202
|
signing_key:
|
292
203
|
specification_version: 4
|
293
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,108 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Vonage
|
5
|
-
class Conversation::Event < Namespace
|
6
|
-
self.authentication = BearerToken
|
7
|
-
|
8
|
-
self.request_body = JSON
|
9
|
-
|
10
|
-
# List conversation events
|
11
|
-
#
|
12
|
-
# @example
|
13
|
-
# response = client.conversation.event.list(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
|
14
|
-
#
|
15
|
-
# @param [required, String] :conversation_id The conversation_id of the conversation to list events for
|
16
|
-
#
|
17
|
-
# @param [String] :start_id
|
18
|
-
# The ID to start returning events at
|
19
|
-
#
|
20
|
-
# @param [String] :end_id
|
21
|
-
# The ID to end returning events at
|
22
|
-
#
|
23
|
-
# @param [String] :event_type
|
24
|
-
# The type of event to search for. Does not currently support custom events
|
25
|
-
#
|
26
|
-
# @param [Integer] :page_size
|
27
|
-
# Return this amount of records in the response.
|
28
|
-
#
|
29
|
-
# @param ['asc', 'desc'] :order
|
30
|
-
# Return the records in ascending or descending order.
|
31
|
-
#
|
32
|
-
# @param [String] :cursor
|
33
|
-
# The cursor to start returning results from.
|
34
|
-
#
|
35
|
-
# @return [Conversation::Member::ListResponse]
|
36
|
-
#
|
37
|
-
# @see https://developer.vonage.com/en/api/conversation#getEvents
|
38
|
-
#
|
39
|
-
def list(conversation_id:, **params)
|
40
|
-
request("/v1/conversations/#{conversation_id}/events", params: params, response_class: ListResponse)
|
41
|
-
end
|
42
|
-
|
43
|
-
# Create an event
|
44
|
-
# @example
|
45
|
-
# response = client.conversation.event.create(
|
46
|
-
# conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
|
47
|
-
# type: 'message',
|
48
|
-
# body: {
|
49
|
-
# message_type: 'text',
|
50
|
-
# text: 'Hello World'
|
51
|
-
# }
|
52
|
-
# )
|
53
|
-
#
|
54
|
-
# @param [required, String] :conversation_id The conversation_id of the conversation to create the event for
|
55
|
-
#
|
56
|
-
# @param [required, String] :type
|
57
|
-
# Event type.
|
58
|
-
#
|
59
|
-
# @param [String] :from
|
60
|
-
#
|
61
|
-
# @option params [required, String] :from
|
62
|
-
#
|
63
|
-
# @param [Hash] :body
|
64
|
-
# The body of the event. There are many possible properties depending on the event type and message_type
|
65
|
-
#
|
66
|
-
# @return [Response]
|
67
|
-
#
|
68
|
-
# @see https://developer.vonage.com/en/api/conversation#createEvent
|
69
|
-
#
|
70
|
-
def create(conversation_id:, **params)
|
71
|
-
request("/v1/conversations/#{conversation_id}/events", params: params, type: Post)
|
72
|
-
end
|
73
|
-
|
74
|
-
# Get details of a specific event
|
75
|
-
#
|
76
|
-
# @example
|
77
|
-
# response = client.conversation.event.find(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a', event_id: 1)
|
78
|
-
#
|
79
|
-
# @param [required, String] :conversation_id
|
80
|
-
#
|
81
|
-
# @param [required, String] :event_id
|
82
|
-
#
|
83
|
-
# @return [Response]
|
84
|
-
#
|
85
|
-
# @see https://developer.vonage.com/en/api/conversation#getEvent
|
86
|
-
#
|
87
|
-
def find(conversation_id:, event_id:)
|
88
|
-
request("/v1/conversations/#{conversation_id}/events/#{event_id}")
|
89
|
-
end
|
90
|
-
|
91
|
-
# Delete an event.
|
92
|
-
#
|
93
|
-
# @example
|
94
|
-
# response = client.conversation.event.delete(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a', event_id: 1)
|
95
|
-
#
|
96
|
-
# @param [String] :conversation_id
|
97
|
-
#
|
98
|
-
# @param [String] :event_id
|
99
|
-
#
|
100
|
-
# @return [Response]
|
101
|
-
#
|
102
|
-
# @see https://developer.vonage.com/en/api/conversation#deleteEvent
|
103
|
-
#
|
104
|
-
def delete(conversation_id:, event_id:)
|
105
|
-
request("/v1/conversations/#{conversation_id}/events/#{event_id}", type: Delete)
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
@@ -1,134 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Vonage
|
5
|
-
class Conversation::Member < Namespace
|
6
|
-
self.authentication = BearerToken
|
7
|
-
|
8
|
-
self.request_body = JSON
|
9
|
-
|
10
|
-
# List members of a conversation
|
11
|
-
#
|
12
|
-
# @example
|
13
|
-
# response = client.conversation.member.list(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
|
14
|
-
#
|
15
|
-
# @param [required, String] :conversation_id The conversation_id of the conversation to list members for
|
16
|
-
#
|
17
|
-
# @param [Integer] :page_size
|
18
|
-
# Return this amount of records in the response.
|
19
|
-
#
|
20
|
-
# @param ['asc', 'desc'] :order
|
21
|
-
# Return the records in ascending or descending order.
|
22
|
-
#
|
23
|
-
# @param [String] :cursor
|
24
|
-
# The cursor to start returning results from.
|
25
|
-
#
|
26
|
-
# @return [Conversation::Member::ListResponse]
|
27
|
-
#
|
28
|
-
# @see https://developer.vonage.com/en/api/conversation#getMembers
|
29
|
-
#
|
30
|
-
def list(conversation_id:, **params)
|
31
|
-
request("/v1/conversations/#{conversation_id}/members", params: params, response_class: ListResponse)
|
32
|
-
end
|
33
|
-
|
34
|
-
# Create a member.
|
35
|
-
#
|
36
|
-
# @example
|
37
|
-
# response = client.conversation.member.create(
|
38
|
-
# conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
|
39
|
-
# user: {
|
40
|
-
# id: 'USR-82e028d9-5201-4f1e-8188-604b2d3471ec'
|
41
|
-
# }
|
42
|
-
# )
|
43
|
-
#
|
44
|
-
# @param [required, String] :conversation_id The conversation_id of the conversation for which to create the member
|
45
|
-
#
|
46
|
-
# @param [String] :state Must be one of ['invited', 'joined']
|
47
|
-
#
|
48
|
-
# @param [Hash] :user (Either :id or :name is required)
|
49
|
-
# - @option user [String] :id The user_id of the user to add to the conversation
|
50
|
-
# - @option user [String] :name The name of the user to add to the conversation
|
51
|
-
#
|
52
|
-
# @param [Hash] :channel
|
53
|
-
# - @option channel [required, String] :type The type of channel
|
54
|
-
# - @option channel [Hash] :from
|
55
|
-
# - @option from [String] :type
|
56
|
-
# - @option from [String] :number
|
57
|
-
# - @option from [String] :id
|
58
|
-
# - @option channel [Hash] :to
|
59
|
-
# - @option from [String] :type
|
60
|
-
# - @option from [String] :user
|
61
|
-
# - @option from [String] :number
|
62
|
-
# - @option from [String] :id
|
63
|
-
#
|
64
|
-
# @param [Hash] :media
|
65
|
-
# - @option media [Boolean] :audio
|
66
|
-
# - @option media [Hash] :audio_settings
|
67
|
-
# - @option audio_settings [Boolean] :enabled
|
68
|
-
# - @option audio_settings [Boolean] :earmuffed
|
69
|
-
# - @option audio_settings [Boolean] :muted
|
70
|
-
#
|
71
|
-
# @param [String] :knocking_id
|
72
|
-
#
|
73
|
-
# @param [String] :member_id_inviting
|
74
|
-
#
|
75
|
-
# @param [String] :from
|
76
|
-
#
|
77
|
-
# @return [Response]
|
78
|
-
#
|
79
|
-
# @see https://developer.vonage.com/en/api/conversation#createMember
|
80
|
-
#
|
81
|
-
def create(conversation_id:, **params)
|
82
|
-
request("/v1/conversations/#{conversation_id}/members", params: params, type: Post)
|
83
|
-
end
|
84
|
-
|
85
|
-
# Retrieve a member
|
86
|
-
#
|
87
|
-
# @example
|
88
|
-
# response = client.conversation.member.find(
|
89
|
-
# conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
|
90
|
-
# member_id: 'MEM-63f61863-4a51-4f6b-86e1-46edebio0391'
|
91
|
-
# )
|
92
|
-
#
|
93
|
-
# @param [required, String] :conversation_id
|
94
|
-
#
|
95
|
-
# @param [required, String] :member_id
|
96
|
-
#
|
97
|
-
# @return [Response]
|
98
|
-
#
|
99
|
-
# @see https://developer.vonage.com/en/api/conversation#getMember
|
100
|
-
#
|
101
|
-
def find(conversation_id:, member_id:)
|
102
|
-
request("/v1/conversations/#{conversation_id}/members/#{member_id}", response_class: Vonage::Response)
|
103
|
-
end
|
104
|
-
|
105
|
-
# Update a member
|
106
|
-
#
|
107
|
-
# @example
|
108
|
-
# response = client.conversation.member.update(
|
109
|
-
# conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
|
110
|
-
# member_id: 'MEM-63f61863-4a51-4f6b-86e1-46edebio0391',
|
111
|
-
# state: 'left'
|
112
|
-
# )
|
113
|
-
#
|
114
|
-
# @param [required, String] :conversation_id
|
115
|
-
#
|
116
|
-
# @param [required, String] :member_id
|
117
|
-
#
|
118
|
-
# @param [String] :state Must be one of ['joined', 'left']
|
119
|
-
#
|
120
|
-
# @param [String] :from
|
121
|
-
#
|
122
|
-
# @param [Hash] :reason
|
123
|
-
# - @option reason [String] :code
|
124
|
-
# - @option reason [String] :text
|
125
|
-
#
|
126
|
-
# @return [Response]
|
127
|
-
#
|
128
|
-
# @see https://developer.vonage.com/en/api/conversation#updateMember
|
129
|
-
#
|
130
|
-
def update(conversation_id:, member_id:, **params)
|
131
|
-
request("/v1/conversations/#{conversation_id}/members/#{member_id}", params: params, type: Patch)
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Vonage
|
5
|
-
class Conversation::User < Namespace
|
6
|
-
self.authentication = BearerToken
|
7
|
-
|
8
|
-
# List conversations associated with a user.
|
9
|
-
#
|
10
|
-
# @example
|
11
|
-
# response = client.conversation.user.list_conversations(user_id: 'USR-82e028d9-5201-4f1e-8188-604b2d3471ec')
|
12
|
-
#
|
13
|
-
# @param [required, String] :user_id The user_id of the user to list conversations for
|
14
|
-
#
|
15
|
-
# @param [String] :state Must be one of ['INVITED', 'JOINED', 'LEFT']
|
16
|
-
#
|
17
|
-
# @param [String] :order_by Must be one of ['created', 'custom_sort_key']
|
18
|
-
#
|
19
|
-
# @param [Boolean] :include_custom_data
|
20
|
-
# @param [String] :date_start
|
21
|
-
# Return the records that occurred after this point in time.
|
22
|
-
#
|
23
|
-
# @param [String] :date_start
|
24
|
-
# Return the records that occurred after this point in time.
|
25
|
-
#
|
26
|
-
# @param [Integer] :page_size
|
27
|
-
# Return this amount of records in the response.
|
28
|
-
#
|
29
|
-
# @param ['asc', 'desc'] :order
|
30
|
-
# Return the records in ascending or descending order.
|
31
|
-
#
|
32
|
-
# @param [String] :cursor
|
33
|
-
# The cursor to start returning results from.
|
34
|
-
#
|
35
|
-
# @return [Conversation::User::ConversationsListResponse]
|
36
|
-
#
|
37
|
-
# @see https://developer.vonage.com/en/api/conversation#getuserConversations
|
38
|
-
#
|
39
|
-
def list_conversations(user_id:, **params)
|
40
|
-
request("/v1/users/#{user_id}/conversations", params: params, response_class: ConversationsListResponse)
|
41
|
-
end
|
42
|
-
|
43
|
-
# List conversations associated with a user.
|
44
|
-
#
|
45
|
-
# @example
|
46
|
-
# response = client.conversation.user.list_sessions(user_id: 'USR-82e028d9-5201-4f1e-8188-604b2d3471ec')
|
47
|
-
#
|
48
|
-
# @param [required, String] :user_id The user_id of the user to list sessions for
|
49
|
-
#
|
50
|
-
# @param [Integer] :page_size
|
51
|
-
# Return this amount of records in the response.
|
52
|
-
#
|
53
|
-
# @param ['asc', 'desc'] :order
|
54
|
-
# Return the records in ascending or descending order.
|
55
|
-
#
|
56
|
-
# @param [String] :cursor
|
57
|
-
# The cursor to start returning results from.
|
58
|
-
#
|
59
|
-
# @return [Conversation::User::SessionsListResponse]
|
60
|
-
#
|
61
|
-
# @see https://developer.vonage.com/en/api/conversation#getuserSessions
|
62
|
-
#
|
63
|
-
def list_sessions(user_id:, **params)
|
64
|
-
request("/v1/users/#{user_id}/sessions", params: params, response_class: SessionsListResponse)
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|