bandwidth-sdk 16.1.0 → 16.2.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  3. data/README.md +3 -0
  4. data/bandwidth.yml +254 -0
  5. data/coverage/.last_run.json +1 -1
  6. data/coverage/.resultset.json +501 -1
  7. data/coverage/index.html +6288 -962
  8. data/docs/BusinessEntityTypeEnum.md +15 -0
  9. data/docs/BusinessRegistrationTypeEnum.md +15 -0
  10. data/docs/ListMessageItem.md +13 -1
  11. data/docs/MessagesApi.md +24 -0
  12. data/docs/OptInWorkflow.md +3 -1
  13. data/docs/ProductTypeEnum.md +15 -0
  14. data/docs/RbmActionBase.md +1 -1
  15. data/docs/RbmSuggestionResponse.md +1 -1
  16. data/docs/TfvSubmissionInfo.md +7 -1
  17. data/docs/VerificationRequest.md +11 -1
  18. data/docs/VerificationUpdateRequest.md +11 -1
  19. data/lib/bandwidth-sdk/api/messages_api.rb +36 -0
  20. data/lib/bandwidth-sdk/models/business_entity_type_enum.rb +43 -0
  21. data/lib/bandwidth-sdk/models/business_registration_type_enum.rb +40 -0
  22. data/lib/bandwidth-sdk/models/bxml/verbs/stop_stream.rb +2 -1
  23. data/lib/bandwidth-sdk/models/list_message_item.rb +71 -5
  24. data/lib/bandwidth-sdk/models/message_type_enum.rb +2 -1
  25. data/lib/bandwidth-sdk/models/opt_in_workflow.rb +38 -4
  26. data/lib/bandwidth-sdk/models/product_type_enum.rb +47 -0
  27. data/lib/bandwidth-sdk/models/tfv_submission_info.rb +72 -4
  28. data/lib/bandwidth-sdk/models/verification_request.rb +108 -4
  29. data/lib/bandwidth-sdk/models/verification_update_request.rb +108 -4
  30. data/lib/bandwidth-sdk/version.rb +1 -1
  31. data/lib/bandwidth-sdk.rb +3 -0
  32. data/spec/smoke/messages_api_spec.rb +2 -1
  33. data/spec/spec_helper.rb +3 -2
  34. data/spec/unit/api/messages_api_spec.rb +6 -0
  35. data/spec/unit/models/bxml/verbs/stop_stream_spec.rb +6 -4
  36. metadata +44 -38
@@ -0,0 +1,15 @@
1
+ # Bandwidth::BusinessEntityTypeEnum
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'bandwidth-sdk'
12
+
13
+ instance = Bandwidth::BusinessEntityTypeEnum.new()
14
+ ```
15
+
@@ -0,0 +1,15 @@
1
+ # Bandwidth::BusinessRegistrationTypeEnum
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'bandwidth-sdk'
12
+
13
+ instance = Bandwidth::BusinessRegistrationTypeEnum.new()
14
+ ```
15
+
@@ -21,6 +21,12 @@
21
21
  | **recipient_count** | **Integer** | The number of recipients the message has. | [optional] |
22
22
  | **campaign_class** | **String** | The campaign class of the message if it has one. | [optional] |
23
23
  | **campaign_id** | **String** | The campaign ID of the message if it has one. | [optional] |
24
+ | **bw_latency** | **Integer** | The Bandwidth latency of the message in seconds. Only available for accounts with the Advanced Quality Metrics feature enabled. | [optional] |
25
+ | **carrier_latency** | **Integer** | The carrier latency of the message in seconds. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled. | [optional] |
26
+ | **calling_number_country_a3** | **String** | The A3 country code of the calling number. | [optional] |
27
+ | **called_number_country_a3** | **String** | The A3 country code of the called number. | [optional] |
28
+ | **product** | **String** | The messaging product associated with the message. | [optional] |
29
+ | **location** | **String** | The location ID associated with this message. | [optional] |
24
30
 
25
31
  ## Example
26
32
 
