bandwidth-sdk 11.2.0 → 12.0.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +29 -25
  3. data/README.md +14 -8
  4. data/bandwidth.yml +223 -17
  5. data/coverage/.last_run.json +1 -1
  6. data/coverage/.resultset.json +612 -209
  7. data/coverage/index.html +14875 -10424
  8. data/custom_templates/README.mustache +4 -4
  9. data/docs/CallRecordingMetadata.md +1 -1
  10. data/docs/CallTranscription.md +24 -0
  11. data/docs/CallTranscriptionMetadata.md +20 -0
  12. data/docs/CallTranscriptionResponse.md +24 -0
  13. data/docs/RecordingAvailableCallback.md +2 -2
  14. data/docs/RecordingTranscriptionMetadata.md +24 -0
  15. data/docs/RecordingTranscriptions.md +18 -0
  16. data/docs/RecordingsApi.md +49 -49
  17. data/docs/TranscriptionsApi.md +229 -0
  18. data/lib/bandwidth-sdk/api/recordings_api.rb +56 -56
  19. data/lib/bandwidth-sdk/api/transcriptions_api.rb +241 -0
  20. data/lib/bandwidth-sdk/configuration.rb +22 -4
  21. data/lib/bandwidth-sdk/models/bxml/verbs/transfer.rb +2 -1
  22. data/lib/bandwidth-sdk/models/call_recording_metadata.rb +1 -1
  23. data/lib/bandwidth-sdk/models/call_transcription.rb +317 -0
  24. data/lib/bandwidth-sdk/models/call_transcription_metadata.rb +223 -0
  25. data/lib/bandwidth-sdk/models/call_transcription_response.rb +244 -0
  26. data/lib/bandwidth-sdk/models/recording_available_callback.rb +2 -2
  27. data/lib/bandwidth-sdk/models/recording_transcription_metadata.rb +244 -0
  28. data/lib/bandwidth-sdk/models/recording_transcriptions.rb +214 -0
  29. data/lib/bandwidth-sdk/version.rb +1 -1
  30. data/lib/bandwidth-sdk.rb +6 -2
  31. data/spec/api/calls_api_spec.rb +4 -4
  32. data/spec/api/conferences_api_spec.rb +12 -12
  33. data/spec/api/media_api_spec.rb +6 -6
  34. data/spec/api/messages_api_spec.rb +2 -2
  35. data/spec/api/mfa_api_spec.rb +6 -6
  36. data/spec/api/phone_number_lookup_api_spec.rb +2 -2
  37. data/spec/api/recordings_api_spec.rb +30 -30
  38. data/spec/api/statistics_api_spec.rb +1 -1
  39. data/spec/api/transcriptions_api_spec.rb +130 -0
  40. data/spec/api_client_spec.rb +2 -2
  41. data/spec/integration/calls_api_integration_spec.rb +7 -7
  42. data/spec/integration/conferences_api_integration_spec.rb +9 -9
  43. data/spec/integration/media_api_integration_spec.rb +7 -7
  44. data/spec/integration/messages_api_integration_spec.rb +3 -3
  45. data/spec/integration/mfa_api_integration_spec.rb +3 -3
  46. data/spec/integration/phone_number_lookup_api_integration_spec.rb +2 -2
  47. data/spec/integration/recordings_api_integration_spec.rb +14 -14
  48. data/spec/integration/statistics_api_integration_spec.rb +1 -1
  49. data/spec/integration/transcriptions_api_integration_spec.rb +84 -0
  50. data/spec/models/bxml/verbs/transfer_spec.rb +7 -5
  51. data/spec/spec_helper.rb +1 -1
  52. metadata +50 -34
@@ -34,14 +34,14 @@ describe 'RecordingsApi Integration Tests' do
34
34
  )
35
35
 
36
36
  sleep(SLEEP_TIME_S * 2)
37
- pause_data, pause_status_code, pause_headers = @recordings_api_instance.update_call_recording_state_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, pause_recording)
37
+ _pause_data, pause_status_code = @recordings_api_instance.update_call_recording_state_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, pause_recording)
38
38
  expect(pause_status_code).to eq(200)
39
39
 
40
40
  sleep(SLEEP_TIME_S)
41
- record_data, record_status_code, record_headers = @recordings_api_instance.update_call_recording_state_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, start_recording)
41
+ _record_data, record_status_code = @recordings_api_instance.update_call_recording_state_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, start_recording)
42
42
  expect(record_status_code).to eq(200)
