bandwidth-sdk 13.1.4 → 14.1.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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +15 -12
  3. data/README.md +45 -18
  4. data/bandwidth-sdk.gemspec +1 -1
  5. data/bandwidth.yml +1638 -589
  6. data/coverage/.last_run.json +1 -1
  7. data/coverage/.resultset.json +1388 -420
  8. data/coverage/index.html +20846 -10460
  9. data/custom_templates/README.mustache +6 -6
  10. data/custom_templates/gemspec.mustache +1 -1
  11. data/docs/AdditionalDenialReason.md +22 -0
  12. data/docs/Address.md +30 -0
  13. data/docs/CallbackTypeEnum.md +15 -0
  14. data/docs/Contact.md +24 -0
  15. data/docs/Error.md +22 -0
  16. data/docs/FailureWebhook.md +28 -0
  17. data/docs/LinksObject.md +24 -0
  18. data/docs/MediaApi.md +1 -1
  19. data/docs/Message.md +1 -1
  20. data/docs/MessageCallback.md +28 -0
  21. data/docs/MessageCallbackMessage.md +40 -0
  22. data/docs/OptInWorkflow.md +20 -0
  23. data/docs/TelephoneNumber.md +18 -0
  24. data/docs/TfvBasicAuthentication.md +20 -0
  25. data/docs/TfvCallbackStatusEnum.md +15 -0
  26. data/docs/TfvError.md +22 -0
  27. data/docs/TfvStatus.md +32 -0
  28. data/docs/TfvStatusEnum.md +15 -0
  29. data/docs/TfvSubmissionInfo.md +34 -0
  30. data/docs/TfvSubmissionWrapper.md +18 -0
  31. data/docs/TollFreeVerificationApi.md +585 -0
  32. data/docs/VerificationDenialWebhook.md +32 -0
  33. data/docs/VerificationRequest.md +36 -0
  34. data/docs/VerificationUpdateRequest.md +34 -0
  35. data/docs/VerificationWebhook.md +24 -0
  36. data/docs/WebhookSubscription.md +30 -0
  37. data/docs/WebhookSubscriptionBasicAuthentication.md +20 -0
  38. data/docs/WebhookSubscriptionRequestSchema.md +22 -0
  39. data/docs/WebhookSubscriptionTypeEnum.md +15 -0
  40. data/docs/WebhookSubscriptionsListBody.md +22 -0
  41. data/lib/bandwidth-sdk/api/media_api.rb +1 -1
  42. data/lib/bandwidth-sdk/api/toll_free_verification_api.rb +614 -0
  43. data/lib/bandwidth-sdk/configuration.rb +48 -0
  44. data/lib/bandwidth-sdk/models/additional_denial_reason.rb +254 -0
  45. data/lib/bandwidth-sdk/models/address.rb +501 -0
  46. data/lib/bandwidth-sdk/models/callback_type_enum.rb +42 -0
  47. data/lib/bandwidth-sdk/models/contact.rb +393 -0
  48. data/lib/bandwidth-sdk/models/error.rb +232 -0
  49. data/lib/bandwidth-sdk/models/failure_webhook.rb +304 -0
  50. data/lib/bandwidth-sdk/models/{transcription_metadata.rb → links_object.rb} +34 -35
  51. data/lib/bandwidth-sdk/models/{message_failed_callback.rb → message_callback.rb} +31 -13
  52. data/lib/bandwidth-sdk/models/{inbound_message_callback_message.rb → message_callback_message.rb} +6 -4
  53. data/lib/bandwidth-sdk/models/{inbound_message_callback.rb → opt_in_workflow.rb} +42 -61
  54. data/lib/bandwidth-sdk/models/telephone_number.rb +213 -0
  55. data/lib/bandwidth-sdk/models/{message_delivered_callback.rb → tfv_basic_authentication.rb} +58 -69
  56. data/lib/bandwidth-sdk/models/tfv_callback_status_enum.rb +40 -0
  57. data/lib/bandwidth-sdk/models/{message_sending_callback.rb → tfv_error.rb} +12 -64
  58. data/lib/bandwidth-sdk/models/{message_delivered_callback_message.rb → tfv_status.rb} +86 -162
  59. data/lib/bandwidth-sdk/models/tfv_status_enum.rb +43 -0
  60. data/lib/bandwidth-sdk/models/tfv_submission_info.rb +452 -0
  61. data/lib/bandwidth-sdk/models/{transcription_list.rb → tfv_submission_wrapper.rb} +12 -14
  62. data/lib/bandwidth-sdk/models/verification_denial_webhook.rb +325 -0
  63. data/lib/bandwidth-sdk/models/verification_request.rb +547 -0
  64. data/lib/bandwidth-sdk/models/verification_update_request.rb +501 -0
  65. data/lib/bandwidth-sdk/models/verification_webhook.rb +303 -0
  66. data/lib/bandwidth-sdk/models/{message_failed_callback_message.rb → webhook_subscription.rb} +68 -158
  67. data/lib/bandwidth-sdk/models/webhook_subscription_basic_authentication.rb +274 -0
  68. data/lib/bandwidth-sdk/models/webhook_subscription_request_schema.rb +306 -0
  69. data/lib/bandwidth-sdk/models/webhook_subscription_type_enum.rb +40 -0
  70. data/lib/bandwidth-sdk/models/webhook_subscriptions_list_body.rb +242 -0
  71. data/lib/bandwidth-sdk/version.rb +1 -1
  72. data/lib/bandwidth-sdk.rb +28 -8
  73. data/openapi-config.yml +1 -1
  74. data/spec/call_utils.rb +2 -2
  75. data/spec/smoke/toll_free_verification_api_spec.rb +69 -0
  76. data/spec/spec_helper.rb +1 -1
  77. data/spec/unit/api/mfa_api_spec.rb +1 -1
  78. data/spec/unit/api/toll_free_verification_api_spec.rb +278 -0
  79. data/spec/unit/client/api_client_spec.rb +1 -1
  80. metadata +111 -62
  81. data/lib/bandwidth-sdk/models/disconenct_callback.rb +0 -405
  82. data/lib/bandwidth-sdk/models/message_sending_callback_message.rb +0 -418
