nexmo 4.8.0 → 5.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
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