@@ -44,7 +50,13 @@ instance = Bandwidth::ListMessageItem.new(
44
50
  attachment_count: 1,
45
51
  recipient_count: 1,
46
52
  campaign_class: T,
47
- campaign_id: CJEUMDK
53
+ campaign_id: CJEUMDK,
54
+ bw_latency: 20,
55
+ carrier_latency: 20,
56
+ calling_number_country_a3: USA,
57
+ called_number_country_a3: USA,
58
+ product: P2P,
59
+ location: 123ID
48
60
  )
49
61
  ```
50
62
 
data/docs/MessagesApi.md CHANGED
@@ -114,6 +114,18 @@ opts = {
114
114
  from_date_time: '2022-09-14T18:20:16.000Z', # String | The start of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.
115
115
  to_date_time: '2022-09-14T18:20:16.000Z', # String | The end of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.
116
116
  campaign_id: 'CJEUMDK', # String | The campaign ID of the message.
117
+ from_bw_latency: 5, # Integer | The minimum Bandwidth latency of the message in seconds. Only available for accounts with the Advanced Quality Metrics feature enabled.
118
+ bw_queued: true, # Boolean | A boolean value indicating whether the message is queued in the Bandwidth network.
119
+ product: Bandwidth::ProductTypeEnum::LOCAL_A2_P, # ProductTypeEnum | Messaging product associated with the message.
120
+ location: '123ABC', # String | Location Id associated with the message.
121
+ carrier_queued: true, # Boolean | A boolean value indicating whether the message is queued in the carrier network. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled.
122
+ from_carrier_latency: 50, # Integer | The minimum carrier latency of the message in seconds. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled.
123
+ calling_number_country_a3: 'USA', # String | Calling number country in A3 format.
124
+ called_number_country_a3: 'USA', # String | Called number country in A3 format.
125
+ from_segment_count: 1, # Integer | Segment count (start range).
126
+ to_segment_count: 3, # Integer | Segment count (end range).
127
+ from_message_size: 100, # Integer | Message size (start range).
128
+ to_message_size: 120, # Integer | Message size (end range).
117
129
  sort: 'sourceTn:desc', # String | The field and direction to sort by combined with a colon. Direction is either asc or desc.
118
130
  page_token: 'gdEewhcJLQRB5', # String | A base64 encoded value used for pagination of results.
119
131
  limit: 50, # Integer | The maximum records requested in search result. Default 100. The sum of limit and after cannot be more than 10000.
@@ -163,6 +175,18 @@ end
163
175
  | **from_date_time** | **String** | The start of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days. | [optional] |
164
176
  | **to_date_time** | **String** | The end of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days. | [optional] |
165
177
  | **campaign_id** | **String** | The campaign ID of the message. | [optional] |
178
+ | **from_bw_latency** | **Integer** | The minimum Bandwidth latency of the message in seconds. Only available for accounts with the Advanced Quality Metrics feature enabled. | [optional] |
179
+ | **bw_queued** | **Boolean** | A boolean value indicating whether the message is queued in the Bandwidth network. | [optional] |
180
+ | **product** | [**ProductTypeEnum**](.md) | Messaging product associated with the message. | [optional] |
181
+ | **location** | **String** | Location Id associated with the message. | [optional] |
182
+ | **carrier_queued** | **Boolean** | A boolean value indicating whether the message is queued in the carrier network. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled. | [optional] |
183
+ | **from_carrier_latency** | **Integer** | The minimum carrier latency of the message in seconds. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled. | [optional] |
184
+ | **calling_number_country_a3** | **String** | Calling number country in A3 format. | [optional] |
185
+ | **called_number_country_a3** | **String** | Called number country in A3 format. | [optional] |
186
+ | **from_segment_count** | **Integer** | Segment count (start range). | [optional] |
187
+ | **to_segment_count** | **Integer** | Segment count (end range). | [optional] |
188
+ | **from_message_size** | **Integer** | Message size (start range). | [optional] |
189
+ | **to_message_size** | **Integer** | Message size (end range). | [optional] |
166
190
  | **sort** | **String** | The field and direction to sort by combined with a colon. Direction is either asc or desc. | [optional] |
167
191
  | **page_token** | **String** | A base64 encoded value used for pagination of results. | [optional] |
168
192
  | **limit** | **Integer** | The maximum records requested in search result. Default 100. The sum of limit and after cannot be more than 10000. | [optional] |
@@ -6,6 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **description** | **String** | | |
8
8
  | **image_urls** | **Array<String>** | | |
9
+ | **confirmation_response** | **String** | | [optional] |
9
10
 
10
11
  ## Example
11
12
 
@@ -14,7 +15,8 @@ require 'bandwidth-sdk'
14
15
 
15
16
  instance = Bandwidth::OptInWorkflow.new(
16
17
  description: Opt In Flow,
17
- image_urls: null
18
+ image_urls: null,
19
+ confirmation_response: Thank you for opting in!
18
20
  )
19
21
  ```
