bandwidth-sdk 6.2.0 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bandwidth.rb +3 -2
  3. data/lib/bandwidth/api_helper.rb +0 -12
  4. data/lib/bandwidth/client.rb +8 -8
  5. data/lib/bandwidth/configuration.rb +15 -15
  6. data/lib/bandwidth/http/auth/{two_factor_auth_basic_auth.rb → multi_factor_auth_basic_auth.rb} +3 -3
  7. data/lib/bandwidth/messaging_lib/messaging/client.rb +14 -5
  8. data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +25 -29
  9. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message_item.rb +47 -2
  10. data/lib/bandwidth/messaging_lib/messaging/models/media.rb +5 -75
  11. data/lib/bandwidth/models/base_model.rb +19 -8
  12. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth.rb +23 -0
  13. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/client.rb +15 -6
  14. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/controllers/base_controller.rb +0 -0
  15. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/controllers/mfa_controller.rb +7 -7
  16. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/exceptions/error_with_request_exception.rb +0 -0
  17. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/exceptions/forbidden_request_exception.rb +0 -0
  18. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/exceptions/unauthorized_request_exception.rb +0 -0
  19. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_code_request_schema.rb +0 -0
  20. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_messaging_response.rb +0 -0
  21. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_verify_code_response.rb +0 -0
  22. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_verify_request_schema.rb +0 -0
  23. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_voice_response.rb +0 -0
  24. data/lib/bandwidth/utilities/date_time_helper.rb +156 -0
  25. data/lib/bandwidth/voice_lib/voice.rb +14 -18
  26. data/lib/bandwidth/voice_lib/voice/client.rb +14 -5
  27. data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +248 -230
  28. data/lib/bandwidth/voice_lib/voice/exceptions/{api_error_response_exception.rb → api_error_exception.rb} +2 -2
  29. data/lib/bandwidth/voice_lib/voice/models/{recording_metadata_response.rb → call_recording_metadata.rb} +47 -28
  30. data/lib/bandwidth/voice_lib/voice/models/call_state.rb +232 -0
  31. data/lib/bandwidth/voice_lib/voice/models/callback_method_enum.rb +2 -20
  32. data/lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb +2 -20
  33. data/lib/bandwidth/voice_lib/voice/models/{conference_member_detail.rb → conference_member_state.rb} +8 -8
  34. data/lib/bandwidth/voice_lib/voice/models/{conference_recording_metadata_response.rb → conference_recording_metadata.rb} +34 -18
  35. data/lib/bandwidth/voice_lib/voice/models/{conference_detail.rb → conference_state.rb} +22 -14
  36. data/lib/bandwidth/voice_lib/voice/models/{api_create_call_request.rb → create_call_request.rb} +35 -59
  37. data/lib/bandwidth/voice_lib/voice/models/{api_call_response.rb → create_call_response.rb} +28 -23
  38. data/lib/bandwidth/voice_lib/voice/models/{modify_call_recording_state.rb → modify_call_recording_request.rb} +4 -4
  39. data/lib/bandwidth/voice_lib/voice/models/{api_modify_call_request.rb → modify_call_request.rb} +25 -25
  40. data/lib/bandwidth/voice_lib/voice/models/{api_modify_conference_request.rb → modify_conference_request.rb} +11 -11
  41. data/lib/bandwidth/voice_lib/voice/models/state1_enum.rb +7 -4
  42. data/lib/bandwidth/voice_lib/voice/models/state_enum.rb +4 -7
  43. data/lib/bandwidth/voice_lib/voice/models/{api_transcribe_recording_request.rb → transcribe_recording_request.rb} +8 -8
  44. data/lib/bandwidth/voice_lib/voice/models/{transcription.rb → transcription_metadata.rb} +19 -10
  45. data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +4 -4
  46. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +14 -14
  47. data/test/integration/test_integration.rb +13 -13
  48. metadata +29 -32
  49. data/lib/bandwidth/two_factor_auth_lib/two_factor_auth.rb +0 -22
  50. data/lib/bandwidth/voice_lib/voice/models/api_call_state_response.rb +0 -164
  51. data/lib/bandwidth/voice_lib/voice/models/disconnect_cause_enum.rb +0 -47
  52. data/lib/bandwidth/voice_lib/voice/models/state2_enum.rb +0 -20
  53. data/lib/bandwidth/voice_lib/voice/models/status1_enum.rb +0 -29
  54. data/lib/bandwidth/voice_lib/voice/models/status3_enum.rb +0 -32
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5539a17ccb877e0e80a53959cbbc354314c0300c3c3ce1e90de0c4b5eae9f18a
4
- data.tar.gz: 1f0466592184f21361287991b49a596c46d5de6f34dca9b727884f077591bf72
3
+ metadata.gz: b67b83b111ec3185ce0614d96b9f46ea31270db7e0b44a069cc8d87e16bf2bd5
4
+ data.tar.gz: b4c1575cda3afab5b3a17ccf70883ddd68815ec9e3e55c162d778cc7667dd8ad
5
5
  SHA512:
6
- metadata.gz: fd6452d48d8a62e0bce5fb173132aac42f52918632c696e4153bfedc6d3c6db9769ab2941c0031d5c70b4ed245d35f0bee4929c54a6511441ad60e59c77c1fb5
7
- data.tar.gz: 677a0c3e526b2d0f90d4d7905f7b914ce44f8d7a8eee47760693682da200c441cd476030a5e051dc87fdb716aea287d0184584d3c91691cb636ed49ecdaa07be
6
+ metadata.gz: 7de5c586dc71cc06134c42008931b6508e5fca4a7baecd02dd94b5d9c5d1e26f10c6266c020ef6c91429a0e50e10678a32803e07c2af30e74833fe0a55ea7f65
7
+ data.tar.gz: 61b41ff9f216fee03ff287270a13666575006b870ecdc38c9edf8b4de93e7db0a4d45d37becf2b11bd52cfba399058739b3e9bea48d086d71d01983ef2da28f7
data/lib/bandwidth.rb CHANGED
@@ -14,6 +14,7 @@ require_relative 'bandwidth/client.rb'
14
14
 
15
15
  # Utilities
16
16
  require_relative 'bandwidth/utilities/file_wrapper.rb'
17
+ require_relative 'bandwidth/utilities/date_time_helper.rb'
17
18
 
18
19
  # Http
19
20
  require_relative 'bandwidth/http/api_response.rb'
@@ -35,8 +36,8 @@ require_relative 'bandwidth/configuration.rb'
35
36
  # Namespaces
36
37
  require_relative 'bandwidth/messaging_lib/messaging'
37
38
  require_relative 'bandwidth/http/auth/messaging_basic_auth.rb'
38
- require_relative 'bandwidth/two_factor_auth_lib/two_factor_auth'
39
- require_relative 'bandwidth/http/auth/two_factor_auth_basic_auth.rb'
39
+ require_relative 'bandwidth/multi_factor_auth_lib/multi_factor_auth'
40
+ require_relative 'bandwidth/http/auth/multi_factor_auth_basic_auth.rb'
40
41
  require_relative 'bandwidth/phone_number_lookup_lib/phone_number_lookup'
41
42
  require_relative 'bandwidth/http/auth/phone_number_lookup_basic_auth.rb'
42
43
  require_relative 'bandwidth/voice_lib/voice'
@@ -273,17 +273,5 @@ module Bandwidth
273
273
  end
274
274
  val
275
275
  end
276
-
277
- # Safely converts a string into an rfc3339 DateTime object
278
- # @param [String] The datetime string
279
- # @return [DateTime] A DateTime object of rfc3339 format
280
- def self.rfc3339(date_time)
281
- # missing timezone information
282
- if date_time.end_with?('Z') || date_time.index('+')
283
- DateTime.rfc3339(date_time)
284
- else
285
- DateTime.rfc3339(date_time + 'Z')
286
- end
287
- end
288
276
  end
289
277
  end
@@ -12,10 +12,10 @@ module Bandwidth
12
12
  def messaging_client
13
13
  @messaging_client ||= Messaging::Client.new(config: config)