@@ -0,0 +1,278 @@
1
+ # Unit tests for Bandwidth::TollFreeVerificationApi
2
+ describe 'TollFreeVerificationApi' do
3
+ let (:webhook_subscription_request_schema) { Bandwidth::WebhookSubscriptionRequestSchema.new(
4
+ basic_authentication: {
5
+ username: 'username',
6
+ password: 'password'
7
+ },
8
+ callback_url: 'https://example.com',
9
+ shared_secret_key: 'shared-secret-key'
10
+ ) }
11
+ let (:verification) { {
12
+ business_address: Bandwidth::Address.new(
13
+ name: 'name',
14
+ addr1: 'addr1',
15
+ addr2: 'addr2',
16
+ city: 'city',
17
+ state: 'state',
18
+ zip: 'zip',
19
+ url: 'https://example.com'
20
+ ),
21
+ business_contact: Bandwidth::Contact.new(
22
+ first_name: 'first-name',
23
+ last_name: 'last-name',
24
+ email: 'email@email.com',
25
+ phone_number: '+19195551234'
26
+ ),
27
+ message_volume: 12,
28
+ use_case: 'useCase',
29
+ use_case_summary: 'useCaseSummary',
30
+ production_message_content: 'productionMessageContent',
31
+ opt_in_workflow: Bandwidth::OptInWorkflow.new(
32
+ description: 'description',
33
+ image_urls: ['https://example.com']
34
+ ),
35
+ additional_information: 'additionalInformation',
36
+ isv_reseller: 'isvReseller'
37
+ } }
38
+ let (:subscription_id) { 'test-id-1234' }
39
+ let (:tf_phone_number) { '+18005551234' }
40
+
41
+ before(:all) do
42
+ Bandwidth.configure do |config|
43
+ config.debugging = true
44
+ config.username = BW_USERNAME
45
+ config.password = BW_PASSWORD
46
+ config.ignore_operation_servers = true
47
+ config.host = '127.0.0.1:4010'
48
+ end
49
+ @tfv_api_instance = Bandwidth::TollFreeVerificationApi.new
50
+ end
51
+
52
+ describe 'test an instance of TollFreeVerificationApi' do
53
+ it 'should create an instance of TollFreeVerificationApi' do
54
+ expect(@tfv_api_instance).to be_instance_of(Bandwidth::TollFreeVerificationApi)
55
+ end
56
+ end
57
+
58
+ # Create Webhook Subscription
59
+ describe 'create_webhook_subscription test' do
60
+ it 'creates webhook subscription' do
61
+ data, status_code = @tfv_api_instance.create_webhook_subscription_with_http_info(BW_ACCOUNT_ID, webhook_subscription_request_schema)
62
+
63
+ expect(status_code).to eq(201)
64
+ expect(data).to be_instance_of(Bandwidth::WebhookSubscription)
65
+ expect(data.id).to be_instance_of(String)
66
+ expect(data.account_id.length).to eq(7)
67
+ expect(data.callback_url).to be_instance_of(String)
68
+ expect(data.type).to be_one_of(Bandwidth::WebhookSubscriptionTypeEnum.all_vars)
69
+ expect(data.basic_authentication).to be_instance_of(Bandwidth::WebhookSubscriptionBasicAuthentication)
70
+ expect(data.basic_authentication.username).to be_instance_of(String)
71
+ expect(data.basic_authentication.password).to be_instance_of(String)
72
+ expect(data.created_date).to be_instance_of(Time)
73
+ expect(data.modified_date).to be_instance_of(Time)
74
+ end
75
+
76
+ it 'causes an ArgumentError for a missing account_id' do
77
+ expect {
78
+ @tfv_api_instance.create_webhook_subscription(nil, {})
79
+ }.to raise_error(ArgumentError)
80
+ end
81
+
82
+ it 'causes an ArgumentError for a missing webhook_subscription_request_schema' do
83
+ expect {
84
+ @tfv_api_instance.create_webhook_subscription(BW_ACCOUNT_ID, nil)
85
+ }.to raise_error(ArgumentError)
86
+ end
87
+ end
88
+
89
+ # Delete Webhook Subscription
90
+ describe 'delete_webhook_subscription test' do
91
+ it 'deletes webhook subscription' do
92
+ _data, status_code = @tfv_api_instance.delete_webhook_subscription_with_http_info(BW_ACCOUNT_ID, subscription_id)
93
+
94
+ expect(status_code).to eq(204)
95
+ end
96
+
97
+ it 'causes an ArgumentError for a missing account_id' do
98
+ expect {
99
+ @tfv_api_instance.delete_webhook_subscription(nil, subscription_id)
100
+ }.to raise_error(ArgumentError)
101
+ end
102
+
103
+ it 'causes an ArgumentError for a missing subscription_id' do
104
+ expect {
105
+ @tfv_api_instance.delete_webhook_subscription(BW_ACCOUNT_ID, nil)
106
+ }.to raise_error(ArgumentError)
107
+ end
108
+ end
109
+
110
+ # Get Toll-Free Verification Status
111
+ describe 'get_toll_free_verification_status test' do
112
+ it 'gets toll free verification status' do
113
+ data, status_code = @tfv_api_instance.get_toll_free_verification_status_with_http_info(BW_ACCOUNT_ID, tf_phone_number)
114
+
115
+ expect(status_code).to eq(200)
116
+ expect(data).to be_instance_of(Bandwidth::TfvStatus)
117
+ expect(data.phone_number).to be_instance_of(String)
118
+ expect(data.status).to be_one_of(Bandwidth::TfvStatusEnum.all_vars)
119
+ expect(data.internal_ticket_number).to be_instance_of(String)
120
+ expect(data.decline_reason_description).to be_instance_of(String)
121
+ expect(data.resubmit_allowed).to be_one_of([true, false])
122
+ expect(data.created_date_time).to be_instance_of(Time)
123
+ expect(data.modified_date_time).to be_instance_of(Time)
124
+ end
125
+
126
+ it 'causes an ArgumentError for a missing account_id' do
127
+ expect {
128
+ @tfv_api_instance.get_toll_free_verification_status(nil, tf_phone_number)
129
+ }.to raise_error(ArgumentError)
130
+ end
131
+
132
+ it 'causes an ArgumentError for a missing phone_number' do
133
+ expect {
134
+ @tfv_api_instance.get_toll_free_verification_status(BW_ACCOUNT_ID, nil)
135
+ }.to raise_error(ArgumentError)
136
+ end
137
+ end
138
+
139
+ # List Toll-Free Use Cases
140
+ describe 'list_toll_free_use_cases test' do
141
+ it 'lists toll free use cases' do
142
+ data, status_code = @tfv_api_instance.list_toll_free_use_cases_with_http_info
143
+
144
+ expect(status_code).to eq(200)
145
+ expect(data).to be_instance_of(Array)
146
+ expect(data.length).to be > 0
147
+ expect(data[0]).to be_instance_of(String)
148
+ end
149
+ end
150
+
151
+ # List Webhook Subscriptions
152
+ describe 'list_webhook_subscriptions test' do
153
+ it 'lists webhook subscriptions' do
154
+ data, status_code = @tfv_api_instance.list_webhook_subscriptions_with_http_info(BW_ACCOUNT_ID)
155
+
156
+ expect(status_code).to eq(200)
157
+ expect(data).to be_instance_of(Bandwidth::WebhookSubscriptionsListBody)
158
+ expect(data.links).to be_instance_of(Bandwidth::LinksObject)
159
+ expect(data.links.first).to be_instance_of(String)
160
+ expect(data.links._next).to be_instance_of(String)
161
+ expect(data.links.previous).to be_instance_of(String)
162
+ expect(data.links.last).to be_instance_of(String)
163
+ expect(data.errors).to be_instance_of(Array)
164
+ expect(data.errors[0].code).to be_instance_of(Integer)
165
+ expect(data.errors[0].description).to be_instance_of(String)
166
+ expect(data.errors[0].telephone_numbers).to be_instance_of(Array)
167
+ expect(data.errors[0].telephone_numbers[0]).to be_instance_of(Bandwidth::TelephoneNumber)
168
+ expect(data.errors[0].telephone_numbers[0].telephone_number).to be_instance_of(String)
169
+ expect(data.data).to be_instance_of(Array)
170
+ expect(data.data[0]).to be_instance_of(Bandwidth::WebhookSubscription)
171
+ expect(data.data[0].id).to be_instance_of(String)
172
+ expect(data.data[0].account_id).to be_instance_of(String)
173
+ expect(data.data[0].callback_url).to be_instance_of(String)
174
+ expect(data.data[0].type).to be_one_of(Bandwidth::WebhookSubscriptionTypeEnum.all_vars)
175
+ expect(data.data[0].basic_authentication).to be_instance_of(Bandwidth::WebhookSubscriptionBasicAuthentication)
176
+ expect(data.data[0].basic_authentication.username).to be_instance_of(String)
177
+ expect(data.data[0].basic_authentication.password).to be_instance_of(String)
178
+ expect(data.data[0].created_date).to be_instance_of(Time)
179
+ expect(data.data[0].modified_date).to be_instance_of(Time)
180
+ end
181
+
182
+ it 'causes an ArgumentError for a missing account_id' do
183
+ expect {
184
+ @tfv_api_instance.list_webhook_subscriptions(nil)
185
+ }.to raise_error(ArgumentError)
186
+ end
187
+ end
188
+
189
+ # Request Toll-Free Verification
190
+ describe 'request_toll_free_verification test' do
191
+ it 'requests toll free verification' do
192
+ verification_request = Bandwidth::VerificationRequest.new(verification.merge(phone_numbers: [tf_phone_number]))
193
+ _data, status_code = @tfv_api_instance.request_toll_free_verification_with_http_info(BW_ACCOUNT_ID, verification_request)
194
+
195
+ expect(status_code).to eq(202)
196
+ end
197
+
198
+ it 'causes an ArgumentError for a missing account_id' do
199
+ expect {
200
+ @tfv_api_instance.request_toll_free_verification(nil, {})
201
+ }.to raise_error(ArgumentError)
202
+ end
203
+
204
+ it 'causes an ArgumentError for a missing verification_request' do
205
+ expect {
206
+ @tfv_api_instance.request_toll_free_verification(BW_ACCOUNT_ID, nil)
207
+ }.to raise_error(ArgumentError)
208
+ end
209
+ end
210
+
211
+ # Update Toll-Free Verification Request
212
+ describe 'update_toll_free_verification_request test' do
213
+ it 'updates toll free verification request' do
214
+ tfv_submission_wrapper = Bandwidth::TfvSubmissionWrapper.new(
215
+ submission: Bandwidth::VerificationUpdateRequest.new(verification)
216
+ )
217
+
218
+ _data, status_code = @tfv_api_instance.update_toll_free_verification_request_with_http_info(BW_ACCOUNT_ID, tf_phone_number, tfv_submission_wrapper)
219
+
220
+ expect(status_code).to eq(202)
221
+ end
222
+
223
+ it 'causes an ArgumentError for a missing account_id' do
224
+ expect {
225
+ @tfv_api_instance.update_toll_free_verification_request(nil, tf_phone_number, {})
226
+ }.to raise_error(ArgumentError)
227
+ end
228
+
229
+ it 'causes an ArgumentError for a missing phone_number' do
230
+ expect {
231
+ @tfv_api_instance.update_toll_free_verification_request(BW_ACCOUNT_ID, nil, {})
232
+ }.to raise_error(ArgumentError)
233
+ end
234
+
235
+ it 'causes an ArgumentError for a missing tfv_submission_wrapper' do
236
+ expect {
237
+ @tfv_api_instance.update_toll_free_verification_request(BW_ACCOUNT_ID, tf_phone_number, nil)
238
+ }.to raise_error(ArgumentError)
239
+ end
240
+ end
241
+
242
+ # Update Webhook Subscription
243
+ describe 'update_webhook_subscription test' do
244
+ it 'updates webhook subscription' do
245
+ data, status_code = @tfv_api_instance.update_webhook_subscription_with_http_info(BW_ACCOUNT_ID, subscription_id, webhook_subscription_request_schema)
246
+
247
+ expect(status_code).to eq(200)
248
+ expect(data).to be_instance_of(Bandwidth::WebhookSubscription)
249
+ expect(data.id).to be_instance_of(String)
250
+ expect(data.account_id.length).to eq(7)
251
+ expect(data.callback_url).to be_instance_of(String)
252
+ expect(data.type).to be_one_of(Bandwidth::WebhookSubscriptionTypeEnum.all_vars)
253
+ expect(data.basic_authentication).to be_instance_of(Bandwidth::WebhookSubscriptionBasicAuthentication)
254
+ expect(data.basic_authentication.username).to be_instance_of(String)
255
+ expect(data.basic_authentication.password).to be_instance_of(String)
256
+ expect(data.created_date).to be_instance_of(Time)
257
+ expect(data.modified_date).to be_instance_of(Time)
258
+ end
259
+
260
+ it 'causes an ArgumentError for a missing account_id' do
261
+ expect {
262
+ @tfv_api_instance.update_webhook_subscription(nil, subscription_id, {})
263
+ }.to raise_error(ArgumentError)
264
+ end
265
+
266
+ it 'causes an ArgumentError for a missing subscription_id' do
267
+ expect {
268
+ @tfv_api_instance.update_webhook_subscription(BW_ACCOUNT_ID, nil, {})
269
+ }.to raise_error(ArgumentError)
270
+ end
271
+
272
+ it 'causes an ArgumentError for a missing webhook_subscription_request_schema' do
273
+ expect {
274
+ @tfv_api_instance.update_webhook_subscription(BW_ACCOUNT_ID, subscription_id, nil)
275
+ }.to raise_error(ArgumentError)
276
+ end
277
+ end
278
+ end
@@ -221,7 +221,7 @@ describe Bandwidth::ApiClient do
221
221
  response = double('response', headers: headers, body: '{id 1}')
