bandwidth-sdk 3.9.0 → 3.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bandwidth/client.rb +2 -0
  3. data/lib/bandwidth/configuration.rb +23 -4
  4. data/lib/bandwidth/messaging_lib/messaging/client.rb +2 -0
  5. data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +1 -1
  6. data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/client.rb +2 -0
  7. data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb +1 -1
  8. data/lib/bandwidth/voice_lib/bxml/verbs/bridge.rb +7 -1
  9. data/lib/bandwidth/voice_lib/bxml/verbs/conference.rb +5 -1
  10. data/lib/bandwidth/voice_lib/bxml/verbs/gather.rb +5 -1
  11. data/lib/bandwidth/voice_lib/bxml/verbs/phone_number.rb +5 -1
  12. data/lib/bandwidth/voice_lib/bxml/verbs/record.rb +5 -1
  13. data/lib/bandwidth/voice_lib/bxml/verbs/redirect.rb +5 -1
  14. data/lib/bandwidth/voice_lib/bxml/verbs/ring.rb +15 -0
  15. data/lib/bandwidth/voice_lib/bxml/verbs/transfer.rb +5 -1
  16. data/lib/bandwidth/voice_lib/voice.rb +2 -0
  17. data/lib/bandwidth/voice_lib/voice/client.rb +2 -0
  18. data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +1 -1
  19. data/lib/bandwidth/voice_lib/voice/models/answer_fallback_method_enum.rb +17 -0
  20. data/lib/bandwidth/voice_lib/voice/models/api_call_response.rb +45 -0
  21. data/lib/bandwidth/voice_lib/voice/models/api_create_call_request.rb +45 -0
  22. data/lib/bandwidth/voice_lib/voice/models/api_modify_call_request.rb +36 -0
  23. data/lib/bandwidth/voice_lib/voice/models/api_transcribe_recording_request.rb +11 -2
  24. data/lib/bandwidth/voice_lib/voice/models/call_engine_modify_conference_request.rb +38 -2
  25. data/lib/bandwidth/voice_lib/voice/models/conference_detail.rb +7 -4
  26. data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata_response.rb +5 -4
  27. data/lib/bandwidth/voice_lib/voice/models/recording_metadata_response.rb +5 -4
  28. data/lib/bandwidth/voice_lib/voice/models/redirect_fallback_method_enum.rb +17 -0
  29. data/lib/bandwidth/voice_lib/voice/models/state_enum.rb +3 -3
  30. data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +2 -0
  31. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +1 -1
  32. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f60ebb7f84d08c70a63b5e3e0f66dbbba6ed9454e00eff7cd33b8b09ba0253b4
4
- data.tar.gz: 3473820c95bb5b50f4b416f26aed89a3131e0641532499e75cf89879ef2f8e30
3
+ metadata.gz: f3d2881e1496cedc05c46f0cfd26e3d3d5f962ed99a44b058716601e604b9fdf
4
+ data.tar.gz: ee7642af1962da2ed997831b55dde24a8e6568403d47affd12df2200aae2a477
5
5
  SHA512:
6
- metadata.gz: eb17e8c233e85ddf3a0f83e84e58117cb8cdcb16b5e18b6a13de2cecd7ec6bfe1e586dc0ff7187a6db861173a80f9bfcf3c41a9c239bb29c7abffb0e3d2670ba
7
- data.tar.gz: 68d4877a6985d95bb3744fa7d321a3f9784c9237795a5a0e78a4899dc3afa73e3c09f568d235068e32c0d4bdc08231b873aa3a80b55ebbb4ffadfe09ef95afed
6
+ metadata.gz: d8fb09237fb2de6e11a8714b7944dd46a8fbae1ca80c93eb5e596a039012a3755b850075ffb84c4e2bb55e914b08d71852ffdb307daba184d53ade4ac976b37b
7
+ data.tar.gz: 44c19dfccfbc76061c5977ac581ae041db2ddd62ddccfff99235e52d9e04134f4035ed934261656e1b11270d006d707f43d8377e429e169ff019b362ba480b1c
@@ -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
- ENVIRONMENTS[environment][server].clone
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,
@@ -13,7 +13,7 @@ module Bandwidth
13
13
  @http_call_back = http_call_back
14
14
 
