plivo 0.2.9 → 0.2.11

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 (2) hide show
  1. data/lib/plivo.rb +154 -137
  2. metadata +8 -8
data/lib/plivo.rb CHANGED
@@ -75,346 +75,361 @@ module Plivo
75
75
 
76
76
  ## Accounts ##
77
77
  def get_account(params={})
78
- return request('GET', '/')
78
+ return request('GET', "/", params)
79
79
  end
80
-
80
+
81
81
  def modify_account(params={})
82
- return request('POST', '/', params)
82
+ return request('POST', "/", params)
83
83
  end
84
-
84
+
85
85
  def get_subaccounts(params={})
86
- return request('GET', '/Subaccount/')
86
+ return request('GET', "/Subaccount/", params)
87
87
  end
88
-
88
+
89
89
  def create_subaccount(params={})
90
- return request('POST', '/Subaccount/', params)
90
+ return request('POST', "/Subaccount/", params)
91
91
  end
92
-
92
+
93
93
  def get_subaccount(params={})
94
94
  subauth_id = params.delete("subauth_id")
95
- return request('GET', '/Subaccount/#{subauth_id}/')
95
+ return request('GET', "/Subaccount/#{subauth_id}/", params)
96
96
  end
97
-
97
+
98
98
  def modify_subaccount(params={})
99
99
  subauth_id = params.delete("subauth_id")
100
- return request('POST', '/Subaccount/#{subauth_id}/', params)
100
+ return request('POST', "/Subaccount/#{subauth_id}/", params)
101
101
  end
102
-
102
+
103
103
  def delete_subaccount(params={})
104
104
  subauth_id = params.delete("subauth_id")
105
- return request('DELETE', '/Subaccount/#{subauth_id}/')
105
+ return request('DELETE', "/Subaccount/#{subauth_id}/", params)
106
106
  end
107
-
107
+
108
108
  ## Applications ##
109
109
  def get_applications(params={})
110
- return request('GET', '/Application/', params)
110
+ return request('GET', "/Application/", params)
111
111
  end
112
-
112
+
113
113
  def create_application(params={})
114
- return request('POST', '/Application/', params)
114
+ return request('POST', "/Application/", params)
115
115
  end
116
-
116
+
117
117
  def get_application(params={})
118
118
  app_id = params.delete("app_id")
119
- return request('GET', '/Application/#{app_id}/')
119
+ return request('GET', "/Application/#{app_id}/", params)
120
120
  end
121
-
121
+
122
122
  def modify_application(params={})
123
123
  app_id = params.delete("app_id")
124
- return request('POST', '/Application/#{app_id}/', params)
124
+ return request('POST', "/Application/#{app_id}/", params)
125
125
  end
126
-
126
+
127
127
  def delete_application(params={})
128
128
  app_id = params.delete("app_id")
129
- return request('DELETE', '/Application/#{app_id}/')
129
+ return request('DELETE', "/Application/#{app_id}/", params)
130
130
  end
131
-
131
+
132
132
  ## Numbers ##
133
133
  def get_numbers(params={})
134
- return request('GET', '/Number/', params)
134
+ return request('GET', "/Number/", params)
135
135
  end
136
-
136
+
137
137
  def search_numbers(params={})
138
- return request('GET', '/AvailableNumber/', params)
138
+ return request('GET', "/AvailableNumber/", params)
139
139
  end
140
-
140
+
141
141
  def get_number(params={})
142
142
  number = params.delete("number")
143
- return request('GET', '/Number/#{number}/')
143
+ return request('GET', "/Number/#{number}/", params)
144
144
  end
145
-
145
+
146
146
  def rent_number(params={})
147
147
  number = params.delete("number")
148
- return request('POST', '/AvailableNumber/#{number}/')
148
+ return request('POST', "/AvailableNumber/#{number}/")
149
149
  end
150
-
150
+
151
151
  def unrent_number(params={})
152
152
  number = params.delete("number")
153
- return request('DELETE', '/Number/#{number}/')
153
+ return request('DELETE', "/Number/#{number}/", params)
154
154
  end
155
-
155
+
156
156
  def link_application_number(params={})