20
22
 
@@ -0,0 +1,15 @@
1
+ # Bandwidth::ProductTypeEnum
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'bandwidth-sdk'
12
+
13
+ instance = Bandwidth::ProductTypeEnum.new()
14
+ ```
15
+
@@ -16,7 +16,7 @@ require 'bandwidth-sdk'
16
16
  instance = Bandwidth::RbmActionBase.new(
17
17
  type: null,
18
18
  text: Hello world,
19
- postback_data: [B@2c6aa46c
19
+ postback_data: [B@a93c798
20
20
  )
21
21
  ```
22
22
 
@@ -14,7 +14,7 @@ require 'bandwidth-sdk'
14
14
 
15
15
  instance = Bandwidth::RbmSuggestionResponse.new(
16
16
  text: Yes, I would like to proceed,
17
- postback_data: [B@2c6aa46c
17
+ postback_data: [B@a93c798
18
18
  )
19
19
  ```
20
20
 
@@ -16,6 +16,9 @@
16
16
  | **privacy_policy_url** | **String** | The Toll-Free Verification request privacy policy URL. | [optional] |
17
17
  | **terms_and_conditions_url** | **String** | The Toll-Free Verification request terms and conditions policy URL. | [optional] |
18
18
  | **business_dba** | **String** | The company 'Doing Business As'. | [optional] |
19
+ | **business_registration_number** | **String** | US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional until early 2026. If a value is provided for this field, a value must be provided for `businessRegistrationType` and `businessEntityType`. Available starting October 1st, 2025. | [optional] |
20
+ | **business_registration_type** | [**BusinessRegistrationTypeEnum**](BusinessRegistrationTypeEnum.md) | | [optional] |
21
+ | **business_entity_type** | [**BusinessEntityTypeEnum**](BusinessEntityTypeEnum.md) | | [optional] |
19
22
 
20
23
  ## Example
21
24
 
@@ -34,7 +37,10 @@ instance = Bandwidth::TfvSubmissionInfo.new(
34
37
  isv_reseller: Test ISV,
35
38
  privacy_policy_url: http://your-company.com/privacyPolicy,
36
39
  terms_and_conditions_url: http://your-company.com/termsAndConditions,
37
- business_dba: Another Company Name Inc.
40
+ business_dba: Another Company Name Inc.,
41
+ business_registration_number: 12-3456789,
42
+ business_registration_type: null,
43
+ business_entity_type: null
38
44
  )
39
45
  ```
40
46
 
@@ -17,6 +17,11 @@
17
17
  | **privacy_policy_url** | **String** | The Toll-Free Verification request privacy policy URL. | [optional] |
18
18
  | **terms_and_conditions_url** | **String** | The Toll-Free Verification request terms and conditions policy URL. | [optional] |
19
19
  | **business_dba** | **String** | The company 'Doing Business As'. | [optional] |
20
+ | **business_registration_number** | **String** | US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional until early 2026. If a value is provided for this field, a value must be provided for `businessRegistrationType` and `businessEntityType`. Available starting October 1st, 2025. | [optional] |
21
+ | **business_registration_type** | [**BusinessRegistrationTypeEnum**](BusinessRegistrationTypeEnum.md) | | [optional] |
22
+ | **business_entity_type** | [**BusinessEntityTypeEnum**](BusinessEntityTypeEnum.md) | | [optional] |
23
+ | **help_message_response** | **String** | A message that gets sent to users requesting help. | [optional] |
24
+ | **age_gated_content** | **Boolean** | Indicates whether the content is age-gated. | [optional] |
20
25
 
21
26
  ## Example
22
27
 
@@ -36,7 +41,12 @@ instance = Bandwidth::VerificationRequest.new(
36
41
  isv_reseller: Test ISV,
37
42
  privacy_policy_url: http://your-company.com/privacyPolicy,
38
43
  terms_and_conditions_url: http://your-company.com/termsAndConditions,
39
- business_dba: Another Company Name Inc.
44
+ business_dba: Another Company Name Inc.,
45
+ business_registration_number: 12-3456789,
46
+ business_registration_type: null,
47
+ business_entity_type: null,
48
+ help_message_response: Please contact support for assistance.,
49
+ age_gated_content: false
40
50
  )
41
51
  ```
42
52
 
@@ -16,6 +16,11 @@
16
16
  | **privacy_policy_url** | **String** | The Toll-Free Verification request privacy policy URL. | [optional] |
17
17
  | **terms_and_conditions_url** | **String** | The Toll-Free Verification request terms and conditions policy URL. | [optional] |
18
18
  | **business_dba** | **String** | The company 'Doing Business As'. | [optional] |
19
+ | **business_registration_number** | **String** | US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional until early 2026. If a value is provided for this field, a value must be provided for `businessRegistrationType` and `businessEntityType`. Available starting October 1st, 2025. | [optional] |
20
+ | **business_registration_type** | [**BusinessRegistrationTypeEnum**](BusinessRegistrationTypeEnum.md) | | [optional] |
21
+ | **business_entity_type** | [**BusinessEntityTypeEnum**](BusinessEntityTypeEnum.md) | | [optional] |
22
+ | **help_message_response** | **String** | A message that gets sent to users requesting help. | [optional] |
23
+ | **age_gated_content** | **Boolean** | Indicates whether the content is age-gated. | [optional] |
19
24
 
20
25
  ## Example
21
26
 
@@ -34,7 +39,12 @@ instance = Bandwidth::VerificationUpdateRequest.new(
34
39
  isv_reseller: Test ISV,
35
40
  privacy_policy_url: http://your-company.com/privacyPolicy,
36
41
  terms_and_conditions_url: http://your-company.com/termsAndConditions,
37
- business_dba: Another Company Name Inc.
42
+ business_dba: Another Company Name Inc.,
43
+ business_registration_number: 12-3456789,
44
+ business_registration_type: null,
45
+ business_entity_type: null,
46
+ help_message_response: Please contact support for assistance.,
47
+ age_gated_content: false
38
48
  )
39
49
  ```
40
50
 
@@ -108,6 +108,18 @@ module Bandwidth
108
108
  # @option opts [String] :from_date_time The start of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.
109
109
  # @option opts [String] :to_date_time The end of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.
110
110
  # @option opts [String] :campaign_id The campaign ID of the message.
111
+ # @option opts [Integer] :from_bw_latency The minimum Bandwidth latency of the message in seconds. Only available for accounts with the Advanced Quality Metrics feature enabled.
112
+ # @option opts [Boolean] :bw_queued A boolean value indicating whether the message is queued in the Bandwidth network.
113
+ # @option opts [ProductTypeEnum] :product Messaging product associated with the message.
114
+ # @option opts [String] :location Location Id associated with the message.
115
+ # @option opts [Boolean] :carrier_queued A boolean value indicating whether the message is queued in the carrier network. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled.
116
+ # @option opts [Integer] :from_carrier_latency The minimum carrier latency of the message in seconds. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled.
117
+ # @option opts [String] :calling_number_country_a3 Calling number country in A3 format.
118
+ # @option opts [String] :called_number_country_a3 Called number country in A3 format.
119
+ # @option opts [Integer] :from_segment_count Segment count (start range).
120
+ # @option opts [Integer] :to_segment_count Segment count (end range).
121
+ # @option opts [Integer] :from_message_size Message size (start range).
122
+ # @option opts [Integer] :to_message_size Message size (end range).
111
123
  # @option opts [String] :sort The field and direction to sort by combined with a colon. Direction is either asc or desc.
112
124
  # @option opts [String] :page_token A base64 encoded value used for pagination of results.
113
125
  # @option opts [Integer] :limit The maximum records requested in search result. Default 100. The sum of limit and after cannot be more than 10000.
@@ -133,6 +145,18 @@ module Bandwidth
133
145
  # @option opts [String] :from_date_time The start of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.
134
146
  # @option opts [String] :to_date_time The end of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.
135
147
  # @option opts [String] :campaign_id The campaign ID of the message.
148
+ # @option opts [Integer] :from_bw_latency The minimum Bandwidth latency of the message in seconds. Only available for accounts with the Advanced Quality Metrics feature enabled.
149
+ # @option opts [Boolean] :bw_queued A boolean value indicating whether the message is queued in the Bandwidth network.
150
+ # @option opts [ProductTypeEnum] :product Messaging product associated with the message.
151
+ # @option opts [String] :location Location Id associated with the message.
152
+ # @option opts [Boolean] :carrier_queued A boolean value indicating whether the message is queued in the carrier network. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled.
153
+ # @option opts [Integer] :from_carrier_latency The minimum carrier latency of the message in seconds. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled.
154
+ # @option opts [String] :calling_number_country_a3 Calling number country in A3 format.
155
+ # @option opts [String] :called_number_country_a3 Called number country in A3 format.
156
+ # @option opts [Integer] :from_segment_count Segment count (start range).
157
+ # @option opts [Integer] :to_segment_count Segment count (end range).
158
+ # @option opts [Integer] :from_message_size Message size (start range).
159
+ # @option opts [Integer] :to_message_size Message size (end range).
136
160
  # @option opts [String] :sort The field and direction to sort by combined with a colon. Direction is either asc or desc.
137
161
  # @option opts [String] :page_token A base64 encoded value used for pagination of results.
138
162
  # @option opts [Integer] :limit The maximum records requested in search result. Default 100. The sum of limit and after cannot be more than 10000.
@@ -162,6 +186,18 @@ module Bandwidth
162
186
  query_params[:'fromDateTime'] = opts[:'from_date_time'] if !opts[:'from_date_time'].nil?
163
187
  query_params[:'toDateTime'] = opts[:'to_date_time'] if !opts[:'to_date_time'].nil?
164
188
  query_params[:'campaignId'] = opts[:'campaign_id'] if !opts[:'campaign_id'].nil?
189
+ query_params[:'fromBwLatency'] = opts[:'from_bw_latency'] if !opts[:'from_bw_latency'].nil?
190
+ query_params[:'bwQueued'] = opts[:'bw_queued'] if !opts[:'bw_queued'].nil?
191
+ query_params[:'product'] = opts[:'product'] if !opts[:'product'].nil?
192
+ query_params[:'location'] = opts[:'location'] if !opts[:'location'].nil?
193
+ query_params[:'carrierQueued'] = opts[:'carrier_queued'] if !opts[:'carrier_queued'].nil?
194
+ query_params[:'fromCarrierLatency'] = opts[:'from_carrier_latency'] if !opts[:'from_carrier_latency'].nil?
195
+ query_params[:'callingNumberCountryA3'] = opts[:'calling_number_country_a3'] if !opts[:'calling_number_country_a3'].nil?
196
+ query_params[:'calledNumberCountryA3'] = opts[:'called_number_country_a3'] if !opts[:'called_number_country_a3'].nil?
197
+ query_params[:'fromSegmentCount'] = opts[:'from_segment_count'] if !opts[:'from_segment_count'].nil?
198
+ query_params[:'toSegmentCount'] = opts[:'to_segment_count'] if !opts[:'to_segment_count'].nil?
199
+ query_params[:'fromMessageSize'] = opts[:'from_message_size'] if !opts[:'from_message_size'].nil?
200
+ query_params[:'toMessageSize'] = opts[:'to_message_size'] if !opts[:'to_message_size'].nil?
165
201
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
166
202
  query_params[:'pageToken'] = opts[:'page_token'] if !opts[:'page_token'].nil?
167
203
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
@@ -0,0 +1,43 @@
1
+ =begin
2
+ #Bandwidth
3
+
4
+ #Bandwidth's Communication APIs
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: letstalk@bandwidth.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Bandwidth
17
+ class BusinessEntityTypeEnum
18
+ SOLE_PROPRIETOR = 'SOLE_PROPRIETOR'.freeze
19
+ PRIVATE_PROFIT = 'PRIVATE_PROFIT'.freeze
20
+ PUBLIC_PROFIT = 'PUBLIC_PROFIT'.freeze
21
+ NON_PROFIT = 'NON_PROFIT'.freeze
22
+ GOVERNMENT = 'GOVERNMENT'.freeze
23
+
24
+ def self.all_vars
25
+ @all_vars ||= [SOLE_PROPRIETOR, PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, GOVERNMENT].freeze
26
+ end
27
+
28
+ # Builds the enum from string
29
+ # @param [String] The enum value in the form of the string
30
+ # @return [String] The enum value
31
+ def self.build_from_hash(value)
32
+ new.build_from_hash(value)
33
+ end
34
+
35
+ # Builds the enum from string
36
+ # @param [String] The enum value in the form of the string
37
+ # @return [String] The enum value
38
+ def build_from_hash(value)
39
+ return value if BusinessEntityTypeEnum.all_vars.include?(value)
40
+ raise "Invalid ENUM value #{value} for class #BusinessEntityTypeEnum"
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,40 @@
1
+ =begin
2
+ #Bandwidth
3
+
4
+ #Bandwidth's Communication APIs
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: letstalk@bandwidth.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Bandwidth
17
+ class BusinessRegistrationTypeEnum
18
+ EIN = 'EIN'.freeze
19
+ CBN = 'CBN'.freeze
20
+
21
+ def self.all_vars
22
+ @all_vars ||= [EIN, CBN].freeze
23
+ end
24
+
25
+ # Builds the enum from string
26
+ # @param [String] The enum value in the form of the string
27
+ # @return [String] The enum value
28
+ def self.build_from_hash(value)
29
+ new.build_from_hash(value)
30
+ end
31
+
32
+ # Builds the enum from string
33
+ # @param [String] The enum value in the form of the string
34
+ # @return [String] The enum value
35
+ def build_from_hash(value)
36
+ return value if BusinessRegistrationTypeEnum.all_vars.include?(value)
37
+ raise "Invalid ENUM value #{value} for class #BusinessRegistrationTypeEnum"
38
+ end
39
+ end
40
+ end
@@ -7,7 +7,8 @@ module Bandwidth
7
7
  super('StopStream', nil, attributes)
8
8
 
9
9
  @attribute_map = {
10
- name: 'name' # [String]: The name of the stream to stop. This is either the user selected name when sending the <StartStream> verb, or the system generated name returned in the Media Stream Started webhook if <StartStream> was sent with no name attribute.
10
+ name: 'name', # [String]: The name of the stream to stop. This is either the user selected name when sending the <StartStream> verb, or the system generated name returned in the Media Stream Started webhook if <StartStream> was sent with no name attribute.
11
+ wait: 'wait' # Optional [Boolean]: If true, the BXML interpreter will wait for the stream to stop before processing the next verb.
11
12
  }
12
13
  end
13
14
  end
@@ -63,6 +63,24 @@ module Bandwidth
63
63
  # The campaign ID of the message if it has one.
64
64
  attr_accessor :campaign_id
65
65
 
66
+ # The Bandwidth latency of the message in seconds. Only available for accounts with the Advanced Quality Metrics feature enabled.
67
+ attr_accessor :bw_latency
68
+
69
+ # The carrier latency of the message in seconds. Only available for OUTBOUND messages from accounts with the Advanced Quality Metrics feature enabled.
70
+ attr_accessor :carrier_latency
71
+
72
+ # The A3 country code of the calling number.
73
+ attr_accessor :calling_number_country_a3
74
+
75
+ # The A3 country code of the called number.
76
+ attr_accessor :called_number_country_a3
77
+
78
+ # The messaging product associated with the message.
79
+ attr_accessor :product
80
+
81
+ # The location ID associated with this message.
82
+ attr_accessor :location
83
+
66
84
  class EnumAttributeValidator
67
85
  attr_reader :datatype
68
86
  attr_reader :allowable_values
@@ -104,7 +122,13 @@ module Bandwidth
104
122
  :'attachment_count' => :'attachmentCount',
105
123
  :'recipient_count' => :'recipientCount',
106
124
  :'campaign_class' => :'campaignClass',
107
- :'campaign_id' => :'campaignId'
125
+ :'campaign_id' => :'campaignId',
126
+ :'bw_latency' => :'bwLatency',
127
+ :'carrier_latency' => :'carrierLatency',
128
+ :'calling_number_country_a3' => :'callingNumberCountryA3',
129
+ :'called_number_country_a3' => :'calledNumberCountryA3',
130
+ :'product' => :'product',
131
+ :'location' => :'location'
108
132
  }
109
133
  end
110
134
 
@@ -132,7 +156,13 @@ module Bandwidth
132
156
  :'attachment_count' => :'Integer',
133
157
  :'recipient_count' => :'Integer',
134
158
  :'campaign_class' => :'String',
135
- :'campaign_id' => :'String'
159
+ :'campaign_id' => :'String',
160
+ :'bw_latency' => :'Integer',
161
+ :'carrier_latency' => :'Integer',
162
+ :'calling_number_country_a3' => :'String',
163
+ :'called_number_country_a3' => :'String',
164
+ :'product' => :'String',
165
+ :'location' => :'String'
136
166
  }