222
222
  expect {
223
223
  api_client_default.deserialize(response, 'Hash<String, Integer>')
224
- }.to raise_error(JSON::ParserError, 'unexpected token at \'{id 1}]\'')
224
+ }.to raise_error(JSON::ParserError)
225
225
  end
226
226
 
227
227
  it 'rescues invalid JSON when expecting non-JSON' do
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: 13.1.4
4
+ version: 14.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bandwidth
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-17 00:00:00.000000000 Z
11
+ date: 2025-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '2.4'
53
+ version: '2.14'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '2.4'
60
+ version: '2.14'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: marcel
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -144,6 +144,8 @@ files:
144
144
  - custom_templates/gem.mustache
145
145
  - custom_templates/gemspec.mustache
146
146
  - docs/AccountStatistics.md
147
+ - docs/AdditionalDenialReason.md
148
+ - docs/Address.md
147
149
  - docs/AnswerCallback.md
148
150
  - docs/BridgeCompleteCallback.md
149
151
  - docs/BridgeTargetCompleteCallback.md
@@ -157,6 +159,7 @@ files:
157
159
  - docs/CallTranscriptionResponse.md
158
160
  - docs/CallTranscriptionTrackEnum.md
159
161
  - docs/CallbackMethodEnum.md
162
+ - docs/CallbackTypeEnum.md
160
163
  - docs/CallsApi.md