14
14
  end
15
- # Access to two_factor_auth_client controller.
16
- # @return [TwoFactorAuth::Client] Returns the client instance.
17
- def two_factor_auth_client
18
- @two_factor_auth_client ||= TwoFactorAuth::Client.new(config: config)
15
+ # Access to multi_factor_auth_client controller.
16
+ # @return [MultiFactorAuth::Client] Returns the client instance.
17
+ def multi_factor_auth_client
18
+ @multi_factor_auth_client ||= MultiFactorAuth::Client.new(config: config)
19
19
  end
20
20
  # Access to phone_number_lookup_client controller.
21
21
  # @return [PhoneNumberLookup::Client] Returns the client instance.
@@ -41,8 +41,8 @@ module Bandwidth
41
41
  base_url: 'https://www.example.com',
42
42
  messaging_basic_auth_user_name: 'TODO: Replace',
43
43
  messaging_basic_auth_password: 'TODO: Replace',
44
- two_factor_auth_basic_auth_user_name: 'TODO: Replace',
45
- two_factor_auth_basic_auth_password: 'TODO: Replace',
44
+ multi_factor_auth_basic_auth_user_name: 'TODO: Replace',
45
+ multi_factor_auth_basic_auth_password: 'TODO: Replace',
46
46
  phone_number_lookup_basic_auth_user_name: 'TODO: Replace',
47
47
  phone_number_lookup_basic_auth_password: 'TODO: Replace',
48
48
  voice_basic_auth_user_name: 'TODO: Replace',
@@ -59,8 +59,8 @@ module Bandwidth
59
59
  base_url: base_url,
60
60
  messaging_basic_auth_user_name: messaging_basic_auth_user_name,
61
61
  messaging_basic_auth_password: messaging_basic_auth_password,
62
- two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
63
- two_factor_auth_basic_auth_password: two_factor_auth_basic_auth_password,
62
+ multi_factor_auth_basic_auth_user_name: multi_factor_auth_basic_auth_user_name,
63
+ multi_factor_auth_basic_auth_password: multi_factor_auth_basic_auth_password,
64
64
  phone_number_lookup_basic_auth_user_name: phone_number_lookup_basic_auth_user_name,
65
65
  phone_number_lookup_basic_auth_password: phone_number_lookup_basic_auth_password,
66
66
  voice_basic_auth_user_name: voice_basic_auth_user_name,
