vonage 7.8.2 → 7.36.0

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.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +880 -87
  3. data/lib/vonage/account.rb +2 -0
  4. data/lib/vonage/api_error.rb +33 -0
  5. data/lib/vonage/applications.rb +12 -4
  6. data/lib/vonage/basic.rb +1 -1
  7. data/lib/vonage/basic_and_bearer_token.rb +18 -0
  8. data/lib/vonage/basic_and_signature.rb +22 -0
  9. data/lib/vonage/bearer_token.rb +1 -1
  10. data/lib/vonage/client.rb +79 -0
  11. data/lib/vonage/client_error.rb +1 -1
  12. data/lib/vonage/config.rb +11 -1
  13. data/lib/vonage/conversation/event/list_response.rb +11 -0
  14. data/lib/vonage/conversation/event.rb +108 -0
  15. data/lib/vonage/conversation/list_response.rb +11 -0
  16. data/lib/vonage/conversation/member/list_response.rb +11 -0
  17. data/lib/vonage/conversation/member.rb +134 -0
  18. data/lib/vonage/conversation/user/conversations_list_response.rb +11 -0
  19. data/lib/vonage/conversation/user/sessions_list_response.rb +11 -0
  20. data/lib/vonage/conversation/user.rb +67 -0
  21. data/lib/vonage/conversation.rb +164 -0
  22. data/lib/vonage/conversations/events.rb +12 -0
  23. data/lib/vonage/conversations/legs.rb +6 -0
  24. data/lib/vonage/conversations/members.rb +15 -0
  25. data/lib/vonage/conversations/users.rb +15 -0
  26. data/lib/vonage/conversations.rb +30 -0
  27. data/lib/vonage/conversions.rb +2 -0
  28. data/lib/vonage/errors.rb +37 -20
  29. data/lib/vonage/http.rb +3 -3
  30. data/lib/vonage/identity_insights/insights_builder.rb +75 -0
  31. data/lib/vonage/identity_insights.rb +75 -0
  32. data/lib/vonage/jwt.rb +17 -0
  33. data/lib/vonage/key_secret_params.rb +3 -2
  34. data/lib/vonage/keys.rb +24 -1
  35. data/lib/vonage/logger.rb +0 -3
  36. data/lib/vonage/meetings/applications.rb +28 -0
  37. data/lib/vonage/meetings/dial_in_numbers/list_response.rb +11 -0
  38. data/lib/vonage/meetings/dial_in_numbers.rb +26 -0
  39. data/lib/vonage/meetings/recordings.rb +42 -0
  40. data/lib/vonage/meetings/rooms/list_response.rb +11 -0
  41. data/lib/vonage/meetings/rooms.rb +167 -0
  42. data/lib/vonage/meetings/sessions/list_response.rb +11 -0
  43. data/lib/vonage/meetings/sessions.rb +31 -0
  44. data/lib/vonage/meetings/themes/list_response.rb +11 -0
  45. data/lib/vonage/meetings/themes.rb +239 -0
  46. data/lib/vonage/meetings.rb +50 -0
  47. data/lib/vonage/messaging/channels/messenger.rb +2 -0
  48. data/lib/vonage/messaging/channels/mms.rb +13 -3
  49. data/lib/vonage/messaging/channels/rcs.rb +44 -0
  50. data/lib/vonage/messaging/channels/sms.rb +2 -0
  51. data/lib/vonage/messaging/channels/viber.rb +11 -2
  52. data/lib/vonage/messaging/channels/whats_app.rb +5 -1
  53. data/lib/vonage/messaging/message.rb +4 -1
  54. data/lib/vonage/messaging.rb +43 -4
  55. data/lib/vonage/namespace.rb +152 -69
  56. data/lib/vonage/network_authentication/client_authentication.rb +39 -0
  57. data/lib/vonage/network_authentication/server_authentication.rb +47 -0
  58. data/lib/vonage/network_authentication.rb +22 -0
  59. data/lib/vonage/network_number_verification.rb +92 -0
  60. data/lib/vonage/network_sim_swap.rb +84 -0
  61. data/lib/vonage/number_insight.rb +1 -0
  62. data/lib/vonage/number_insight_2.rb +21 -0
  63. data/lib/vonage/numbers.rb +40 -17
  64. data/lib/vonage/proactive_connect/events/list_response.rb +11 -0
  65. data/lib/vonage/proactive_connect/events.rb +71 -0
  66. data/lib/vonage/proactive_connect/item.rb +116 -0
  67. data/lib/vonage/proactive_connect/items/file_response.rb +32 -0
  68. data/lib/vonage/proactive_connect/items/list_response.rb +11 -0
  69. data/lib/vonage/proactive_connect/items.rb +116 -0
  70. data/lib/vonage/proactive_connect/list.rb +186 -0
  71. data/lib/vonage/proactive_connect/lists/list_response.rb +11 -0
  72. data/lib/vonage/proactive_connect/lists.rb +38 -0
  73. data/lib/vonage/proactive_connect.rb +43 -0
  74. data/lib/vonage/server_error.rb +1 -1
  75. data/lib/vonage/signature.rb +29 -6
  76. data/lib/vonage/sms.rb +25 -0
  77. data/lib/vonage/subaccounts/balance_transfers/list_response.rb +11 -0
  78. data/lib/vonage/subaccounts/credit_transfers/list_response.rb +11 -0
  79. data/lib/vonage/subaccounts/list_response.rb +15 -0
  80. data/lib/vonage/subaccounts.rb +203 -0
  81. data/lib/vonage/users/list_response.rb +11 -0
  82. data/lib/vonage/users.rb +156 -0
  83. data/lib/vonage/verify.rb +2 -0
  84. data/lib/vonage/verify2/channels/email.rb +36 -0
  85. data/lib/vonage/verify2/channels/silent_auth.rb +46 -0
  86. data/lib/vonage/verify2/channels/sms.rb +63 -0
  87. data/lib/vonage/verify2/channels/voice.rb +32 -0
  88. data/lib/vonage/verify2/channels/whats_app.rb +45 -0
  89. data/lib/vonage/verify2/channels/whats_app_interactive.rb +32 -0
  90. data/lib/vonage/verify2/start_verification_options.rb +63 -0
  91. data/lib/vonage/verify2/template_fragments/list_response.rb +11 -0
  92. data/lib/vonage/verify2/template_fragments.rb +125 -0
  93. data/lib/vonage/verify2/templates/list_response.rb +11 -0
  94. data/lib/vonage/verify2/templates.rb +86 -0
  95. data/lib/vonage/verify2/workflow.rb +39 -0
  96. data/lib/vonage/verify2/workflow_builder.rb +25 -0
  97. data/lib/vonage/verify2.rb +112 -0
  98. data/lib/vonage/version.rb +1 -1
  99. data/lib/vonage/video/archives/list_response.rb +11 -0
  100. data/lib/vonage/video/archives.rb +164 -0
  101. data/lib/vonage/video/broadcasts/list_response.rb +11 -0
  102. data/lib/vonage/video/broadcasts.rb +75 -0
  103. data/lib/vonage/video/captions.rb +67 -0
  104. data/lib/vonage/video/connections/list_response.rb +11 -0
  105. data/lib/vonage/video/connections.rb +29 -0
  106. data/lib/vonage/video/moderation.rb +58 -0
  107. data/lib/vonage/video/renders/list_response.rb +11 -0
  108. data/lib/vonage/video/renders.rb +107 -0
  109. data/lib/vonage/video/signals.rb +50 -0
  110. data/lib/vonage/video/sip.rb +48 -0
  111. data/lib/vonage/video/streams/list_response.rb +11 -0
  112. data/lib/vonage/video/streams.rb +70 -0
  113. data/lib/vonage/video/web_socket.rb +68 -0
  114. data/lib/vonage/video.rb +134 -0
  115. data/lib/vonage/voice/actions/connect.rb +45 -9
  116. data/lib/vonage/voice/actions/conversation.rb +10 -4
  117. data/lib/vonage/voice/actions/input.rb +26 -3
  118. data/lib/vonage/voice/actions/notify.rb +8 -3
  119. data/lib/vonage/voice/actions/record.rb +52 -4
  120. data/lib/vonage/voice/actions/stream.rb +7 -3
  121. data/lib/vonage/voice/actions/talk.rb +29 -4
  122. data/lib/vonage/voice/actions/transfer.rb +83 -0
  123. data/lib/vonage/voice/actions/wait.rb +43 -0
  124. data/lib/vonage/voice/ncco.rb +3 -1
  125. data/lib/vonage/voice/talk.rb +11 -1
  126. data/lib/vonage/voice.rb +24 -0
  127. data/lib/vonage.rb +4 -0
  128. data/vonage.gemspec +3 -1
  129. metadata +119 -9
  130. data/lib/vonage/voice/actions/pay.rb +0 -107
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vonage
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.8.2
4
+ version: 7.36.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vonage
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-01-04 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: vonage-jwt
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: 0.1.0
18
+ version: 0.2.0
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: 0.1.0
25
+ version: 0.2.0
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: zeitwerk
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -58,6 +57,40 @@ dependencies:
58
57
  - - "~>"