157
157
  number = params.delete("number")
158
- return request('POST', '/Number/#{number}/', params)
158
+ return request('POST', "/Number/#{number}/", params)
159
159
  end
160
-
160
+
161
161
  def unlink_application_number(params={})
162
162
  number = params.delete("number")
163
163
  params = {"app_id" => ""}
164
- return request('POST', '/Number/#{number}/', params)
164
+ return request('POST', "/Number/#{number}/", params)
165
165
  end
166
166
 
167
- ## Schedule ##
168
- def get_scheduled_tasks(params={})
169
- return request('GET', '/Schedule/')
167
+ def get_number_group(params={})
168
+ return request('GET', "/AvailableNumberGroup/", params)
170
169
  end
171
170
 
172
- def cancel_scheduled_task(params={})
173
- task_id = params.delete("task_id")
174
- return request('DELETE', '/Schedule/#{task_id}/')
171
+ def get_number_group_details(params={})
172
+ group_id = params.delete('group_id')
173
+ return request('GET', "/AvailableNumberGroup/#{group_id}/", params)
175
174
  end
176
175
 
176
+ def rent_from_number_group(params={})
177
+ group_id = params.delete('group_id')
178
+ return request('POST', "/AvailableNumberGroup/#{group_id}/", params)
179
+ end
180
+
177
181
  ## Calls ##
178
182
  def get_cdrs(params={})
179
- return request('GET', '/Call/', params)
183
+ return request('GET', "/Call/", params)
180
184
  end
181
-
185
+
182
186
  def get_cdr(params={})
183
187
  record_id = params.delete('record_id')
184
- return request('GET', '/Call/#{record_id}/')
188
+ return request('GET', "/Call/#{record_id}/", params)
185
189
  end
186
-
190
+
187
191
  def get_live_calls(params={})
188
- return request('GET', '/Call/', params={'status'=>'live'})
192
+ params["status"] = "live"
193
+ return request('GET', "/Call/", params)
189
194
  end
190
-
195
+
191
196
  def get_live_call(params={})
192
197
  call_uuid = params.delete('call_uuid')
193
- return request('GET', '/Call/#{call_uuid}/', params={'status'=>'live'})
198
+ params["status"] = "live"
199
+ return request('GET', "/Call/#{call_uuid}/", params)
194
200
  end
195
-
201
+
196
202
  def make_call(params={})
197
- return request('POST', '/Call/', params)
203
+ return request('POST', "/Call/", params)
198
204
  end
199
-
205
+
200
206
  def hangup_all_calls(params={})
201
- return request('DELETE', '/Call/')
207
+ return request('DELETE', "/Call/", params)
202
208
  end
203
-
209
+
204
210
  def transfer_call(params={})
205
211
  call_uuid = params.delete('call_uuid')
206
- return request('POST', '/Call/#{call_uuid}/', params)
212
+ return request('POST', "/Call/#{call_uuid}/", params)
207
213
  end
208
-
214
+
209
215
  def hangup_call(params={})
210
216
  call_uuid = params.delete('call_uuid')
211
- return request('DELETE', '/Call/#{call_uuid}/')
217
+ return request('DELETE', "/Call/#{call_uuid}/", params)
212
218
  end
213
-
219
+
214
220
  def record(params={})
215
221
  call_uuid = params.delete('call_uuid')
216
- return request('POST', '/Call/#{call_uuid}/Record/', params)
222
+ return request('POST', "/Call/#{call_uuid}/Record/", params)
217
223
  end
218
224
 
219
225
  def stop_record(params={})
220
226
  call_uuid = params.delete('call_uuid')
221
- return request('DELETE', '/Call/#{call_uuid}/Record/')
227
+ return request('DELETE', "/Call/#{call_uuid}/Record/", params)
222
228
  end
223
-
229
+
224
230
  def play(params={})
225
231
  call_uuid = params.delete('call_uuid')
226
- return request('POST', '/Call/#{call_uuid}/Play/', params)
232
+ return request('POST', "/Call/#{call_uuid}/Play/", params)
227
233
  end
228
234
 
229
235
  def stop_play(params={})