137
167
  end
138
168
 
@@ -144,7 +174,13 @@ module Bandwidth
144
174
  :'attachment_count',
145
175
  :'recipient_count',
146
176
  :'campaign_class',
147
- :'campaign_id'
177
+ :'campaign_id',
178
+ :'bw_latency',
179
+ :'carrier_latency',
180
+ :'calling_number_country_a3',
181
+ :'called_number_country_a3',
182
+ :'product',
183
+ :'location'
148
184
  ])
149
185
  end
150
186
 
@@ -230,6 +266,30 @@ module Bandwidth
230
266
  if attributes.key?(:'campaign_id')
231
267
  self.campaign_id = attributes[:'campaign_id']
232
268
  end
269
+
270
+ if attributes.key?(:'bw_latency')
271
+ self.bw_latency = attributes[:'bw_latency']
272
+ end
273
+
274
+ if attributes.key?(:'carrier_latency')
275
+ self.carrier_latency = attributes[:'carrier_latency']
276
+ end
277
+
278
+ if attributes.key?(:'calling_number_country_a3')
279
+ self.calling_number_country_a3 = attributes[:'calling_number_country_a3']
280
+ end
281
+
282
+ if attributes.key?(:'called_number_country_a3')
283
+ self.called_number_country_a3 = attributes[:'called_number_country_a3']
284
+ end
285
+
286
+ if attributes.key?(:'product')
287
+ self.product = attributes[:'product']
288
+ end
289
+
290
+ if attributes.key?(:'location')
291
+ self.location = attributes[:'location']
292
+ end
233
293
  end