15
15
  @global_headers = {
16
- 'user-agent' => 'ruby-sdk-refs/tags/ruby3.9.0'
16
+ 'user-agent' => 'ruby-sdk-refs/tags/ruby3.10.0'
17
17
  }
18
18
  end
19
19
 
@@ -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,
@@ -13,7 +13,7 @@ module Bandwidth
13
13
  @http_call_back = http_call_back
14
14
 
15
15
  @global_headers = {
16
- 'user-agent' => 'ruby-sdk-refs/tags/ruby3.9.0'
16
+ 'user-agent' => 'ruby-sdk-refs/tags/ruby3.10.0'
17
17
  }
18
18
  end
19
19
 
@@ -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
@@ -0,0 +1,15 @@
1
+ require_relative 'xml_verb'
2
+
3
+ module Bandwidth
4
+ module Voice
5
+ class Ring
6
+ include XmlVerb
7
+
8
+ def to_bxml(xml)
9
+ xml.Ring(compact_hash({
10
+ 'duration' => duration
11
+ }))
12
+ end
13
+ end
14
+ end
15
+ end
@@ -16,7 +16,11 @@ module Bandwidth
16
16
  'username' => username,
17
17
  'password' => password,
18
18
  'diversionTreatment' => diversion_treatment,
19
- 'diversionReason' => diversion_reason
19
+ 'diversionReason' => diversion_reason,
20
+ 'transferCompleteFallbackUrl' => transfer_complete_fallback_url,
21
+ 'transferCompleteFallbackMethod' => transfer_complete_fallback_method,
22
+ 'fallbackUsername' => fallback_username,
23
+ 'fallbackPassword' => fallback_password
20
24
  })) do
21
25
  def embedded_xml(xml, property, type)
22
26
  if property
@@ -21,6 +21,7 @@ require_relative 'voice/models/recording_metadata_response.rb'
21
21
  require_relative 'voice/models/transcript.rb'
22
22
  require_relative 'voice/models/transcription.rb'
23
23
  require_relative 'voice/models/transcription_response.rb'
24
+ require_relative 'voice/models/answer_fallback_method_enum.rb'
24
25
  require_relative 'voice/models/answer_method_enum.rb'
25
26
  require_relative 'voice/models/callback_method_enum.rb'
26
27
  require_relative 'voice/models/conference_event_method_enum.rb'
@@ -28,6 +29,7 @@ require_relative 'voice/models/direction_enum.rb'
28
29
  require_relative 'voice/models/disconnect_cause_enum.rb'
29
30
  require_relative 'voice/models/disconnect_method_enum.rb'
30
31
  require_relative 'voice/models/file_format_enum.rb'
32
+ require_relative 'voice/models/redirect_fallback_method_enum.rb'
31
33
  require_relative 'voice/models/redirect_method_enum.rb'
32
34
  require_relative 'voice/models/state_enum.rb'
33
35
  require_relative 'voice/models/state1_enum.rb'
@@ -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,
@@ -13,7 +13,7 @@ module Bandwidth
13
13
  @http_call_back = http_call_back
14
14
 
15
15
  @global_headers = {
16
- 'user-agent' => 'ruby-sdk-refs/tags/ruby3.9.0'
16
+ 'user-agent' => 'ruby-sdk-refs/tags/ruby3.10.0'
17
17
  }
18
18
  end
19
19
 
@@ -0,0 +1,17 @@
1
+ # bandwidth
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module Bandwidth
7
+ # AnswerFallbackMethod.
8
+ class AnswerFallbackMethodEnum
9
+ ANSWER_FALLBACK_METHOD_ENUM = [
10
+ # TODO: Write general description for POST
11
+ POST = 'POST'.freeze,
12
+
13
+ # TODO: Write general description for GET
14
+ GET = 'GET'.freeze
15
+ ].freeze
16
+ end
17
+ end
@@ -39,6 +39,10 @@ module Bandwidth
39
39
  # @return [Float]
40
40
  attr_accessor :call_timeout
41
41
 
42
+ # TODO: Write general description for this method
43
+ # @return [Float]
44
+ attr_accessor :callback_timeout
45
+
42
46
  # TODO: Write general description for this method
43
47
  # @return [String]
44
48
  attr_accessor :answer_url
@@ -47,6 +51,14 @@ module Bandwidth
47
51
  # @return [AnswerMethodEnum]
48
52
  attr_accessor :answer_method
49
53
 
