bandwidth-sdk 1.0.2 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -9
- data/lib/bandwidth/voice_lib/voice.rb +5 -2
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +373 -14
- data/lib/bandwidth/voice_lib/voice/exceptions/error_response_exception.rb +39 -0
- data/lib/bandwidth/voice_lib/voice/models/answer_method_enum.rb +2 -20
- data/lib/bandwidth/voice_lib/voice/models/api_call_response.rb +40 -30
- data/lib/bandwidth/voice_lib/voice/models/api_get_account_recordings_metadata_request.rb +65 -0
- data/lib/bandwidth/voice_lib/voice/models/disconnect_method_enum.rb +2 -20
- data/lib/bandwidth/voice_lib/voice/models/modify_call_recording_state.rb +35 -0
- data/lib/bandwidth/voice_lib/voice/models/recording_metadata_response.rb +2 -2
- data/lib/bandwidth/voice_lib/voice/models/redirect_method_enum.rb +2 -20
- data/lib/bandwidth/voice_lib/voice/models/state1_enum.rb +20 -0
- data/lib/bandwidth/voice_lib/voice/models/type_enum.rb +32 -0
- metadata +7 -4
- data/lib/bandwidth/voice_lib/voice/models/duration.rb +0 -78
- data/lib/bandwidth/voice_lib/voice/models/temporal_unit.rb +0 -62
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a27ed8cd085180211649d0a0afbd5d4a99208c821496f31ce9a6f934817dacbd
|
4
|
+
data.tar.gz: 85f03331af6709b83dafeac29ca8becb265bb9343f2110a8c81b5f45420af8f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98e8f113a996e58efbd061cd30dbc77f325762b78dd0913c1f69bb15578792aa21e07e0cb8f95e15f6e6c908e7522adc164eb185b069b4b689400047a7206949
|
7
|
+
data.tar.gz: a6834d60817a9189e1b7731fff4e4022a7bbc842de1a0302718d168fa512b8c42fe12be64a90345a7388e6bb8d554a8c85a0c139f8f65ee7faf391fd0e38e389
|
data/README.md
CHANGED
@@ -7,19 +7,16 @@ Bandwidth's set of APIs
|
|
7
7
|
Install the gem from the command line:
|
8
8
|
|
9
9
|
```ruby
|
10
|
-
gem install bandwidth-sdk -v
|
10
|
+
gem install bandwidth-sdk -v 2.0.0
|
11
11
|
```
|
12
12
|
|
13
13
|
Or add the gem to your Gemfile and run `bundle`:
|
14
14
|
|
15
15
|
```ruby
|
16
|
-
gem 'bandwidth-sdk', '
|
16
|
+
gem 'bandwidth-sdk', '2.0.0'
|
17
17
|
```
|
18
18
|
|
19
|
-
For additional gem details, see the [RubyGems page for the bandwidth-sdk gem](https://rubygems.org/gems/bandwidth-sdk/versions/
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
For additional gem details, see the [RubyGems page for the bandwidth-sdk gem](https://rubygems.org/gems/bandwidth-sdk/versions/2.0.0).
|
23
20
|
|
24
21
|
## Initialize the API Client
|
25
22
|
|
@@ -65,10 +62,9 @@ API calls return an `ApiResponse` object that includes the following fields:
|
|
65
62
|
|
66
63
|
This API does not require authentication.
|
67
64
|
|
68
|
-
|
69
|
-
|
70
65
|
## API Reference
|
71
66
|
|
72
67
|
### List of APIs
|
73
68
|
|
74
|
-
*
|
69
|
+
*
|
70
|
+
|
@@ -9,19 +9,22 @@ require_relative 'voice/client.rb'
|
|
9
9
|
# Models
|
10
10
|
require_relative 'voice/models/api_call_response.rb'
|
11
11
|
require_relative 'voice/models/api_create_call_request.rb'
|
12
|
+
require_relative 'voice/models/api_get_account_recordings_metadata_request.rb'
|
12
13
|
require_relative 'voice/models/api_modify_call_request.rb'
|
13
|
-
require_relative 'voice/models/
|
14
|
+
require_relative 'voice/models/modify_call_recording_state.rb'
|
14
15
|
require_relative 'voice/models/recording_metadata_response.rb'
|
15
|
-
require_relative 'voice/models/temporal_unit.rb'
|
16
16
|
require_relative 'voice/models/answer_method_enum.rb'
|
17
17
|
require_relative 'voice/models/direction_enum.rb'
|
18
18
|
require_relative 'voice/models/disconnect_method_enum.rb'
|
19
19
|
require_relative 'voice/models/file_format_enum.rb'
|
20
20
|
require_relative 'voice/models/redirect_method_enum.rb'
|
21
21
|
require_relative 'voice/models/state_enum.rb'
|
22
|
+
require_relative 'voice/models/state1_enum.rb'
|
22
23
|
require_relative 'voice/models/transcription_status_enum.rb'
|
24
|
+
require_relative 'voice/models/type_enum.rb'
|
23
25
|
|
24
26
|
# Exceptions
|
27
|
+
require_relative 'voice/exceptions/error_response_exception.rb'
|
25
28
|
# Controllers
|
26
29
|
require_relative 'voice/controllers/base_controller.rb'
|
27
30
|
require_relative 'voice/controllers/api_controller.rb'
|
@@ -40,6 +40,43 @@ module Voice
|
|
40
40
|
)
|
41
41
|
VoiceBasicAuth.apply(config, _request)
|
42
42
|
_response = execute_request(_request)
|
43
|
+
|
44
|
+
# Validate response against endpoint and global error codes.
|
45
|
+
if _response.status_code == 400
|
46
|
+
raise ErrorResponseException.new(
|
47
|
+
'Something didn\'t look right about that request. Please fix it' \
|
48
|
+
' before trying again.',
|
49
|
+
_response
|
50
|
+
)
|
51
|
+
elsif _response.status_code == 401
|
52
|
+
raise APIException.new(
|
53
|
+
'Please authenticate yourself',
|
54
|
+
_response
|
55
|
+
)
|
56
|
+
elsif _response.status_code == 403
|
57
|
+
raise ErrorResponseException.new(
|
58
|
+
'Your credentials are invalid. Please use your API credentials for' \
|
59
|
+
' the Bandwidth Dashboard.',
|
60
|
+
_response
|
61
|
+
)
|
62
|
+
elsif _response.status_code == 415
|
63
|
+
raise ErrorResponseException.new(
|
64
|
+
'We don\'t support that media type. Please send us' \
|
65
|
+
' `application/json`.',
|
66
|
+
_response
|
67
|
+
)
|
68
|
+
elsif _response.status_code == 429
|
69
|
+
raise ErrorResponseException.new(
|
70
|
+
'You\'re sending requests to this endpoint too frequently. Please' \
|
71
|
+
' slow your request rate down and try again.',
|
72
|
+
_response
|
73
|
+
)
|
74
|
+
elsif _response.status_code == 500
|
75
|
+
raise ErrorResponseException.new(
|
76
|
+
'Something unexpected happened. Please try again.',
|
77
|
+
_response
|
78
|
+
)
|
79
|
+
end
|
43
80
|
validate_response(_response)
|
44
81
|
|
45
82
|
# Return appropriate response type.
|
@@ -78,6 +115,125 @@ module Voice
|
|
78
115
|
)
|
79
116
|
VoiceBasicAuth.apply(config, _request)
|
80
117
|
_response = execute_request(_request)
|
118
|
+
|
119
|
+
# Validate response against endpoint and global error codes.
|
120
|
+
if _response.status_code == 400
|
121
|
+
raise APIException.new(
|
122
|
+
'The call can\'t be modified in its current state',
|
123
|
+
_response
|
124
|
+
)
|
125
|
+
elsif _response.status_code == 401
|
126
|
+
raise APIException.new(
|
127
|
+
'Please authenticate yourself',
|
128
|
+
_response
|
129
|
+
)
|
130
|
+
elsif _response.status_code == 403
|
131
|
+
raise ErrorResponseException.new(
|
132
|
+
'Your credentials are invalid. Please use your API credentials for' \
|
133
|
+
' the Bandwidth Dashboard.',
|
134
|
+
_response
|
135
|
+
)
|
136
|
+
elsif _response.status_code == 404
|
137
|
+
raise APIException.new(
|
138
|
+
'The call never existed, no longer exists, or is inaccessible to you',
|
139
|
+
_response
|
140
|
+
)
|
141
|
+
elsif _response.status_code == 415
|
142
|
+
raise ErrorResponseException.new(
|
143
|
+
'We don\'t support that media type. Please send us' \
|
144
|
+
' `application/json`.',
|
145
|
+
_response
|
146
|
+
)
|
147
|
+
elsif _response.status_code == 429
|
148
|
+
raise ErrorResponseException.new(
|
149
|
+
'You\'re sending requests to this endpoint too frequently. Please' \
|
150
|
+
' slow your request rate down and try again.',
|
151
|
+
_response
|
152
|
+
)
|
153
|
+
elsif _response.status_code == 500
|
154
|
+
raise ErrorResponseException.new(
|
155
|
+
'Something unexpected happened. Please try again.',
|
156
|
+
_response
|
157
|
+
)
|
158
|
+
end
|
159
|
+
validate_response(_response)
|
160
|
+
|
161
|
+
# Return appropriate response type.
|
162
|
+
ApiResponse.new(_response)
|
163
|
+
end
|
164
|
+
|
165
|
+
# Pauses or resumes a recording
|
166
|
+
# @param [String] account_id Required parameter: Example:
|
167
|
+
# @param [String] call_id Required parameter: Example:
|
168
|
+
# @param [ModifyCallRecordingState] body Optional parameter: Example:
|
169
|
+
# @return [void] response from the API call
|
170
|
+
def modify_call_recording_state(account_id,
|
171
|
+
call_id,
|
172
|
+
body: nil)
|
173
|
+
# Prepare query url.
|
174
|
+
_query_builder = config.get_base_uri(Server::VOICEDEFAULT)
|
175
|
+
_query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recording'
|
176
|
+
_query_builder = APIHelper.append_url_with_template_parameters(
|
177
|
+
_query_builder,
|
178
|
+
'accountId' => account_id,
|
179
|
+
'callId' => call_id
|
180
|
+
)
|
181
|
+
_query_url = APIHelper.clean_url _query_builder
|
182
|
+
|
183
|
+
# Prepare headers.
|
184
|
+
_headers = {
|
185
|
+
'content-type' => 'application/json; charset=utf-8'
|
186
|
+
}
|
187
|
+
|
188
|
+
# Prepare and execute HttpRequest.
|
189
|
+
_request = config.http_client.put(
|
190
|
+
_query_url,
|
191
|
+
headers: _headers,
|
192
|
+
parameters: body.to_json
|
193
|
+
)
|
194
|
+
VoiceBasicAuth.apply(config, _request)
|
195
|
+
_response = execute_request(_request)
|
196
|
+
|
197
|
+
# Validate response against endpoint and global error codes.
|
198
|
+
if _response.status_code == 400
|
199
|
+
raise APIException.new(
|
200
|
+
'The call can\'t be modified in its current state',
|
201
|
+
_response
|
202
|
+
)
|
203
|
+
elsif _response.status_code == 401
|
204
|
+
raise APIException.new(
|
205
|
+
'Please authenticate yourself',
|
206
|
+
_response
|
207
|
+
)
|
208
|
+
elsif _response.status_code == 403
|
209
|
+
raise ErrorResponseException.new(
|
210
|
+
'Your credentials are invalid. Please use your API credentials for' \
|
211
|
+
' the Bandwidth Dashboard.',
|
212
|
+
_response
|
213
|
+
)
|
214
|
+
elsif _response.status_code == 404
|
215
|
+
raise APIException.new(
|
216
|
+
'The call never existed, no longer exists, or is inaccessible to you',
|
217
|
+
_response
|
218
|
+
)
|
219
|
+
elsif _response.status_code == 415
|
220
|
+
raise ErrorResponseException.new(
|
221
|
+
'We don\'t support that media type. Please send us' \
|
222
|
+
' `application/json`.',
|
223
|
+
_response
|
224
|
+
)
|
225
|
+
elsif _response.status_code == 429
|
226
|
+
raise ErrorResponseException.new(
|
227
|
+
'You\'re sending requests to this endpoint too frequently. Please' \
|
228
|
+
' slow your request rate down and try again.',
|
229
|
+
_response
|
230
|
+
)
|
231
|
+
elsif _response.status_code == 500
|
232
|
+
raise ErrorResponseException.new(
|
233
|
+
'Something unexpected happened. Please try again.',
|
234
|
+
_response
|
235
|
+
)
|
236
|
+
end
|
81
237
|
validate_response(_response)
|
82
238
|
|
83
239
|
# Return appropriate response type.
|
@@ -113,6 +269,43 @@ module Voice
|
|
113
269
|
)
|
114
270
|
VoiceBasicAuth.apply(config, _request)
|
115
271
|
_response = execute_request(_request)
|
272
|
+
|
273
|
+
# Validate response against endpoint and global error codes.
|
274
|
+
if _response.status_code == 400
|
275
|
+
raise ErrorResponseException.new(
|
276
|
+
'Something didn\'t look right about that request. Please fix it' \
|
277
|
+
' before trying again.',
|
278
|
+
_response
|
279
|
+
)
|
280
|
+
elsif _response.status_code == 401
|
281
|
+
raise APIException.new(
|
282
|
+
'Please authenticate yourself',
|
283
|
+
_response
|
284
|
+
)
|
285
|
+
elsif _response.status_code == 403
|
286
|
+
raise ErrorResponseException.new(
|
287
|
+
'Your credentials are invalid. Please use your API credentials for' \
|
288
|
+
' the Bandwidth Dashboard.',
|
289
|
+
_response
|
290
|
+
)
|
291
|
+
elsif _response.status_code == 415
|
292
|
+
raise ErrorResponseException.new(
|
293
|
+
'We don\'t support that media type. Please send us' \
|
294
|
+
' `application/json`.',
|
295
|
+
_response
|
296
|
+
)
|
297
|
+
elsif _response.status_code == 429
|
298
|
+
raise ErrorResponseException.new(
|
299
|
+
'You\'re sending requests to this endpoint too frequently. Please' \
|
300
|
+
' slow your request rate down and try again.',
|
301
|
+
_response
|
302
|
+
)
|
303
|
+
elsif _response.status_code == 500
|
304
|
+
raise ErrorResponseException.new(
|
305
|
+
'Something unexpected happened. Please try again.',
|
306
|
+
_response
|
307
|
+
)
|
308
|
+
end
|
116
309
|
validate_response(_response)
|
117
310
|
|
118
311
|
# Return appropriate response type.
|
@@ -124,21 +317,21 @@ module Voice
|
|
124
317
|
end
|
125
318
|
|
126
319
|
# Returns metadata for the specified recording
|
127
|
-
# @param [String] recording_id Required parameter: Example:
|
128
320
|
# @param [String] account_id Required parameter: Example:
|
129
321
|
# @param [String] call_id Required parameter: Example:
|
322
|
+
# @param [String] recording_id Required parameter: Example:
|
130
323
|
# @return [RecordingMetadataResponse] response from the API call
|
131
|
-
def get_metadata_for_recording(
|
132
|
-
|
133
|
-
|
324
|
+
def get_metadata_for_recording(account_id,
|
325
|
+
call_id,
|
326
|
+
recording_id)
|
134
327
|
# Prepare query url.
|
135
328
|
_query_builder = config.get_base_uri(Server::VOICEDEFAULT)
|
136
329
|
_query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}'
|
137
330
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
138
331
|
_query_builder,
|
139
|
-
'recordingId' => recording_id,
|
140
332
|
'accountId' => account_id,
|
141
|
-
'callId' => call_id
|
333
|
+
'callId' => call_id,
|
334
|
+
'recordingId' => recording_id
|
142
335
|
)
|
143
336
|
_query_url = APIHelper.clean_url _query_builder
|
144
337
|
|
@@ -154,6 +347,49 @@ module Voice
|
|
154
347
|
)
|
155
348
|
VoiceBasicAuth.apply(config, _request)
|
156
349
|
_response = execute_request(_request)
|
350
|
+
|
351
|
+
# Validate response against endpoint and global error codes.
|
352
|
+
if _response.status_code == 400
|
353
|
+
raise ErrorResponseException.new(
|
354
|
+
'Something didn\'t look right about that request. Please fix it' \
|
355
|
+
' before trying again.',
|
356
|
+
_response
|
357
|
+
)
|
358
|
+
elsif _response.status_code == 401
|
359
|
+
raise APIException.new(
|
360
|
+
'Please authenticate yourself',
|
361
|
+
_response
|
362
|
+
)
|
363
|
+
elsif _response.status_code == 403
|
364
|
+
raise ErrorResponseException.new(
|
365
|
+
'Your credentials are invalid. Please use your API credentials for' \
|
366
|
+
' the Bandwidth Dashboard.',
|
367
|
+
_response
|
368
|
+
)
|
369
|
+
elsif _response.status_code == 404
|
370
|
+
raise APIException.new(
|
371
|
+
'The recording never existed, no longer exists, or is inaccessible' \
|
372
|
+
' to you',
|
373
|
+
_response
|
374
|
+
)
|
375
|
+
elsif _response.status_code == 415
|
376
|
+
raise ErrorResponseException.new(
|
377
|
+
'We don\'t support that media type. Please send us' \
|
378
|
+
' `application/json`.',
|
379
|
+
_response
|
380
|
+
)
|
381
|
+
elsif _response.status_code == 429
|
382
|
+
raise ErrorResponseException.new(
|
383
|
+
'You\'re sending requests to this endpoint too frequently. Please' \
|
384
|
+
' slow your request rate down and try again.',
|
385
|
+
_response
|
386
|
+
)
|
387
|
+
elsif _response.status_code == 500
|
388
|
+
raise ErrorResponseException.new(
|
389
|
+
'Something unexpected happened. Please try again.',
|
390
|
+
_response
|
391
|
+
)
|
392
|
+
end
|
157
393
|
validate_response(_response)
|
158
394
|
|
159
395
|
# Return appropriate response type.
|
@@ -163,21 +399,21 @@ module Voice
|
|
163
399
|
end
|
164
400
|
|
165
401
|
# Deletes the specified recording
|
166
|
-
# @param [String] recording_id Required parameter: Example:
|
167
402
|
# @param [String] account_id Required parameter: Example:
|
168
403
|
# @param [String] call_id Required parameter: Example:
|
404
|
+
# @param [String] recording_id Required parameter: Example:
|
169
405
|
# @return [void] response from the API call
|
170
|
-
def delete_recording(
|
171
|
-
|
172
|
-
|
406
|
+
def delete_recording(account_id,
|
407
|
+
call_id,
|
408
|
+
recording_id)
|
173
409
|
# Prepare query url.
|
174
410
|
_query_builder = config.get_base_uri(Server::VOICEDEFAULT)
|
175
411
|
_query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}'
|
176
412
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
177
413
|
_query_builder,
|
178
|
-
'recordingId' => recording_id,
|
179
414
|
'accountId' => account_id,
|
180
|
-
'callId' => call_id
|
415
|
+
'callId' => call_id,
|
416
|
+
'recordingId' => recording_id
|
181
417
|
)
|
182
418
|
_query_url = APIHelper.clean_url _query_builder
|
183
419
|
|
@@ -187,6 +423,49 @@ module Voice
|
|
187
423
|
)
|
188
424
|
VoiceBasicAuth.apply(config, _request)
|
189
425
|
_response = execute_request(_request)
|
426
|
+
|
427
|
+
# Validate response against endpoint and global error codes.
|
428
|
+
if _response.status_code == 400
|
429
|
+
raise ErrorResponseException.new(
|
430
|
+
'Something didn\'t look right about that request. Please fix it' \
|
431
|
+
' before trying again.',
|
432
|
+
_response
|
433
|
+
)
|
434
|
+
elsif _response.status_code == 401
|
435
|
+
raise APIException.new(
|
436
|
+
'Please authenticate yourself',
|
437
|
+
_response
|
438
|
+
)
|
439
|
+
elsif _response.status_code == 403
|
440
|
+
raise ErrorResponseException.new(
|
441
|
+
'Your credentials are invalid. Please use your API credentials for' \
|
442
|
+
' the Bandwidth Dashboard.',
|
443
|
+
_response
|
444
|
+
)
|
445
|
+
elsif _response.status_code == 404
|
446
|
+
raise APIException.new(
|
447
|
+
'The recording never existed, no longer exists, or is inaccessible' \
|
448
|
+
' to you',
|
449
|
+
_response
|
450
|
+
)
|
451
|
+
elsif _response.status_code == 415
|
452
|
+
raise ErrorResponseException.new(
|
453
|
+
'We don\'t support that media type. Please send us' \
|
454
|
+
' `application/json`.',
|
455
|
+
_response
|
456
|
+
)
|
457
|
+
elsif _response.status_code == 429
|
458
|
+
raise ErrorResponseException.new(
|
459
|
+
'You\'re sending requests to this endpoint too frequently. Please' \
|
460
|
+
' slow your request rate down and try again.',
|
461
|
+
_response
|
462
|
+
)
|
463
|
+
elsif _response.status_code == 500
|
464
|
+
raise ErrorResponseException.new(
|
465
|
+
'Something unexpected happened. Please try again.',
|
466
|
+
_response
|
467
|
+
)
|
468
|
+
end
|
190
469
|
validate_response(_response)
|
191
470
|
|
192
471
|
# Return appropriate response type.
|
@@ -197,7 +476,7 @@ module Voice
|
|
197
476
|
# @param [String] account_id Required parameter: Example:
|
198
477
|
# @param [String] call_id Required parameter: Example:
|
199
478
|
# @param [String] recording_id Required parameter: Example:
|
200
|
-
# @return [
|
479
|
+
# @return [Binary] response from the API call
|
201
480
|
def get_stream_recording_media(account_id,
|
202
481
|
call_id,
|
203
482
|
recording_id)
|
@@ -217,7 +496,50 @@ module Voice
|
|
217
496
|
_query_url
|
218
497
|
)
|
219
498
|
VoiceBasicAuth.apply(config, _request)
|
220
|
-
_response = execute_request(_request)
|
499
|
+
_response = execute_request(_request, binary: true)
|
500
|
+
|
501
|
+
# Validate response against endpoint and global error codes.
|
502
|
+
if _response.status_code == 400
|
503
|
+
raise ErrorResponseException.new(
|
504
|
+
'Something didn\'t look right about that request. Please fix it' \
|
505
|
+
' before trying again.',
|
506
|
+
_response
|
507
|
+
)
|
508
|
+
elsif _response.status_code == 401
|
509
|
+
raise APIException.new(
|
510
|
+
'Please authenticate yourself',
|
511
|
+
_response
|
512
|
+
)
|
513
|
+
elsif _response.status_code == 403
|
514
|
+
raise ErrorResponseException.new(
|
515
|
+
'Your credentials are invalid. Please use your API credentials for' \
|
516
|
+
' the Bandwidth Dashboard.',
|
517
|
+
_response
|
518
|
+
)
|
519
|
+
elsif _response.status_code == 404
|
520
|
+
raise APIException.new(
|
521
|
+
'The recording never existed, no longer exists, or is inaccessible' \
|
522
|
+
' to you',
|
523
|
+
_response
|
524
|
+
)
|
525
|
+
elsif _response.status_code == 415
|
526
|
+
raise ErrorResponseException.new(
|
527
|
+
'We don\'t support that media type. Please send us' \
|
528
|
+
' `application/json`.',
|
529
|
+
_response
|
530
|
+
)
|
531
|
+
elsif _response.status_code == 429
|
532
|
+
raise ErrorResponseException.new(
|
533
|
+
'You\'re sending requests to this endpoint too frequently. Please' \
|
534
|
+
' slow your request rate down and try again.',
|
535
|
+
_response
|
536
|
+
)
|
537
|
+
elsif _response.status_code == 500
|
538
|
+
raise ErrorResponseException.new(
|
539
|
+
'Something unexpected happened. Please try again.',
|
540
|
+
_response
|
541
|
+
)
|
542
|
+
end
|
221
543
|
validate_response(_response)
|
222
544
|
|
223
545
|
# Return appropriate response type.
|
@@ -250,6 +572,43 @@ module Voice
|
|
250
572
|
)
|
251
573
|
VoiceBasicAuth.apply(config, _request)
|
252
574
|
_response = execute_request(_request)
|
575
|
+
|
576
|
+
# Validate response against endpoint and global error codes.
|
577
|
+
if _response.status_code == 400
|
578
|
+
raise ErrorResponseException.new(
|
579
|
+
'Something didn\'t look right about that request. Please fix it' \
|
580
|
+
' before trying again.',
|
581
|
+
_response
|
582
|
+
)
|
583
|
+
elsif _response.status_code == 401
|
584
|
+
raise APIException.new(
|
585
|
+
'Please authenticate yourself',
|
586
|
+
_response
|
587
|
+
)
|
588
|
+
elsif _response.status_code == 403
|
589
|
+
raise ErrorResponseException.new(
|
590
|
+
'Your credentials are invalid. Please use your API credentials for' \
|
591
|
+
' the Bandwidth Dashboard.',
|
592
|
+
_response
|
593
|
+
)
|
594
|
+
elsif _response.status_code == 415
|
595
|
+
raise ErrorResponseException.new(
|
596
|
+
'We don\'t support that media type. Please send us' \
|
597
|
+
' `application/json`.',
|
598
|
+
_response
|
599
|
+
)
|
600
|
+
elsif _response.status_code == 429
|
601
|
+
raise ErrorResponseException.new(
|
602
|
+
'You\'re sending requests to this endpoint too frequently. Please' \
|
603
|
+
' slow your request rate down and try again.',
|
604
|
+
_response
|
605
|
+
)
|
606
|
+
elsif _response.status_code == 500
|
607
|
+
raise ErrorResponseException.new(
|
608
|
+
'Something unexpected happened. Please try again.',
|
609
|
+
_response
|
610
|
+
)
|
611
|
+
end
|
253
612
|
validate_response(_response)
|
254
613
|
|
255
614
|
# Return appropriate response type.
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# ErrorResponse class.
|
8
|
+
class ErrorResponseException < APIException
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [TypeEnum]
|
11
|
+
attr_accessor :type
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :description
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [String]
|
19
|
+
attr_accessor :id
|
20
|
+
|
21
|
+
# The constructor.
|
22
|
+
# @param [String] The reason for raising an exception.
|
23
|
+
# @param [HttpResponse] The HttpReponse of the API call.
|
24
|
+
def initialize(reason, response)
|
25
|
+
super(reason, response)
|
26
|
+
hash = APIHelper.json_deserialize(@response.raw_body)
|
27
|
+
unbox(hash)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Populates this object by extracting properties from a hash.
|
31
|
+
# @param [Hash] The deserialized response sent by the server in the
|
32
|
+
# response body.
|
33
|
+
def unbox(hash)
|
34
|
+
@type = hash['type']
|
35
|
+
@description = hash['description']
|
36
|
+
@id = hash['id']
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -7,29 +7,11 @@ module Bandwidth
|
|
7
7
|
# AnswerMethod.
|
8
8
|
class AnswerMethodEnum
|
9
9
|
ANSWER_METHOD_ENUM = [
|
10
|
-
# TODO: Write general description for GET
|
11
|
-
GET = 'GET'.freeze,
|
12
|
-
|
13
|
-
# TODO: Write general description for HEAD
|
14
|
-
HEAD = 'HEAD'.freeze,
|
15
|
-
|
16
10
|
# TODO: Write general description for POST
|
17
11
|
POST = 'POST'.freeze,
|
18
12
|
|
19
|
-
# TODO: Write general description for
|
20
|
-
|
21
|
-
|
22
|
-
# TODO: Write general description for PATCH
|
23
|
-
PATCH = 'PATCH'.freeze,
|
24
|
-
|
25
|
-
# TODO: Write general description for DELETE
|
26
|
-
DELETE = 'DELETE'.freeze,
|
27
|
-
|
28
|
-
# TODO: Write general description for OPTIONS
|
29
|
-
OPTIONS = 'OPTIONS'.freeze,
|
30
|
-
|
31
|
-
# TODO: Write general description for TRACE
|
32
|
-
TRACE = 'TRACE'.freeze
|
13
|
+
# TODO: Write general description for GET
|
14
|
+
GET = 'GET'.freeze
|
33
15
|
].freeze
|
34
16
|
end
|
35
17
|
end
|
@@ -3,16 +3,17 @@
|
|
3
3
|
# This file was automatically generated by APIMATIC v2.0
|
4
4
|
# ( https://apimatic.io ).
|
5
5
|
|
6
|
+
require 'date'
|
6
7
|
module Bandwidth
|
7
8
|
# ApiCallResponse Model.
|
8
9
|
class ApiCallResponse < BaseModel
|
9
10
|
# TODO: Write general description for this method
|
10
11
|
# @return [String]
|
11
|
-
attr_accessor :
|
12
|
+
attr_accessor :call_id
|
12
13
|
|
13
14
|
# TODO: Write general description for this method
|
14
15
|
# @return [String]
|
15
|
-
attr_accessor :
|
16
|
+
attr_accessor :application_id
|
16
17
|
|
17
18
|
# TODO: Write general description for this method
|
18
19
|
# @return [String]
|
@@ -23,12 +24,8 @@ module Bandwidth
|
|
23
24
|
attr_accessor :from
|
24
25
|
|
25
26
|
# TODO: Write general description for this method
|
26
|
-
# @return [
|
27
|
-
attr_accessor :
|
28
|
-
|
29
|
-
# TODO: Write general description for this method
|
30
|
-
# @return [String]
|
31
|
-
attr_accessor :call_id
|
27
|
+
# @return [DateTime]
|
28
|
+
attr_accessor :start_time
|
32
29
|
|
33
30
|
# TODO: Write general description for this method
|
34
31
|
# @return [String]
|
@@ -54,6 +51,14 @@ module Bandwidth
|
|
54
51
|
# @return [DisconnectMethodEnum]
|
55
52
|
attr_accessor :disconnect_method
|
56
53
|
|
54
|
+
# TODO: Write general description for this method
|
55
|
+
# @return [String]
|
56
|
+
attr_accessor :username
|
57
|
+
|
58
|
+
# TODO: Write general description for this method
|
59
|
+
# @return [String]
|
60
|
+
attr_accessor :password
|
61
|
+
|
57
62
|
# TODO: Write general description for this method
|
58
63
|
# @return [String]
|
59
64
|
attr_accessor :tag
|
@@ -61,47 +66,50 @@ module Bandwidth
|
|
61
66
|
# A mapping from model property names to API property names.
|
62
67
|
def self.names
|
63
68
|
@_hash = {} if @_hash.nil?
|
64
|
-
@_hash['
|
65
|
-
@_hash['
|
69
|
+
@_hash['call_id'] = 'callId'
|
70
|
+
@_hash['application_id'] = 'applicationId'
|
66
71
|
@_hash['to'] = 'to'
|
67
72
|
@_hash['from'] = 'from'
|
68
|
-
@_hash['
|
69
|
-
@_hash['call_id'] = 'callId'
|
73
|
+
@_hash['start_time'] = 'startTime'
|
70
74
|
@_hash['call_url'] = 'callUrl'
|
71
75
|
@_hash['call_timeout'] = 'callTimeout'
|
72
76
|
@_hash['answer_url'] = 'answerUrl'
|
73
77
|
@_hash['answer_method'] = 'answerMethod'
|
74
78
|
@_hash['disconnect_url'] = 'disconnectUrl'
|
75
79
|
@_hash['disconnect_method'] = 'disconnectMethod'
|
80
|
+
@_hash['username'] = 'username'
|
81
|
+
@_hash['password'] = 'password'
|
76
82
|
@_hash['tag'] = 'tag'
|
77
83
|
@_hash
|
78
84
|
end
|
79
85
|
|
80
|
-
def initialize(
|
81
|
-
from = nil,
|
86
|
+
def initialize(call_id = nil,
|
82
87
|
application_id = nil,
|
83
|
-
|
88
|
+
to = nil,
|
89
|
+
from = nil,
|
84
90
|
call_url = nil,
|
85
91
|
answer_url = nil,
|
86
92
|
answer_method = nil,
|
87
93
|
disconnect_method = nil,
|
88
|
-
|
89
|
-
password = nil,
|
94
|
+
start_time = nil,
|
90
95
|
call_timeout = nil,
|
91
96
|
disconnect_url = nil,
|
97
|
+
username = nil,
|
98
|
+
password = nil,
|
92
99
|
tag = nil)
|
93
|
-
@
|
94
|
-
@
|
100
|
+
@call_id = call_id
|
101
|
+
@application_id = application_id
|
95
102
|
@to = to
|
96
103
|
@from = from
|
97
|
-
@
|
98
|
-
@call_id = call_id
|
104
|
+
@start_time = start_time
|
99
105
|
@call_url = call_url
|
100
106
|
@call_timeout = call_timeout
|
101
107
|
@answer_url = answer_url
|
102
108
|
@answer_method = answer_method
|
103
109
|
@disconnect_url = disconnect_url
|
104
110
|
@disconnect_method = disconnect_method
|
111
|
+
@username = username
|
112
|
+
@password = password
|
105
113
|
@tag = tag
|
106
114
|
end
|
107
115
|
|
@@ -110,33 +118,35 @@ module Bandwidth
|
|
110
118
|
return nil unless hash
|
111
119
|
|
112
120
|
# Extract variables from the hash.
|
121
|
+
call_id = hash['callId']
|
122
|
+
application_id = hash['applicationId']
|
113
123
|
to = hash['to']
|
114
124
|
from = hash['from']
|
115
|
-
application_id = hash['applicationId']
|
116
|
-
call_id = hash['callId']
|
117
125
|
call_url = hash['callUrl']
|
118
126
|
answer_url = hash['answerUrl']
|
119
127
|
answer_method = hash['answerMethod']
|
120
128
|
disconnect_method = hash['disconnectMethod']
|
121
|
-
|
122
|
-
password = hash['password']
|
129
|
+
start_time = APIHelper.rfc3339(hash['startTime']) if hash['startTime']
|
123
130
|
call_timeout = hash['callTimeout']
|
124
131
|
disconnect_url = hash['disconnectUrl']
|
132
|
+
username = hash['username']
|
133
|
+
password = hash['password']
|
125
134
|
tag = hash['tag']
|
126
135
|
|
127
136
|
# Create object from extracted values.
|
128
|
-
ApiCallResponse.new(
|
129
|
-
from,
|
137
|
+
ApiCallResponse.new(call_id,
|
130
138
|
application_id,
|
131
|
-
|
139
|
+
to,
|
140
|
+
from,
|
132
141
|
call_url,
|
133
142
|
answer_url,
|
134
143
|
answer_method,
|
135
144
|
disconnect_method,
|
136
|
-
|
137
|
-
password,
|
145
|
+
start_time,
|
138
146
|
call_timeout,
|
139
147
|
disconnect_url,
|
148
|
+
username,
|
149
|
+
password,
|
140
150
|
tag)
|
141
151
|
end
|
142
152
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
module Bandwidth
|
8
|
+
# ApiGetAccountRecordingsMetadataRequest Model.
|
9
|
+
class ApiGetAccountRecordingsMetadataRequest < BaseModel
|
10
|
+
# Format is E164
|
11
|
+
# @return [String]
|
12
|
+
attr_accessor :from
|
13
|
+
|
14
|
+
# Format is E164
|
15
|
+
# @return [String]
|
16
|
+
attr_accessor :to
|
17
|
+
|
18
|
+
# ISO8601 format
|
19
|
+
# @return [DateTime]
|
20
|
+
attr_accessor :min_start_time
|
21
|
+
|
22
|
+
# ISO8601 format
|
23
|
+
# @return [DateTime]
|
24
|
+
attr_accessor :max_start_time
|
25
|
+
|
26
|
+
# A mapping from model property names to API property names.
|
27
|
+
def self.names
|
28
|
+
@_hash = {} if @_hash.nil?
|
29
|
+
@_hash['from'] = 'from'
|
30
|
+
@_hash['to'] = 'to'
|
31
|
+
@_hash['min_start_time'] = 'minStartTime'
|
32
|
+
@_hash['max_start_time'] = 'maxStartTime'
|
33
|
+
@_hash
|
34
|
+
end
|
35
|
+
|
36
|
+
def initialize(from = nil,
|
37
|
+
to = nil,
|
38
|
+
min_start_time = nil,
|
39
|
+
max_start_time = nil)
|
40
|
+
@from = from
|
41
|
+
@to = to
|
42
|
+
@min_start_time = min_start_time
|
43
|
+
@max_start_time = max_start_time
|
44
|
+
end
|
45
|
+
|
46
|
+
# Creates an instance of the object from a hash.
|
47
|
+
def self.from_hash(hash)
|
48
|
+
return nil unless hash
|
49
|
+
|
50
|
+
# Extract variables from the hash.
|
51
|
+
from = hash['from']
|
52
|
+
to = hash['to']
|
53
|
+
min_start_time = APIHelper.rfc3339(hash['minStartTime']) if
|
54
|
+
hash['minStartTime']
|
55
|
+
max_start_time = APIHelper.rfc3339(hash['maxStartTime']) if
|
56
|
+
hash['maxStartTime']
|
57
|
+
|
58
|
+
# Create object from extracted values.
|
59
|
+
ApiGetAccountRecordingsMetadataRequest.new(from,
|
60
|
+
to,
|
61
|
+
min_start_time,
|
62
|
+
max_start_time)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -7,29 +7,11 @@ module Bandwidth
|
|
7
7
|
# DisconnectMethod.
|
8
8
|
class DisconnectMethodEnum
|
9
9
|
DISCONNECT_METHOD_ENUM = [
|
10
|
-
# TODO: Write general description for GET
|
11
|
-
GET = 'GET'.freeze,
|
12
|
-
|
13
|
-
# TODO: Write general description for HEAD
|
14
|
-
HEAD = 'HEAD'.freeze,
|
15
|
-
|
16
10
|
# TODO: Write general description for POST
|
17
11
|
POST = 'POST'.freeze,
|
18
12
|
|
19
|
-
# TODO: Write general description for
|
20
|
-
|
21
|
-
|
22
|
-
# TODO: Write general description for PATCH
|
23
|
-
PATCH = 'PATCH'.freeze,
|
24
|
-
|
25
|
-
# TODO: Write general description for DELETE
|
26
|
-
DELETE = 'DELETE'.freeze,
|
27
|
-
|
28
|
-
# TODO: Write general description for OPTIONS
|
29
|
-
OPTIONS = 'OPTIONS'.freeze,
|
30
|
-
|
31
|
-
# TODO: Write general description for TRACE
|
32
|
-
TRACE = 'TRACE'.freeze
|
13
|
+
# TODO: Write general description for GET
|
14
|
+
GET = 'GET'.freeze
|
33
15
|
].freeze
|
34
16
|
end
|
35
17
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# ModifyCallRecordingState Model.
|
8
|
+
class ModifyCallRecordingState < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [State1Enum]
|
11
|
+
attr_accessor :state
|
12
|
+
|
13
|
+
# A mapping from model property names to API property names.
|
14
|
+
def self.names
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['state'] = 'state'
|
17
|
+
@_hash
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(state = nil)
|
21
|
+
@state = state
|
22
|
+
end
|
23
|
+
|
24
|
+
# Creates an instance of the object from a hash.
|
25
|
+
def self.from_hash(hash)
|
26
|
+
return nil unless hash
|
27
|
+
|
28
|
+
# Extract variables from the hash.
|
29
|
+
state = hash['state']
|
30
|
+
|
31
|
+
# Create object from extracted values.
|
32
|
+
ModifyCallRecordingState.new(state)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -27,7 +27,7 @@ module Bandwidth
|
|
27
27
|
attr_accessor :from
|
28
28
|
|
29
29
|
# TODO: Write general description for this method
|
30
|
-
# @return [
|
30
|
+
# @return [String]
|
31
31
|
attr_accessor :duration
|
32
32
|
|
33
33
|
# TODO: Write general description for this method
|
@@ -122,7 +122,7 @@ module Bandwidth
|
|
122
122
|
recording_id = hash['recordingId']
|
123
123
|
to = hash['to']
|
124
124
|
from = hash['from']
|
125
|
-
duration =
|
125
|
+
duration = hash['duration']
|
126
126
|
direction = hash['direction']
|
127
127
|
channels = hash['channels']
|
128
128
|
start_time = hash['startTime']
|
@@ -7,29 +7,11 @@ module Bandwidth
|
|
7
7
|
# RedirectMethod.
|
8
8
|
class RedirectMethodEnum
|
9
9
|
REDIRECT_METHOD_ENUM = [
|
10
|
-
# TODO: Write general description for GET
|
11
|
-
GET = 'GET'.freeze,
|
12
|
-
|
13
|
-
# TODO: Write general description for HEAD
|
14
|
-
HEAD = 'HEAD'.freeze,
|
15
|
-
|
16
10
|
# TODO: Write general description for POST
|
17
11
|
POST = 'POST'.freeze,
|
18
12
|
|
19
|
-
# TODO: Write general description for
|
20
|
-
|
21
|
-
|
22
|
-
# TODO: Write general description for PATCH
|
23
|
-
PATCH = 'PATCH'.freeze,
|
24
|
-
|
25
|
-
# TODO: Write general description for DELETE
|
26
|
-
DELETE = 'DELETE'.freeze,
|
27
|
-
|
28
|
-
# TODO: Write general description for OPTIONS
|
29
|
-
OPTIONS = 'OPTIONS'.freeze,
|
30
|
-
|
31
|
-
# TODO: Write general description for TRACE
|
32
|
-
TRACE = 'TRACE'.freeze
|
13
|
+
# TODO: Write general description for GET
|
14
|
+
GET = 'GET'.freeze
|
33
15
|
].freeze
|
34
16
|
end
|
35
17
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# State1.
|
8
|
+
class State1Enum
|
9
|
+
STATE1_ENUM = [
|
10
|
+
# TODO: Write general description for NOT_RECORDING
|
11
|
+
NOT_RECORDING = 'NOT_RECORDING'.freeze,
|
12
|
+
|
13
|
+
# TODO: Write general description for PAUSED
|
14
|
+
PAUSED = 'PAUSED'.freeze,
|
15
|
+
|
16
|
+
# TODO: Write general description for RECORDING
|
17
|
+
RECORDING = 'RECORDING'.freeze
|
18
|
+
].freeze
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# Type.
|
8
|
+
class TypeEnum
|
9
|
+
TYPE_ENUM = [
|
10
|
+
# TODO: Write general description for VALIDATION
|
11
|
+
VALIDATION = 'validation'.freeze,
|
12
|
+
|
13
|
+
# TODO: Write general description for AUTHENTICATIONERROR
|
14
|
+
AUTHENTICATIONERROR = 'authentication-error'.freeze,
|
15
|
+
|
16
|
+
# TODO: Write general description for AUTHORIZATIONERROR
|
17
|
+
AUTHORIZATIONERROR = 'authorization-error'.freeze,
|
18
|
+
|
19
|
+
# TODO: Write general description for INTERNALERROR
|
20
|
+
INTERNALERROR = 'internal-error'.freeze,
|
21
|
+
|
22
|
+
# TODO: Write general description for ERROR
|
23
|
+
ERROR = 'error'.freeze,
|
24
|
+
|
25
|
+
# TODO: Write general description for RATELIMITEXCEEDED
|
26
|
+
RATELIMITEXCEEDED = 'rate-limit-exceeded'.freeze,
|
27
|
+
|
28
|
+
# TODO: Write general description for SYSTEMOVERLOADED
|
29
|
+
SYSTEMOVERLOADED = 'system-overloaded'.freeze
|
30
|
+
].freeze
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bandwidth-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- APIMatic SDK Generator
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logging
|
@@ -133,19 +133,22 @@ files:
|
|
133
133
|
- lib/bandwidth/voice_lib/voice/client.rb
|
134
134
|
- lib/bandwidth/voice_lib/voice/controllers/api_controller.rb
|
135
135
|
- lib/bandwidth/voice_lib/voice/controllers/base_controller.rb
|
136
|
+
- lib/bandwidth/voice_lib/voice/exceptions/error_response_exception.rb
|
136
137
|
- lib/bandwidth/voice_lib/voice/models/answer_method_enum.rb
|
137
138
|
- lib/bandwidth/voice_lib/voice/models/api_call_response.rb
|
138
139
|
- lib/bandwidth/voice_lib/voice/models/api_create_call_request.rb
|
140
|
+
- lib/bandwidth/voice_lib/voice/models/api_get_account_recordings_metadata_request.rb
|
139
141
|
- lib/bandwidth/voice_lib/voice/models/api_modify_call_request.rb
|
140
142
|
- lib/bandwidth/voice_lib/voice/models/direction_enum.rb
|
141
143
|
- lib/bandwidth/voice_lib/voice/models/disconnect_method_enum.rb
|
142
|
-
- lib/bandwidth/voice_lib/voice/models/duration.rb
|
143
144
|
- lib/bandwidth/voice_lib/voice/models/file_format_enum.rb
|
145
|
+
- lib/bandwidth/voice_lib/voice/models/modify_call_recording_state.rb
|
144
146
|
- lib/bandwidth/voice_lib/voice/models/recording_metadata_response.rb
|
145
147
|
- lib/bandwidth/voice_lib/voice/models/redirect_method_enum.rb
|
148
|
+
- lib/bandwidth/voice_lib/voice/models/state1_enum.rb
|
146
149
|
- lib/bandwidth/voice_lib/voice/models/state_enum.rb
|
147
|
-
- lib/bandwidth/voice_lib/voice/models/temporal_unit.rb
|
148
150
|
- lib/bandwidth/voice_lib/voice/models/transcription_status_enum.rb
|
151
|
+
- lib/bandwidth/voice_lib/voice/models/type_enum.rb
|
149
152
|
homepage: https://apimatic.io
|
150
153
|
licenses:
|
151
154
|
- MIT
|
@@ -1,78 +0,0 @@
|
|
1
|
-
# bandwidth
|
2
|
-
#
|
3
|
-
# This file was automatically generated by APIMATIC v2.0
|
4
|
-
# ( https://apimatic.io ).
|
5
|
-
|
6
|
-
module Bandwidth
|
7
|
-
# Duration Model.
|
8
|
-
class Duration < BaseModel
|
9
|
-
# TODO: Write general description for this method
|
10
|
-
# @return [Long]
|
11
|
-
attr_accessor :seconds
|
12
|
-
|
13
|
-
# TODO: Write general description for this method
|
14
|
-
# @return [Integer]
|
15
|
-
attr_accessor :nano
|
16
|
-
|
17
|
-
# TODO: Write general description for this method
|
18
|
-
# @return [Boolean]
|
19
|
-
attr_accessor :negative
|
20
|
-
|
21
|
-
# TODO: Write general description for this method
|
22
|
-
# @return [Boolean]
|
23
|
-
attr_accessor :zero
|
24
|
-
|
25
|
-
# TODO: Write general description for this method
|
26
|
-
# @return [List of TemporalUnit]
|
27
|
-
attr_accessor :units
|
28
|
-
|
29
|
-
# A mapping from model property names to API property names.
|
30
|
-
def self.names
|
31
|
-
@_hash = {} if @_hash.nil?
|
32
|
-
@_hash['seconds'] = 'seconds'
|
33
|
-
@_hash['nano'] = 'nano'
|
34
|
-
@_hash['negative'] = 'negative'
|
35
|
-
@_hash['zero'] = 'zero'
|
36
|
-
@_hash['units'] = 'units'
|
37
|
-
@_hash
|
38
|
-
end
|
39
|
-
|
40
|
-
def initialize(seconds = nil,
|
41
|
-
nano = nil,
|
42
|
-
negative = nil,
|
43
|
-
zero = nil,
|
44
|
-
units = nil)
|
45
|
-
@seconds = seconds
|
46
|
-
@nano = nano
|
47
|
-
@negative = negative
|
48
|
-
@zero = zero
|
49
|
-
@units = units
|
50
|
-
end
|
51
|
-
|
52
|
-
# Creates an instance of the object from a hash.
|
53
|
-
def self.from_hash(hash)
|
54
|
-
return nil unless hash
|
55
|
-
|
56
|
-
# Extract variables from the hash.
|
57
|
-
seconds = hash['seconds']
|
58
|
-
nano = hash['nano']
|
59
|
-
negative = hash['negative']
|
60
|
-
zero = hash['zero']
|
61
|
-
# Parameter is an array, so we need to iterate through it
|
62
|
-
units = nil
|
63
|
-
unless hash['units'].nil?
|
64
|
-
units = []
|
65
|
-
hash['units'].each do |structure|
|
66
|
-
units << (TemporalUnit.from_hash(structure) if structure)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
# Create object from extracted values.
|
71
|
-
Duration.new(seconds,
|
72
|
-
nano,
|
73
|
-
negative,
|
74
|
-
zero,
|
75
|
-
units)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
@@ -1,62 +0,0 @@
|
|
1
|
-
# bandwidth
|
2
|
-
#
|
3
|
-
# This file was automatically generated by APIMATIC v2.0
|
4
|
-
# ( https://apimatic.io ).
|
5
|
-
|
6
|
-
module Bandwidth
|
7
|
-
# TemporalUnit Model.
|
8
|
-
class TemporalUnit < BaseModel
|
9
|
-
# TODO: Write general description for this method
|
10
|
-
# @return [Duration]
|
11
|
-
attr_accessor :duration
|
12
|
-
|
13
|
-
# TODO: Write general description for this method
|
14
|
-
# @return [Boolean]
|
15
|
-
attr_accessor :duration_estimated
|
16
|
-
|
17
|
-
# TODO: Write general description for this method
|
18
|
-
# @return [Boolean]
|
19
|
-
attr_accessor :date_based
|
20
|
-
|
21
|
-
# TODO: Write general description for this method
|
22
|
-
# @return [Boolean]
|
23
|
-
attr_accessor :time_based
|
24
|
-
|
25
|
-
# A mapping from model property names to API property names.
|
26
|
-
def self.names
|
27
|
-
@_hash = {} if @_hash.nil?
|
28
|
-
@_hash['duration'] = 'duration'
|
29
|
-
@_hash['duration_estimated'] = 'durationEstimated'
|
30
|
-
@_hash['date_based'] = 'dateBased'
|
31
|
-
@_hash['time_based'] = 'timeBased'
|
32
|
-
@_hash
|
33
|
-
end
|
34
|
-
|
35
|
-
def initialize(duration = nil,
|
36
|
-
duration_estimated = nil,
|
37
|
-
date_based = nil,
|
38
|
-
time_based = nil)
|
39
|
-
@duration = duration
|
40
|
-
@duration_estimated = duration_estimated
|
41
|
-
@date_based = date_based
|
42
|
-
@time_based = time_based
|
43
|
-
end
|
44
|
-
|
45
|
-
# Creates an instance of the object from a hash.
|
46
|
-
def self.from_hash(hash)
|
47
|
-
return nil unless hash
|
48
|
-
|
49
|
-
# Extract variables from the hash.
|
50
|
-
duration = Duration.from_hash(hash['duration']) if hash['duration']
|
51
|
-
duration_estimated = hash['durationEstimated']
|
52
|
-
date_based = hash['dateBased']
|
53
|
-
time_based = hash['timeBased']
|
54
|
-
|
55
|
-
# Create object from extracted values.
|
56
|
-
TemporalUnit.new(duration,
|
57
|
-
duration_estimated,
|
58
|
-
date_based,
|
59
|
-
time_based)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|