234
294
 
235
295
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -268,7 +328,13 @@ module Bandwidth
268
328
  attachment_count == o.attachment_count &&
269
329
  recipient_count == o.recipient_count &&
270
330
  campaign_class == o.campaign_class &&
271
- campaign_id == o.campaign_id
331
+ campaign_id == o.campaign_id &&
332
+ bw_latency == o.bw_latency &&
333
+ carrier_latency == o.carrier_latency &&
334
+ calling_number_country_a3 == o.calling_number_country_a3 &&
335
+ called_number_country_a3 == o.called_number_country_a3 &&
336
+ product == o.product &&
337
+ location == o.location
272
338
  end
273
339
 
274
340
  # @see the `==` method
@@ -280,7 +346,7 @@ module Bandwidth
280
346
  # Calculates hash code according to all attributes.
281
347
  # @return [Integer] Hash code
282
348
  def hash
283
- [message_id, account_id, source_tn, destination_tn, message_status, message_direction, message_type, segment_count, error_code, receive_time, carrier_name, message_size, message_length, attachment_count, recipient_count, campaign_class, campaign_id].hash
349
+ [message_id, account_id, source_tn, destination_tn, message_status, message_direction, message_type, segment_count, error_code, receive_time, carrier_name, message_size, message_length, attachment_count, recipient_count, campaign_class, campaign_id, bw_latency, carrier_latency, calling_number_country_a3, called_number_country_a3, product, location].hash
284
350
  end