59
58
  - !ruby/object:Gem::Version
60
59
  version: '0.5'
60
+ - !ruby/object:Gem::Dependency
61
+ name: multipart-post
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '2.0'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '2.0'
74
+ - !ruby/object:Gem::Dependency
75
+ name: net-http-persistent
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '4.0'
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: 4.0.2
84
+ type: :runtime
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '4.0'
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: 4.0.2
61
94
  - !ruby/object:Gem::Dependency
62
95
  name: rexml
63
96
  requirement: !ruby/object:Gem::Requirement
@@ -99,14 +132,26 @@ files:
99
132
  - lib/vonage/abstract_authentication.rb
100
133
  - lib/vonage/account.rb
101
134
  - lib/vonage/alerts.rb
135
+ - lib/vonage/api_error.rb
102
136
  - lib/vonage/applications.rb
103
137
  - lib/vonage/applications/list_response.rb
104
138
  - lib/vonage/authentication_error.rb
105
139
  - lib/vonage/basic.rb
140
+ - lib/vonage/basic_and_bearer_token.rb
141
+ - lib/vonage/basic_and_signature.rb
106
142
  - lib/vonage/bearer_token.rb
107
143
  - lib/vonage/client.rb
108
144
  - lib/vonage/client_error.rb
109
145
  - lib/vonage/config.rb
