vonage 7.35.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 -880
- data/lib/vonage/account.rb +0 -2
- data/lib/vonage/applications.rb +4 -12
- data/lib/vonage/basic.rb +1 -1
- data/lib/vonage/bearer_token.rb +1 -1
- data/lib/vonage/client.rb +0 -72
- data/lib/vonage/client_error.rb +1 -1
- data/lib/vonage/config.rb +1 -7
- 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/conversions.rb +0 -2
- data/lib/vonage/errors.rb +20 -37
- data/lib/vonage/gsm7.rb +1 -1
- data/lib/vonage/http.rb +3 -3
- data/lib/vonage/jwt.rb +0 -17
- data/lib/vonage/key_secret_params.rb +2 -3
- data/lib/vonage/keys.rb +1 -17
- data/lib/vonage/logger.rb +3 -0
- data/lib/vonage/messaging/channels/messenger.rb +0 -2
- data/lib/vonage/messaging/channels/mms.rb +3 -13
- data/lib/vonage/messaging/channels/sms.rb +0 -2
- data/lib/vonage/messaging/channels/viber.rb +2 -11
- data/lib/vonage/messaging/channels/whats_app.rb +1 -5
- data/lib/vonage/messaging/message.rb +1 -4
- data/lib/vonage/messaging.rb +4 -43
- data/lib/vonage/namespace.rb +68 -137
- data/lib/vonage/number_insight.rb +0 -1
- data/lib/vonage/numbers.rb +17 -40
- data/lib/vonage/server_error.rb +1 -1
- data/lib/vonage/signature.rb +6 -29
- data/lib/vonage/sms.rb +20 -25
- data/lib/vonage/verify.rb +0 -2
- data/lib/vonage/version.rb +1 -1
- data/lib/vonage/video/archives.rb +58 -35
- 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 -56
- data/lib/vonage/voice/actions/connect.rb +9 -45
- data/lib/vonage/voice/actions/conversation.rb +4 -10
- data/lib/vonage/voice/actions/input.rb +3 -26
- data/lib/vonage/voice/actions/notify.rb +3 -8
- data/lib/vonage/voice/actions/pay.rb +107 -0
- data/lib/vonage/voice/actions/record.rb +4 -52
- data/lib/vonage/voice/actions/stream.rb +3 -7
- data/lib/vonage/voice/actions/talk.rb +4 -29
- data/lib/vonage/voice/ncco.rb +1 -3
- data/lib/vonage/voice/talk.rb +1 -11
- data/lib/vonage/voice.rb +0 -24
- data/lib/vonage.rb +0 -4
- data/vonage.gemspec +1 -3
- metadata +12 -116
- data/lib/vonage/api_error.rb +0 -33
- data/lib/vonage/basic_and_bearer_token.rb +0 -18
- data/lib/vonage/basic_and_signature.rb +0 -22
- 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/identity_insights/insights_builder.rb +0 -75
- data/lib/vonage/identity_insights.rb +0 -75
- data/lib/vonage/meetings/applications.rb +0 -28
- data/lib/vonage/meetings/dial_in_numbers/list_response.rb +0 -11
- data/lib/vonage/meetings/dial_in_numbers.rb +0 -26
- data/lib/vonage/meetings/recordings.rb +0 -42
- data/lib/vonage/meetings/rooms/list_response.rb +0 -11
- data/lib/vonage/meetings/rooms.rb +0 -167
- data/lib/vonage/meetings/sessions/list_response.rb +0 -11
- data/lib/vonage/meetings/sessions.rb +0 -31
- data/lib/vonage/meetings/themes/list_response.rb +0 -11
- data/lib/vonage/meetings/themes.rb +0 -239
- data/lib/vonage/meetings.rb +0 -50
- data/lib/vonage/messaging/channels/rcs.rb +0 -44
- data/lib/vonage/network_authentication/client_authentication.rb +0 -39
- data/lib/vonage/network_authentication/server_authentication.rb +0 -47
- data/lib/vonage/network_authentication.rb +0 -22
- data/lib/vonage/network_number_verification.rb +0 -92
- data/lib/vonage/network_sim_swap.rb +0 -84
- data/lib/vonage/number_insight_2.rb +0 -21
- data/lib/vonage/proactive_connect/events/list_response.rb +0 -11
- data/lib/vonage/proactive_connect/events.rb +0 -71
- data/lib/vonage/proactive_connect/item.rb +0 -116
- 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 -116
- data/lib/vonage/proactive_connect/list.rb +0 -186
- data/lib/vonage/proactive_connect/lists/list_response.rb +0 -11
- data/lib/vonage/proactive_connect/lists.rb +0 -38
- data/lib/vonage/proactive_connect.rb +0 -43
- 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 -46
- data/lib/vonage/verify2/channels/sms.rb +0 -63
- data/lib/vonage/verify2/channels/voice.rb +0 -32
- data/lib/vonage/verify2/channels/whats_app.rb +0 -45
- data/lib/vonage/verify2/channels/whats_app_interactive.rb +0 -32
- data/lib/vonage/verify2/start_verification_options.rb +0 -63
- data/lib/vonage/verify2/template_fragments/list_response.rb +0 -11
- data/lib/vonage/verify2/template_fragments.rb +0 -125
- data/lib/vonage/verify2/templates/list_response.rb +0 -11
- data/lib/vonage/verify2/templates.rb +0 -86
- data/lib/vonage/verify2/workflow.rb +0 -39
- data/lib/vonage/verify2/workflow_builder.rb +0 -25
- data/lib/vonage/verify2.rb +0 -112
- 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/connections/list_response.rb +0 -11
- data/lib/vonage/video/connections.rb +0 -29
- 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 -62
- data/lib/vonage/voice/actions/transfer.rb +0 -83
- data/lib/vonage/voice/actions/wait.rb +0 -43
data/lib/vonage/conversation.rb
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
# typed: strict
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
module Vonage
|
|
5
|
-
class Conversation < Namespace
|
|
6
|
-
extend T::Sig
|
|
7
|
-
|
|
8
|
-
self.authentication = BearerToken
|
|
9
|
-
|
|
10
|
-
self.request_body = JSON
|
|
11
|
-
|
|
12
|
-
# List conversations associated with a Vonage application.
|
|
13
|
-
#
|
|
14
|
-
# @example
|
|
15
|
-
# response = client.conversation.list
|
|
16
|
-
#
|
|
17
|
-
# @param [String] :date_start
|
|
18
|
-
# Return the records that occurred after this point in time.
|
|
19
|
-
#
|
|
20
|
-
# @param [String] :date_end
|
|
21
|
-
# Return the records that occurred before this point in time.
|
|
22
|
-
#
|
|
23
|
-
# @param [Integer] :page_size
|
|
24
|
-
# Return this amount of records in the response.
|
|
25
|
-
#
|
|
26
|
-
# @param ['asc', 'desc'] :order
|
|
27
|
-
# Return the records in ascending or descending order.
|
|
28
|
-
#
|
|
29
|
-
# @param [String] :cursor
|
|
30
|
-
# The cursor to start returning results from.
|
|
31
|
-
#
|
|
32
|
-
# @return [Conversation::ListResponse]
|
|
33
|
-
#
|
|
34
|
-
# @see https://developer.vonage.com/en/api/conversation#listConversations
|
|
35
|
-
#
|
|
36
|
-
def list(**params)
|
|
37
|
-
request('/v1/conversations', params: params, response_class: ListResponse)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
# Create a conversation.
|
|
41
|
-
#
|
|
42
|
-
# @example
|
|
43
|
-
# response = client.conversation.create(name: 'Example Conversation', display_name: 'Example Display Name')
|
|
44
|
-
#
|
|
45
|
-
# @param [String] :name
|
|
46
|
-
# Your internal conversation name. Must be unique.
|
|
47
|
-
#
|
|
48
|
-
# @param [String] :display_name
|
|
49
|
-
# The public facing name of the conversation.
|
|
50
|
-
#
|
|
51
|
-
# @param [String] :image_url
|
|
52
|
-
# An image URL that you associate with the conversation
|
|
53
|
-
#
|
|
54
|
-
# @param [Hash] :properties
|
|
55
|
-
# - :ttl (Integer) After how many seconds an empty conversation is deleted
|
|
56
|
-
# - :type (String)
|
|
57
|
-
# - :custom_sort_key (String)
|
|
58
|
-
# - :custom_data (Hash) Custom key/value pairs to be included with conversation data
|
|
59
|
-
#
|
|
60
|
-
# @option params [Array] :numbers An array of Hashes containing number information for different channels.
|
|
61
|
-
#
|
|
62
|
-
# @option params [Hash] :callback
|
|
63
|
-
# - @option callback :url (String)
|
|
64
|
-
# - @option callback :event_mask (String)
|
|
65
|
-
# - @option callback :params (Hash)
|
|
66
|
-
# - @option params :applicationId (String)
|
|
67
|
-
# - @option params :ncco_url (String)
|
|
68
|
-
# - @option callback :method (String) Must be one of ['POST', 'GET']
|
|
69
|
-
#
|
|
70
|
-
# @return [Response]
|
|
71
|
-
#
|
|
72
|
-
# @see https://developer.vonage.com/en/api/conversation#createConversation
|
|
73
|
-
#
|
|
74
|
-
def create(**params)
|
|
75
|
-
request('/v1/conversations', params: params, type: Post)
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
# Retrieve a conversation.
|
|
79
|
-
#
|
|
80
|
-
# @example
|
|
81
|
-
# response = client.conversation.find(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
|
|
82
|
-
#
|
|
83
|
-
# @param [String] :conversation_id
|
|
84
|
-
#
|
|
85
|
-
# @return [Response]
|
|
86
|
-
#
|
|
87
|
-
# @see https://developer.vonage.com/en/api/conversation#retrieveConversation
|
|
88
|
-
#
|
|
89
|
-
def find(conversation_id:)
|
|
90
|
-
request("/v1/conversations/#{conversation_id}")
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
# Update a conversation.
|
|
94
|
-
#
|
|
95
|
-
# @example
|
|
96
|
-
# response = client.conversation.update(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a', display_name: 'Updated conversation')
|
|
97
|
-
#
|
|
98
|
-
# @param [String] :name
|
|
99
|
-
# Your internal conversation name. Must be unique.
|
|
100
|
-
#
|
|
101
|
-
# @param [String] :display_name
|
|
102
|
-
# The public facing name of the conversation.
|
|
103
|
-
#
|
|
104
|
-
# @param [String] :image_url
|
|
105
|
-
# An image URL that you associate with the conversation
|
|
106
|
-
#
|
|
107
|
-
# @param [Hash] :properties
|
|
108
|
-
# - @option properties :ttl (Integer) After how many seconds an empty conversation is deleted
|
|
109
|
-
# - @option properties :type (String)
|
|
110
|
-
# - @option properties :custom_sort_key (String)
|
|
111
|
-
# - @option properties :custom_data (Hash) Custom key/value pairs to be included with conversation data
|
|
112
|
-
#
|
|
113
|
-
# @param [Array] :numbers An array of Hashes containing number information for different channels.
|
|
114
|
-
#
|
|
115
|
-
# @option params [Hash] :callback
|
|
116
|
-
# - @option callback :url (String)
|
|
117
|
-
# - @option callback :event_mask (String)
|
|
118
|
-
# - @option callback :params (Hash)
|
|
119
|
-
# - @option params :applicationId (String)
|
|
120
|
-
# - @option params :ncco_url (String)
|
|
121
|
-
# - @option callback :method (String) Must be one of ['POST', 'GET']
|
|
122
|
-
#
|
|
123
|
-
# @return [Response]
|
|
124
|
-
#
|
|
125
|
-
# @see https://developer.vonage.com/en/api/conversation#replaceConversation
|
|
126
|
-
#
|
|
127
|
-
def update(conversation_id:, **params)
|
|
128
|
-
request("/v1/conversations/#{conversation_id}", params: params, type: Put)
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
# Delete a conversation.
|
|
132
|
-
#
|
|
133
|
-
# @example
|
|
134
|
-
# response = client.conversation.delete(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
|
|
135
|
-
#
|
|
136
|
-
# @param [String] :conversation_id
|
|
137
|
-
#
|
|
138
|
-
# @return [Response]
|
|
139
|
-
#
|
|
140
|
-
# @see https://developer.vonage.com/en/api/conversation#deleteConversation
|
|
141
|
-
#
|
|
142
|
-
def delete(conversation_id:)
|
|
143
|
-
request("/v1/conversations/#{conversation_id}", type: Delete)
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
# @return [Conversation::User]
|
|
147
|
-
sig { returns(T.nilable(Vonage::Conversation::User)) }
|
|
148
|
-
def user
|
|
149
|
-
@user ||= User.new(@config)
|
|
150
|
-
end
|
|
151
|
-
|
|
152
|
-
# @return [Conversation::Member]
|
|
153
|
-
sig { returns(T.nilable(Vonage::Conversation::Member)) }
|
|
154
|
-
def member
|
|
155
|
-
@member ||= Member.new(@config)
|
|
156
|
-
end
|
|
157
|
-
|
|
158
|
-
# @return [Conversation::Event]
|
|
159
|
-
sig { returns(T.nilable(Vonage::Conversation::Event)) }
|
|
160
|
-
def event
|
|
161
|
-
@event ||= Event.new(@config)
|
|
162
|
-
end
|
|
163
|
-
end
|
|
164
|
-
end
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# typed: true
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
module Vonage
|
|
5
|
-
class IdentityInsights::InsightsBuilder
|
|
6
|
-
def initialize
|
|
7
|
-
@insights = {}
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
# Add a Format insight.
|
|
11
|
-
# @example
|
|
12
|
-
# builder = Vonage::IdentityInsights::InsightsBuilder.new
|
|
13
|
-
# builder.add_format
|
|
14
|
-
# @return [InsightsBuilder] The InsightsBuilder instance.
|
|
15
|
-
#
|
|
16
|
-
def add_format
|
|
17
|
-
@insights[:format] = {}
|
|
18
|
-
self
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
# Add a Sim Swap insight.
|
|
22
|
-
# @example
|
|
23
|
-
# builder = Vonage::IdentityInsights::InsightsBuilder.new
|
|
24
|
-
# builder.add_sim_swap(period: 180)
|
|
25
|
-
# @param period [Integer] The period for the sim swap insight.
|
|
26
|
-
# - Optional. If provided, must be between 1 and 2400.
|
|
27
|
-
# @return [InsightsBuilder] The InsightsBuilder instance.
|
|
28
|
-
#
|
|
29
|
-
def add_sim_swap(period: nil)
|
|
30
|
-
params = {}
|
|
31
|
-
if period
|
|
32
|
-
validate_sim_swap_period(period)
|
|
33
|
-
params[:period] = period
|
|
34
|
-
end
|
|
35
|
-
@insights[:sim_swap] = params
|
|
36
|
-
self
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
# Add a Current Carrier insight.
|
|
40
|
-
# @example
|
|
41
|
-
# builder = Vonage::IdentityInsights::InsightsBuilder.new
|
|
42
|
-
# builder.add_current_carrier
|
|
43
|
-
# @return [InsightsBuilder] The InsightsBuilder instance.
|
|
44
|
-
#
|
|
45
|
-
def add_current_carrier
|
|
46
|
-
@insights[:current_carrier] = {}
|
|
47
|
-
self
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
# Add an Original Carrier insight.
|
|
51
|
-
# @example
|
|
52
|
-
# builder = Vonage::IdentityInsights::InsightsBuilder.new
|
|
53
|
-
# builder.add_original_carrier
|
|
54
|
-
# @return [InsightsBuilder] The InsightsBuilder instance.
|
|
55
|
-
#
|
|
56
|
-
def add_original_carrier
|
|
57
|
-
@insights[:original_carrier] = {}
|
|
58
|
-
self
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# Convert the InsightsBuilder to a Hash.
|
|
62
|
-
# @return [Hash] The insights as a Hash.
|
|
63
|
-
#
|
|
64
|
-
def to_h
|
|
65
|
-
@insights
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
private
|
|
69
|
-
|
|
70
|
-
def validate_sim_swap_period(period)
|
|
71
|
-
raise ArgumentError, 'Period must be an Integer' unless period.is_a?(Integer)
|
|
72
|
-
raise ArgumentError, 'Period must be between 1 and 2400' unless period.between?(1, 2400)
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
end
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# typed: strict
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
module Vonage
|
|
5
|
-
class IdentityInsights < Namespace
|
|
6
|
-
VALID_INSIGHT_TYPES = %i[format sim_swap original_carrier current_carrier].freeze
|
|
7
|
-
|
|
8
|
-
self.authentication = BearerToken
|
|
9
|
-
|
|
10
|
-
self.host = :vonage_host
|
|
11
|
-
|
|
12
|
-
self.request_body = JSON
|
|
13
|
-
|
|
14
|
-
# Submit an Identity Insights request.
|
|
15
|
-
# The SDK currently supports the following insight types: `format`, `sim_swap`, `current_carrier`, and `original_carrier`.
|
|
16
|
-
#
|
|
17
|
-
# @example with `insights` as a Hash
|
|
18
|
-
# response = client.identity_insights.requests(phone_number: '447900000000', insights: { format: {} })
|
|
19
|
-
#
|
|
20
|
-
# @example with `insights` as an InsightsBuilder
|
|
21
|
-
# insights = client.identity_insights.insights_builder.add_format.add_sim_swap(period: 180)
|
|
22
|
-
# response = client.identity_insights.requests(phone_number: '447900000000', insights: insights)
|
|
23
|
-
#
|
|
24
|
-
# @example with a block to build `insights`
|
|
25
|
-
# response = client.identity_insights.requests(phone_number: '447900000000') do |builder|
|
|
26
|
-
# builder.add_format
|
|
27
|
-
# builder.add_sim_swap(period: 180)
|
|
28
|
-
# end
|
|
29
|
-
#
|
|
30
|
-
# @option params [required, String] :phone_number The phone number to request insights for.
|
|
31
|
-
#
|
|
32
|
-
# @option params [String] :purpose The purpose for requesting the insights.
|
|
33
|
-
#
|
|
34
|
-
# @option params [Hash, InsightsBuilder] :insights
|
|
35
|
-
# A Hash or InsightsBuilder instance specifying the types of insights to request.
|
|
36
|
-
# See the Vonage developer documentation for any parameters supported by each insight type.
|
|
37
|
-
#
|
|
38
|
-
# for block {|builder| ... }
|
|
39
|
-
# @yield [builder] passes a InsightsBuilder instance to the block
|
|
40
|
-
# @yieldreturn [required, InsightsBuilder] expects the block to return a InsightsBuilder instance
|
|
41
|
-
#
|
|
42
|
-
# @return [Vonage::Response] The API response.
|
|
43
|
-
#
|
|
44
|
-
# @see https://developer.vonage.com/en/api/identity-insights#getInsights
|
|
45
|
-
#
|
|
46
|
-
def requests(phone_number:, insights: {}, **options)
|
|
47
|
-
insights = yield insights_builder if block_given?
|
|
48
|
-
validate_insights(insights)
|
|
49
|
-
|
|
50
|
-
params = {
|
|
51
|
-
phone_number: phone_number,
|
|
52
|
-
insights: insights.to_h
|
|
53
|
-
}.merge(options)
|
|
54
|
-
|
|
55
|
-
request('/identity-insights/v1/requests', params: params, type: Post)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
# Instantiate an InsightsBuilder.
|
|
59
|
-
# @return [InsightsBuilder] A new InsightsBuilder instance.
|
|
60
|
-
#
|
|
61
|
-
def insights_builder
|
|
62
|
-
InsightsBuilder.new
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
private
|
|
66
|
-
|
|
67
|
-
def validate_insights(insights)
|
|
68
|
-
raise ArgumentError.new("`insights` must be a Hash or instance of InsightsBuilder") unless insights.is_a?(Hash) || insights.is_a?(InsightsBuilder)
|
|
69
|
-
raise ArgumentError.new("`insights` cannot be empty") if insights.to_h.empty?
|
|
70
|
-
|
|
71
|
-
invalid_insights = insights.to_h.keys - VALID_INSIGHT_TYPES
|
|
72
|
-
raise ArgumentError.new("`insights` contains the following invalid or unsupported insight types: #{invalid_insights.join(', ')}") unless invalid_insights.empty?
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
end
|
|
@@ -1,28 +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
|
-
# @deprecated
|
|
17
|
-
#
|
|
18
|
-
# @param [required, String] :default_theme_id The id of the theme to set as application default theme
|
|
19
|
-
#
|
|
20
|
-
# @return [Response]
|
|
21
|
-
#
|
|
22
|
-
# @see https://developer.vonage.com/en/api/meetings#updateApplication
|
|
23
|
-
def update(default_theme_id:)
|
|
24
|
-
logger.info('This method is deprecated and will be removed in a future release.')
|
|
25
|
-
request("/v1/meetings/applications", params: {update_details: {default_theme_id: default_theme_id}}, type: Patch)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,26 +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
|
-
# @deprecated
|
|
17
|
-
#
|
|
18
|
-
# @return [ListResponse]
|
|
19
|
-
#
|
|
20
|
-
# @see https://developer.vonage.com/en/api/meetings#getDialInNumbers
|
|
21
|
-
def list
|
|
22
|
-
logger.info('This method is deprecated and will be removed in a future release.')
|
|
23
|
-
request("/v1/meetings/dial-in-numbers", response_class: ListResponse)
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,42 +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
|
-
# @deprecated
|
|
17
|
-
#
|
|
18
|
-
# @param [required, String] recording_id The id of the recoring for which the info should be returned
|
|
19
|
-
#
|
|
20
|
-
# @return [Response]
|
|
21
|
-
#
|
|
22
|
-
# @see https://developer.vonage.com/en/api/meetings#getRecording
|
|
23
|
-
def info(recording_id:)
|
|
24
|
-
logger.info('This method is deprecated and will be removed in a future release.')
|
|
25
|
-
request("/v1/meetings/recordings/" + recording_id)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# Delete a specified recording.
|
|
29
|
-
#
|
|
30
|
-
# @deprecated
|
|
31
|
-
#
|
|
32
|
-
# @param [required, String] recording_id The id of the recoring to be deleted
|
|
33
|
-
#
|
|
34
|
-
# @return [Response]
|
|
35
|
-
#
|
|
36
|
-
# @see https://developer.vonage.com/en/api/meetings#deleteRecording
|
|
37
|
-
def delete(recording_id:)
|
|
38
|
-
logger.info('This method is deprecated and will be removed in a future release.')
|
|
39
|
-
request("/v1/meetings/recordings/" + recording_id, type: Delete)
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
@@ -1,167 +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
|
-
# @deprecated
|
|
17
|
-
#
|
|
18
|
-
# @param [optional, Integer] :start_id
|
|
19
|
-
#
|
|
20
|
-
# @param [optional, Integer] :end_id
|
|
21
|
-
#
|
|
22
|
-
# @param [optional, Integer] :page_size
|
|
23
|
-
#
|
|
24
|
-
# @return [ListResponse]
|
|
25
|
-
#
|
|
26
|
-
# @see https://developer.vonage.com/en/api/meetings#getRooms
|
|
27
|
-
def list(**params)
|
|
28
|
-
logger.info('This method is deprecated and will be removed in a future release.')
|
|
29
|
-
path = "/v1/meetings/rooms"
|
|
30
|
-
path += "?#{Params.encode(params)}" unless params.empty?
|
|
31
|
-
|
|
32
|
-
request(path, response_class: ListResponse)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
# Return information for specified room.
|
|
36
|
-
#
|
|
37
|
-
# @deprecated
|
|
38
|
-
#
|
|
39
|
-
# @param [required, String] room_id
|
|
40
|
-
# The id of the room for which the info should be returned
|
|
41
|
-
#
|
|
42
|
-
# @return [Response]
|
|
43
|
-
#
|
|
44
|
-
# @see https://developer.vonage.com/en/api/meetings#getRoom
|
|
45
|
-
def info(room_id:)
|
|
46
|
-
logger.info('This method is deprecated and will be removed in a future release.')
|
|
47
|
-
request("/v1/meetings/rooms/" + room_id)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
# Create a new room.
|
|
51
|
-
#
|
|
52
|
-
# @deprecated
|
|
53
|
-
#
|
|
54
|
-
# @param [required, String] :display_name
|
|
55
|
-
#
|
|
56
|
-
# @param [optional, String] :metadata
|
|
57
|
-
# 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.
|
|
58
|
-
#
|
|
59
|
-
# @param [optional, String] :type
|
|
60
|
-
# The type of room. Must be one of `instant` (the default) or `long_term`.
|
|
61
|
-
#
|
|
62
|
-
# @param [String(date)] :expires_at
|
|
63
|
-
# The time for when the room will be expired, expressed in ISO 8601 format.
|
|
64
|
-
# The value must be greater than 10 minutes from now.
|
|
65
|
-
# Must be set if `type` is `long_term`. Should not be set if `type` is `instant`
|
|
66
|
-
#
|
|
67
|
-
# @param [optional, Boolean] :expire_after_use
|
|
68
|
-
# Close the room after a session ends. Only relevant for rooms where the `type` is `long_term`
|
|
69
|
-
#
|
|
70
|
-
# @param [optional, string(uuid)] :theme_id
|
|
71
|
-
# When specified, the meeting room will use the theme indicated by the ID.
|
|
72
|
-
#
|
|
73
|
-
# @param [optional, String] :join_approval_level
|
|
74
|
-
# The level of approval needed to join the meeting in the room. Must be one of: `none`, `after_owner_only`, `explicit_approval`
|
|
75
|
-
#
|
|
76
|
-
# @param [optional, Hash] :recording_options
|
|
77
|
-
# @option :recording_options [Boolean] :auto_record Automatically record all sessions in this room. Recording cannot be stopped when this is set to `true`.
|
|
78
|
-
# @option :recording_options [Boolean] :record_only_owner Record only the owner screen or any share screen of the video.
|
|
79
|
-
#
|
|
80
|
-
# @param [optional, Hash] :initial_join_options
|
|
81
|
-
# @option :initial_join_options [String] :microphone_state
|
|
82
|
-
# Set the default microphone option for users in the pre-join screen of this room.
|
|
83
|
-
# Must be one of: `on`, `off`, `default`
|
|
84
|
-
#
|
|
85
|
-
# @param [optional, Hash] :callback_urls Provides callback URLs to listen to events. If specified, over-rides the callback URLs specified at Application-level
|
|
86
|
-
# @option :callback_urls [String] :rooms_callback_url Callback url for rooms events
|
|
87
|
-
# @option :callback_urls [String] :sessions_callback_url Callback url for sessions events
|
|
88
|
-
# @option :callback_urls [String] :recordings_callback_url Callback url for recordings events
|
|
89
|
-
#
|
|
90
|
-
# @param [optional, Hash] :available_features
|
|
91
|
-
# @option :available_features [Boolean] :is_recording_available Determine if recording feature is available in the UI (default `true`)
|
|
92
|
-
# @option :available_features [Boolean] :is_chat_available Determine if chat feature is available in the UI (default `true`)
|
|
93
|
-
# @option :available_features [Boolean] :is_whiteboard_available Determine if whiteboard feature is available in the UI (default `true`)
|
|
94
|
-
# @option :available_features [Boolean] :is_locale_switcher_available Determine if locale switche feature is available in the UI (default `true`)
|
|
95
|
-
# @option :available_features [Boolean] :is_captions_available Determine if captions feature is available in the UI
|
|
96
|
-
#
|
|
97
|
-
# @param [optional, Hash] :ui_settings Provides options to customize the user interface
|
|
98
|
-
# @option :ui_settings [String] :language
|
|
99
|
-
# The desired language of the UI. The default is `en` (English).
|
|
100
|
-
# Must be one of: `ar`, `pt-br`, `ca`, `zh-tw`, `zh-cn`, `en`, `fr`, `de`, `he`, `it`, `es`
|
|
101
|
-
#
|
|
102
|
-
# @return [Response]
|
|
103
|
-
#
|
|
104
|
-
# @see https://developer.vonage.com/en/api/meetings#createRoom
|
|
105
|
-
def create(display_name:, **params)
|
|
106
|
-
logger.info('This method is deprecated and will be removed in a future release.')
|
|
107
|
-
request(
|
|
108
|
-
"/v1/meetings/rooms",
|
|
109
|
-
params: params.merge({ display_name: display_name }),
|
|
110
|
-
type: Post
|
|
111
|
-
)
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
# Update an existing room.
|
|
115
|
-
# Although paramaters (other than `room_id`) are optional, at least one other parameter must be provided or an error
|
|
116
|
-
# response will be received.
|
|
117
|
-
#
|
|
118
|
-
# @deprecated
|
|
119
|
-
#
|
|
120
|
-
# @param [required, String] room_id The ID of the Room to be updated
|
|
121
|
-
#
|
|
122
|
-
# @param [optional, String(date)] :expires_at
|
|
123
|
-
# The time for when the room will be expired, expressed in ISO 8601 format.
|
|
124
|
-
# Only relevant for rooms where the `type` is `long_term``
|
|
125
|
-
#
|
|
126
|
-
# @param [optional, Boolean] :expire_after_use
|
|
127
|
-
# Close the room after a session ends. Only relevant for rooms where the `type` is `long_term`
|
|
128
|
-
#
|
|
129
|
-
# @param [optional, string(uuid)] :theme_id
|
|
130
|
-
# When specified, the meeting room will use the theme indicated by the ID.
|
|
131
|
-
#
|
|
132
|
-
# @param [optional, String] :join_approval_level
|
|
133
|
-
# The level of approval needed to join the meeting in the room. Must be one of: `none`, `after_owner_only`, `explicit_approval`
|
|
134
|
-
#
|
|
135
|
-
# @param [optional, Hash] :initial_join_options
|
|
136
|
-
# @option :initial_join_options [String] :microphone_state
|
|
137
|
-
# Set the default microphone option for users in the pre-join screen of this room.
|
|
138
|
-
# Must be one of: `on`, `off`, `default`
|
|
139
|
-
#
|
|
140
|
-
# @param [optional, Hash] :callback_urls Provides callback URLs to listen to events. If specified, over-rides the callback URLs specified at Application-level
|
|
141
|
-
# @option :callback_urls [String] :rooms_callback_url Callback url for rooms events
|
|
142
|
-
# @option :callback_urls [String] :sessions_callback_url Callback url for sessions events
|
|
143
|
-
# @option :callback_urls [String] :recordings_callback_url Callback url for recordings events
|
|
144
|
-
#
|
|
145
|
-
# @param [optional, Hash] :available_features
|
|
146
|
-
# @option :available_features [Boolean] :is_recording_available Determine if recording feature is available in the UI (default `true`)
|
|
147
|
-
# @option :available_features [Boolean] :is_chat_available Determine if chat feature is available in the UI (default `true`)
|
|
148
|
-
# @option :available_features [Boolean] :is_whiteboard_available Determine if whiteboard feature is available in the UI (default `true`)
|
|
149
|
-
# @option :available_features [Boolean] :is_locale_switcher_available Determine if locale switche feature is available in the UI (default `true`)
|
|
150
|
-
# @option :available_features [Boolean] :is_captions_available Determine if captions feature is available in the UI
|
|
151
|
-
#
|
|
152
|
-
# @return [Response]
|
|
153
|
-
#
|
|
154
|
-
# @see https://developer.vonage.com/en/api/meetings#updateRoom
|
|
155
|
-
def update(room_id:, **params)
|
|
156
|
-
logger.info('This method is deprecated and will be removed in a future release.')
|
|
157
|
-
raise ArgumentError, 'must provide at least one other param in addition to :room_id' if params.empty?
|
|
158
|
-
request(
|
|
159
|
-
"/v1/meetings/rooms/" + room_id,
|
|
160
|
-
params: {
|
|
161
|
-
update_details: params
|
|
162
|
-
},
|
|
163
|
-
type: Patch
|
|
164
|
-
)
|
|
165
|
-
end
|
|
166
|
-
end
|
|
167
|
-
end
|
|
@@ -1,31 +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
|
-
# @deprecated
|
|
17
|
-
#
|
|
18
|
-
# @param [required, String] session_id The id of the session for which the recordings list should be returned
|
|
19
|
-
#
|
|
20
|
-
# @return [ListResponse]
|
|
21
|
-
#
|
|
22
|
-
# @see https://developer.vonage.com/en/api/meetings#getSessionRecordings
|
|
23
|
-
def list_recordings(session_id:)
|
|
24
|
-
logger.info('This method is deprecated and will be removed in a future release.')
|
|
25
|
-
request(
|
|
26
|
-
"/v1/meetings/sessions/" + session_id + "/recordings",
|
|
27
|
-
response_class: ListResponse
|
|
28
|
-
)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|