bandwidth-sdk 3.7.0 → 3.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/bandwidth.rb +24 -1
- data/lib/bandwidth/api_helper.rb +14 -9
- data/lib/bandwidth/client.rb +2 -0
- data/lib/bandwidth/configuration.rb +23 -4
- data/lib/bandwidth/messaging_lib/messaging/client.rb +2 -0
- data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +18 -12
- data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/client.rb +2 -0
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/api_controller.rb +14 -9
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/bridge.rb +7 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/conference.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/gather.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/phone_number.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/record.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/redirect.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/ring.rb +15 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/start_gather.rb +20 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/stop_gather.rb +14 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/transfer.rb +5 -1
- data/lib/bandwidth/voice_lib/voice.rb +8 -2
- data/lib/bandwidth/voice_lib/voice/client.rb +2 -0
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +625 -55
- data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/voice_lib/voice/models/answer_fallback_method_enum.rb +17 -0
- data/lib/bandwidth/voice_lib/voice/models/api_call_response.rb +45 -0
- data/lib/bandwidth/voice_lib/voice/models/api_create_call_request.rb +45 -0
- data/lib/bandwidth/voice_lib/voice/models/api_modify_call_request.rb +36 -0
- data/lib/bandwidth/voice_lib/voice/models/api_transcribe_recording_request.rb +11 -2
- data/lib/bandwidth/voice_lib/voice/models/call_engine_modify_conference_request.rb +74 -2
- data/lib/bandwidth/voice_lib/voice/models/conference_detail.rb +108 -0
- data/lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb +35 -0
- data/lib/bandwidth/voice_lib/voice/models/conference_member_detail.rb +80 -0
- data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata_response.rb +126 -0
- data/lib/bandwidth/voice_lib/voice/models/recording_metadata_response.rb +32 -4
- data/lib/bandwidth/voice_lib/voice/models/redirect_fallback_method_enum.rb +17 -0
- data/lib/bandwidth/voice_lib/voice/models/state_enum.rb +3 -3
- data/lib/bandwidth/voice_lib/voice/models/status1_enum.rb +4 -1
- data/lib/bandwidth/voice_lib/voice/models/{status2_enum.rb → status3_enum.rb} +3 -3
- data/lib/bandwidth/voice_lib/voice/models/transcription.rb +1 -1
- data/lib/bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb +13 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +2 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +40 -30
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +1 -1
- metadata +33 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1687b38b81b8c6261c0038d6bf49001afb6a1126098cf07cba1576cdba424a5
|
4
|
+
data.tar.gz: 7499a2af7f7671fab927b849b412a530ae434355d7f500394a373d473992de33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f5db84d3cd22771e57fa410a2ae87f9f648b389977a4bc2cb8c8a0c99dea18e26babf107572e4415102cd6c464e9cbaddfaed1989eac84254c8f850a757c7c6
|
7
|
+
data.tar.gz: f92963f362440fa3853db7ec18e019321d3ccac442490dfe18a19c6749339e7a65eb5ab1dfa25723a4384b1252ed536ef6bdce78605029372dc6b8f74f1a4316
|
data/lib/bandwidth.rb
CHANGED
@@ -42,4 +42,27 @@ require_relative 'bandwidth/http/auth/voice_basic_auth.rb'
|
|
42
42
|
require_relative 'bandwidth/web_rtc_lib/web_rtc'
|
43
43
|
require_relative 'bandwidth/http/auth/web_rtc_basic_auth.rb'
|
44
44
|
|
45
|
-
#
|
45
|
+
# External Files
|
46
|
+
require_relative 'bandwidth/voice_lib/bxml/bxml.rb'
|
47
|
+
require_relative 'bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb'
|
48
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/bridge.rb'
|
49
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/conference.rb'
|
50
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/forward.rb'
|
51
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/gather.rb'
|
52
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/hangup.rb'
|
53
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/pause.rb'
|
54
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/pause_recording.rb'
|
55
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/phone_number.rb'
|
56
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/play_audio.rb'
|
57
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/record.rb'
|
58
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/redirect.rb'
|
59
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/resume_recording.rb'
|
60
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/ring.rb'
|
61
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/send_dtmf.rb'
|
62
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/speak_sentence.rb'
|
63
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/start_gather.rb'
|
64
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/start_recording.rb'
|
65
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/stop_gather.rb'
|
66
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/stop_recording.rb'
|
67
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/transfer.rb'
|
68
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/xml_verb.rb'
|
data/lib/bandwidth/api_helper.rb
CHANGED
@@ -41,17 +41,22 @@ module Bandwidth
|
|
41
41
|
# Return if there are no parameters to replace.
|
42
42
|
return query_builder if parameters.nil?
|
43
43
|
|
44
|
-
|
45
|
-
|
46
|
-
replace_value = ''
|
47
|
-
|
48
|
-
if value.nil?
|
44
|
+
parameters.each do |key, val|
|
45
|
+
if val.nil?
|
49
46
|
replace_value = ''
|
50
|
-
elsif value.instance_of? Array
|
51
|
-
|
52
|
-
|
47
|
+
elsif val['value'].instance_of? Array
|
48
|
+
if val['encode'] == true
|
49
|
+
val['value'].map! { |element| CGI.escape(element.to_s) }
|
50
|
+
else
|
51
|
+
val['value'].map!(&:to_s)
|
52
|
+
end
|
53
|
+
replace_value = val['value'].join('/')
|
53
54
|
else
|
54
|
-
replace_value =
|
55
|
+
replace_value = if val['encode'] == true
|
56
|
+
CGI.escape(val['value'].to_s)
|
57
|
+
else
|
58
|
+
val['value'].to_s
|
59
|
+
end
|
55
60
|
end
|
56
61
|
|
57
62
|
# Find the template parameter and replace it with its value.
|
data/lib/bandwidth/client.rb
CHANGED
@@ -30,6 +30,7 @@ module Bandwidth
|
|
30
30
|
|
31
31
|
def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
|
32
32
|
backoff_factor: 1, environment: Environment::PRODUCTION,
|
33
|
+
base_url: 'https://www.example.com',
|
33
34
|
messaging_basic_auth_user_name: 'TODO: Replace',
|
34
35
|
messaging_basic_auth_password: 'TODO: Replace',
|
35
36
|
two_factor_auth_basic_auth_user_name: 'TODO: Replace',
|
@@ -43,6 +44,7 @@ module Bandwidth
|
|
43
44
|
retry_interval: retry_interval,
|
44
45
|
backoff_factor: backoff_factor,
|
45
46
|
environment: environment,
|
47
|
+
base_url: base_url,
|
46
48
|
messaging_basic_auth_user_name: messaging_basic_auth_user_name,
|
47
49
|
messaging_basic_auth_password: messaging_basic_auth_password,
|
48
50
|
two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
|
@@ -7,7 +7,8 @@ module Bandwidth
|
|
7
7
|
# An enum for SDK environments.
|
8
8
|
class Environment
|
9
9
|
ENVIRONMENT = [
|
10
|
-
PRODUCTION = 'production'.freeze
|
10
|
+
PRODUCTION = 'production'.freeze,
|
11
|
+
CUSTOM = 'custom'.freeze
|
11
12
|
].freeze
|
12
13
|
end
|
13
14
|
|
@@ -32,6 +33,7 @@ module Bandwidth
|
|
32
33
|
attr_reader :retry_interval
|
33
34
|
attr_reader :backoff_factor
|
34
35
|
attr_reader :environment
|
36
|
+
attr_reader :base_url
|
35
37
|
attr_reader :messaging_basic_auth_user_name
|
36
38
|
attr_reader :messaging_basic_auth_password
|
37
39
|
attr_reader :two_factor_auth_basic_auth_user_name
|
@@ -47,6 +49,7 @@ module Bandwidth
|
|
47
49
|
|
48
50
|
def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
|
49
51
|
backoff_factor: 1, environment: Environment::PRODUCTION,
|
52
|
+
base_url: 'https://www.example.com',
|
50
53
|
messaging_basic_auth_user_name: 'TODO: Replace',
|
51
54
|
messaging_basic_auth_password: 'TODO: Replace',
|
52
55
|
two_factor_auth_basic_auth_user_name: 'TODO: Replace',
|
@@ -71,6 +74,9 @@ module Bandwidth
|
|
71
74
|
# Current API environment
|
72
75
|
@environment = String(environment)
|
73
76
|
|
77
|
+
# baseUrl value
|
78
|
+
@base_url = base_url
|
79
|
+
|
74
80
|
# The username to use with basic authentication
|
75
81
|
@messaging_basic_auth_user_name = messaging_basic_auth_user_name
|
76
82
|
|
@@ -100,7 +106,7 @@ module Bandwidth
|
|
100
106
|
end
|
101
107
|
|
102
108
|
def clone_with(timeout: nil, max_retries: nil, retry_interval: nil,
|
103
|
-
backoff_factor: nil, environment: nil,
|
109
|
+
backoff_factor: nil, environment: nil, base_url: nil,
|
104
110
|
messaging_basic_auth_user_name: nil,
|
105
111
|
messaging_basic_auth_password: nil,
|
106
112
|
two_factor_auth_basic_auth_user_name: nil,
|
@@ -114,6 +120,7 @@ module Bandwidth
|
|
114
120
|
retry_interval ||= self.retry_interval
|
115
121
|
backoff_factor ||= self.backoff_factor
|
116
122
|
environment ||= self.environment
|
123
|
+
base_url ||= self.base_url
|
117
124
|
messaging_basic_auth_user_name ||= self.messaging_basic_auth_user_name
|
118
125
|
messaging_basic_auth_password ||= self.messaging_basic_auth_password
|
119
126
|
two_factor_auth_basic_auth_user_name ||= self.two_factor_auth_basic_auth_user_name
|
@@ -126,7 +133,7 @@ module Bandwidth
|
|
126
133
|
Configuration.new(
|
127
134
|
timeout: timeout, max_retries: max_retries,
|
128
135
|
retry_interval: retry_interval, backoff_factor: backoff_factor,
|
129
|
-
environment: environment,
|
136
|
+
environment: environment, base_url: base_url,
|
130
137
|
messaging_basic_auth_user_name: messaging_basic_auth_user_name,
|
131
138
|
messaging_basic_auth_password: messaging_basic_auth_password,
|
132
139
|
two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
|
@@ -152,6 +159,13 @@ module Bandwidth
|
|
152
159
|
Server::TWOFACTORAUTHDEFAULT => 'https://mfa.bandwidth.com/api/v1/',
|
153
160
|
Server::VOICEDEFAULT => 'https://voice.bandwidth.com',
|
154
161
|
Server::WEBRTCDEFAULT => 'https://api.webrtc.bandwidth.com/v1'
|
162
|
+
},
|
163
|
+
Environment::CUSTOM => {
|
164
|
+
Server::DEFAULT => '{base_url}',
|
165
|
+
Server::MESSAGINGDEFAULT => '{base_url}',
|
166
|
+
Server::TWOFACTORAUTHDEFAULT => '{base_url}',
|
167
|
+
Server::VOICEDEFAULT => '{base_url}',
|
168
|
+
Server::WEBRTCDEFAULT => '{base_url}'
|
155
169
|
}
|
156
170
|
}.freeze
|
157
171
|
|
@@ -160,7 +174,12 @@ module Bandwidth
|
|
160
174
|
# required.
|
161
175
|
# @return [String] The base URI.
|
162
176
|
def get_base_uri(server = Server::DEFAULT)
|
163
|
-
|
177
|
+
parameters = {
|
178
|
+
'base_url' => { 'value' => base_url, 'encode' => false }
|
179
|
+
}
|
180
|
+
APIHelper.append_url_with_template_parameters(
|
181
|
+
ENVIRONMENTS[environment][server], parameters
|
182
|
+
)
|
164
183
|
end
|
165
184
|
end
|
166
185
|
end
|
@@ -17,6 +17,7 @@ module Bandwidth
|
|
17
17
|
|
18
18
|
def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
|
19
19
|
backoff_factor: 1, environment: Environment::PRODUCTION,
|
20
|
+
base_url: 'https://www.example.com',
|
20
21
|
messaging_basic_auth_user_name: 'TODO: Replace',
|
21
22
|
messaging_basic_auth_password: 'TODO: Replace',
|
22
23
|
two_factor_auth_basic_auth_user_name: 'TODO: Replace',
|
@@ -32,6 +33,7 @@ module Bandwidth
|
|
32
33
|
retry_interval: retry_interval,
|
33
34
|
backoff_factor: backoff_factor,
|
34
35
|
environment: environment,
|
36
|
+
base_url: base_url,
|
35
37
|
messaging_basic_auth_user_name: messaging_basic_auth_user_name,
|
36
38
|
messaging_basic_auth_password: messaging_basic_auth_password,
|
37
39
|
two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
|
@@ -22,7 +22,7 @@ module Messaging
|
|
22
22
|
_query_builder << '/users/{userId}/media'
|
23
23
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
24
24
|
_query_builder,
|
25
|
-
'userId' => user_id
|
25
|
+
'userId' => { 'value' => user_id, 'encode' => true }
|
26
26
|
)
|
27
27
|
_query_url = APIHelper.clean_url _query_builder
|
28
28
|
|
@@ -76,8 +76,10 @@ module Messaging
|
|
76
76
|
|
77
77
|
# Return appropriate response type.
|
78
78
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
79
|
-
ApiResponse.new(
|
80
|
-
|
79
|
+
ApiResponse.new(
|
80
|
+
_response,
|
81
|
+
data: decoded.map { |element| Media.from_hash(element) }
|
82
|
+
)
|
81
83
|
end
|
82
84
|
|
83
85
|
# getMedia
|
@@ -91,8 +93,8 @@ module Messaging
|
|
91
93
|
_query_builder << '/users/{userId}/media/{mediaId}'
|
92
94
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
93
95
|
_query_builder,
|
94
|
-
'userId' => user_id,
|
95
|
-
'mediaId' => media_id
|
96
|
+
'userId' => { 'value' => user_id, 'encode' => true },
|
97
|
+
'mediaId' => { 'value' => media_id, 'encode' => true }
|
96
98
|
)
|
97
99
|
_query_url = APIHelper.clean_url _query_builder
|
98
100
|
|
@@ -138,7 +140,9 @@ module Messaging
|
|
138
140
|
validate_response(_response)
|
139
141
|
|
140
142
|
# Return appropriate response type.
|
141
|
-
ApiResponse.new(
|
143
|
+
ApiResponse.new(
|
144
|
+
_response, data: _response.raw_body
|
145
|
+
)
|
142
146
|
end
|
143
147
|
|
144
148
|
# uploadMedia
|
@@ -161,8 +165,8 @@ module Messaging
|
|
161
165
|
_query_builder << '/users/{userId}/media/{mediaId}'
|
162
166
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
163
167
|
_query_builder,
|
164
|
-
'userId' => user_id,
|
165
|
-
'mediaId' => media_id
|
168
|
+
'userId' => { 'value' => user_id, 'encode' => true },
|
169
|
+
'mediaId' => { 'value' => media_id, 'encode' => true }
|
166
170
|
)
|
167
171
|
_query_url = APIHelper.clean_url _query_builder
|
168
172
|
|
@@ -240,8 +244,8 @@ module Messaging
|
|
240
244
|
_query_builder << '/users/{userId}/media/{mediaId}'
|
241
245
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
242
246
|
_query_builder,
|
243
|
-
'userId' => user_id,
|
244
|
-
'mediaId' => media_id
|
247
|
+
'userId' => { 'value' => user_id, 'encode' => true },
|
248
|
+
'mediaId' => { 'value' => media_id, 'encode' => true }
|
245
249
|
)
|
246
250
|
_query_url = APIHelper.clean_url _query_builder
|
247
251
|
|
@@ -301,7 +305,7 @@ module Messaging
|
|
301
305
|
_query_builder << '/users/{userId}/messages'
|
302
306
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
303
307
|
_query_builder,
|
304
|
-
'userId' => user_id
|
308
|
+
'userId' => { 'value' => user_id, 'encode' => true }
|
305
309
|
)
|
306
310
|
_query_url = APIHelper.clean_url _query_builder
|
307
311
|
|
@@ -356,7 +360,9 @@ module Messaging
|
|
356
360
|
|
357
361
|
# Return appropriate response type.
|
358
362
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
359
|
-
ApiResponse.new(
|
363
|
+
ApiResponse.new(
|
364
|
+
_response, data: BandwidthMessage.from_hash(decoded)
|
365
|
+
)
|
360
366
|
end
|
361
367
|
end
|
362
368
|
end
|
@@ -17,6 +17,7 @@ module Bandwidth
|
|
17
17
|
|
18
18
|
def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
|
19
19
|
backoff_factor: 1, environment: Environment::PRODUCTION,
|
20
|
+
base_url: 'https://www.example.com',
|
20
21
|
messaging_basic_auth_user_name: 'TODO: Replace',
|
21
22
|
messaging_basic_auth_password: 'TODO: Replace',
|
22
23
|
two_factor_auth_basic_auth_user_name: 'TODO: Replace',
|
@@ -32,6 +33,7 @@ module Bandwidth
|
|
32
33
|
retry_interval: retry_interval,
|
33
34
|
backoff_factor: backoff_factor,
|
34
35
|
environment: environment,
|
36
|
+
base_url: base_url,
|
35
37
|
messaging_basic_auth_user_name: messaging_basic_auth_user_name,
|
36
38
|
messaging_basic_auth_password: messaging_basic_auth_password,
|
37
39
|
two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
|
@@ -23,7 +23,7 @@ module TwoFactorAuth
|
|
23
23
|
_query_builder << '/accounts/{accountId}/code/voice'
|
24
24
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
25
25
|
_query_builder,
|
26
|
-
'accountId' => account_id
|
26
|
+
'accountId' => { 'value' => account_id, 'encode' => true }
|
27
27
|
)
|
28
28
|
_query_url = APIHelper.clean_url _query_builder
|
29
29
|
|
@@ -53,8 +53,9 @@ module TwoFactorAuth
|
|
53
53
|
|
54
54
|
# Return appropriate response type.
|
55
55
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
56
|
-
ApiResponse.new(
|
57
|
-
|
56
|
+
ApiResponse.new(
|
57
|
+
_response, data: TwoFactorVoiceResponse.from_hash(decoded)
|
58
|
+
)
|
58
59
|
end
|
59
60
|
|
60
61
|
# Two-Factor authentication with Bandwidth messaging services
|
@@ -69,7 +70,7 @@ module TwoFactorAuth
|
|
69
70
|
_query_builder << '/accounts/{accountId}/code/messaging'
|
70
71
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
71
72
|
_query_builder,
|
72
|
-
'accountId' => account_id
|
73
|
+
'accountId' => { 'value' => account_id, 'encode' => true }
|
73
74
|
)
|
74
75
|
_query_url = APIHelper.clean_url _query_builder
|
75
76
|
|
@@ -99,8 +100,10 @@ module TwoFactorAuth
|
|
99
100
|
|
100
101
|
# Return appropriate response type.
|
101
102
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
102
|
-
ApiResponse.new(
|
103
|
-
|
103
|
+
ApiResponse.new(
|
104
|
+
_response,
|
105
|
+
data: TwoFactorMessagingResponse.from_hash(decoded)
|
106
|
+
)
|
104
107
|
end
|
105
108
|
|
106
109
|
# Verify a previously sent two-factor authentication code
|
@@ -115,7 +118,7 @@ module TwoFactorAuth
|
|
115
118
|
_query_builder << '/accounts/{accountId}/code/verify'
|
116
119
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
117
120
|
_query_builder,
|
118
|
-
'accountId' => account_id
|
121
|
+
'accountId' => { 'value' => account_id, 'encode' => true }
|
119
122
|
)
|
120
123
|
_query_url = APIHelper.clean_url _query_builder
|
121
124
|
|
@@ -145,8 +148,10 @@ module TwoFactorAuth
|
|
145
148
|
|
146
149
|
# Return appropriate response type.
|
147
150
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
148
|
-
ApiResponse.new(
|
149
|
-
|
151
|
+
ApiResponse.new(
|
152
|
+
_response,
|
153
|
+
data: TwoFactorVerifyCodeResponse.from_hash(decoded)
|
154
|
+
)
|
150
155
|
end
|
151
156
|
end
|
152
157
|
end
|
@@ -14,7 +14,13 @@ module Bandwidth
|
|
14
14
|
'bridgeTargetCompleteMethod' => bridge_target_complete_method,
|
15
15
|
'username' => username,
|
16
16
|
'password' => password,
|
17
|
-
'tag' => tag
|
17
|
+
'tag' => tag,
|
18
|
+
'bridgeCompleteFallbackUrl' => bridge_complete_fallback_url,
|
19
|
+
'bridgeCompleteFallbackMethod' => bridge_complete_fallback_method,
|
20
|
+
'bridgeTargetCompleteFallbackUrl' => bridge_target_complete_fallback_url,
|
21
|
+
'bridgeTargetCompleteFallbackMethod' => bridge_target_complete_fallback_method,
|
22
|
+
'fallbackUsername' => fallback_username,
|
23
|
+
'fallbackPassword' => fallback_password
|
18
24
|
}))
|
19
25
|
end
|
20
26
|
end
|
@@ -20,7 +20,11 @@ module Bandwidth
|
|
20
20
|
'conferenceEventMethod' => conference_event_method,
|
21
21
|
'username' => username,
|
22
22
|
'password' => password,
|
23
|
-
'tag' => tag
|
23
|
+
'tag' => tag,
|
24
|
+
'conferenceEventFallbackUrl' => conference_event_fallback_url,
|
25
|
+
'conferenceEventFallbackMethod' => conference_event_fallback_method,
|
26
|
+
'fallbackUsername' => fallback_username,
|
27
|
+
'fallbackPassword' => fallback_password
|
24
28
|
}))
|
25
29
|
end
|
26
30
|
end
|
@@ -17,7 +17,11 @@ module Bandwidth
|
|
17
17
|
'username' => username,
|
18
18
|
'password' => password,
|
19
19
|
'firstDigitTimeout' => first_digit_timeout,
|
20
|
-
'repeatCount' => repeat_count
|
20
|
+
'repeatCount' => repeat_count,
|
21
|
+
'gatherFallbackUrl' => gather_fallback_url,
|
22
|
+
'gatherFallbackMethod' => gather_fallback_method,
|
23
|
+
'fallbackUsername' => fallback_username,
|
24
|
+
'fallbackPassword' => fallback_password
|
21
25
|
})) do
|
22
26
|
def embedded_xml(xml, property, type)
|
23
27
|
if property
|
@@ -12,7 +12,11 @@ module Bandwidth
|
|
12
12
|
'transferDisconnectMethod' => transfer_disconnect_method,
|
13
13
|
'username' => username,
|
14
14
|
'password' => password,
|
15
|
-
'tag' => tag
|
15
|
+
'tag' => tag,
|
16
|
+
'transferAnswerFallbackUrl' => transfer_answer_fallback_url,
|
17
|
+
'transferAnswerFallbackMethod' => transfer_answer_fallback_method,
|
18
|
+
'fallbackUsername' => fallback_username,
|
19
|
+
'fallbackPassword' => fallback_password
|
16
20
|
}))
|
17
21
|
end
|
18
22
|
end
|
@@ -21,7 +21,11 @@ module Bandwidth
|
|
21
21
|
'transcribe' => transcribe,
|
22
22
|
'transcriptionAvailableUrl' => transcription_available_url,
|
23
23
|
'transcriptionAvailableMethod' => transcription_available_method,
|
24
|
-
'silenceTimeout' => silence_timeout
|
24
|
+
'silenceTimeout' => silence_timeout,
|
25
|
+
'recordCompleteFallbackUrl' => record_complete_fallback_url,
|
26
|
+
'recordCompleteFallbackMethod' => record_complete_fallback_method,
|
27
|
+
'fallbackUsername' => fallback_username,
|
28
|
+
'fallbackPassword' => fallback_password
|
25
29
|
}))
|
26
30
|
end
|
27
31
|
end
|
@@ -12,7 +12,11 @@ module Bandwidth
|
|
12
12
|
'redirectMethod' => redirect_method,
|
13
13
|
'tag' => tag,
|
14
14
|
'username' => username,
|
15
|
-
'password' => password
|
15
|
+
'password' => password,
|
16
|
+
'redirectFallbackUrl' => redirect_fallback_url,
|
17
|
+
'redirectFallbackMethod' => redirect_fallback_method,
|
18
|
+
'fallbackUsername' => fallback_username,
|
19
|
+
'fallbackPassword' => fallback_password
|
16
20
|
}))
|
17
21
|
end
|
18
22
|
end
|