146
+ - lib/vonage/conversation.rb
147
+ - lib/vonage/conversation/event.rb
148
+ - lib/vonage/conversation/event/list_response.rb
149
+ - lib/vonage/conversation/list_response.rb
150
+ - lib/vonage/conversation/member.rb
151
+ - lib/vonage/conversation/member/list_response.rb
152
+ - lib/vonage/conversation/user.rb
153
+ - lib/vonage/conversation/user/conversations_list_response.rb
154
+ - lib/vonage/conversation/user/sessions_list_response.rb
110
155
  - lib/vonage/conversations.rb
111
156
  - lib/vonage/conversations/events.rb
112
157
  - lib/vonage/conversations/legs.rb
@@ -120,27 +165,57 @@ files:
120
165
  - lib/vonage/form_data.rb
121
166
  - lib/vonage/gsm7.rb
122
167
  - lib/vonage/http.rb
168
+ - lib/vonage/identity_insights.rb
169
+ - lib/vonage/identity_insights/insights_builder.rb
123
170
  - lib/vonage/json.rb
124
171
  - lib/vonage/jwt.rb
125
172
  - lib/vonage/key_secret_params.rb
126
173
  - lib/vonage/keys.rb
127
174
  - lib/vonage/logger.rb
175
+ - lib/vonage/meetings.rb
176
+ - lib/vonage/meetings/applications.rb
177
+ - lib/vonage/meetings/dial_in_numbers.rb
178
+ - lib/vonage/meetings/dial_in_numbers/list_response.rb
179
+ - lib/vonage/meetings/recordings.rb
180
+ - lib/vonage/meetings/rooms.rb
181
+ - lib/vonage/meetings/rooms/list_response.rb
182
+ - lib/vonage/meetings/sessions.rb
183
+ - lib/vonage/meetings/sessions/list_response.rb
184
+ - lib/vonage/meetings/themes.rb
185
+ - lib/vonage/meetings/themes/list_response.rb
128
186
  - lib/vonage/messages.rb
129
187
  - lib/vonage/messaging.rb
130
188
  - lib/vonage/messaging/channels/messenger.rb
131
189
  - lib/vonage/messaging/channels/mms.rb
190
+ - lib/vonage/messaging/channels/rcs.rb
132
191
  - lib/vonage/messaging/channels/sms.rb
133
192
  - lib/vonage/messaging/channels/viber.rb
134
193
  - lib/vonage/messaging/channels/whats_app.rb
135
194
  - lib/vonage/messaging/message.rb
136
195
  - lib/vonage/namespace.rb
196
+ - lib/vonage/network_authentication.rb
197
+ - lib/vonage/network_authentication/client_authentication.rb
198
+ - lib/vonage/network_authentication/server_authentication.rb
199
+ - lib/vonage/network_number_verification.rb
200
+ - lib/vonage/network_sim_swap.rb
137
201
  - lib/vonage/number_insight.rb
202
+ - lib/vonage/number_insight_2.rb
138
203
  - lib/vonage/numbers.rb
139
204
  - lib/vonage/numbers/list_response.rb
140
205
  - lib/vonage/numbers/response.rb
141
206
  - lib/vonage/params.rb
142
207
  - lib/vonage/pricing.rb
143
208
  - lib/vonage/pricing_types.rb
209
+ - lib/vonage/proactive_connect.rb
210
+ - lib/vonage/proactive_connect/events.rb
211
+ - lib/vonage/proactive_connect/events/list_response.rb
212
+ - lib/vonage/proactive_connect/item.rb
213
+ - lib/vonage/proactive_connect/items.rb
214
+ - lib/vonage/proactive_connect/items/file_response.rb
215
+ - lib/vonage/proactive_connect/items/list_response.rb
216
+ - lib/vonage/proactive_connect/list.rb
217
+ - lib/vonage/proactive_connect/lists.rb
218
+ - lib/vonage/proactive_connect/lists/list_response.rb
144
219
  - lib/vonage/redact.rb