161
164
  - docs/CodeRequest.md
162
165
  - docs/Conference.md
@@ -170,6 +173,7 @@ files:
170
173
  - docs/ConferenceRedirectCallback.md
171
174
  - docs/ConferenceStateEnum.md
172
175
  - docs/ConferencesApi.md
176
+ - docs/Contact.md
173
177
  - docs/CreateCall.md
174
178
  - docs/CreateCallResponse.md
175
179
  - docs/CreateLookupResponse.md
@@ -182,6 +186,8 @@ files:
182
186
  - docs/DisconnectCallback.md
183
187
  - docs/Diversion.md
184
188
  - docs/DtmfCallback.md
189
+ - docs/Error.md
190
+ - docs/FailureWebhook.md
185
191
  - docs/FieldError.md
186
192
  - docs/FileFormatEnum.md
187
193
  - docs/ForbiddenRequest.md
@@ -189,6 +195,7 @@ files:
189
195
  - docs/InboundMessageCallback.md
190
196
  - docs/InboundMessageCallbackMessage.md
191
197
  - docs/InitiateCallback.md
198
+ - docs/LinksObject.md
192
199
  - docs/ListMessageDirectionEnum.md
193
200
  - docs/ListMessageItem.md
194
201
  - docs/LookupRequest.md