43
43
 
44
- complete_data, complete_status_code, complete_headers = @calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $complete_call_body)
44
+ _complete_data, complete_status_code = @calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $complete_call_body)
45
45
  expect(complete_status_code).to eq(200)
46
46
 
47
47
  retries = 0
@@ -63,7 +63,7 @@ describe 'RecordingsApi Integration Tests' do
63
63
  # Get Call Recordings
64
64
  describe 'list_account_call_recordings' do
65
65
  it 'lists account call recordings' do
66
- data, status_code, headers = @recordings_api_instance.list_account_call_recordings_with_http_info(BW_ACCOUNT_ID)
66
+ data, status_code = @recordings_api_instance.list_account_call_recordings_with_http_info(BW_ACCOUNT_ID)
67
67
 
68
68
  expect(status_code).to eq(200)
69
69
  expect(data).to be_instance_of(Array)
@@ -76,7 +76,7 @@ describe 'RecordingsApi Integration Tests' do
76
76
  # List Call Recordings
77
77
  describe 'list_call_recordings' do
78
78
  it 'lists all recordings for a single call' do
79
- data, status_code, headers = @recordings_api_instance.list_call_recordings_with_http_info(BW_ACCOUNT_ID, $manteca_call_id)
79
+ data, status_code = @recordings_api_instance.list_call_recordings_with_http_info(BW_ACCOUNT_ID, $manteca_call_id)
80
80
 
81
81
  expect(status_code).to eq(200)
82
82
  expect(data).to be_instance_of(Array)
@@ -94,7 +94,7 @@ describe 'RecordingsApi Integration Tests' do
94
94
  # Get Call Recording
95
95
  describe 'get_call_recording' do
96
96
  it 'gets a call recording by id' do
97
- data, status_code, headers = @recordings_api_instance.get_call_recording_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
97
+ data, status_code = @recordings_api_instance.get_call_recording_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
98
98
 
99
99
  expect(status_code).to eq(200)
100
100
  expect(data).to be_instance_of(Bandwidth::CallRecordingMetadata)
@@ -109,7 +109,7 @@ describe 'RecordingsApi Integration Tests' do
109
109
  # Download Recording
110
110
  describe 'download_call_recording' do
111
111
  it 'downloads a call recording by id' do
112
- data, status_code, headers = @recordings_api_instance.download_call_recording_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
112
+ data, status_code = @recordings_api_instance.download_call_recording_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
113
113
 
114
114
  expect(status_code).to eq(200)
115
115
  expect(data).to be_instance_of(String)
@@ -118,13 +118,13 @@ describe 'RecordingsApi Integration Tests' do
118
118
 
119
119
  # Create Transcription Request
120
120
  describe 'transcribe_call_recording' do
121
- it 'creates a transcription request' do
121
+ it 'creates a recording transcription request' do
122
122
  transcribe_recording = Bandwidth::TranscribeRecording.new(
123
123
  callback_url: MANTECA_BASE_URL + '/transcriptions',
124
124
  tag: $manteca_test_id
125
125
  )
126
126
 
127
- data, status_code, headers = @recordings_api_instance.transcribe_call_recording_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id, transcribe_recording)
127
+ _data, status_code = @recordings_api_instance.transcribe_call_recording_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id, transcribe_recording)
128
128
  expect(status_code).to eq(204)
129
129
 
130
130
  retries = 0
@@ -147,10 +147,10 @@ describe 'RecordingsApi Integration Tests' do
147
147
  # Get Transcription
148
148
  describe 'get_call_transcription' do
149
149
  it 'gets the completed call recording transcription' do
150
- data, status_code, headers = @recordings_api_instance.get_call_transcription_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
150
+ data, status_code = @recordings_api_instance.get_recording_transcription_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
151
151
 
152
152
  expect(status_code).to eq(200)
153
- expect(data).to be_instance_of(Bandwidth::TranscriptionList)
153
+ expect(data).to be_instance_of(Bandwidth::RecordingTranscriptions)
154
154
  expect(data.transcripts).to be_instance_of(Array)
155
155
  expect(data.transcripts[0]).to be_instance_of(Bandwidth::Transcription)
156
156
  expect(data.transcripts[0].text).to be_instance_of(String)