54
+ # TODO: Write general description for this method
55
+ # @return [String]
56
+ attr_accessor :answer_fallback_url
57
+
58
+ # TODO: Write general description for this method
59
+ # @return [AnswerFallbackMethodEnum]
60
+ attr_accessor :answer_fallback_method
61
+
50
62
  # TODO: Write general description for this method
51
63
  # @return [String]
52
64
  attr_accessor :disconnect_url
@@ -63,6 +75,14 @@ module Bandwidth
63
75
  # @return [String]
64
76
  attr_accessor :password
65
77
 
78
+ # TODO: Write general description for this method
79
+ # @return [String]
80
+ attr_accessor :fallback_username
81
+
82
+ # TODO: Write general description for this method
83
+ # @return [String]
84
+ attr_accessor :fallback_password
85
+
66
86
  # TODO: Write general description for this method
67
87
  # @return [String]
68
88
  attr_accessor :tag
@@ -78,12 +98,17 @@ module Bandwidth
78
98
  @_hash['start_time'] = 'startTime'
79
99
  @_hash['call_url'] = 'callUrl'
80
100
  @_hash['call_timeout'] = 'callTimeout'
101
+ @_hash['callback_timeout'] = 'callbackTimeout'
81
102
  @_hash['answer_url'] = 'answerUrl'
82
103
  @_hash['answer_method'] = 'answerMethod'
104
+ @_hash['answer_fallback_url'] = 'answerFallbackUrl'
105
+ @_hash['answer_fallback_method'] = 'answerFallbackMethod'
83
106
  @_hash['disconnect_url'] = 'disconnectUrl'
84
107
  @_hash['disconnect_method'] = 'disconnectMethod'
85
108
  @_hash['username'] = 'username'
86
109
  @_hash['password'] = 'password'
110
+ @_hash['fallback_username'] = 'fallbackUsername'
111
+ @_hash['fallback_password'] = 'fallbackPassword'
87
112
  @_hash['tag'] = 'tag'
88
113
  @_hash
89
114
  end
@@ -99,9 +124,14 @@ module Bandwidth
99
124
  disconnect_method = nil,
100
125
  start_time = nil,
101
126
  call_timeout = nil,
127
+ callback_timeout = nil,
128
+ answer_fallback_url = nil,
129
+ answer_fallback_method = nil,
102
130
  disconnect_url = nil,
103
131
  username = nil,
104
132
  password = nil,
133
+ fallback_username = nil,
134
+ fallback_password = nil,
105
135
  tag = nil)
106
136
  @account_id = account_id
107
137
  @call_id = call_id
@@ -111,12 +141,17 @@ module Bandwidth
111
141
  @start_time = start_time
112
142
  @call_url = call_url
113
143
  @call_timeout = call_timeout
144
+ @callback_timeout = callback_timeout
114
145
  @answer_url = answer_url
115
146
  @answer_method = answer_method
147
+ @answer_fallback_url = answer_fallback_url
148
+ @answer_fallback_method = answer_fallback_method
116
149
  @disconnect_url = disconnect_url
117
150
  @disconnect_method = disconnect_method
118
151
  @username = username
119
152
  @password = password
153
+ @fallback_username = fallback_username
154
+ @fallback_password = fallback_password
120
155
  @tag = tag
121
156
  end
122
157
 
@@ -136,9 +171,14 @@ module Bandwidth
136
171
  disconnect_method = hash['disconnectMethod']
137
172
  start_time = APIHelper.rfc3339(hash['startTime']) if hash['startTime']
138
173
  call_timeout = hash['callTimeout']
174
+ callback_timeout = hash['callbackTimeout']
175
+ answer_fallback_url = hash['answerFallbackUrl']
176
+ answer_fallback_method = hash['answerFallbackMethod']
139
177
  disconnect_url = hash['disconnectUrl']
140
178
  username = hash['username']
141
179
  password = hash['password']
180
+ fallback_username = hash['fallbackUsername']
181
+ fallback_password = hash['fallbackPassword']
142
182
  tag = hash['tag']
143
183
 
144
184
  # Create object from extracted values.
@@ -153,9 +193,14 @@ module Bandwidth
153
193
  disconnect_method,
154
194
  start_time,
155
195
  call_timeout,
196
+ callback_timeout,
197
+ answer_fallback_url,
198
+ answer_fallback_method,
156
199
  disconnect_url,
157
200
  username,