@@ -17,7 +17,7 @@ module Bandwidth
17
17
  SERVER = [
18
18
  DEFAULT = 'default'.freeze,
19
19
  MESSAGINGDEFAULT = 'MessagingDefault'.freeze,
20
- TWOFACTORAUTHDEFAULT = 'TwoFactorAuthDefault'.freeze,
20
+ MULTIFACTORAUTHDEFAULT = 'MultiFactorAuthDefault'.freeze,
21
21
  PHONENUMBERLOOKUPDEFAULT = 'PhoneNumberLookupDefault'.freeze,
22
22
  VOICEDEFAULT = 'VoiceDefault'.freeze,
23
23
  WEBRTCDEFAULT = 'WebRtcDefault'.freeze
@@ -39,8 +39,8 @@ module Bandwidth
39
39
  attr_reader :base_url
40
40
  attr_reader :messaging_basic_auth_user_name
41
41
  attr_reader :messaging_basic_auth_password
42
- attr_reader :two_factor_auth_basic_auth_user_name
43
- attr_reader :two_factor_auth_basic_auth_password
42
+ attr_reader :multi_factor_auth_basic_auth_user_name
43
+ attr_reader :multi_factor_auth_basic_auth_password
44
44
  attr_reader :phone_number_lookup_basic_auth_user_name
45
45
  attr_reader :phone_number_lookup_basic_auth_password
46
46
  attr_reader :voice_basic_auth_user_name
@@ -60,8 +60,8 @@ module Bandwidth
60
60
  base_url: 'https://www.example.com',
61
61
  messaging_basic_auth_user_name: 'TODO: Replace',
62
62
  messaging_basic_auth_password: 'TODO: Replace',
63
- two_factor_auth_basic_auth_user_name: 'TODO: Replace',
64
- two_factor_auth_basic_auth_password: 'TODO: Replace',
63
+ multi_factor_auth_basic_auth_user_name: 'TODO: Replace',
64
+ multi_factor_auth_basic_auth_password: 'TODO: Replace',
65
65
  phone_number_lookup_basic_auth_user_name: 'TODO: Replace',
66
66
  phone_number_lookup_basic_auth_password: 'TODO: Replace',
67
67
  voice_basic_auth_user_name: 'TODO: Replace',
@@ -100,10 +100,10 @@ module Bandwidth
100
100
  @messaging_basic_auth_password = messaging_basic_auth_password
101
101
 
102
102
  # The username to use with basic authentication
103
- @two_factor_auth_basic_auth_user_name = two_factor_auth_basic_auth_user_name
103
+ @multi_factor_auth_basic_auth_user_name = multi_factor_auth_basic_auth_user_name
104
104
 
105
105
  # The password to use with basic authentication
106
- @two_factor_auth_basic_auth_password = two_factor_auth_basic_auth_password
106
+ @multi_factor_auth_basic_auth_password = multi_factor_auth_basic_auth_password
107
107
 
108
108
  # The username to use with basic authentication
109
109
  @phone_number_lookup_basic_auth_user_name = phone_number_lookup_basic_auth_user_name
@@ -132,8 +132,8 @@ module Bandwidth
132
132
  environment: nil, base_url: nil,
133
133
  messaging_basic_auth_user_name: nil,
134
134
  messaging_basic_auth_password: nil,
135
- two_factor_auth_basic_auth_user_name: nil,
136
- two_factor_auth_basic_auth_password: nil,
135
+ multi_factor_auth_basic_auth_user_name: nil,
136
+ multi_factor_auth_basic_auth_password: nil,
137
137
  phone_number_lookup_basic_auth_user_name: nil,
138
138
  phone_number_lookup_basic_auth_password: nil,
139
139
  voice_basic_auth_user_name: nil,
@@ -150,8 +150,8 @@ module Bandwidth
150
150
  base_url ||= self.base_url
151
151
  messaging_basic_auth_user_name ||= self.messaging_basic_auth_user_name
152
152
  messaging_basic_auth_password ||= self.messaging_basic_auth_password
153
- two_factor_auth_basic_auth_user_name ||= self.two_factor_auth_basic_auth_user_name
154
- two_factor_auth_basic_auth_password ||= self.two_factor_auth_basic_auth_password
153
+ multi_factor_auth_basic_auth_user_name ||= self.multi_factor_auth_basic_auth_user_name
154
+ multi_factor_auth_basic_auth_password ||= self.multi_factor_auth_basic_auth_password
155
155
  phone_number_lookup_basic_auth_user_name ||= self.phone_number_lookup_basic_auth_user_name
156
156
  phone_number_lookup_basic_auth_password ||= self.phone_number_lookup_basic_auth_password
157
157
  voice_basic_auth_user_name ||= self.voice_basic_auth_user_name
@@ -166,8 +166,8 @@ module Bandwidth
166
166
  environment: environment, base_url: base_url,
167
167
  messaging_basic_auth_user_name: messaging_basic_auth_user_name,
168
168
  messaging_basic_auth_password: messaging_basic_auth_password,
169
- two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
170
- two_factor_auth_basic_auth_password: two_factor_auth_basic_auth_password,
169
+ multi_factor_auth_basic_auth_user_name: multi_factor_auth_basic_auth_user_name,
170
+ multi_factor_auth_basic_auth_password: multi_factor_auth_basic_auth_password,
171
171
  phone_number_lookup_basic_auth_user_name: phone_number_lookup_basic_auth_user_name,
172
172
  phone_number_lookup_basic_auth_password: phone_number_lookup_basic_auth_password,
173
173
  voice_basic_auth_user_name: voice_basic_auth_user_name,
@@ -190,7 +190,7 @@ module Bandwidth
190
190
  Environment::PRODUCTION => {
191
191
  Server::DEFAULT => 'api.bandwidth.com',
192
192
  Server::MESSAGINGDEFAULT => 'https://messaging.bandwidth.com/api/v2',
193
- Server::TWOFACTORAUTHDEFAULT => 'https://mfa.bandwidth.com/api/v1',
193
+ Server::MULTIFACTORAUTHDEFAULT => 'https://mfa.bandwidth.com/api/v1',
194
194
  Server::PHONENUMBERLOOKUPDEFAULT => 'https://numbers.bandwidth.com/api/v1',
195
195
  Server::VOICEDEFAULT => 'https://voice.bandwidth.com',
196
196
  Server::WEBRTCDEFAULT => 'https://api.webrtc.bandwidth.com/v1'
@@ -198,7 +198,7 @@ module Bandwidth
198
198
  Environment::CUSTOM => {
199
199
  Server::DEFAULT => '{base_url}',
200
200
  Server::MESSAGINGDEFAULT => '{base_url}',
201
- Server::TWOFACTORAUTHDEFAULT => '{base_url}',
201
+ Server::MULTIFACTORAUTHDEFAULT => '{base_url}',
202
202
  Server::PHONENUMBERLOOKUPDEFAULT => '{base_url}',
203
203
  Server::VOICEDEFAULT => '{base_url}',
204
204
  Server::WEBRTCDEFAULT => '{base_url}'
@@ -7,13 +7,13 @@ require 'base64'
7
7
 
8
8
  module Bandwidth
9
9
  # Utility class for basic authorization.
10
- class TwoFactorAuthBasicAuth
10
+ class MultiFactorAuthBasicAuth
11
11
  # Add basic authentication to the request.
12
12
  # @param [HttpRequest] The HttpRequest object to which authentication will
13
13
  # be added.
14
14
  def self.apply(config, http_request)
15
- username = config.two_factor_auth_basic_auth_user_name
16
- password = config.two_factor_auth_basic_auth_password
15
+ username = config.multi_factor_auth_basic_auth_user_name
16
+ password = config.multi_factor_auth_basic_auth_password
17
17
  value = Base64.strict_encode64("#{username}:#{password}")
18
18
  header_value = "Basic #{value}"
19
19
  http_request.headers['Authorization'] = header_value
@@ -16,12 +16,17 @@ module Bandwidth
16
16
  end
17
17
 
18
18
  def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
19
- backoff_factor: 1, environment: Environment::PRODUCTION,
19
+ backoff_factor: 2,
20
+ retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524, 408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
21
+ retry_methods: %i[get put get put],
22
+ environment: Environment::PRODUCTION,
20
23
  base_url: 'https://www.example.com',
21
24
  messaging_basic_auth_user_name: 'TODO: Replace',
22
25
  messaging_basic_auth_password: 'TODO: Replace',
23
- two_factor_auth_basic_auth_user_name: 'TODO: Replace',
24
- two_factor_auth_basic_auth_password: 'TODO: Replace',
26
+ multi_factor_auth_basic_auth_user_name: 'TODO: Replace',
27
+ multi_factor_auth_basic_auth_password: 'TODO: Replace',
28
+ phone_number_lookup_basic_auth_user_name: 'TODO: Replace',
29
+ phone_number_lookup_basic_auth_password: 'TODO: Replace',
25
30
  voice_basic_auth_user_name: 'TODO: Replace',
26
31
  voice_basic_auth_password: 'TODO: Replace',
27
32
  web_rtc_basic_auth_user_name: 'TODO: Replace',
@@ -32,12 +37,16 @@ module Bandwidth
32
37
  max_retries: max_retries,
33
38
  retry_interval: retry_interval,
34
39
  backoff_factor: backoff_factor,
40
+ retry_statuses: retry_statuses,
41
+ retry_methods: retry_methods,
35
42
  environment: environment,
36
43
  base_url: base_url,
37
44
  messaging_basic_auth_user_name: messaging_basic_auth_user_name,
38
45
  messaging_basic_auth_password: messaging_basic_auth_password,
39
- two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
40
- two_factor_auth_basic_auth_password: two_factor_auth_basic_auth_password,
46
+ multi_factor_auth_basic_auth_user_name: multi_factor_auth_basic_auth_user_name,
47
+ multi_factor_auth_basic_auth_password: multi_factor_auth_basic_auth_password,
48
+ phone_number_lookup_basic_auth_user_name: phone_number_lookup_basic_auth_user_name,
49
+ phone_number_lookup_basic_auth_password: phone_number_lookup_basic_auth_password,
41
50
  voice_basic_auth_user_name: voice_basic_auth_user_name,
42
51
  voice_basic_auth_password: voice_basic_auth_password,
43
52
  web_rtc_basic_auth_user_name: web_rtc_basic_auth_user_name,
@@ -12,18 +12,18 @@ module Messaging
12
12
  end
13
13
 
14
14
  # listMedia
15
- # @param [String] user_id Required parameter: User's account ID
15
+ # @param [String] account_id Required parameter: User's account ID
16
16
  # @param [String] continuation_token Optional parameter: Continuation token
17
17
  # used to retrieve subsequent media.
18
18
  # @return [List of Media] response from the API call
19
- def list_media(user_id,
19
+ def list_media(account_id,
20
20
  continuation_token: nil)
21
21
  # Prepare query url.
22
22
  _query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
23
- _query_builder << '/users/{userId}/media'
23
+ _query_builder << '/users/{accountId}/media'
24
24
  _query_builder = APIHelper.append_url_with_template_parameters(
25
25
  _query_builder,
26
- 'userId' => { 'value' => user_id, 'encode' => false }
26
+ 'accountId' => { 'value' => account_id, 'encode' => false }
27
27
  )
28
28
  _query_url = APIHelper.clean_url _query_builder
29
29
 
@@ -84,17 +84,17 @@ module Messaging
84
84
  end
85
85
 
86
86
  # getMedia
87
- # @param [String] user_id Required parameter: User's account ID
87
+ # @param [String] account_id Required parameter: User's account ID
88
88
  # @param [String] media_id Required parameter: Media ID to retrieve
89
89
  # @return [Binary] response from the API call
90
- def get_media(user_id,
90
+ def get_media(account_id,
91
91
  media_id)
92
92
  # Prepare query url.
93
93
  _query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
94
- _query_builder << '/users/{userId}/media/{mediaId}'
94
+ _query_builder << '/users/{accountId}/media/{mediaId}'
95
95
  _query_builder = APIHelper.append_url_with_template_parameters(
96
96
  _query_builder,
97
- 'userId' => { 'value' => user_id, 'encode' => false },
97
+ 'accountId' => { 'value' => account_id, 'encode' => false },
98
98
  'mediaId' => { 'value' => media_id, 'encode' => false }
99
99
  )
100
100
  _query_url = APIHelper.clean_url _query_builder
@@ -147,11 +147,9 @@ module Messaging
147
147
  end
148
148
 
149
149
  # uploadMedia
150
- # @param [String] user_id Required parameter: User's account ID
150
+ # @param [String] account_id Required parameter: User's account ID
151
151
  # @param [String] media_id Required parameter: The user supplied custom
152
152
  # media ID
153
- # @param [Long] content_length Required parameter: The size of the
154
- # entity-body
155
153
  # @param [File | UploadIO] body Required parameter: Example:
156
154
  # @param [String] content_type Optional parameter: The media type of the
157
155
  # entity-body
@@ -159,18 +157,17 @@ module Messaging
159
157
  # used to specify directives that MUST be obeyed by all caching mechanisms
160
158
  # along the request/response chain.
161
159
  # @return [void] response from the API call
162
- def upload_media(user_id,
160
+ def upload_media(account_id,
163
161
  media_id,
164
- content_length,
165
162
  body,
166
163
  content_type: 'application/octet-stream',
167
164
  cache_control: nil)
168
165
  # Prepare query url.
169
166
  _query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
170
- _query_builder << '/users/{userId}/media/{mediaId}'
167
+ _query_builder << '/users/{accountId}/media/{mediaId}'
171
168
  _query_builder = APIHelper.append_url_with_template_parameters(
172
169
  _query_builder,
173
- 'userId' => { 'value' => user_id, 'encode' => false },
170
+ 'accountId' => { 'value' => account_id, 'encode' => false },
174
171
  'mediaId' => { 'value' => media_id, 'encode' => false }
175
172
  )
176
173
  _query_url = APIHelper.clean_url _query_builder
@@ -187,7 +184,6 @@ module Messaging
187
184
  _headers = {
188
185
  'content-type' => body_content_type,
189
186
  'content-length' => body_wrapper.size.to_s,
190
- 'Content-Length' => content_length,
191
187
  'Cache-Control' => cache_control
192
188
  }
193
189
 
@@ -239,17 +235,17 @@ module Messaging
239
235
  end
240
236
 
241
237
  # deleteMedia
242
- # @param [String] user_id Required parameter: User's account ID
238
+ # @param [String] account_id Required parameter: User's account ID
243
239
  # @param [String] media_id Required parameter: The media ID to delete
244
240
  # @return [void] response from the API call
245
- def delete_media(user_id,
241
+ def delete_media(account_id,
246
242
  media_id)
247
243
  # Prepare query url.
248
244
  _query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
249
- _query_builder << '/users/{userId}/media/{mediaId}'
245
+ _query_builder << '/users/{accountId}/media/{mediaId}'
250
246
  _query_builder = APIHelper.append_url_with_template_parameters(
251
247
  _query_builder,
252
- 'userId' => { 'value' => user_id, 'encode' => false },
248
+ 'accountId' => { 'value' => account_id, 'encode' => false },
253
249
  'mediaId' => { 'value' => media_id, 'encode' => false }
254
250
  )
255
251
  _query_url = APIHelper.clean_url _query_builder
@@ -300,7 +296,7 @@ module Messaging
300
296
  end
301
297
 
302
298
  # getMessages
303
- # @param [String] user_id Required parameter: User's account ID
299
+ # @param [String] account_id Required parameter: User's account ID
304
300
  # @param [String] message_id Optional parameter: The ID of the message to
305
301
  # search for. Special characters need to be encoded using URL encoding
306
302
  # @param [String] source_tn Optional parameter: The phone number that sent
@@ -309,7 +305,7 @@ module Messaging
309
305
  # received the message
310
306
  # @param [String] message_status Optional parameter: The status of the
311
307
  # message. One of RECEIVED, QUEUED, SENDING, SENT, FAILED, DELIVERED,
312
- # DLR_EXPIRED
308
+ # ACCEPTED, UNDELIVERED
313
309
  # @param [Integer] error_code Optional parameter: The error code of the
314
310
  # message
315
311
  # @param [String] from_date_time Optional parameter: The start of the date
@@ -324,7 +320,7 @@ module Messaging
324
320
  # in search result. Default 100. The sum of limit and after cannot be more
325
321
  # than 10000
326
322
  # @return [BandwidthMessagesList] response from the API call
327
- def get_messages(user_id,
323
+ def get_messages(account_id,
328
324
  message_id: nil,
329
325
  source_tn: nil,
330
326
  destination_tn: nil,
@@ -336,10 +332,10 @@ module Messaging
336
332
  limit: nil)
337
333
  # Prepare query url.
338
334
  _query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
339
- _query_builder << '/users/{userId}/messages'
335
+ _query_builder << '/users/{accountId}/messages'
340
336
  _query_builder = APIHelper.append_url_with_template_parameters(
341
337
  _query_builder,
342
- 'userId' => { 'value' => user_id, 'encode' => false }
338
+ 'accountId' => { 'value' => account_id, 'encode' => false }
343
339
  )
344
340
  _query_builder = APIHelper.append_url_with_query_parameters(
345
341
  _query_builder,
@@ -410,17 +406,17 @@ module Messaging
410
406
  end
411
407
 
412
408
  # createMessage
413
- # @param [String] user_id Required parameter: User's account ID
409
+ # @param [String] account_id Required parameter: User's account ID
414
410
  # @param [MessageRequest] body Required parameter: Example:
415
411
  # @return [BandwidthMessage] response from the API call
416
- def create_message(user_id,
412
+ def create_message(account_id,
417
413
  body)
418
414
  # Prepare query url.
419
415
  _query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
420
- _query_builder << '/users/{userId}/messages'
416
+ _query_builder << '/users/{accountId}/messages'
421
417
  _query_builder = APIHelper.append_url_with_template_parameters(
422
418
  _query_builder,
423
- 'userId' => { 'value' => user_id, 'encode' => false }
419
+ 'accountId' => { 'value' => account_id, 'encode' => false }
424
420
  )
425
421
  _query_url = APIHelper.clean_url _query_builder
426
422
 
@@ -50,6 +50,26 @@ module Bandwidth
50
50
  # @return [String]
51
51
  attr_accessor :carrier_name
52
52
 
53
+ # The size of the message including message content and headers
54
+ # @return [Integer]
55
+ attr_accessor :message_size
56
+
57
+ # The length of the message content
58
+ # @return [Integer]
59
+ attr_accessor :message_length
60
+
61
+ # The number of attachments the message has
62
+ # @return [Integer]
63
+ attr_accessor :attachment_count
64
+
65
+ # The number of recipients the message has
66
+ # @return [Integer]
67
+ attr_accessor :recipient_count
68
+
69
+ # The campaign class of the message, if it has one
70
+ # @return [String]
71
+ attr_accessor :campaign_class
72
+
53
73
  # A mapping from model property names to API property names.
54
74
  def self.names
55
75
  @_hash = {} if @_hash.nil?
@@ -64,6 +84,11 @@ module Bandwidth
64
84
  @_hash['error_code'] = 'errorCode'
65
85
  @_hash['receive_time'] = 'receiveTime'
66
86
  @_hash['carrier_name'] = 'carrierName'
87
+ @_hash['message_size'] = 'messageSize'
88
+ @_hash['message_length'] = 'messageLength'
89
+ @_hash['attachment_count'] = 'attachmentCount'
90
+ @_hash['recipient_count'] = 'recipientCount'
91
+ @_hash['campaign_class'] = 'campaignClass'
67
92
  @_hash
68
93
  end
69
94
 
@@ -77,7 +102,12 @@ module Bandwidth
77
102
  segment_count = nil,
78
103
  error_code = nil,
79
104
  receive_time = nil,
80
- carrier_name = nil)
105
+ carrier_name = nil,
106
+ message_size = nil,
107
+ message_length = nil,
108
+ attachment_count = nil,
109
+ recipient_count = nil,
110
+ campaign_class = nil)
81
111
  @message_id = message_id
82
112
  @account_id = account_id
83
113
  @source_tn = source_tn
@@ -89,6 +119,11 @@ module Bandwidth
89
119
  @error_code = error_code
90
120
  @receive_time = receive_time
91
121
  @carrier_name = carrier_name
122
+ @message_size = message_size
123
+ @message_length = message_length
124
+ @attachment_count = attachment_count
125
+ @recipient_count = recipient_count
126
+ @campaign_class = campaign_class
92
127
  end
93
128
 
94
129
  # Creates an instance of the object from a hash.
@@ -107,6 +142,11 @@ module Bandwidth
107
142
  error_code = hash['errorCode']
108
143
  receive_time = hash['receiveTime']
109
144
  carrier_name = hash['carrierName']
145
+ message_size = hash['messageSize']
146
+ message_length = hash['messageLength']
147
+ attachment_count = hash['attachmentCount']
148
+ recipient_count = hash['recipientCount']
149
+ campaign_class = hash['campaignClass']
110
150
 
111
151
  # Create object from extracted values.
112
152
  BandwidthMessageItem.new(message_id,
@@ -119,7 +159,12 @@ module Bandwidth
119
159
  segment_count,
120
160
  error_code,
121
161
  receive_time,
122
- carrier_name)
162
+ carrier_name,
163
+ message_size,
164
+ message_length,
165
+ attachment_count,
166
+ recipient_count,
167
+ campaign_class)
123
168
  end
124
169
  end
125
170
  end