vonage 7.23.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 -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 +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 +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 -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 -3
- metadata +9 -94
- 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/sip.rb +0 -48
- data/lib/vonage/video/streams/list_response.rb +0 -11
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,41 +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
|
158
|
+
- lib/vonage/video/list_response.rb
|
243
159
|
- lib/vonage/video/moderation.rb
|
244
160
|
- lib/vonage/video/signals.rb
|
245
|
-
- lib/vonage/video/sip.rb
|
246
161
|
- lib/vonage/video/streams.rb
|
247
|
-
- lib/vonage/video/streams/list_response.rb
|
248
162
|
- lib/vonage/voice.rb
|
249
163
|
- lib/vonage/voice/actions/connect.rb
|
250
164
|
- lib/vonage/voice/actions/conversation.rb
|
251
165
|
- lib/vonage/voice/actions/input.rb
|
252
166
|
- lib/vonage/voice/actions/notify.rb
|
167
|
+
- lib/vonage/voice/actions/pay.rb
|
253
168
|
- lib/vonage/voice/actions/record.rb
|
254
169
|
- lib/vonage/voice/actions/stream.rb
|
255
170
|
- lib/vonage/voice/actions/talk.rb
|
@@ -279,11 +194,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
279
194
|
version: 2.5.0
|
280
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
281
196
|
requirements:
|
282
|
-
- - "
|
197
|
+
- - ">"
|
283
198
|
- !ruby/object:Gem::Version
|
284
|
-
version:
|
199
|
+
version: 1.3.1
|
285
200
|
requirements: []
|
286
|
-
rubygems_version: 3.
|
201
|
+
rubygems_version: 3.3.26
|
287
202
|
signing_key:
|
288
203
|
specification_version: 4
|
289
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
|