158
201
  password,
202
+ fallback_username,
203
+ fallback_password,
159
204
  tag)
160
205
  end
161
206
  end
@@ -18,10 +18,18 @@ module Bandwidth
18
18
  # @return [Float]
19
19
  attr_accessor :call_timeout
20
20
 
21
+ # Format is E164
22
+ # @return [Float]
23
+ attr_accessor :callback_timeout
24
+
21
25
  # Format is E164
22
26
  # @return [String]
23
27
  attr_accessor :answer_url
24
28
 
29
+ # Format is E164
30
+ # @return [String]
31
+ attr_accessor :answer_fallback_url
32
+
25
33
  # Format is E164
26
34
  # @return [String]
27
35
  attr_accessor :username
@@ -30,10 +38,22 @@ module Bandwidth
30
38
  # @return [String]
31
39
  attr_accessor :password
32
40
 
41
+ # Format is E164
42
+ # @return [String]
43
+ attr_accessor :fallback_username
44
+
45
+ # Format is E164
46
+ # @return [String]
47
+ attr_accessor :fallback_password
48
+
33
49
  # Format is E164
34
50
  # @return [AnswerMethodEnum]
35
51
  attr_accessor :answer_method
36
52
 
53
+ # Format is E164
54
+ # @return [AnswerFallbackMethodEnum]
55
+ attr_accessor :answer_fallback_method
56
+
37
57
  # Format is E164
38
58
  # @return [String]
39
59
  attr_accessor :disconnect_url
@@ -64,10 +84,15 @@ module Bandwidth
64
84
  @_hash['from'] = 'from'
65
85
  @_hash['to'] = 'to'
66
86
  @_hash['call_timeout'] = 'callTimeout'
87
+ @_hash['callback_timeout'] = 'callbackTimeout'
67
88
  @_hash['answer_url'] = 'answerUrl'
89
+ @_hash['answer_fallback_url'] = 'answerFallbackUrl'
68
90
  @_hash['username'] = 'username'
69
91
  @_hash['password'] = 'password'
92
+ @_hash['fallback_username'] = 'fallbackUsername'
93
+ @_hash['fallback_password'] = 'fallbackPassword'
70
94
  @_hash['answer_method'] = 'answerMethod'
95
+ @_hash['answer_fallback_method'] = 'answerFallbackMethod'
71
96
  @_hash['disconnect_url'] = 'disconnectUrl'
72
97
  @_hash['disconnect_method'] = 'disconnectMethod'
73
98
  @_hash['tag'] = 'tag'
@@ -82,9 +107,14 @@ module Bandwidth
82
107
  answer_url = nil,
83
108
  application_id = nil,
84
109
  call_timeout = nil,
110
+ callback_timeout = nil,
111
+ answer_fallback_url = nil,
85
112
  username = nil,
86
113
  password = nil,
114
+ fallback_username = nil,
115
+ fallback_password = nil,
87
116
  answer_method = nil,
117
+ answer_fallback_method = nil,
88
118
  disconnect_url = nil,
89
119
  disconnect_method = nil,
90
120
  tag = nil,
@@ -93,10 +123,15 @@ module Bandwidth
93
123
  @from = from
94
124
  @to = to
95
125
  @call_timeout = call_timeout
126
+ @callback_timeout = callback_timeout
96
127
  @answer_url = answer_url
128
+ @answer_fallback_url = answer_fallback_url
97
129
  @username = username
98
130
  @password = password
131
+ @fallback_username = fallback_username
132
+ @fallback_password = fallback_password
99
133
  @answer_method = answer_method
134
+ @answer_fallback_method = answer_fallback_method
100
135
  @disconnect_url = disconnect_url
101
136
  @disconnect_method = disconnect_method
102
137
  @tag = tag
@@ -115,9 +150,14 @@ module Bandwidth
115
150
  answer_url = hash['answerUrl']
116
151
  application_id = hash['applicationId']
117
152
  call_timeout = hash['callTimeout']
153
+ callback_timeout = hash['callbackTimeout']
154
+ answer_fallback_url = hash['answerFallbackUrl']
118
155
  username = hash['username']
119
156
  password = hash['password']
157
+ fallback_username = hash['fallbackUsername']
158
+ fallback_password = hash['fallbackPassword']
120
159
  answer_method = hash['answerMethod']