@@ -203,6 +210,8 @@ files:
203
210
  - docs/Media.md
204
211
  - docs/MediaApi.md
205
212
  - docs/Message.md
213
+ - docs/MessageCallback.md
214
+ - docs/MessageCallbackMessage.md
206
215
  - docs/MessageDeliveredCallback.md
207
216
  - docs/MessageDeliveredCallbackMessage.md
208
217
  - docs/MessageDirectionEnum.md
@@ -220,6 +229,7 @@ files:
220
229
  - docs/MfaForbiddenRequestError.md
221
230
  - docs/MfaRequestError.md
222
231
  - docs/MfaUnauthorizedRequestError.md
232
+ - docs/OptInWorkflow.md
223
233
  - docs/PageInfo.md
224
234
  - docs/Participant.md
225
235
  - docs/ParticipantSubscription.md
@@ -242,7 +252,16 @@ files:
242
252
  - docs/StirShaken.md
243
253
  - docs/Subscriptions.md
244
254
  - docs/Tag.md
255
+ - docs/TelephoneNumber.md
256
+ - docs/TfvBasicAuthentication.md
257
+ - docs/TfvCallbackStatusEnum.md
258
+ - docs/TfvError.md
259
+ - docs/TfvStatus.md
260
+ - docs/TfvStatusEnum.md
261
+ - docs/TfvSubmissionInfo.md
262
+ - docs/TfvSubmissionWrapper.md
245
263
  - docs/TnLookupRequestError.md
264
+ - docs/TollFreeVerificationApi.md
246
265
  - docs/TranscribeRecording.md
247
266
  - docs/Transcription.md
248
267
  - docs/TranscriptionAvailableCallback.md
@@ -257,10 +276,19 @@ files:
257
276
  - docs/UpdateCallRecording.md
258
277
  - docs/UpdateConference.md
259
278
  - docs/UpdateConferenceMember.md
279
+ - docs/VerificationDenialWebhook.md
280
+ - docs/VerificationRequest.md
281
+ - docs/VerificationUpdateRequest.md
282
+ - docs/VerificationWebhook.md
260
283
  - docs/VerifyCodeRequest.md
261
284
  - docs/VerifyCodeResponse.md
262
285
  - docs/VoiceApiError.md
263
286
  - docs/VoiceCodeResponse.md
287
+ - docs/WebhookSubscription.md
288
+ - docs/WebhookSubscriptionBasicAuthentication.md
289
+ - docs/WebhookSubscriptionRequestSchema.md
290
+ - docs/WebhookSubscriptionTypeEnum.md
291
+ - docs/WebhookSubscriptionsListBody.md
264
292
  - git_push.sh
265
293
  - lib/bandwidth-sdk.rb
266
294
  - lib/bandwidth-sdk/api/calls_api.rb
@@ -271,11 +299,14 @@ files:
271
299
  - lib/bandwidth-sdk/api/phone_number_lookup_api.rb
272
300
  - lib/bandwidth-sdk/api/recordings_api.rb
273
301
  - lib/bandwidth-sdk/api/statistics_api.rb
302
+ - lib/bandwidth-sdk/api/toll_free_verification_api.rb
274
303
  - lib/bandwidth-sdk/api/transcriptions_api.rb
275
304
  - lib/bandwidth-sdk/api_client.rb
276
305
  - lib/bandwidth-sdk/api_error.rb
277
306
  - lib/bandwidth-sdk/configuration.rb
278
307
  - lib/bandwidth-sdk/models/account_statistics.rb
308
+ - lib/bandwidth-sdk/models/additional_denial_reason.rb
309
+ - lib/bandwidth-sdk/models/address.rb
279
310
  - lib/bandwidth-sdk/models/answer_callback.rb
280
311
  - lib/bandwidth-sdk/models/bridge_complete_callback.rb
281
312
  - lib/bandwidth-sdk/models/bridge_target_complete_callback.rb
@@ -322,6 +353,7 @@ files:
322
353
  - lib/bandwidth-sdk/models/call_transcription_response.rb
323
354
  - lib/bandwidth-sdk/models/call_transcription_track_enum.rb
324
355
  - lib/bandwidth-sdk/models/callback_method_enum.rb
