nexmo 4.8.0 → 5.0.0.pre1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fc7d3219d5a4d8671e83fa33eb807e317778b479
4
- data.tar.gz: 51cec360405377fca50f586cc5fc5fb375a23409
3
+ metadata.gz: 639e15b4528acd516e42819a9e31082679af8602
4
+ data.tar.gz: 3668f21fa546e4de69cd4341655a64a5438d8273
5
5
  SHA512:
6
- metadata.gz: 781a072b8c216d96d000aec974974f648ca5375899380279d4ac8ddb55ca5824df744b4bdf1e959d19919bfb00125159f69d0e558706c7d187badbce70df1bc1
7
- data.tar.gz: e540e6124bb1d17c166ca0ddf2ab166083869f5330f1285fa42f21f85ad3df1a09ae3c0f146cb3b64ba8982d58f6e6dd208e6bff2ad5cb595d87815588f54d25
6
+ metadata.gz: 715dc4611c9310ae2776a43ab422c1d6a61980277b6ac62c52bfc3d02428d3d93de99749fc7e7e4d3ccfeb4c7b5cba97e5e61d6dbf55b4199b041a12d32759ab
7
+ data.tar.gz: 5c4f1fd0ee8fb5b8202082643b386f8aea7596b2ac5ccab568530f19f6c32cdb60331c7d159212b0e85b3cc300a1f9507df7f6cd36c8c3e5bf24e14de7a97a2c
data/README.md CHANGED
@@ -17,6 +17,11 @@ need a Nexmo account. Sign up [for free at nexmo.com][signup].
17
17
  * [License](#license)
18
18
 
19
19
 
20
+ ## Requirements
21
+
22
+ Nexmo Ruby supports CRuby 2.0.0+ and JRuby 9k.
23
+
24
+
20
25
  ## Installation
21
26
 
22
27
  To install the Ruby client library using Rubygems:
@@ -39,7 +44,7 @@ require 'nexmo'
39
44
  Then construct a client object with your key and secret:
40
45
 
41
46
  ```ruby
42
- client = Nexmo::Client.new(key: 'YOUR-API-KEY', secret: 'YOUR-API-SECRET')
47
+ client = Nexmo::Client.new(api_key: 'YOUR-API-KEY', api_secret: 'YOUR-API-SECRET')
43
48
  ```
44
49
 
45
50
  You can now use the client object to [send a text message](#send-a-text-message),
@@ -79,12 +84,12 @@ of source control, or in some kind of key management infrastructure.
79
84
  ### Send a text message
80
85
 
81
86
  ```ruby
82
- response = client.send_message(from: 'Ruby', to: 'YOUR NUMBER', text: 'Hello world')
87
+ response = client.sms.send(from: 'Ruby', to: 'YOUR NUMBER', text: 'Hello world')
83
88
 
84
- if response['messages'][0]['status'] == '0'
85
- puts "Sent message #{response['messages'][0]['message-id']}"
89
+ if response.messages.first.status == '0'
90
+ puts "Sent message id=#{response.messages.first.message_id}"
86
91
  else
87
- puts "Error: #{response['messages'][0]['error-text']}"
92
+ puts "Error: #{response.messages.first.error_text}"
88
93
  end
89
94
  ```
90
95
 
@@ -96,7 +101,7 @@ Docs: [https://developer.nexmo.com/api/sms#request](https://developer.nexmo.com/
96
101
  ### Make a call
97
102
 
98
103
  ```ruby
99
- response = client.create_call({
104
+ response = client.calls.create({
100
105
  to: [{type: 'phone', number: '14843331234'}],
101
106
  from: {type: 'phone', number: '14843335555'},
102
107
  answer_url: ['https://example.com/answer']
@@ -108,7 +113,7 @@ Docs: [https://developer.nexmo.com/api/voice#create-an-outbound-call](https://de
108
113
  ### Retrieve a list of calls
109
114
 
110
115
  ```ruby
111
- response = client.get_calls
116
+ response = client.calls.list
112
117
  ```
113
118
 
114
119
  Docs: [https://developer.nexmo.com/api/voice#retrieve-information-about-all-your-calls](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#retrieve-information-about-all-your-calls)
@@ -116,7 +121,7 @@ Docs: [https://developer.nexmo.com/api/voice#retrieve-information-about-all-your
116
121
  ### Retrieve a single call
117
122
 
118
123
  ```ruby
119
- response = client.get_call(uuid)
124
+ response = client.calls.get(uuid)
120
125
  ```
121
126
 
122
127
  Docs: [https://developer.nexmo.com/api/voice#retrieve-information-about-a-single-call](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#retrieve-information-about-a-single-call)
@@ -124,7 +129,7 @@ Docs: [https://developer.nexmo.com/api/voice#retrieve-information-about-a-single
124
129
  ### Update a call
125
130
 
126
131
  ```ruby
127
- response = client.update_call(uuid, action: 'hangup')
132
+ response = client.calls.hangup(uuid)
128
133
  ```
129
134
 
130
135
  Docs: [https://developer.nexmo.com/api/voice#modify-an-existing-call](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#modify-an-existing-call)
@@ -134,7 +139,7 @@ Docs: [https://developer.nexmo.com/api/voice#modify-an-existing-call](https://de
134
139
  ```ruby
135
140
  stream_url = 'https://nexmo-community.github.io/ncco-examples/assets/voice_api_audio_streaming.mp3'
136
141
 
137
- response = client.send_audio(uuid, stream_url: stream_url)
142
+ response = client.stream.start(uuid, stream_url: stream_url)
138
143
  ```
139
144
 
140
145
  Docs: [https://developer.nexmo.com/api/voice#stream-an-audio-file-to-an-active-call](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#stream-an-audio-file-to-an-active-call)
@@ -142,7 +147,7 @@ Docs: [https://developer.nexmo.com/api/voice#stream-an-audio-file-to-an-active-c
142
147
  ### Stop streaming audio to a call
143
148
 
144
149
  ```ruby
145
- response = client.stop_audio(uuid)
150
+ response = client.stream.stop(uuid)
146
151
  ```
147
152
 
148
153
  Docs: [https://developer.nexmo.com/api/voice#stop-streaming-an-audio-file-to-an-active-call](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#stop-streaming-an-audio-file-to-an-active-call)
@@ -150,7 +155,7 @@ Docs: [https://developer.nexmo.com/api/voice#stop-streaming-an-audio-file-to-an-
150
155
  ### Send a synthesized speech message to a call
151
156
 
152
157
  ```ruby
153
- response = client.send_speech(uuid, text: 'Hello')
158
+ response = client.talk.start(uuid, text: 'Hello')
154
159
  ```
155
160
 
156
161
  Docs: [https://developer.nexmo.com/api/voice#send-a-synthesized-speech-message-to-an-active-call](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#send-a-synthesized-speech-message-to-an-active-call)
@@ -158,7 +163,7 @@ Docs: [https://developer.nexmo.com/api/voice#send-a-synthesized-speech-message-t
158
163
  ### Stop sending a synthesized speech message to a call
159
164
 
160
165
  ```ruby
161
- response = client.stop_speech(uuid)
166
+ response = client.talk.stop(uuid)
162
167
  ```
163
168
 
164
169
  Docs: [https://developer.nexmo.com/api/voice#stop-sending-a-synthesized-speech-message-to-an-active-call](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#stop-sending-a-synthesized-speech-message-to-an-active-call)
@@ -166,7 +171,7 @@ Docs: [https://developer.nexmo.com/api/voice#stop-sending-a-synthesized-speech-m
166
171
  ### Send DTMF tones to a call
167
172
 
168
173
  ```ruby
169
- response = client.send_dtmf(uuid, digits: '1234')
174
+ response = client.dtmf.send(uuid, digits: '1234')
170
175
  ```
171
176
 
172
177
  Docs: [https://developer.nexmo.com/api/voice#send-dual-tone-multi-frequency-dtmf-tones-to-an-active-call](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#send-dual-tone-multi-frequency-dtmf-tones-to-an-active-call)
@@ -177,12 +182,12 @@ Docs: [https://developer.nexmo.com/api/voice#send-dual-tone-multi-frequency-dtmf
177
182
  ### Start a verification
178
183
 
179
184
  ```ruby
180
- response = client.start_verification(number: '441632960960', brand: 'MyApp')
185
+ response = client.verify.request(number: '441632960960', brand: 'MyApp')
181
186
 
182
- if response['status'] == '0'
183
- puts "Started verification request_id=#{response['request_id']}"
187
+ if response.status == '0'
188
+ puts "Started verification request_id=#{response.request_id}"
184
189
  else
185
- puts "Error: #{response['error_text']}"
190
+ puts "Error: #{response.error_text}"
186
191
  end
187
192
  ```
188
193
 
@@ -193,25 +198,25 @@ The response contains a verification request id which you will need to store tem
193
198
  ### Check a verification
194
199
 
195
200
  ```ruby
196
- response = client.check_verification('00e6c3377e5348cdaf567e1417c707a5', code: '1234')
201
+ response = client.verify.check(request_id: '00e6c3377e5348cdaf567e1417c707a5', code: '1234')
197
202
 
198
- if response['status'] == '0'
199
- puts "Verification complete, event_id=#{response['event_id']}"
203
+ if response.status == '0'
204
+ puts "Verification complete, event_id=#{response.event_id}"
200
205
  else
201
- puts "Error: #{response['error_text']}"
206
+ puts "Error: #{response.error_text}"
202
207
  end
203
208
  ```
204
209
 
205
210
  Docs: [https://developer.nexmo.com/api/verify#verify-check](https://developer.nexmo.com/api/verify?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#verify-check)
206
211
 
207
- The verification request id comes from the call to the start_verification method.
212
+ The verification request id comes from the call to `client.verify.request`.
208
213
 
209
214
  The PIN code is entered into your application by the user.
210
215
 
211
216
  ### Cancel a verification
212
217
 
213
218
  ```ruby
214
- client.cancel_verification('00e6c3377e5348cdaf567e1417c707a5')
219
+ client.verify.cancel('00e6c3377e5348cdaf567e1417c707a5')
215
220
  ```
216
221
 
217
222
  Docs: [https://developer.nexmo.com/api/verify#verify-control](https://developer.nexmo.com/api/verify?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#verify-control)
@@ -219,17 +224,18 @@ Docs: [https://developer.nexmo.com/api/verify#verify-control](https://developer.
219
224
  ### Trigger next verification step
220
225
 
221
226
  ```ruby
222
- client.trigger_next_verification_event('00e6c3377e5348cdaf567e1417c707a5')
227
+ client.verify.trigger_next_event('00e6c3377e5348cdaf567e1417c707a5')
223
228
  ```
224
229
 
225
230
  Docs: [https://developer.nexmo.com/api/verify#verify-control](https://developer.nexmo.com/api/verify?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#verify-control)
226
231
 
232
+
227
233
  ## Number Insight API
228
234
 
229
235
  ### Basic Number Insight
230
236
 
231
237
  ```ruby
232
- client.get_basic_number_insight(number: '447700900000')
238
+ client.number_insight.basic(number: '447700900000')
233
239
  ```
234
240
 
235
241
  Docs: [https://developer.nexmo.com/api/number-insight#request](https://developer.nexmo.com/api/number-insight?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#request)
@@ -237,7 +243,7 @@ Docs: [https://developer.nexmo.com/api/number-insight#request](https://developer
237
243
  ### Standard Number Insight
238
244
 
239
245
  ```ruby
240
- client.get_standard_number_insight(number: '447700900000')
246
+ client.number_insight.standard(number: '447700900000')
241
247
  ```
242
248
 
243
249
  Docs: [https://developer.nexmo.com/api/number-insight#request](https://developer.nexmo.com/api/number-insight?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#request)
@@ -245,7 +251,7 @@ Docs: [https://developer.nexmo.com/api/number-insight#request](https://developer
245
251
  ### Advanced Number Insight
246
252
 
247
253
  ```ruby
248
- client.get_advanced_number_insight(number: '447700900000')
254
+ client.number_insight.advanced(number: '447700900000')
249
255
  ```
250
256
 
251
257
  Docs: [https://developer.nexmo.com/api/number-insight#request](https://developer.nexmo.com/api/number-insight?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#request)
@@ -253,7 +259,7 @@ Docs: [https://developer.nexmo.com/api/number-insight#request](https://developer
253
259
  ### Advanced Number Insight Async
254
260
 
255
261
  ```ruby
256
- client.get_advanced_number_insight(number: '447700900000', callback: webhook_url)
262
+ client.number_insight.advanced_async(number: '447700900000', callback: webhook_url)
257
263
  ```
258
264
 
259
265
  The results of the API call will be sent via HTTP POST to the webhook URL specified in the callback parameter.
@@ -266,7 +272,7 @@ Docs: [https://developer.nexmo.com/api/number-insight#request](https://developer
266
272
  ### Create an application
267
273
 
268
274
  ```ruby
269
- response = client.create_application(name: 'Example App', type: 'voice', answer_url: answer_url, event_url: event_url)
275
+ response = client.applications.create(name: 'Example App', type: 'voice', answer_url: answer_url, event_url: event_url)
270
276
  ```
271
277
 
272
278
  Docs: [https://developer.nexmo.com/api/application#create-an-application](https://developer.nexmo.com/api/application?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#create-an-application)
@@ -274,7 +280,7 @@ Docs: [https://developer.nexmo.com/api/application#create-an-application](https:
274
280
  ### Retrieve a list of applications
275
281
 
276
282
  ```ruby
277
- response = client.get_applications
283
+ response = client.applications.list
278
284
  ```
279
285
 
280
286
  Docs: [https://developer.nexmo.com/api/application#retrieve-your-applications](https://developer.nexmo.com/api/application?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#retrieve-your-applications)
@@ -282,7 +288,7 @@ Docs: [https://developer.nexmo.com/api/application#retrieve-your-applications](h
282
288
  ### Retrieve a single application
283
289
 
284
290
  ```ruby
285
- response = client.get_application(uuid)
291
+ response = client.applications.get(uuid)
286
292
  ```
287
293
 
288
294
  Docs: [https://developer.nexmo.com/api/application#retrieve-an-application](https://developer.nexmo.com/api/application?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#retrieve-an-application)
@@ -290,7 +296,7 @@ Docs: [https://developer.nexmo.com/api/application#retrieve-an-application](http
290
296
  ### Update an application
291
297
 
292
298
  ```ruby
293
- response = client.update_application(uuid, answer_method: 'POST')
299
+ response = client.applications.update(uuid, answer_method: 'POST')
294
300
  ```
295
301
 
296
302
  Docs: [https://developer.nexmo.com/api/application#update-an-application](https://developer.nexmo.com/api/application?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#update-an-application)
@@ -298,7 +304,7 @@ Docs: [https://developer.nexmo.com/api/application#update-an-application](https:
298
304
  ### Delete an application
299
305
 
300
306
  ```ruby
301
- response = client.delete_application(uuid)
307
+ response = client.applications.delete(uuid)
302
308
  ```
303
309
 
304
310
  Docs: [https://developer.nexmo.com/api/application#destroy-an-application](https://developer.nexmo.com/api/application?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#destroy-an-application)
@@ -309,7 +315,7 @@ Docs: [https://developer.nexmo.com/api/application#destroy-an-application](https
309
315
  ### List owned numbers
310
316
 
311
317
  ```ruby
312
- client.get_account_numbers
318
+ client.numbers.list
313
319
  ```
314
320
 
315
321
  Docs: [https://developer.nexmo.com/api/developer/numbers#list-owned-numbers](https://developer.nexmo.com/api/developer/numbers?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#list-owned-numbers)
@@ -317,7 +323,7 @@ Docs: [https://developer.nexmo.com/api/developer/numbers#list-owned-numbers](htt
317
323
  ### Search available numbers
318
324
 
319
325
  ```ruby
320
- client.get_available_numbers('GB')
326
+ client.numbers.search(country: 'GB')
321
327
  ```
322
328
 
323
329
  Docs: [https://developer.nexmo.com/api/developer/numbers#search-available-numbers](https://developer.nexmo.com/api/developer/numbers?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#search-available-numbers)
@@ -325,7 +331,7 @@ Docs: [https://developer.nexmo.com/api/developer/numbers#search-available-number
325
331
  ### Buy a number
326
332
 
327
333
  ```ruby
328
- client.buy_number(country: 'GB', msisdn: '447700900000')
334
+ client.numbers.buy(country: 'GB', msisdn: '447700900000')
329
335
  ```
330
336
 
331
337
  Docs: [https://developer.nexmo.com/api/developer/numbers#buy-a-number](https://developer.nexmo.com/api/developer/numbers?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#buy-a-number)
@@ -333,7 +339,7 @@ Docs: [https://developer.nexmo.com/api/developer/numbers#buy-a-number](https://d
333
339
  ### Cancel a number
334
340
 
335
341
  ```ruby
336
- client.cancel_number(country: 'GB', msisdn: '447700900000')
342
+ client.numbers.cancel(country: 'GB', msisdn: '447700900000')
337
343
  ```
338
344
 
339
345
  Docs: [https://developer.nexmo.com/api/developer/numbers#cancel-a-number](https://developer.nexmo.com/api/developer/numbers?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#cancel-a-number)
@@ -341,7 +347,7 @@ Docs: [https://developer.nexmo.com/api/developer/numbers#cancel-a-number](https:
341
347
  ### Update a number
342
348
 
343
349
  ```ruby
344
- client.update_number(country: 'GB', msisdn: '447700900000', voiceCallbackType: 'app', voiceCallbackValue: application_id)
350
+ client.numbers.update(country: 'GB', msisdn: '447700900000', voiceCallbackType: 'app', voiceCallbackValue: application_id)
345
351
  ```
346
352
 
347
353
  Docs: [https://developer.nexmo.com/api/developer/numbers#update-a-number](https://developer.nexmo.com/api/developer/numbers?utm_source=DEV_REL&utm_medium=github&utm_campaign=ruby-client-library#update-a-number)
@@ -352,7 +358,7 @@ Docs: [https://developer.nexmo.com/api/developer/numbers#update-a-number](https:
352
358
  By default the library generates a short lived JWT per request.
353
359
 
354
360
  To generate a long lived JWT for multiple requests or to specify JWT claims
355
- directly call Nexmo::JWT.auth_token to generate a token, and set the auth_token
361
+ directly call `Nexmo::JWT.generate` to generate a token, and set the auth_token
356
362
  attribute on the client object. For example:
357
363
 
358
364
  ```ruby
@@ -365,7 +371,7 @@ claims = {
365
371
 
366
372
  private_key = File.read('path/to/private.key')
367
373
 
368
- auth_token = Nexmo::JWT.auth_token(claims, private_key)
374
+ auth_token = Nexmo::JWT.generate(claims, private_key)
369
375
 
370
376
  client.auth_token = auth_token
371
377
  ````
@@ -376,7 +382,7 @@ client.auth_token = auth_token
376
382
  ```ruby
377
383
  client = Nexmo::Client.new(signature_secret: 'secret')
378
384
 
379
- if client.check_signature(request.GET)
385
+ if client.signature.check(request.GET)
380
386
  # valid signature
381
387
  else
382
388
  # invalid signature
@@ -2,8 +2,28 @@ require 'nexmo/version'
2
2
  require 'nexmo/params'
3
3
  require 'nexmo/jwt'
4
4
  require 'nexmo/signature'
5
+ require 'nexmo/user_agent'
6
+ require 'nexmo/entity'
7
+ require 'nexmo/keys'
5
8
  require 'nexmo/errors/error'
6
9
  require 'nexmo/errors/client_error'
7
10
  require 'nexmo/errors/server_error'
8
11
  require 'nexmo/errors/authentication_error'
12
+ require 'nexmo/namespace'
9
13
  require 'nexmo/client'
14
+ require 'nexmo/account'
15
+ require 'nexmo/alerts'
16
+ require 'nexmo/applications'
17
+ require 'nexmo/call_dtmf'
18
+ require 'nexmo/call_stream'
19
+ require 'nexmo/call_talk'
20
+ require 'nexmo/calls'
21
+ require 'nexmo/conversions'
22
+ require 'nexmo/files'
23
+ require 'nexmo/messages'
24
+ require 'nexmo/number_insight'
25
+ require 'nexmo/numbers'
26
+ require 'nexmo/pricing_types'
27
+ require 'nexmo/pricing'
28
+ require 'nexmo/sms'
29
+ require 'nexmo/verify'
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nexmo
4
+ class Account < Namespace
5
+ def balance
6
+ request('/account/get-balance')
7
+ end
8
+
9
+ def update(params)
10
+ request('/account/settings', params: params, type: Post)
11
+ end
12
+
13
+ def topup(params)
14
+ request('/account/top-up', params: params, type: Post)
15
+ end
16
+
17
+ private
18
+
19
+ def host
20
+ 'rest.nexmo.com'
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nexmo
4
+ class Alerts < Namespace
5
+ def list
6
+ request('/sc/us/alert/opt-in/query/json')
7
+ end
8
+
9
+ def remove(params)
10
+ request('/sc/us/alert/opt-in/manage/json', params: params, type: Post)
11
+ end
12
+
13
+ alias_method :resubscribe, :remove
14
+
15
+ def send(params)
16
+ request('/sc/us/alert/json', params: params, type: Post)
17
+ end
18
+
19
+ private
20
+
21
+ def host
22
+ 'rest.nexmo.com'
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nexmo
4
+ class Applications < Namespace
5
+ def create(params)
6
+ request('/v1/applications', params: params, type: Post)
7
+ end
8
+
9
+ def list(params = nil)
10
+ request('/v1/applications', params: params)
11
+ end
12
+
13
+ def get(id)
14
+ request('/v1/applications/' + id)
15
+ end
16
+
17
+ def update(id, params)
18
+ request('/v1/applications/' + id, params: params, type: Put)
19
+ end
20
+
21
+ def delete(id)
22
+ request('/v1/applications/' + id, type: Delete)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nexmo
4
+ class CallDTMF < Namespace
5
+ def send(id, params)
6
+ request('/v1/calls/' + id + '/dtmf', params: params, type: Put)
7
+ end
8
+
9
+ private
10
+
11
+ def authorization_header?
12
+ true
13
+ end
14
+ end
15
+ end