160
+ answer_fallback_method = hash['answerFallbackMethod']
121
161
  disconnect_url = hash['disconnectUrl']
122
162
  disconnect_method = hash['disconnectMethod']
123
163
  tag = hash['tag']
@@ -130,9 +170,14 @@ module Bandwidth
130
170
  answer_url,
131
171
  application_id,
132
172
  call_timeout,
173
+ callback_timeout,
174
+ answer_fallback_url,
133
175
  username,
134
176
  password,
177
+ fallback_username,
178
+ fallback_password,
135
179
  answer_method,
180
+ answer_fallback_method,
136
181
  disconnect_url,
137
182
  disconnect_method,
138
183
  tag,
@@ -14,10 +14,18 @@ module Bandwidth
14
14
  # @return [String]
15
15
  attr_accessor :redirect_url
16
16
 
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :redirect_fallback_url
20
+
17
21
  # TODO: Write general description for this method
18
22
  # @return [RedirectMethodEnum]
19
23
  attr_accessor :redirect_method
20
24
 
25
+ # TODO: Write general description for this method
26
+ # @return [RedirectFallbackMethodEnum]
27
+ attr_accessor :redirect_fallback_method
28
+
21
29
  # TODO: Write general description for this method
22
30
  # @return [String]
23
31
  attr_accessor :username
@@ -26,6 +34,14 @@ module Bandwidth
26
34
  # @return [String]
27
35
  attr_accessor :password
28
36
 
37
+ # TODO: Write general description for this method
38
+ # @return [String]
39
+ attr_accessor :fallback_username
40
+
41
+ # TODO: Write general description for this method
42
+ # @return [String]
43
+ attr_accessor :fallback_password
44
+
29
45
  # TODO: Write general description for this method
30
46
  # @return [String]
31
47
  attr_accessor :tag
@@ -35,24 +51,36 @@ module Bandwidth
35
51
  @_hash = {} if @_hash.nil?
36
52
  @_hash['state'] = 'state'
37
53
  @_hash['redirect_url'] = 'redirectUrl'
54
+ @_hash['redirect_fallback_url'] = 'redirectFallbackUrl'
38
55
  @_hash['redirect_method'] = 'redirectMethod'
56
+ @_hash['redirect_fallback_method'] = 'redirectFallbackMethod'
39
57
  @_hash['username'] = 'username'
40
58
  @_hash['password'] = 'password'
59
+ @_hash['fallback_username'] = 'fallbackUsername'
60
+ @_hash['fallback_password'] = 'fallbackPassword'
41
61
  @_hash['tag'] = 'tag'
42
62
  @_hash
43
63
  end
44
64
 
45
65
  def initialize(redirect_url = nil,
46
66
  state = nil,
67
+ redirect_fallback_url = nil,
47
68
  redirect_method = nil,
69
+ redirect_fallback_method = nil,
48
70
  username = nil,
49
71
  password = nil,
72
+ fallback_username = nil,
73
+ fallback_password = nil,
50
74
  tag = nil)
51
75
  @state = state
52
76
  @redirect_url = redirect_url
77
+ @redirect_fallback_url = redirect_fallback_url
53
78
  @redirect_method = redirect_method
79
+ @redirect_fallback_method = redirect_fallback_method
54
80
  @username = username
55
81
  @password = password
82
+ @fallback_username = fallback_username
83
+ @fallback_password = fallback_password
56
84
  @tag = tag
57
85
  end
58
86
 
@@ -63,17 +91,25 @@ module Bandwidth
63
91
  # Extract variables from the hash.
64
92
  redirect_url = hash['redirectUrl']
65
93
  state = hash['state']
94
+ redirect_fallback_url = hash['redirectFallbackUrl']
66
95
  redirect_method = hash['redirectMethod']
96
+ redirect_fallback_method = hash['redirectFallbackMethod']
67
97
  username = hash['username']
68
98
  password = hash['password']
99
+ fallback_username = hash['fallbackUsername']
100
+ fallback_password = hash['fallbackPassword']
69
101
  tag = hash['tag']
70
102
 
71
103
  # Create object from extracted values.
72
104
  ApiModifyCallRequest.new(redirect_url,
73
105
  state,
106
+ redirect_fallback_url,
74
107
  redirect_method,
108
+ redirect_fallback_method,
75
109
  username,
76
110
  password,
111
+ fallback_username,
112
+ fallback_password,
77
113
  tag)