356
+ - lib/bandwidth-sdk/models/callback_type_enum.rb
325
357
  - lib/bandwidth-sdk/models/code_request.rb
326
358
  - lib/bandwidth-sdk/models/conference.rb
327
359
  - lib/bandwidth-sdk/models/conference_completed_callback.rb
@@ -333,21 +365,22 @@ files:
333
365
  - lib/bandwidth-sdk/models/conference_recording_metadata.rb
334
366
  - lib/bandwidth-sdk/models/conference_redirect_callback.rb
335
367
  - lib/bandwidth-sdk/models/conference_state_enum.rb
368
+ - lib/bandwidth-sdk/models/contact.rb
336
369
  - lib/bandwidth-sdk/models/create_call.rb
337
370
  - lib/bandwidth-sdk/models/create_call_response.rb
338
371
  - lib/bandwidth-sdk/models/create_lookup_response.rb
339
372
  - lib/bandwidth-sdk/models/create_message_request_error.rb
340
373
  - lib/bandwidth-sdk/models/deferred_result.rb
341
- - lib/bandwidth-sdk/models/disconenct_callback.rb
342
374
  - lib/bandwidth-sdk/models/disconnect_callback.rb
343
375
  - lib/bandwidth-sdk/models/diversion.rb
344
376
  - lib/bandwidth-sdk/models/dtmf_callback.rb
377
+ - lib/bandwidth-sdk/models/error.rb
378
+ - lib/bandwidth-sdk/models/failure_webhook.rb
345
379
  - lib/bandwidth-sdk/models/field_error.rb
346
380
  - lib/bandwidth-sdk/models/file_format_enum.rb
347
381
  - lib/bandwidth-sdk/models/gather_callback.rb
348
- - lib/bandwidth-sdk/models/inbound_message_callback.rb
349
- - lib/bandwidth-sdk/models/inbound_message_callback_message.rb
350
382
  - lib/bandwidth-sdk/models/initiate_callback.rb
383
+ - lib/bandwidth-sdk/models/links_object.rb
351
384
  - lib/bandwidth-sdk/models/list_message_direction_enum.rb
352
385
  - lib/bandwidth-sdk/models/list_message_item.rb
353
386
  - lib/bandwidth-sdk/models/lookup_request.rb
@@ -360,14 +393,10 @@ files:
360
393
  - lib/bandwidth-sdk/models/machine_detection_result.rb
361
394
  - lib/bandwidth-sdk/models/media.rb
362
395
  - lib/bandwidth-sdk/models/message.rb
363
- - lib/bandwidth-sdk/models/message_delivered_callback.rb
364
- - lib/bandwidth-sdk/models/message_delivered_callback_message.rb
396
+ - lib/bandwidth-sdk/models/message_callback.rb
397
+ - lib/bandwidth-sdk/models/message_callback_message.rb
365
398
  - lib/bandwidth-sdk/models/message_direction_enum.rb
366
- - lib/bandwidth-sdk/models/message_failed_callback.rb
367
- - lib/bandwidth-sdk/models/message_failed_callback_message.rb
368
399
  - lib/bandwidth-sdk/models/message_request.rb
369
- - lib/bandwidth-sdk/models/message_sending_callback.rb
370
- - lib/bandwidth-sdk/models/message_sending_callback_message.rb
371
400
  - lib/bandwidth-sdk/models/message_status_enum.rb
372
401
  - lib/bandwidth-sdk/models/message_type_enum.rb
373
402
  - lib/bandwidth-sdk/models/messages_list.rb
@@ -376,6 +405,7 @@ files:
376
405
  - lib/bandwidth-sdk/models/mfa_forbidden_request_error.rb
377
406
  - lib/bandwidth-sdk/models/mfa_request_error.rb
378
407
  - lib/bandwidth-sdk/models/mfa_unauthorized_request_error.rb
408
+ - lib/bandwidth-sdk/models/opt_in_workflow.rb
379
409
  - lib/bandwidth-sdk/models/page_info.rb
380
410
  - lib/bandwidth-sdk/models/priority_enum.rb
381
411
  - lib/bandwidth-sdk/models/recording_available_callback.rb
@@ -387,12 +417,18 @@ files:
387
417
  - lib/bandwidth-sdk/models/redirect_method_enum.rb
388
418
  - lib/bandwidth-sdk/models/stir_shaken.rb
389
419
  - lib/bandwidth-sdk/models/tag.rb
420
+ - lib/bandwidth-sdk/models/telephone_number.rb
421
+ - lib/bandwidth-sdk/models/tfv_basic_authentication.rb
422
+ - lib/bandwidth-sdk/models/tfv_callback_status_enum.rb
423
+ - lib/bandwidth-sdk/models/tfv_error.rb
424
+ - lib/bandwidth-sdk/models/tfv_status.rb
425
+ - lib/bandwidth-sdk/models/tfv_status_enum.rb
426
+ - lib/bandwidth-sdk/models/tfv_submission_info.rb
427
+ - lib/bandwidth-sdk/models/tfv_submission_wrapper.rb
390
428
  - lib/bandwidth-sdk/models/tn_lookup_request_error.rb
391
429
  - lib/bandwidth-sdk/models/transcribe_recording.rb
392
430
  - lib/bandwidth-sdk/models/transcription.rb
393
431
  - lib/bandwidth-sdk/models/transcription_available_callback.rb
394
- - lib/bandwidth-sdk/models/transcription_list.rb
395
- - lib/bandwidth-sdk/models/transcription_metadata.rb
396
432
  - lib/bandwidth-sdk/models/transfer_answer_callback.rb
