bandwidth-sdk 13.1.4 → 14.1.0

Sign up to get free protection for your applications and to get access to all the features.
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