78
114
  end
79
115
  end
@@ -26,6 +26,10 @@ module Bandwidth
26
26
  # @return [String]
27
27
  attr_accessor :tag
28
28
 
29
+ # TODO: Write general description for this method
30
+ # @return [Float]
31
+ attr_accessor :callback_timeout
32
+
29
33
  # A mapping from model property names to API property names.
30
34
  def self.names
31
35
  @_hash = {} if @_hash.nil?
@@ -34,6 +38,7 @@ module Bandwidth
34
38
  @_hash['username'] = 'username'
35
39
  @_hash['password'] = 'password'
36
40
  @_hash['tag'] = 'tag'
41
+ @_hash['callback_timeout'] = 'callbackTimeout'
37
42
  @_hash
38
43
  end
39
44
 
@@ -41,12 +46,14 @@ module Bandwidth
41
46
  callback_method = nil,
42
47
  username = nil,
43
48
  password = nil,
44
- tag = nil)
49
+ tag = nil,
50
+ callback_timeout = nil)
45
51
  @callback_url = callback_url
46
52
  @callback_method = callback_method
47
53
  @username = username
48
54
  @password = password
49
55
  @tag = tag
56
+ @callback_timeout = callback_timeout
50
57
  end
51
58
 
52
59
  # Creates an instance of the object from a hash.
@@ -59,13 +66,15 @@ module Bandwidth
59
66
  username = hash['username']
60
67
  password = hash['password']
61
68
  tag = hash['tag']
69
+ callback_timeout = hash['callbackTimeout']
62
70
 
63
71
  # Create object from extracted values.
64
72
  ApiTranscribeRecordingRequest.new(callback_url,
65
73
  callback_method,
66
74
  username,
67
75
  password,
68
- tag)
76
+ tag,
77
+ callback_timeout)
69
78
  end
70
79
  end
71
80
  end
@@ -14,10 +14,18 @@ module Bandwidth
14
14
  # @return [String]
15
15
  attr_accessor :redirect_url
16
16
 
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :redirect_fallback_url
20
+
17
21
  # TODO: Write general description for this method
18
22
  # @return [RedirectMethodEnum]
19
23
  attr_accessor :redirect_method
20
24
 
25
+ # TODO: Write general description for this method
26
+ # @return [RedirectFallbackMethodEnum]
27
+ attr_accessor :redirect_fallback_method
28
+
21
29
  # TODO: Write general description for this method
22
30
  # @return [String]
23
31
  attr_accessor :username
@@ -26,27 +34,47 @@ module Bandwidth
26
34
  # @return [String]
27
35
  attr_accessor :password
28
36
 
37
+ # TODO: Write general description for this method
38
+ # @return [String]
39
+ attr_accessor :fallback_username
40
+
41
+ # TODO: Write general description for this method
42
+ # @return [String]
43
+ attr_accessor :fallback_password
44
+
29
45
  # A mapping from model property names to API property names.
30
46
  def self.names
31
47
  @_hash = {} if @_hash.nil?
32
48
  @_hash['status'] = 'status'
33
49
  @_hash['redirect_url'] = 'redirectUrl'
50
+ @_hash['redirect_fallback_url'] = 'redirectFallbackUrl'
34
51
  @_hash['redirect_method'] = 'redirectMethod'
52
+ @_hash['redirect_fallback_method'] = 'redirectFallbackMethod'
35
53
  @_hash['username'] = 'username'
36
54
  @_hash['password'] = 'password'
55
+ @_hash['fallback_username'] = 'fallbackUsername'
56
+ @_hash['fallback_password'] = 'fallbackPassword'
37
57
  @_hash
38
58
  end
39
59
 
40
60
  def initialize(redirect_url = nil,
41
61
  status = nil,
62
+ redirect_fallback_url = nil,
42
63
  redirect_method = nil,
64
+ redirect_fallback_method = nil,
43
65
  username = nil,
44
- password = nil)
66
+ password = nil,
67
+ fallback_username = nil,
68
+ fallback_password = nil)
45
69
  @status = status
46
70
  @redirect_url = redirect_url
71
+ @redirect_fallback_url = redirect_fallback_url
47
72
  @redirect_method = redirect_method
73
+ @redirect_fallback_method = redirect_fallback_method
48
74
  @username = username
49
75
  @password = password