397
433
  - lib/bandwidth-sdk/models/transfer_complete_callback.rb
398
434
  - lib/bandwidth-sdk/models/transfer_disconnect_callback.rb
@@ -400,10 +436,19 @@ files:
400
436
  - lib/bandwidth-sdk/models/update_call_recording.rb
401
437
  - lib/bandwidth-sdk/models/update_conference.rb
402
438
  - lib/bandwidth-sdk/models/update_conference_member.rb
439
+ - lib/bandwidth-sdk/models/verification_denial_webhook.rb
440
+ - lib/bandwidth-sdk/models/verification_request.rb
441
+ - lib/bandwidth-sdk/models/verification_update_request.rb
442
+ - lib/bandwidth-sdk/models/verification_webhook.rb
403
443
  - lib/bandwidth-sdk/models/verify_code_request.rb
404
444
  - lib/bandwidth-sdk/models/verify_code_response.rb
405
445
  - lib/bandwidth-sdk/models/voice_api_error.rb
406
446
  - lib/bandwidth-sdk/models/voice_code_response.rb
447
+ - lib/bandwidth-sdk/models/webhook_subscription.rb
448
+ - lib/bandwidth-sdk/models/webhook_subscription_basic_authentication.rb
449
+ - lib/bandwidth-sdk/models/webhook_subscription_request_schema.rb
450
+ - lib/bandwidth-sdk/models/webhook_subscription_type_enum.rb
451
+ - lib/bandwidth-sdk/models/webhook_subscriptions_list_body.rb
407
452
  - lib/bandwidth-sdk/version.rb
408
453
  - openapi-config.yml
409
454
  - openapitools.json
@@ -417,6 +462,7 @@ files:
417
462
  - spec/smoke/phone_number_lookup_api_spec.rb
418
463
  - spec/smoke/recordings_api_spec.rb
419
464
  - spec/smoke/statistics_api_spec.rb
465
+ - spec/smoke/toll_free_verification_api_spec.rb
420
466
  - spec/smoke/transcriptions_api_spec.rb
421
467
  - spec/spec_helper.rb
422
468
  - spec/unit/api/calls_api_spec.rb
@@ -427,6 +473,7 @@ files:
427
473
  - spec/unit/api/phone_number_lookup_api_spec.rb
428
474
  - spec/unit/api/recordings_api_spec.rb
429
475
  - spec/unit/api/statistics_api_spec.rb
476
+ - spec/unit/api/toll_free_verification_api_spec.rb
430
477
  - spec/unit/api/transcriptions_api_spec.rb
431
478
  - spec/unit/client/api_client_spec.rb
432
479
  - spec/unit/client/api_error_spec.rb
@@ -472,7 +519,7 @@ homepage: https://github.com/Bandwidth/ruby-sdk
472
519
  licenses:
473
520
  - MIT
474
521
  metadata: {}
475
- post_install_message:
522
+ post_install_message:
476
523
  rdoc_options: []
477
524
  require_paths:
478
525
  - lib
@@ -487,69 +534,71 @@ required_rubygems_version: !ruby/object:Gem::Requirement
487
534
  - !ruby/object:Gem::Version
488
535
  version: '0'
489
536
  requirements: []
490
- rubygems_version: 3.2.33
491
- signing_key:
537
+ rubygems_version: 3.5.22
538
+ signing_key:
492
539
  specification_version: 4
493
540
  summary: Bandwidth Ruby SDK
494
541
  test_files:
495
542
  - spec/call_utils.rb
496
543
  - spec/fixtures/ruby_cat.jpeg
497
- - spec/smoke/phone_number_lookup_api_spec.rb
498
- - spec/smoke/mfa_api_spec.rb
499
- - spec/smoke/statistics_api_spec.rb
500
- - spec/smoke/calls_api_spec.rb
501
544
  - spec/smoke/conferences_api_spec.rb
545
+ - spec/smoke/calls_api_spec.rb
546
+ - spec/smoke/recordings_api_spec.rb
547
+ - spec/smoke/statistics_api_spec.rb
548
+ - spec/smoke/toll_free_verification_api_spec.rb
502
549
  - spec/smoke/messages_api_spec.rb
503
550
  - spec/smoke/transcriptions_api_spec.rb
504
- - spec/smoke/recordings_api_spec.rb
505
551
  - spec/smoke/media_api_spec.rb
552
+ - spec/smoke/mfa_api_spec.rb
553
+ - spec/smoke/phone_number_lookup_api_spec.rb
506
554
  - spec/spec_helper.rb
507
- - spec/unit/models/call_state_spec.rb
555
+ - spec/unit/api/conferences_api_spec.rb
556
+ - spec/unit/api/calls_api_spec.rb
557
+ - spec/unit/api/recordings_api_spec.rb
558
+ - spec/unit/api/statistics_api_spec.rb
559
+ - spec/unit/api/toll_free_verification_api_spec.rb
560
+ - spec/unit/api/messages_api_spec.rb
561
+ - spec/unit/api/transcriptions_api_spec.rb
562
+ - spec/unit/api/media_api_spec.rb
563
+ - spec/unit/api/mfa_api_spec.rb
564
+ - spec/unit/api/phone_number_lookup_api_spec.rb
508
565
  - spec/unit/models/call_state_enum_spec.rb