285
351
 
286
352
  # Builds the object from hash
@@ -17,9 +17,10 @@ module Bandwidth
17
17
  class MessageTypeEnum
18
18
  SMS = 'sms'.freeze
19
19
  MMS = 'mms'.freeze
20
+ RCS = 'rcs'.freeze
20
21
 
21
22
  def self.all_vars
22
- @all_vars ||= [SMS, MMS].freeze
23
+ @all_vars ||= [SMS, MMS, RCS].freeze
23
24
  end
24
25
 
25
26
  # Builds the enum from string
@@ -19,11 +19,14 @@ module Bandwidth
19
19
 
20
20
  attr_accessor :image_urls
21
21
 
22
+ attr_accessor :confirmation_response
23
+
22
24
  # Attribute mapping from ruby-style variable name to JSON key.
23
25
  def self.attribute_map
24
26
  {
25
27
  :'description' => :'description',
26
- :'image_urls' => :'imageUrls'
28
+ :'image_urls' => :'imageUrls',
29
+ :'confirmation_response' => :'confirmationResponse'
27
30
  }
28
31
  end
29
32
 
@@ -36,13 +39,15 @@ module Bandwidth
36
39
  def self.openapi_types
37
40
  {
38
41
  :'description' => :'String',
39
- :'image_urls' => :'Array<String>'
42
+ :'image_urls' => :'Array<String>',
43
+ :'confirmation_response' => :'String'
40
44
  }