230
236
  call_uuid = params.delete('call_uuid')
231
- return request('DELETE', '/Call/#{call_uuid}/Play/')
237
+ return request('DELETE', "/Call/#{call_uuid}/Play/", params)
232
238
  end
233
-
239
+
234
240
  def speak(params={})
235
241
  call_uuid = params.delete('call_uuid')
236
- return request('POST', '/Call/#{call_uuid}/Speak/', params)
242
+ return request('POST', "/Call/#{call_uuid}/Speak/", params)
237
243
  end
238
244
 
239
245
  def send_digits(params={})
240
246
  call_uuid = params.delete('call_uuid')
241
- return request('POST', '/Call/#{call_uuid}/DTMF/', params)
247
+ return request('POST', "/Call/#{call_uuid}/DTMF/", params)
242
248
  end
243
-
249
+
244
250
  ## Calls requests ##
245
251
  def hangup_request(params={})
246
252
  request_uuid = params.delete('request_uuid')
247
- return request('DELETE', '/Request/#{request_uuid}/')
253
+ return request('DELETE', "/Request/#{request_uuid}/", params)
248
254
  end
249
-
255
+
250
256
  ## Conferences ##
251
257
  def get_live_conferences(params={})
252
- return request('GET', '/Conference/', params)
258
+ return request('GET', "/Conference/", params)
253
259
  end
254
-
260
+
255
261
  def hangup_all_conferences(params={})
256
- return request('DELETE', '/Conference/')
262
+ return request('DELETE', "/Conference/", params)
257
263
  end
258
-
264
+
259
265
  def get_live_conference(params={})
260
266
  conference_name = params.delete('conference_name')
261
- return request('GET', '/Conference/#{conference_name}/', params)
267
+ return request('GET', "/Conference/#{conference_name}/", params)
262
268
  end
263
-
269
+
264
270
  def hangup_conference(params={})
265
271
  conference_name = params.delete('conference_name')
266
- return request('DELETE', '/Conference/#{conference_name}/')
272
+ return request('DELETE', "/Conference/#{conference_name}/", params)
267
273
  end
268
-
274
+
269
275
  def hangup_member(params={})
270
276
  conference_name = params.delete('conference_name')
271
277
  member_id = params.delete('member_id')
272
- return request('DELETE', '/Conference/#{conference_name}/Member/#{member_id}/')
278
+ return request('DELETE', "/Conference/#{conference_name}/Member/#{member_id}/", params)
273
279
  end
274
-
280
+
275
281
  def play_member(params={})
276
282
  conference_name = params.delete('conference_name')
277
283
  member_id = params.delete('member_id')
278
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Play/', params)
284
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Play/", params)
279
285
  end
280
286
 
281
287
  def stop_play_member(params={})
282
288
  conference_name = params.delete('conference_name')
283
289
  member_id = params.delete('member_id')
284
- return request('DELETE', '/Conference/#{conference_name}/Member/#{member_id}/Play/')
290
+ return request('DELETE', "/Conference/#{conference_name}/Member/#{member_id}/Play/", params)
285
291
  end
286
-
292
+
287
293
  def speak_member(params={})
288
294
  conference_name = params.delete('conference_name')
289
295
  member_id = params.delete('member_id')
290
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Speak/', params)
296
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Speak/", params)
291
297
  end
292
-
298
+
293
299
  def deaf_member(params={})
294
300
  conference_name = params.delete('conference_name')
295
301
  member_id = params.delete('member_id')
296
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Deaf/')
302
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Deaf/")
297
303
  end
298
-
304
+
299
305
  def undeaf_member(params={})
300
306
  conference_name = params.delete('conference_name')
301
307
  member_id = params.delete('member_id')
302
- return request('DELETE', '/Conference/#{conference_name}/Member/#{member_id}/Deaf/')
308
+ return request('DELETE', "/Conference/#{conference_name}/Member/#{member_id}/Deaf/", params)
303
309
  end
304
-
310
+
305
311
  def mute_member(params={})
306
312
  conference_name = params.delete('conference_name')
307
313
  member_id = params.delete('member_id')
308
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Mute/')
314
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Mute/")
309
315
  end