76
+ @fallback_username = fallback_username
77
+ @fallback_password = fallback_password
50
78
  end
51
79
 
52
80
  # Creates an instance of the object from a hash.
@@ -56,16 +84,24 @@ module Bandwidth
56
84
  # Extract variables from the hash.
57
85
  redirect_url = hash['redirectUrl']
58
86
  status = hash['status']
87
+ redirect_fallback_url = hash['redirectFallbackUrl']
59
88
  redirect_method = hash['redirectMethod']
89
+ redirect_fallback_method = hash['redirectFallbackMethod']
60
90
  username = hash['username']
61
91
  password = hash['password']
92
+ fallback_username = hash['fallbackUsername']
93
+ fallback_password = hash['fallbackPassword']
62
94
 
63
95
  # Create object from extracted values.
64
96
  CallEngineModifyConferenceRequest.new(redirect_url,
65
97
  status,
98
+ redirect_fallback_url,
66
99
  redirect_method,
100
+ redirect_fallback_method,
67
101
  username,
68
- password)
102
+ password,
103
+ fallback_username,
104
+ fallback_password)
69
105
  end
70
106
  end
71
107
  end
@@ -3,6 +3,7 @@
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
  # ConferenceDetail Model.
8
9
  class ConferenceDetail < BaseModel
@@ -15,11 +16,11 @@ module Bandwidth
15
16
  attr_accessor :name
16
17
 
17
18
  # TODO: Write general description for this method
18
- # @return [Long]
19
+ # @return [DateTime]
19
20
  attr_accessor :created_time
20
21
 
21
22
  # TODO: Write general description for this method
22
- # @return [Long]
23
+ # @return [DateTime]
23
24
  attr_accessor :completed_time
24
25
 
25
26
  # TODO: Write general description for this method
@@ -77,8 +78,10 @@ module Bandwidth
77
78
  # Extract variables from the hash.
78
79
  id = hash['id']
79
80
  name = hash['name']
80
- created_time = hash['createdTime']
81
- completed_time = hash['completedTime']
81
+ created_time = APIHelper.rfc3339(hash['createdTime']) if
82
+ hash['createdTime']
83
+ completed_time = APIHelper.rfc3339(hash['completedTime']) if
84
+ hash['completedTime']
82
85
  conference_event_url = hash['conferenceEventUrl']
83
86
  conference_event_method = hash['conferenceEventMethod']
84
87
  tag = hash['tag']
@@ -3,6 +3,7 @@
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
  # ConferenceRecordingMetadataResponse Model.
8
9
  class ConferenceRecordingMetadataResponse < BaseModel
@@ -31,11 +32,11 @@ module Bandwidth
31
32
  attr_accessor :channels
32
33
 
33
34
  # Format is ISO-8601
34
- # @return [Long]
35
+ # @return [DateTime]
35
36
  attr_accessor :start_time
36
37
 
37
38
  # Format is ISO-8601
38
- # @return [Long]
39
+ # @return [DateTime]
39
40
  attr_accessor :end_time
40
41
 
41
42
  # Format is ISO-8601
@@ -102,8 +103,8 @@ module Bandwidth
102
103
  recording_id = hash['recordingId']
103
104
  duration = hash['duration']
104
105
  channels = hash['channels']
105
- start_time = hash['startTime']
106
- end_time = hash['endTime']
106
+ start_time = APIHelper.rfc3339(hash['startTime']) if hash['startTime']
107
+ end_time = APIHelper.rfc3339(hash['endTime']) if hash['endTime']
107
108
  file_format = hash['fileFormat']
108
109
  status = hash['status']
109
110
  media_url = hash['mediaUrl']
@@ -3,6 +3,7 @@
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
  # RecordingMetadataResponse Model.
8
9
  class RecordingMetadataResponse < BaseModel
@@ -55,11 +56,11 @@ module Bandwidth
55
56
  attr_accessor :channels
56
57
 
57
58
  # Format is ISO-8601
58
- # @return [Long]
59
+ # @return [DateTime]
59
60
  attr_accessor :start_time
60
61
 
61
62
  # Format is ISO-8601
62
- # @return [Long]
63
+ # @return [DateTime]
63
64
  attr_accessor :end_time
64
65
 
65
66
  # Format is ISO-8601
@@ -157,8 +158,8 @@ module Bandwidth
157
158
  duration = hash['duration']
158
159
  direction = hash['direction']