@@ -161,7 +161,7 @@ describe 'RecordingsApi Integration Tests' do
161
161
  # Delete Transcription
162
162
  describe 'delete_call_transcription' do
163
163
  it 'deletes the completed call recording transcription' do
164
- data, status_code, headers = @recordings_api_instance.delete_call_transcription_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
164
+ _data, status_code = @recordings_api_instance.delete_recording_transcription_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
165
165
  expect(status_code).to eq(204)
166
166
  end
167
167
  end
@@ -169,7 +169,7 @@ describe 'RecordingsApi Integration Tests' do
169
169
  # Delete Recording Media
170
170
  describe 'delete_recording_media' do
171
171
  it 'deletes the completed call recording media' do
172
- data, status_code, headers = @recordings_api_instance.delete_recording_media_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
172
+ _data, status_code = @recordings_api_instance.delete_recording_media_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
173
173
  expect(status_code).to eq(204)
174
174
  end
175
175
  end
@@ -177,7 +177,7 @@ describe 'RecordingsApi Integration Tests' do
177
177
  # Delete Recording
178
178
  describe 'delete_recording' do
179
179
  it 'deletes the completed call recording data' do
180
- data, status_code, headers = @recordings_api_instance.delete_recording_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
180
+ _data, status_code = @recordings_api_instance.delete_recording_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $recording_id)
181
181
  expect(status_code).to eq(204)
182
182
  end
183
183
  end
@@ -16,7 +16,7 @@ describe 'StatisticsApi Integration Tests' do
16
16
  # Get Account Statistics
17
17
  describe 'get_statistics' do
18
18
  it 'gets account statistics' do
19
- data, status_code, headers = @statistics_api_instance.get_statistics_with_http_info(BW_ACCOUNT_ID)
19
+ data, status_code = @statistics_api_instance.get_statistics_with_http_info(BW_ACCOUNT_ID)
20
20
 
21
21
  expect(status_code).to eq(200)
22
22
  expect(data).to be_instance_of(Bandwidth::AccountStatistics)