145
220
  - lib/vonage/response.rb
146
221
  - lib/vonage/secrets.rb
@@ -149,19 +224,56 @@ files:
149
224
  - lib/vonage/service_error.rb
150
225
  - lib/vonage/signature.rb
151
226
  - lib/vonage/sms.rb
227
+ - lib/vonage/subaccounts.rb
228
+ - lib/vonage/subaccounts/balance_transfers/list_response.rb
229
+ - lib/vonage/subaccounts/credit_transfers/list_response.rb
230
+ - lib/vonage/subaccounts/list_response.rb
152
231
  - lib/vonage/tfa.rb
153
232
  - lib/vonage/user_agent.rb
233
+ - lib/vonage/users.rb
234
+ - lib/vonage/users/list_response.rb
154
235
  - lib/vonage/verify.rb
236
+ - lib/vonage/verify2.rb
237
+ - lib/vonage/verify2/channels/email.rb
238
+ - lib/vonage/verify2/channels/silent_auth.rb
239
+ - lib/vonage/verify2/channels/sms.rb
240
+ - lib/vonage/verify2/channels/voice.rb
241
+ - lib/vonage/verify2/channels/whats_app.rb
242
+ - lib/vonage/verify2/channels/whats_app_interactive.rb
243
+ - lib/vonage/verify2/start_verification_options.rb
244
+ - lib/vonage/verify2/template_fragments.rb
245
+ - lib/vonage/verify2/template_fragments/list_response.rb
246
+ - lib/vonage/verify2/templates.rb
247
+ - lib/vonage/verify2/templates/list_response.rb
248
+ - lib/vonage/verify2/workflow.rb
249
+ - lib/vonage/verify2/workflow_builder.rb
155
250
  - lib/vonage/version.rb
251
+ - lib/vonage/video.rb
252
+ - lib/vonage/video/archives.rb
253
+ - lib/vonage/video/archives/list_response.rb
254
+ - lib/vonage/video/broadcasts.rb
255
+ - lib/vonage/video/broadcasts/list_response.rb
256
+ - lib/vonage/video/captions.rb
257
+ - lib/vonage/video/connections.rb
258
+ - lib/vonage/video/connections/list_response.rb
259
+ - lib/vonage/video/moderation.rb
260
+ - lib/vonage/video/renders.rb
261
+ - lib/vonage/video/renders/list_response.rb
262
+ - lib/vonage/video/signals.rb
263
+ - lib/vonage/video/sip.rb
264
+ - lib/vonage/video/streams.rb
265
+ - lib/vonage/video/streams/list_response.rb
266
+ - lib/vonage/video/web_socket.rb
156
267
  - lib/vonage/voice.rb
157
268
  - lib/vonage/voice/actions/connect.rb
158
269
  - lib/vonage/voice/actions/conversation.rb
159
270
  - lib/vonage/voice/actions/input.rb
160
271
  - lib/vonage/voice/actions/notify.rb
161
- - lib/vonage/voice/actions/pay.rb
162
272
  - lib/vonage/voice/actions/record.rb
163
273
  - lib/vonage/voice/actions/stream.rb
164
274
  - lib/vonage/voice/actions/talk.rb
275
+ - lib/vonage/voice/actions/transfer.rb
276
+ - lib/vonage/voice/actions/wait.rb
165
277
  - lib/vonage/voice/dtmf.rb
166
278
  - lib/vonage/voice/list_response.rb
167
279
  - lib/vonage/voice/ncco.rb
@@ -177,7 +289,6 @@ metadata:
177
289
  bug_tracker_uri: https://github.com/Vonage/vonage-ruby-sdk/issues
178
290
  changelog_uri: https://github.com/Vonage/vonage-ruby-sdk/blob/master/CHANGES.md
179
291
  documentation_uri: https://www.rubydoc.info/github/vonage/vonage-ruby-sdk
180
- post_install_message:
181
292
  rdoc_options: []
182
293
  require_paths:
183
294
  - lib
@@ -192,8 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
303
  - !ruby/object:Gem::Version
193
304
  version: '0'
194
305
  requirements: []
195
- rubygems_version: 3.4.1
196
- signing_key:
306
+ rubygems_version: 3.6.9
197
307
  specification_version: 4
198
308
  summary: This is the Ruby Server SDK for Vonage APIs. To use it you'll need a Vonage
199
309
  account. Sign up for free at https://www.vonage.com
@@ -1,107 +0,0 @@
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