41
45
  end
42
46
 
43
47
  # List of attributes with nullable: true
44
48
  def self.openapi_nullable
45
49
  Set.new([
50
+ :'confirmation_response'
46
51
  ])
47
52
  end
48
53
 
@@ -74,6 +79,10 @@ module Bandwidth
74
79
  else
75
80
  self.image_urls = nil
76
81
  end
82
+
83
+ if attributes.key?(:'confirmation_response')
84
+ self.confirmation_response = attributes[:'confirmation_response']
85
+ end
77
86
  end
78
87
 
79
88
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -97,6 +106,14 @@ module Bandwidth
97
106
  invalid_properties.push('invalid value for "image_urls", image_urls cannot be nil.')
98
107
  end
99
108
 
109
+ if !@confirmation_response.nil? && @confirmation_response.to_s.length > 500
110
+ invalid_properties.push('invalid value for "confirmation_response", the character length must be smaller than or equal to 500.')
111
+ end
112
+
113
+ if !@confirmation_response.nil? && @confirmation_response.to_s.length < 0
114
+ invalid_properties.push('invalid value for "confirmation_response", the character length must be great than or equal to 0.')
115
+ end
116
+
100
117
  invalid_properties
101
118
  end
102
119
 
@@ -108,6 +125,8 @@ module Bandwidth
108
125
  return false if @description.to_s.length > 500