310
-
316
+
311
317
  def unmute_member(params={})
312
318
  conference_name = params.delete('conference_name')
313
319
  member_id = params.delete('member_id')
314
- return request('DELETE', '/Conference/#{conference_name}/Member/#{member_id}/Mute/')
320
+ return request('DELETE', "/Conference/#{conference_name}/Member/#{member_id}/Mute/", params)
315
321
  end
316
-
322
+
317
323
  def kick_member(params={})
318
324
  conference_name = params.delete('conference_name')
319
325
  member_id = params.delete('member_id')
320
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Kick/')
326
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Kick/")
321
327
  end
322
-
328
+
323
329
  def record_conference(params={})
324
330
  conference_name = params.delete('conference_name')
325
- return request('POST', '/Conference/#{conference_name}/Record/', params)
331
+ return request('POST', "/Conference/#{conference_name}/Record/", params)
326
332
  end
327
-
333
+
328
334
  def stop_record_conference(params={})
329
335
  conference_name = params.delete('conference_name')
330
- return request('DELETE', '/Conference/#{conference_name}/Record/')
336
+ return request('DELETE', "/Conference/#{conference_name}/Record/", params)
331
337
  end
332
-
338
+
333
339
  ## Recordings ##
334
340
  def get_recordings(params={})
335
- return request('GET', '/Recording/', params)
341
+ return request('GET', "/Recording/", params)
336
342
  end
337
-
343
+
338
344
  def get_recording(params={})
339
345
  recording_id = params.delete('recording_id')
340
- return request('GET', '/Recording/#{recording_id}/')
346
+ return request('GET', "/Recording/#{recording_id}/", params)
341
347
  end
342
-
348
+
343
349
  ## Endpoints ##
344
350
  def get_endpoints(params={})
345
- return request('GET', '/Endpoint/', params)
351
+ return request('GET', "/Endpoint/", params)
346
352
  end
347
-
353
+
348
354
  def create_endpoint(params={})
349
- return request('POST', '/Endpoint/', params)
355
+ return request('POST', "/Endpoint/", params)
350
356
  end
351
-
357
+
352
358
  def get_endpoint(params={})
353
359
  endpoint_id = params.delete('endpoint_id')
354
- return request('GET', '/Endpoint/#{endpoint_id}/')
360
+ return request('GET', "/Endpoint/#{endpoint_id}/", params)
355
361
  end
356
-
362
+
357
363
  def modify_endpoint(params={})
358
364
  endpoint_id = params.delete('endpoint_id')
359
- return request('POST', '/Endpoint/#{endpoint_id}/', params)
365
+ return request('POST', "/Endpoint/#{endpoint_id}/", params)
360
366
  end
361
-
367
+
362
368
  def delete_endpoint(params={})
363
369
  endpoint_id = params.delete('endpoint_id')
364
- return request('DELETE', '/Endpoint/#{endpoint_id}/')
370
+ return request('DELETE', "/Endpoint/#{endpoint_id}/", params)
365
371
  end
366
-
372
+
367
373
  ## Carriers ##
368
374
  def get_carriers(params={})
369
- return request('GET', '/Carrier/', params)
375
+ return request('GET', "/Carrier/", params)
370
376
  end
371
-
377
+
372
378
  def create_carrier(params={})
373
- return request('POST', '/Carrier/', params)
379
+ return request('POST', "/Carrier/", params)
374
380
  end
375
-
381
+
376
382
  def get_carrier(params={})
377
383
  carrier_id = params.delete('carrier_id')
378
- return request('GET', '/Carrier/#{carrier_id}/')
384
+ return request('GET', "/Carrier/#{carrier_id}/", params)
379
385
  end
380
-
386
+
381
387
  def modify_carrier(params={})
382
388
  carrier_id = params.delete('carrier_id')
383
- return request('POST', '/Carrier/#{carrier_id}/', params)
389
+ return request('POST', "/Carrier/#{carrier_id}/", params)
384
390
  end
385
-
391
+
386
392
  def delete_carrier(params={})
387
393
  carrier_id = params.delete('carrier_id')