159
160
  channels = hash['channels']
160
- start_time = hash['startTime']
161
- end_time = hash['endTime']
161
+ start_time = APIHelper.rfc3339(hash['startTime']) if hash['startTime']
162
+ end_time = APIHelper.rfc3339(hash['endTime']) if hash['endTime']
162
163
  file_format = hash['fileFormat']
163
164
  status = hash['status']
164
165
  media_url = hash['mediaUrl']
@@ -0,0 +1,17 @@
1
+ # bandwidth
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module Bandwidth
7
+ # RedirectFallbackMethod.
8
+ class RedirectFallbackMethodEnum
9
+ REDIRECT_FALLBACK_METHOD_ENUM = [
10
+ # TODO: Write general description for POST
11
+ POST = 'POST'.freeze,
12
+
13
+ # TODO: Write general description for GET
14
+ GET = 'GET'.freeze
15
+ ].freeze
16
+ end
17
+ end
@@ -8,13 +8,13 @@ module Bandwidth
8
8
  class StateEnum
9
9
  STATE_ENUM = [
10
10
  # TODO: Write general description for DISCONNECTED
11
- DISCONNECTED = 'DISCONNECTED'.freeze,
11
+ DISCONNECTED = 'disconnected'.freeze,
12
12
 
13
13
  # TODO: Write general description for ANSWERED
14
- ANSWERED = 'ANSWERED'.freeze,
14
+ ANSWERED = 'answered'.freeze,
15
15
 
16
16
  # TODO: Write general description for INITIATED
17
- INITIATED = 'INITIATED'.freeze
17
+ INITIATED = 'initiated'.freeze
18
18
  ].freeze
19
19
  end
20
20
  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,
@@ -13,7 +13,7 @@ module Bandwidth
13
13
  @http_call_back = http_call_back
14
14
 
15
15
  @global_headers = {
16
- 'user-agent' => 'ruby-sdk-refs/tags/ruby3.9.0'
16
+ 'user-agent' => 'ruby-sdk-refs/tags/ruby3.10.0'
17
17
  }
18
18
  end
19
19
 
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: 3.9.0
4
+ version: 3.10.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: 2020-07-24 00:00:00.000000000 Z
11
+ date: 2020-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logging
@@ -166,6 +166,7 @@ files:
166
166
  - lib/bandwidth/voice_lib/bxml/verbs/record.rb
167
167
  - lib/bandwidth/voice_lib/bxml/verbs/redirect.rb
168
168
  - lib/bandwidth/voice_lib/bxml/verbs/resume_recording.rb
169
+ - lib/bandwidth/voice_lib/bxml/verbs/ring.rb
169
170
  - lib/bandwidth/voice_lib/bxml/verbs/send_dtmf.rb
170
171
  - lib/bandwidth/voice_lib/bxml/verbs/speak_sentence.rb
171
172
  - lib/bandwidth/voice_lib/bxml/verbs/start_recording.rb
@@ -177,6 +178,7 @@ files:
177
178
  - lib/bandwidth/voice_lib/voice/controllers/api_controller.rb
178
179
  - lib/bandwidth/voice_lib/voice/controllers/base_controller.rb
179
180
  - lib/bandwidth/voice_lib/voice/exceptions/api_error_response_exception.rb
181
+ - lib/bandwidth/voice_lib/voice/models/answer_fallback_method_enum.rb
180
182
  - lib/bandwidth/voice_lib/voice/models/answer_method_enum.rb
181
183
  - lib/bandwidth/voice_lib/voice/models/api_call_response.rb
182
184
  - lib/bandwidth/voice_lib/voice/models/api_call_state_response.rb
@@ -195,6 +197,7 @@ files:
195
197
  - lib/bandwidth/voice_lib/voice/models/file_format_enum.rb
196
198
  - lib/bandwidth/voice_lib/voice/models/modify_call_recording_state.rb
197
199
  - lib/bandwidth/voice_lib/voice/models/recording_metadata_response.rb
200
+ - lib/bandwidth/voice_lib/voice/models/redirect_fallback_method_enum.rb
198
201
  - lib/bandwidth/voice_lib/voice/models/redirect_method_enum.rb
199
202
  - lib/bandwidth/voice_lib/voice/models/state1_enum.rb
200
203
  - lib/bandwidth/voice_lib/voice/models/state2_enum.rb