@@ -0,0 +1,84 @@
1
+ require_relative '../call_utils'
2
+
3
+ # Integration Tests for Bandwidth::TranscriptionsApi
4
+ describe 'TranscriptionsApi Integration Tests' do
5
+ before(:all) do
6
+ WebMock.allow_net_connect!
7
+ Bandwidth.configure do |config|
8
+ config.username = BW_USERNAME
9
+ config.password = BW_PASSWORD
10
+ end
11
+ @transcriptions_api_instance = Bandwidth::TranscriptionsApi.new
12
+ @calls_api_instance = Bandwidth::CallsApi.new
13
+
14
+ # transcription info
15
+ $manteca_test_id = setup_manteca('CALL')
16
+ $manteca_call_id = create_manteca_call($manteca_test_id, '/bxml/idle', @calls_api_instance)
17
+ $transcription_id = ''
18
+ end
19
+
20
+ after(:all) do
21
+ WebMock.disable_net_connect!
22
+ end
23
+
24
+ # Create Call Transcription
25
+ describe 'create_call_transcription' do
26
+ it 'creates a call transcription' do
27
+ sleep(SLEEP_TIME_S)
28
+
29
+ start_transcription_bxml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><StartTranscription name=\"#{$manteca_call_id}\" tracks=\"inbound\"></StartTranscription><Pause duration=\"6\"/></Response>"
30
+ _start_data, start_status_code = @calls_api_instance.update_call_bxml_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, start_transcription_bxml)
31
+ expect(start_status_code).to eq(204)
32
+ sleep(SLEEP_TIME_S)
33
+
34
+ stop_transcription_bxml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><StopTranscription name=\"#{$manteca_call_id}\"></StopTranscription></Response>"
35
+ _stop_data, stop_status_code = @calls_api_instance.update_call_bxml_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, stop_transcription_bxml)
36
+ expect(stop_status_code).to eq(204)
37
+ sleep(SLEEP_TIME_S)
38
+
39
+ _complete_data, complete_status_code = @calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $complete_call_body)
40
+ expect(complete_status_code).to eq(200)
41
+ end
42
+ end
43
+
44
+ # List Real Time Call Transcriptions
45
+ describe 'list_real_time_transcriptions' do
46
+ it 'lists call transcriptions' do
47
+ sleep(SLEEP_TIME_S * 20)
48
+ data, status_code, _headers = @transcriptions_api_instance.list_real_time_transcriptions_with_http_info(BW_ACCOUNT_ID, $manteca_call_id)
49
+
50
+ expect(status_code).to eq(200)
51
+ expect(data).to be_instance_of(Array)
52
+ expect(data[0]).to be_instance_of(Bandwidth::CallTranscriptionMetadata)
53
+ expect(data[0].transcription_id).to be_instance_of(String)
54
+ expect(data[0].transcription_url).to be_instance_of(String)
55
+ $transcription_id = data[0].transcription_id
56
+ end
57
+ end
58
+
59
+ # Get Real Time Call Transcription
60
+ describe 'get_real_time_transcription' do
61
+ it 'gets the specified call transcription' do
62
+ data, status_code, _headers = @transcriptions_api_instance.get_real_time_transcription_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $transcription_id)
63
+
64
+ expect(status_code).to eq(200)
65
+ expect(data).to be_instance_of(Bandwidth::CallTranscriptionResponse)
66
+ expect(data.account_id).to eq(BW_ACCOUNT_ID)
67
+ expect(data.call_id).to eq($manteca_call_id)
68
+ expect(data.transcription_id).to eq($transcription_id)
69
+ expect(data.tracks).to be_instance_of(Array)
70
+ expect(data.tracks[0]).to be_instance_of(Bandwidth::CallTranscription)
71
+ expect(data.tracks[0].track).to eq('inbound')
72
+ expect(data.tracks[0].confidence).to be_instance_of(Float)
73
+ end
74
+ end
75
+
76
+ # Delete Real Time Call Transcription
77
+ describe 'delete_real_time_transcription' do
78
+ it 'deletes the specified call transcription' do
79
+ _data, status_code = @transcriptions_api_instance.delete_real_time_transcription_with_http_info(BW_ACCOUNT_ID, $manteca_call_id, $transcription_id)
80
+
81
+ expect(status_code).to eq(200) # This is a bug in the API, it should return 204. VAPI-1863 should fix this.
82
+ end
83
+ end
84
+ end
@@ -3,6 +3,7 @@ describe 'Bandwidth::Bxml::Transfer' do
3
3
  let(:initial_attributes) {
4
4
  {
5
5
  transfer_caller_id: '+19195551234',
6
+ transfer_caller_display_name: 'initial_caller',
6
7
  call_timeout: 5,
7
8
  transfer_complete_url: 'https://initial.com',
8
9
  transfer_complete_method: 'POST',
@@ -21,6 +22,7 @@ describe 'Bandwidth::Bxml::Transfer' do
21
22
  let(:new_attributes) {
22
23
  {
23
24
  transfer_caller_id: '+19195554321',
25
+ transfer_caller_display_name: 'new_caller',
24
26
  call_timeout: 10,
25
27
  transfer_complete_url: 'https://new.com',
26
28
  transfer_complete_method: 'POST',
@@ -49,13 +51,13 @@ describe 'Bandwidth::Bxml::Transfer' do
49
51
  end
50
52
 
51
53
  it 'tests the to_bxml method of the Transfer instance' do
52
- expected = "\n<Transfer transferCallerId=\"+19195551234\" callTimeout=\"5\" transferCompleteUrl=\"https://initial.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://initial.com\" transferCompleteFallbackMethod=\"POST\" username=\"initial_username\" password=\"initial_password\" fallbackUsername=\"initial_fallback_username\" fallbackPassword=\"initial_fallback_password\" tag=\"initial_tag\" diversionTreatment=\"propagate\" diversionReason=\"user-busy\"/>\n"
54
+ expected = "\n<Transfer transferCallerId=\"+19195551234\" transferCallerDisplayName=\"initial_caller\" callTimeout=\"5\" transferCompleteUrl=\"https://initial.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://initial.com\" transferCompleteFallbackMethod=\"POST\" username=\"initial_username\" password=\"initial_password\" fallbackUsername=\"initial_fallback_username\" fallbackPassword=\"initial_fallback_password\" tag=\"initial_tag\" diversionTreatment=\"propagate\" diversionReason=\"user-busy\"/>\n"
53
55
  expect(instance.to_bxml).to eq(expected)
54
56
  end
55
57
 
56
58
  it 'tests the set_attributes method of the Transfer instance' do
57
59
  instance.set_attributes(new_attributes)
58
- expected = "\n<Transfer transferCallerId=\"+19195554321\" callTimeout=\"10\" transferCompleteUrl=\"https://new.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://new.com\" transferCompleteFallbackMethod=\"POST\" username=\"new_username\" password=\"new_password\" fallbackUsername=\"new_fallback_username\" fallbackPassword=\"new_fallback_password\" tag=\"new_tag\" diversionTreatment=\"stack\" diversionReason=\"no-answer\"/>\n"
60
+ expected = "\n<Transfer transferCallerId=\"+19195554321\" transferCallerDisplayName=\"new_caller\" callTimeout=\"10\" transferCompleteUrl=\"https://new.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://new.com\" transferCompleteFallbackMethod=\"POST\" username=\"new_username\" password=\"new_password\" fallbackUsername=\"new_fallback_username\" fallbackPassword=\"new_fallback_password\" tag=\"new_tag\" diversionTreatment=\"stack\" diversionReason=\"no-answer\"/>\n"
59
61
  expect(instance.to_bxml).to eq(expected)
60
62
  end
61
63
  end
@@ -67,16 +69,16 @@ describe 'Bandwidth::Bxml::Transfer' do
67
69
  end
68
70
 
69
71
  it 'tests the to_bxml method of the nested Transfer instance' do
70
- expected = "\n<Transfer transferCallerId=\"+19195551234\" callTimeout=\"5\" transferCompleteUrl=\"https://initial.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://initial.com\" transferCompleteFallbackMethod=\"POST\" username=\"initial_username\" password=\"initial_password\" fallbackUsername=\"initial_fallback_username\" fallbackPassword=\"initial_fallback_password\" tag=\"initial_tag\" diversionTreatment=\"propagate\" diversionReason=\"user-busy\">\n <PhoneNumber>+19195551234</PhoneNumber>\n</Transfer>\n"
72
+ expected = "\n<Transfer transferCallerId=\"+19195551234\" transferCallerDisplayName=\"initial_caller\" callTimeout=\"5\" transferCompleteUrl=\"https://initial.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://initial.com\" transferCompleteFallbackMethod=\"POST\" username=\"initial_username\" password=\"initial_password\" fallbackUsername=\"initial_fallback_username\" fallbackPassword=\"initial_fallback_password\" tag=\"initial_tag\" diversionTreatment=\"propagate\" diversionReason=\"user-busy\">\n <PhoneNumber>+19195551234</PhoneNumber>\n</Transfer>\n"
71
73
  expect(instance_nested.to_bxml).to eq(expected)
72
74
  end
73
75
 
74
76
  it 'tests the add_verb method of the nested Transfer instance' do
75
- expected_single = "\n<Transfer transferCallerId=\"+19195551234\" callTimeout=\"5\" transferCompleteUrl=\"https://initial.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://initial.com\" transferCompleteFallbackMethod=\"POST\" username=\"initial_username\" password=\"initial_password\" fallbackUsername=\"initial_fallback_username\" fallbackPassword=\"initial_fallback_password\" tag=\"initial_tag\" diversionTreatment=\"propagate\" diversionReason=\"user-busy\">\n <PhoneNumber>+19195551234</PhoneNumber>\n <SipUri>sip:1-999-123-4567@voip-provider.example.net</SipUri>\n</Transfer>\n"
77
+ expected_single = "\n<Transfer transferCallerId=\"+19195551234\" transferCallerDisplayName=\"initial_caller\" callTimeout=\"5\" transferCompleteUrl=\"https://initial.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://initial.com\" transferCompleteFallbackMethod=\"POST\" username=\"initial_username\" password=\"initial_password\" fallbackUsername=\"initial_fallback_username\" fallbackPassword=\"initial_fallback_password\" tag=\"initial_tag\" diversionTreatment=\"propagate\" diversionReason=\"user-busy\">\n <PhoneNumber>+19195551234</PhoneNumber>\n <SipUri>sip:1-999-123-4567@voip-provider.example.net</SipUri>\n</Transfer>\n"
76
78
  instance_nested.add_transfer_recipients(sip_uri)
77
79
  expect(instance_nested.to_bxml).to eq(expected_single)
78
80
 
79
- expected_multiple = "\n<Transfer transferCallerId=\"+19195551234\" callTimeout=\"5\" transferCompleteUrl=\"https://initial.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://initial.com\" transferCompleteFallbackMethod=\"POST\" username=\"initial_username\" password=\"initial_password\" fallbackUsername=\"initial_fallback_username\" fallbackPassword=\"initial_fallback_password\" tag=\"initial_tag\" diversionTreatment=\"propagate\" diversionReason=\"user-busy\">\n <PhoneNumber>+19195551234</PhoneNumber>\n <SipUri>sip:1-999-123-4567@voip-provider.example.net</SipUri>\n <SipUri>sip:1-999-123-4567@voip-provider.example.net</SipUri>\n <PhoneNumber>+19195551234</PhoneNumber>\n</Transfer>\n"
81
+ expected_multiple = "\n<Transfer transferCallerId=\"+19195551234\" transferCallerDisplayName=\"initial_caller\" callTimeout=\"5\" transferCompleteUrl=\"https://initial.com\" transferCompleteMethod=\"POST\" transferCompleteFallbackUrl=\"https://initial.com\" transferCompleteFallbackMethod=\"POST\" username=\"initial_username\" password=\"initial_password\" fallbackUsername=\"initial_fallback_username\" fallbackPassword=\"initial_fallback_password\" tag=\"initial_tag\" diversionTreatment=\"propagate\" diversionReason=\"user-busy\">\n <PhoneNumber>+19195551234</PhoneNumber>\n <SipUri>sip:1-999-123-4567@voip-provider.example.net</SipUri>\n <SipUri>sip:1-999-123-4567@voip-provider.example.net</SipUri>\n <PhoneNumber>+19195551234</PhoneNumber>\n</Transfer>\n"
80
82
  instance_nested.add_transfer_recipients([sip_uri, phone_number])
81
83
  expect(instance_nested.to_bxml).to eq(expected_multiple)
82
84
  end
data/spec/spec_helper.rb CHANGED
@@ -89,7 +89,7 @@ RSpec.configure do |config|
89
89
  config.password = BW_PASSWORD
90
90
  end
91
91
  calls_api = Bandwidth::CallsApi.new
92
- # cleanup_calls($active_calls, calls_api)
92
+ # cleanup_calls($active_calls, calls_api) # left out due to voice API issues
93
93
  }
94
94
 
95
95
  # rspec-expectations config goes here. You can use an alternate
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: 11.2.0
4
+ version: 12.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bandwidth
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-16 00:00:00.000000000 Z
11
+ date: 2024-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -137,6 +137,9 @@ files:
137
137
  - docs/CallRecordingMetadata.md
138
138
  - docs/CallState.md
139
139
  - docs/CallStateEnum.md
140
+ - docs/CallTranscription.md
141
+ - docs/CallTranscriptionMetadata.md
142
+ - docs/CallTranscriptionResponse.md
140
143
  - docs/CallbackMethodEnum.md
141
144
  - docs/CallsApi.md
142
145
  - docs/CodeRequest.md
@@ -211,6 +214,8 @@ files:
211
214
  - docs/RecordingAvailableCallback.md
212
215
  - docs/RecordingCompleteCallback.md
213
216
  - docs/RecordingStateEnum.md
217
+ - docs/RecordingTranscriptionMetadata.md
218
+ - docs/RecordingTranscriptions.md
214
219
  - docs/RecordingsApi.md
215
220
  - docs/RedirectCallback.md
216
221
  - docs/RedirectMethodEnum.md
@@ -227,6 +232,7 @@ files:
227
232
  - docs/TranscriptionAvailableCallback.md
228
233
  - docs/TranscriptionList.md
229
234
  - docs/TranscriptionMetadata.md
235
+ - docs/TranscriptionsApi.md
230
236
  - docs/TransferAnswerCallback.md
231
237
  - docs/TransferCompleteCallback.md
232
238
  - docs/TransferDisconnectCallback.md
@@ -249,6 +255,7 @@ files:
249
255
  - lib/bandwidth-sdk/api/phone_number_lookup_api.rb
250
256
  - lib/bandwidth-sdk/api/recordings_api.rb
251
257
  - lib/bandwidth-sdk/api/statistics_api.rb
258
+ - lib/bandwidth-sdk/api/transcriptions_api.rb
252
259
  - lib/bandwidth-sdk/api_client.rb
253
260
  - lib/bandwidth-sdk/api_error.rb
254
261
  - lib/bandwidth-sdk/configuration.rb
@@ -293,6 +300,9 @@ files:
293
300
  - lib/bandwidth-sdk/models/call_recording_metadata.rb
294
301
  - lib/bandwidth-sdk/models/call_state.rb
295
302
  - lib/bandwidth-sdk/models/call_state_enum.rb
303
+ - lib/bandwidth-sdk/models/call_transcription.rb
304
+ - lib/bandwidth-sdk/models/call_transcription_metadata.rb
305
+ - lib/bandwidth-sdk/models/call_transcription_response.rb
296
306
  - lib/bandwidth-sdk/models/callback_method_enum.rb
297
307
  - lib/bandwidth-sdk/models/code_request.rb
298
308
  - lib/bandwidth-sdk/models/conference.rb
@@ -353,6 +363,8 @@ files:
353
363
  - lib/bandwidth-sdk/models/recording_available_callback.rb
354
364
  - lib/bandwidth-sdk/models/recording_complete_callback.rb
355
365
  - lib/bandwidth-sdk/models/recording_state_enum.rb
366
+ - lib/bandwidth-sdk/models/recording_transcription_metadata.rb
367
+ - lib/bandwidth-sdk/models/recording_transcriptions.rb
356
368
  - lib/bandwidth-sdk/models/redirect_callback.rb
357
369
  - lib/bandwidth-sdk/models/redirect_method_enum.rb
358
370
  - lib/bandwidth-sdk/models/stir_shaken.rb
@@ -385,6 +397,7 @@ files:
385
397
  - spec/api/phone_number_lookup_api_spec.rb
386
398
  - spec/api/recordings_api_spec.rb
387
399
  - spec/api/statistics_api_spec.rb
400
+ - spec/api/transcriptions_api_spec.rb
388
401
  - spec/api_client_spec.rb
389
402
  - spec/api_error_spec.rb
390
403
  - spec/call_utils.rb
@@ -398,6 +411,7 @@ files:
398
411
  - spec/integration/phone_number_lookup_api_integration_spec.rb
399
412
  - spec/integration/recordings_api_integration_spec.rb
400
413
  - spec/integration/statistics_api_integration_spec.rb
414
+ - spec/integration/transcriptions_api_integration_spec.rb
401
415
  - spec/models/bxml/bxml_spec.rb
402
416
  - spec/models/bxml/nestable_verb_spec.rb
403
417
  - spec/models/bxml/response_spec.rb
@@ -460,62 +474,64 @@ signing_key:
460
474
  specification_version: 4
461
475
  summary: Bandwidth Ruby SDK
462
476
  test_files:
463
- - spec/api/phone_number_lookup_api_spec.rb
464
- - spec/api/recordings_api_spec.rb
465
477
  - spec/api/mfa_api_spec.rb
466
478
  - spec/api/statistics_api_spec.rb
479
+ - spec/api/calls_api_spec.rb
467
480
  - spec/api/media_api_spec.rb
468
481
  - spec/api/messages_api_spec.rb
469
- - spec/api/calls_api_spec.rb
482
+ - spec/api/recordings_api_spec.rb
483
+ - spec/api/transcriptions_api_spec.rb
484
+ - spec/api/phone_number_lookup_api_spec.rb
470
485
  - spec/api/conferences_api_spec.rb
471
486
  - spec/api_client_spec.rb
472
487
  - spec/api_error_spec.rb
473
488
  - spec/call_utils.rb
474
489
  - spec/configuration_spec.rb
475
490
  - spec/fixtures/ruby_cat.jpeg
476
- - spec/integration/mfa_api_integration_spec.rb
477
- - spec/integration/messages_api_integration_spec.rb
478
491
  - spec/integration/recordings_api_integration_spec.rb
479
- - spec/integration/media_api_integration_spec.rb
492
+ - spec/integration/messages_api_integration_spec.rb
493
+ - spec/integration/conferences_api_integration_spec.rb
494
+ - spec/integration/mfa_api_integration_spec.rb
495
+ - spec/integration/phone_number_lookup_api_integration_spec.rb
480
496
  - spec/integration/calls_api_integration_spec.rb
497
+ - spec/integration/transcriptions_api_integration_spec.rb
498
+ - spec/integration/media_api_integration_spec.rb
481
499
  - spec/integration/statistics_api_integration_spec.rb
482
- - spec/integration/phone_number_lookup_api_integration_spec.rb
483
- - spec/integration/conferences_api_integration_spec.rb
500
+ - spec/models/message_spec.rb
501
+ - spec/models/call_state_enum_spec.rb
484
502
  - spec/models/verify_code_request_spec.rb
485
503
  - spec/models/deferred_result_spec.rb
486
504
  - spec/models/call_state_spec.rb
487
- - spec/models/message_spec.rb
488
- - spec/models/call_state_enum_spec.rb
489
505
  - spec/models/bxml/bxml_spec.rb
490
- - spec/models/bxml/response_spec.rb
491
506
  - spec/models/bxml/nestable_verb_spec.rb
492
- - spec/models/bxml/verbs/gather_spec.rb
493
- - spec/models/bxml/verbs/phone_number_spec.rb
494
- - spec/models/bxml/verbs/start_transcription_spec.rb
507
+ - spec/models/bxml/verb_spec.rb
508
+ - spec/models/bxml/verbs/conference_spec.rb
509
+ - spec/models/bxml/verbs/stream_param_spec.rb
495
510
  - spec/models/bxml/verbs/speak_sentence_spec.rb
496
- - spec/models/bxml/verbs/hangup_spec.rb
511
+ - spec/models/bxml/verbs/stop_recording_spec.rb
512
+ - spec/models/bxml/verbs/resume_recording_spec.rb
513
+ - spec/models/bxml/verbs/start_stream_spec.rb
514
+ - spec/models/bxml/verbs/start_gather_spec.rb
515
+ - spec/models/bxml/verbs/redirect_spec.rb
516
+ - spec/models/bxml/verbs/sip_uri_spec.rb
517
+ - spec/models/bxml/verbs/ring_spec.rb
497
518
  - spec/models/bxml/verbs/custom_param_spec.rb
498
- - spec/models/bxml/verbs/start_recording_spec.rb
499
- - spec/models/bxml/verbs/pause_spec.rb
519
+ - spec/models/bxml/verbs/send_dtmf_spec.rb
520
+ - spec/models/bxml/verbs/start_transcription_spec.rb
521
+ - spec/models/bxml/verbs/gather_spec.rb
522
+ - spec/models/bxml/verbs/phone_number_spec.rb
500
523
  - spec/models/bxml/verbs/bridge_spec.rb
501
- - spec/models/bxml/verbs/stop_gather_spec.rb
502
- - spec/models/bxml/verbs/stream_param_spec.rb
503
- - spec/models/bxml/verbs/tag_spec.rb
504
- - spec/models/bxml/verbs/start_gather_spec.rb
505
524
  - spec/models/bxml/verbs/transfer_spec.rb
506
- - spec/models/bxml/verbs/start_stream_spec.rb
525
+ - spec/models/bxml/verbs/pause_spec.rb
526
+ - spec/models/bxml/verbs/start_recording_spec.rb
527
+ - spec/models/bxml/verbs/stop_gather_spec.rb
507
528
  - spec/models/bxml/verbs/stop_transcription_spec.rb
508
529
  - spec/models/bxml/verbs/play_audio_spec.rb
509
- - spec/models/bxml/verbs/sip_uri_spec.rb
510
- - spec/models/bxml/verbs/resume_recording_spec.rb
511
- - spec/models/bxml/verbs/stop_recording_spec.rb
530
+ - spec/models/bxml/verbs/tag_spec.rb
531
+ - spec/models/bxml/verbs/hangup_spec.rb
532
+ - spec/models/bxml/verbs/forward_spec.rb
512
533
  - spec/models/bxml/verbs/pause_recording_spec.rb
513
- - spec/models/bxml/verbs/record_spec.rb
514
- - spec/models/bxml/verbs/redirect_spec.rb
515
- - spec/models/bxml/verbs/ring_spec.rb
516
- - spec/models/bxml/verbs/send_dtmf_spec.rb
517
534
  - spec/models/bxml/verbs/stop_stream_spec.rb
518
- - spec/models/bxml/verbs/conference_spec.rb
519
- - spec/models/bxml/verbs/forward_spec.rb
520
- - spec/models/bxml/verb_spec.rb
535
+ - spec/models/bxml/verbs/record_spec.rb
536
+ - spec/models/bxml/response_spec.rb
521
537
  - spec/spec_helper.rb