388
- return request('DELETE', '/Carrier/#{carrier_id}/')
394
+ return request('DELETE', "/Carrier/#{carrier_id}/", params)
389
395
  end
390
-
396
+
391
397
  ## Carrier Routings ##
392
398
  def get_carrier_routings(params={})
393
- return request('GET', '/CarrierRouting/', params)
399
+ return request('GET', "/CarrierRouting/", params)
394
400
  end
395
-
401
+
396
402
  def create_carrier_routing(params={})
397
- return request('POST', '/CarrierRouting/', params)
403
+ return request('POST', "/CarrierRouting/", params)
398
404
  end
399
-
405
+
400
406
  def get_carrier_routing(params={})
401
407
  routing_id = params.delete('routing_id')
402
- return request('GET', '/CarrierRouting/#{routing_id}/')
408
+ return request('GET', "/CarrierRouting/#{routing_id}/", params)
403
409
  end
404
-
410
+
405
411
  def modify_carrier_routing(params={})
406
412
  routing_id = params.delete('routing_id')
407
- return request('POST', '/CarrierRouting/#{routing_id}/', params)
413
+ return request('POST', "/CarrierRouting/#{routing_id}/", params)
408
414
  end
409
-
415
+
410
416
  def delete_carrier_routing(params={})
411
417
  routing_id = params.delete('routing_id')
412
- return request('DELETE', '/CarrierRouting/#{routing_id}/')
418
+ return request('DELETE', "/CarrierRouting/#{routing_id}/", params)
413
419
  end
414
-
420
+
415
421
  ## Message ##
416
422
  def send_message(params={})
417
- return request('POST', '/Message/', params)
423
+ return request('POST', "/Message/", params)
424
+ end
425
+
426
+ def get_messages(params={})
427
+ return request('POST', "/Message/", params)
428
+ end
429
+
430
+ def get_message(params={})
431
+ record_id = params.delete('record_id')
432
+ return request('POST', "/Message/#{record_id}/", params)
418
433
  end
419
434
  end
420
435
 
@@ -586,7 +601,7 @@ module Plivo
586
601
 
587
602
  class Wait < Element
588
603
  @nestables = []
589
- @valid_attributes = ['length']
604
+ @valid_attributes = ['length', 'silence']
590
605
 
591
606
  def initialize(attributes={})
592
607
  super(nil, attributes)
@@ -621,7 +636,8 @@ module Plivo
621
636
  @nestables = ['Speak', 'Play', 'Wait']
622
637
  @valid_attributes = ['action', 'method', 'timeout', 'finishOnKey',
623
638
  'numDigits', 'retries', 'invalidDigitsSound',
624
- 'validDigits', 'playBeep', 'redirect']
639
+ 'validDigits', 'playBeep', 'redirect',
640
+ 'digitTimeout']
625
641
 
626
642
  def initialize(attributes={})
627
643
  super(nil, attributes)
@@ -691,7 +707,8 @@ module Plivo
691
707
  @nestables = []
692
708
  @valid_attributes = ['action', 'method', 'timeout','finishOnKey',
693
709
  'maxLength', 'playBeep', 'recordSession',
694
- 'startOnDialAnswer', 'redirect', 'fileFormat']
710
+ 'startOnDialAnswer', 'redirect', 'fileFormat',
711
+ 'callbackUrl', 'callbackMethod']
695
712
 
696
713
  def initialize(attributes={})
697
714
  super(nil, attributes)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plivo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.2.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-14 00:00:00.000000000 Z
12
+ date: 2012-08-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
16
- requirement: &15247060 !ruby/object:Gem::Requirement
16
+ requirement: &18751700 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.1.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *15247060
24
+ version_requirements: *18751700
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &15245760 !ruby/object:Gem::Requirement
27
+ requirement: &18749240 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.6.7
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *15245760
35
+ version_requirements: *18749240
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &15243400 !ruby/object:Gem::Requirement
38
+ requirement: &18746260 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 1.6.6
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *15243400
46
+ version_requirements: *18746260
47
47
  description: A Ruby gem for interacting with the Plivo Platform
48
48
  email: support@plivo.com
49
49
  executables: []