109
126
  return false if @description.to_s.length < 1
110
127
  return false if @image_urls.nil?
128
+ return false if !@confirmation_response.nil? && @confirmation_response.to_s.length > 500
129
+ return false if !@confirmation_response.nil? && @confirmation_response.to_s.length < 0
111
130
  true
112
131
  end
113
132
 
@@ -129,13 +148,28 @@ module Bandwidth
129
148
  @description = description
130
149
  end
131
150
 
151
+ # Custom attribute writer method with validation
152
+ # @param [Object] confirmation_response Value to be assigned
153
+ def confirmation_response=(confirmation_response)
154
+ if !confirmation_response.nil? && confirmation_response.to_s.length > 500
155
+ fail ArgumentError, 'invalid value for "confirmation_response", the character length must be smaller than or equal to 500.'
156
+ end
157
+
158
+ if !confirmation_response.nil? && confirmation_response.to_s.length < 0
159
+ fail ArgumentError, 'invalid value for "confirmation_response", the character length must be great than or equal to 0.'
160
+ end
161
+
162
+ @confirmation_response = confirmation_response
163
+ end
164
+
132
165
  # Checks equality by comparing each attribute.
133
166
  # @param [Object] Object to be compared
134
167
  def ==(o)
135
168
  return true if self.equal?(o)
136
169
  self.class == o.class &&
137
170
  description == o.description &&
138
- image_urls == o.image_urls
171
+ image_urls == o.image_urls &&
172
+ confirmation_response == o.confirmation_response
139
173
  end
140
174
 
141
175
  # @see the `==` method
@@ -147,7 +181,7 @@ module Bandwidth
147
181
  # Calculates hash code according to all attributes.
148
182
  # @return [Integer] Hash code
149
183
  def hash
150
- [description, image_urls].hash
184
+ [description, image_urls, confirmation_response].hash
151
185
  end
152
186
 
153
187
  # Builds the object from hash