509
- - spec/unit/models/message_spec.rb
510
- - spec/unit/models/deferred_result_spec.rb
511
- - spec/unit/models/bxml/response_spec.rb
566
+ - spec/unit/models/bxml/nestable_verb_spec.rb
567
+ - spec/unit/models/bxml/verb_spec.rb
512
568
  - spec/unit/models/bxml/bxml_spec.rb
513
- - spec/unit/models/bxml/verbs/stream_param_spec.rb
514
- - spec/unit/models/bxml/verbs/start_stream_spec.rb
515
- - spec/unit/models/bxml/verbs/start_transcription_spec.rb
516
- - spec/unit/models/bxml/verbs/record_spec.rb
517
- - spec/unit/models/bxml/verbs/speak_sentence_spec.rb
569
+ - spec/unit/models/bxml/verbs/transfer_spec.rb
570
+ - spec/unit/models/bxml/verbs/stop_stream_spec.rb
571
+ - spec/unit/models/bxml/verbs/start_gather_spec.rb
572
+ - spec/unit/models/bxml/verbs/start_recording_spec.rb
573
+ - spec/unit/models/bxml/verbs/bridge_spec.rb
518
574
  - spec/unit/models/bxml/verbs/hangup_spec.rb
519
- - spec/unit/models/bxml/verbs/ring_spec.rb
575
+ - spec/unit/models/bxml/verbs/start_transcription_spec.rb
520
576
  - spec/unit/models/bxml/verbs/forward_spec.rb
521
- - spec/unit/models/bxml/verbs/stop_gather_spec.rb
522
- - spec/unit/models/bxml/verbs/stop_transcription_spec.rb
523
- - spec/unit/models/bxml/verbs/sip_uri_spec.rb
524
- - spec/unit/models/bxml/verbs/pause_recording_spec.rb
525
- - spec/unit/models/bxml/verbs/phone_number_spec.rb
526
- - spec/unit/models/bxml/verbs/tag_spec.rb
527
- - spec/unit/models/bxml/verbs/transfer_spec.rb
528
577
  - spec/unit/models/bxml/verbs/play_audio_spec.rb
578
+ - spec/unit/models/bxml/verbs/sip_uri_spec.rb
529
579
  - spec/unit/models/bxml/verbs/custom_param_spec.rb
530
- - spec/unit/models/bxml/verbs/redirect_spec.rb
531
- - spec/unit/models/bxml/verbs/bridge_spec.rb
532
- - spec/unit/models/bxml/verbs/stop_recording_spec.rb
533
- - spec/unit/models/bxml/verbs/pause_spec.rb
534
- - spec/unit/models/bxml/verbs/start_gather_spec.rb
535
- - spec/unit/models/bxml/verbs/stop_stream_spec.rb
536
- - spec/unit/models/bxml/verbs/start_recording_spec.rb
537
- - spec/unit/models/bxml/verbs/conference_spec.rb
538
- - spec/unit/models/bxml/verbs/gather_spec.rb
539
580
  - spec/unit/models/bxml/verbs/resume_recording_spec.rb
581
+ - spec/unit/models/bxml/verbs/conference_spec.rb
582
+ - spec/unit/models/bxml/verbs/phone_number_spec.rb
583
+ - spec/unit/models/bxml/verbs/stop_gather_spec.rb
584
+ - spec/unit/models/bxml/verbs/start_stream_spec.rb
540
585
  - spec/unit/models/bxml/verbs/send_dtmf_spec.rb
541
- - spec/unit/models/bxml/verb_spec.rb
542
- - spec/unit/models/bxml/nestable_verb_spec.rb
586
+ - spec/unit/models/bxml/verbs/ring_spec.rb
587
+ - spec/unit/models/bxml/verbs/gather_spec.rb
588
+ - spec/unit/models/bxml/verbs/pause_spec.rb
589
+ - spec/unit/models/bxml/verbs/tag_spec.rb
590
+ - spec/unit/models/bxml/verbs/stop_recording_spec.rb
591
+ - spec/unit/models/bxml/verbs/speak_sentence_spec.rb
592
+ - spec/unit/models/bxml/verbs/record_spec.rb
593
+ - spec/unit/models/bxml/verbs/pause_recording_spec.rb
594
+ - spec/unit/models/bxml/verbs/stream_param_spec.rb
595
+ - spec/unit/models/bxml/verbs/redirect_spec.rb
596
+ - spec/unit/models/bxml/verbs/stop_transcription_spec.rb
597
+ - spec/unit/models/bxml/response_spec.rb
598
+ - spec/unit/models/message_spec.rb
543
599
  - spec/unit/models/verify_code_request_spec.rb
600
+ - spec/unit/models/call_state_spec.rb
601
+ - spec/unit/models/deferred_result_spec.rb
544
602
  - spec/unit/client/configuration_spec.rb
545
- - spec/unit/client/api_client_spec.rb
546
603
  - spec/unit/client/api_error_spec.rb
547
- - spec/unit/api/phone_number_lookup_api_spec.rb
548
- - spec/unit/api/mfa_api_spec.rb
549
- - spec/unit/api/statistics_api_spec.rb
550
- - spec/unit/api/calls_api_spec.rb
551
- - spec/unit/api/conferences_api_spec.rb
552
- - spec/unit/api/messages_api_spec.rb
553
- - spec/unit/api/transcriptions_api_spec.rb
554
- - spec/unit/api/recordings_api_spec.rb
555
- - spec/unit/api/media_api_spec.rb
604
+ - spec/unit/client/api_client_spec.rb