bandwidth-sdk 11.3.0 → 12.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +18 -16
  3. data/README.md +15 -9
  4. data/Rakefile +4 -12
  5. data/bandwidth.yml +243 -28
  6. data/coverage/.last_run.json +1 -1
  7. data/coverage/.resultset.json +1412 -1009
  8. data/coverage/index.html +16274 -11823
  9. data/custom_templates/README.mustache +4 -4
  10. data/docs/AnswerCallback.md +1 -1
  11. data/docs/BridgeCompleteCallback.md +1 -1
  12. data/docs/BridgeTargetCompleteCallback.md +1 -1
  13. data/docs/CallRecordingMetadata.md +3 -3
  14. data/docs/CallTranscription.md +24 -0
  15. data/docs/CallTranscriptionMetadata.md +20 -0
  16. data/docs/CallTranscriptionResponse.md +24 -0
  17. data/docs/CallsApi.md +1 -1
  18. data/docs/ConferenceMemberExitCallback.md +1 -1
  19. data/docs/ConferenceMemberJoinCallback.md +1 -1
  20. data/docs/CreateCall.md +5 -3
  21. data/docs/DisconnectCallback.md +1 -1
  22. data/docs/DtmfCallback.md +2 -2
  23. data/docs/GatherCallback.md +2 -2
  24. data/docs/InitiateCallback.md +1 -1
  25. data/docs/MachineDetectionCompleteCallback.md +1 -1
  26. data/docs/RecordingAvailableCallback.md +4 -4
  27. data/docs/RecordingCompleteCallback.md +2 -2
  28. data/docs/RecordingTranscriptionMetadata.md +24 -0
  29. data/docs/RecordingTranscriptions.md +18 -0
  30. data/docs/RecordingsApi.md +49 -49
  31. data/docs/RedirectCallback.md +2 -2
  32. data/docs/TranscriptionAvailableCallback.md +2 -2
  33. data/docs/TranscriptionsApi.md +229 -0
  34. data/docs/TransferAnswerCallback.md +2 -2
  35. data/docs/TransferCompleteCallback.md +2 -2
  36. data/docs/TransferDisconnectCallback.md +2 -2
  37. data/lib/bandwidth-sdk/api/recordings_api.rb +56 -56
  38. data/lib/bandwidth-sdk/api/transcriptions_api.rb +241 -0
  39. data/lib/bandwidth-sdk/configuration.rb +22 -4
  40. data/lib/bandwidth-sdk/models/answer_callback.rb +1 -1
  41. data/lib/bandwidth-sdk/models/bridge_complete_callback.rb +1 -1
  42. data/lib/bandwidth-sdk/models/bridge_target_complete_callback.rb +1 -1
  43. data/lib/bandwidth-sdk/models/call_recording_metadata.rb +3 -3
  44. data/lib/bandwidth-sdk/models/call_transcription.rb +317 -0
  45. data/lib/bandwidth-sdk/models/call_transcription_metadata.rb +223 -0
  46. data/lib/bandwidth-sdk/models/call_transcription_response.rb +244 -0
  47. data/lib/bandwidth-sdk/models/conference_member_exit_callback.rb +1 -1
  48. data/lib/bandwidth-sdk/models/conference_member_join_callback.rb +1 -1
  49. data/lib/bandwidth-sdk/models/create_call.rb +14 -3
  50. data/lib/bandwidth-sdk/models/disconnect_callback.rb +1 -1
  51. data/lib/bandwidth-sdk/models/dtmf_callback.rb +2 -2
  52. data/lib/bandwidth-sdk/models/gather_callback.rb +2 -2
  53. data/lib/bandwidth-sdk/models/initiate_callback.rb +1 -1
  54. data/lib/bandwidth-sdk/models/machine_detection_complete_callback.rb +1 -1
  55. data/lib/bandwidth-sdk/models/machine_detection_configuration.rb +1 -1
  56. data/lib/bandwidth-sdk/models/recording_available_callback.rb +4 -4
  57. data/lib/bandwidth-sdk/models/recording_complete_callback.rb +2 -2
  58. data/lib/bandwidth-sdk/models/recording_transcription_metadata.rb +244 -0
  59. data/lib/bandwidth-sdk/models/recording_transcriptions.rb +214 -0
  60. data/lib/bandwidth-sdk/models/redirect_callback.rb +2 -2
  61. data/lib/bandwidth-sdk/models/transcription_available_callback.rb +2 -2
  62. data/lib/bandwidth-sdk/models/transfer_answer_callback.rb +2 -2
  63. data/lib/bandwidth-sdk/models/transfer_complete_callback.rb +2 -2
  64. data/lib/bandwidth-sdk/models/transfer_disconnect_callback.rb +2 -2
  65. data/lib/bandwidth-sdk/version.rb +1 -1
  66. data/lib/bandwidth-sdk.rb +6 -2
  67. data/spec/{integration/calls_api_integration_spec.rb → smoke/calls_api_spec.rb} +9 -7
  68. data/spec/{integration/conferences_api_integration_spec.rb → smoke/conferences_api_spec.rb} +9 -9
  69. data/spec/{integration/media_api_integration_spec.rb → smoke/media_api_spec.rb} +7 -7
  70. data/spec/{integration/messages_api_integration_spec.rb → smoke/messages_api_spec.rb} +3 -3
  71. data/spec/{integration/mfa_api_integration_spec.rb → smoke/mfa_api_spec.rb} +3 -3
  72. data/spec/{integration/phone_number_lookup_api_integration_spec.rb → smoke/phone_number_lookup_api_spec.rb} +2 -2
  73. data/spec/{integration/recordings_api_integration_spec.rb → smoke/recordings_api_spec.rb} +14 -14
  74. data/spec/{integration/statistics_api_integration_spec.rb → smoke/statistics_api_spec.rb} +1 -1
  75. data/spec/smoke/transcriptions_api_spec.rb +84 -0
  76. data/spec/spec_helper.rb +2 -2
  77. data/spec/{api → unit/api}/calls_api_spec.rb +6 -4
  78. data/spec/{api → unit/api}/conferences_api_spec.rb +12 -12
  79. data/spec/{api → unit/api}/media_api_spec.rb +6 -6
  80. data/spec/{api → unit/api}/messages_api_spec.rb +2 -2
  81. data/spec/{api → unit/api}/mfa_api_spec.rb +6 -6
  82. data/spec/{api → unit/api}/phone_number_lookup_api_spec.rb +2 -2
  83. data/spec/{api → unit/api}/recordings_api_spec.rb +30 -30
  84. data/spec/{api → unit/api}/statistics_api_spec.rb +1 -1
  85. data/spec/unit/api/transcriptions_api_spec.rb +130 -0
  86. data/spec/{api_client_spec.rb → unit/client/api_client_spec.rb} +2 -2
  87. metadata +130 -114
  88. /data/spec/{api_error_spec.rb → unit/client/api_error_spec.rb} +0 -0
  89. /data/spec/{configuration_spec.rb → unit/client/configuration_spec.rb} +0 -0
  90. /data/spec/{models → unit/models}/bxml/bxml_spec.rb +0 -0
  91. /data/spec/{models → unit/models}/bxml/nestable_verb_spec.rb +0 -0
  92. /data/spec/{models → unit/models}/bxml/response_spec.rb +0 -0
  93. /data/spec/{models → unit/models}/bxml/verb_spec.rb +0 -0
  94. /data/spec/{models → unit/models}/bxml/verbs/bridge_spec.rb +0 -0
  95. /data/spec/{models → unit/models}/bxml/verbs/conference_spec.rb +0 -0
  96. /data/spec/{models → unit/models}/bxml/verbs/custom_param_spec.rb +0 -0
  97. /data/spec/{models → unit/models}/bxml/verbs/forward_spec.rb +0 -0
  98. /data/spec/{models → unit/models}/bxml/verbs/gather_spec.rb +0 -0
  99. /data/spec/{models → unit/models}/bxml/verbs/hangup_spec.rb +0 -0
  100. /data/spec/{models → unit/models}/bxml/verbs/pause_recording_spec.rb +0 -0
  101. /data/spec/{models → unit/models}/bxml/verbs/pause_spec.rb +0 -0
  102. /data/spec/{models → unit/models}/bxml/verbs/phone_number_spec.rb +0 -0
  103. /data/spec/{models → unit/models}/bxml/verbs/play_audio_spec.rb +0 -0
  104. /data/spec/{models → unit/models}/bxml/verbs/record_spec.rb +0 -0
  105. /data/spec/{models → unit/models}/bxml/verbs/redirect_spec.rb +0 -0
  106. /data/spec/{models → unit/models}/bxml/verbs/resume_recording_spec.rb +0 -0
  107. /data/spec/{models → unit/models}/bxml/verbs/ring_spec.rb +0 -0
  108. /data/spec/{models → unit/models}/bxml/verbs/send_dtmf_spec.rb +0 -0
  109. /data/spec/{models → unit/models}/bxml/verbs/sip_uri_spec.rb +0 -0
  110. /data/spec/{models → unit/models}/bxml/verbs/speak_sentence_spec.rb +0 -0
  111. /data/spec/{models → unit/models}/bxml/verbs/start_gather_spec.rb +0 -0
  112. /data/spec/{models → unit/models}/bxml/verbs/start_recording_spec.rb +0 -0
  113. /data/spec/{models → unit/models}/bxml/verbs/start_stream_spec.rb +0 -0
  114. /data/spec/{models → unit/models}/bxml/verbs/start_transcription_spec.rb +0 -0
  115. /data/spec/{models → unit/models}/bxml/verbs/stop_gather_spec.rb +0 -0
  116. /data/spec/{models → unit/models}/bxml/verbs/stop_recording_spec.rb +0 -0
  117. /data/spec/{models → unit/models}/bxml/verbs/stop_stream_spec.rb +0 -0
  118. /data/spec/{models → unit/models}/bxml/verbs/stop_transcription_spec.rb +0 -0
  119. /data/spec/{models → unit/models}/bxml/verbs/stream_param_spec.rb +0 -0
  120. /data/spec/{models → unit/models}/bxml/verbs/tag_spec.rb +0 -0
  121. /data/spec/{models → unit/models}/bxml/verbs/transfer_spec.rb +0 -0
  122. /data/spec/{models → unit/models}/call_state_enum_spec.rb +0 -0
  123. /data/spec/{models → unit/models}/call_state_spec.rb +0 -0
  124. /data/spec/{models → unit/models}/deferred_result_spec.rb +0 -0
  125. /data/spec/{models → unit/models}/message_spec.rb +0 -0
  126. /data/spec/{models → unit/models}/verify_code_request_spec.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e82fa3f28500251d8978057cf60e836efadd5335c63895d69793b3babfb2879
4
- data.tar.gz: f1b8c1517cef45ea18a88335234a16366356d28a21efcb46dfac31f7dfb933dd
3
+ metadata.gz: cd4a580afa3bf764a51ad78f518b5e9d93f7f7bba839ab1ca643a511362dc76a
4
+ data.tar.gz: 9839ac94b8ccd790be293cd4278fad2605507c947db07ecf8595284390ffe0ac
5
5
  SHA512:
6
- metadata.gz: 29305ebdfc62708c6b3220d329c81508fd5ee49f800f962bc476332c9bba112836bd711901ac8524c7a7ec89e3b0b9ac5c1036b45d98f49d93b478c8af568927
7
- data.tar.gz: 9d1bcfd27fcaafd79d8cad9807b625f581bd61836463d4bc476e750777a333065306466ad1efeb07581c58d7d1a78413d117ed8534f4f65fd230b9024e197c8c
6
+ metadata.gz: c5077f73d866b0d4d28e4ad5fe292c1180364bdbba1892687110ea00dabf0d9d7245e64e8f50ee848430f406e6359bbed169be656ad14390b4c900a307fd5d0d
7
+ data.tar.gz: abb67c141f244fde7829ba0370e46a6aa2455b98dd511b1674032a6c096ddc6e0bfbf513fdbe295a37300681e94394c66a027b2b82cf962af66fe62dddce571a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bandwidth-sdk (11.3.0)
4
+ bandwidth-sdk (12.1.0)
5
5
  faraday (>= 1.0.1, < 3.0)
6
6
  faraday-multipart
7
7
  ox (~> 2.4)
@@ -12,7 +12,7 @@ GEM
12
12
  addressable (2.8.6)
13
13
  public_suffix (>= 2.0.2, < 6.0)
14
14
  ast (2.4.2)
15
- bigdecimal (3.1.6)
15
+ bigdecimal (3.1.8)
16
16
  byebug (11.1.3)
17
17
  coderay (1.1.3)
18
18
  crack (1.0.0)
@@ -20,21 +20,21 @@ GEM
20
20
  rexml
21
21
  diff-lcs (1.5.1)
22
22
  docile (1.4.0)
23
- faraday (2.9.0)
23
+ faraday (2.9.1)
24
24
  faraday-net_http (>= 2.0, < 3.2)
25
25
  faraday-multipart (1.0.4)
26
26
  multipart-post (~> 2)
27
27
  faraday-net_http (3.1.0)
28
28
  net-http
29
29
  hashdiff (1.1.0)
30
- json (2.7.1)
31
- method_source (1.0.0)
32
- multipart-post (2.4.0)
30
+ json (2.7.2)
31
+ method_source (1.1.0)
32
+ multipart-post (2.4.1)
33
33
  net-http (0.4.1)
34
34
  uri
35
- ox (2.14.17)
36
- parallel (1.24.0)
37
- parser (3.3.0.5)
35
+ ox (2.14.18)
36
+ parallel (1.25.1)
37
+ parser (3.3.2.0)
38
38
  ast (~> 2.4.1)
39
39
  racc
40
40
  pry (0.14.2)
@@ -43,12 +43,13 @@ GEM
43
43
  pry-byebug (3.10.1)
44
44
  byebug (~> 11.0)
45
45
  pry (>= 0.13, < 0.15)
46
- public_suffix (5.0.4)
47
- racc (1.7.3)
46
+ public_suffix (5.0.5)
47
+ racc (1.8.0)
48
48
  rainbow (3.1.1)
49
49
  rake (13.0.6)
50
- regexp_parser (2.9.0)
51
- rexml (3.2.6)
50
+ regexp_parser (2.9.2)
51
+ rexml (3.3.0)
52
+ strscan
52
53
  rspec (3.13.0)
53
54
  rspec-core (~> 3.13.0)
54
55
  rspec-expectations (~> 3.13.0)
@@ -58,7 +59,7 @@ GEM
58
59
  rspec-expectations (3.13.0)
59
60
  diff-lcs (>= 1.2.0, < 2.0)
60
61
  rspec-support (~> 3.13.0)
61
- rspec-mocks (3.13.0)
62
+ rspec-mocks (3.13.1)
62
63
  diff-lcs (>= 1.2.0, < 2.0)
63
64
  rspec-support (~> 3.13.0)
64
65
  rspec-support (3.13.1)
@@ -72,8 +73,8 @@ GEM
72
73
  rubocop-ast (>= 1.28.0, < 2.0)
73
74
  ruby-progressbar (~> 1.7)
74
75
  unicode-display_width (>= 2.4.0, < 3.0)
75
- rubocop-ast (1.30.0)
76
- parser (>= 3.2.1.0)
76
+ rubocop-ast (1.31.3)
77
+ parser (>= 3.3.1.0)
77
78
  ruby-progressbar (1.13.0)
78
79
  simplecov (0.21.2)
79
80
  docile (~> 1.1)
@@ -81,6 +82,7 @@ GEM
81
82
  simplecov_json_formatter (~> 0.1)
82
83
  simplecov-html (0.12.3)
83
84
  simplecov_json_formatter (0.1.4)
85
+ strscan (3.1.0)
84
86
  unicode-display_width (2.5.0)
85
87
  uri (0.13.0)
86
88
  webmock (3.18.1)
data/README.md CHANGED
@@ -7,10 +7,10 @@
7
7
 
8
8
  | **OS** | **Ruby** |
9
9
  |:---:|:---:|
10
- | Windows 2019 | 2.7, 3.0, 3.1, 3.2 |
11
- | Windows 2022 | 2.7, 3.0, 3.1, 3.2 |
12
- | Ubuntu 20.04 | 2.7, 3.0, 3.1, 3.2 |
13
- | Ubuntu 22.04 | 2.7, 3.0, 3.1, 3.2 |
10
+ | Windows 2019 | 2.7, 3.0, 3.1, 3.2, 3.3 |
11
+ | Windows 2022 | 2.7, 3.0, 3.1, 3.2, 3.3 |
12
+ | Ubuntu 20.04 | 2.7, 3.0, 3.1, 3.2, 3.3 |
13
+ | Ubuntu 22.04 | 2.7, 3.0, 3.1, 3.2, 3.3 |
14
14
 
15
15
  Bandwidth - the Ruby gem for the Bandwidth SDK
16
16
 
@@ -89,7 +89,7 @@ end
89
89
 
90
90
  api_instance = Bandwidth::CallsApi.new
91
91
  account_id = '9900000' # String | Your Bandwidth Account ID.
92
- create_call = Bandwidth::CreateCall.new({to: '+19195551234', from: '+19195554321', application_id: '1234-qwer-5679-tyui', answer_url: 'https://www.myCallbackServer.example/webhooks/answer'}) # CreateCall | JSON object containing information to create an outbound call
92
+ create_call = Bandwidth::CreateCall.new({to: '+19195551234', from: '+15555551212', application_id: '1234-qwer-5679-tyui', answer_url: 'https://www.myCallbackServer.example/webhooks/answer'}) # CreateCall | JSON object containing information to create an outbound call
93
93
 
94
94
  begin
95
95
  #Create Call
@@ -132,17 +132,20 @@ Class | Method | HTTP request | Description
132
132
  *Bandwidth::MessagesApi* | [**list_messages**](docs/MessagesApi.md#list_messages) | **GET** /users/{accountId}/messages | List Messages
133
133
  *Bandwidth::PhoneNumberLookupApi* | [**create_lookup**](docs/PhoneNumberLookupApi.md#create_lookup) | **POST** /accounts/{accountId}/tnlookup | Create Lookup
134
134
  *Bandwidth::PhoneNumberLookupApi* | [**get_lookup_status**](docs/PhoneNumberLookupApi.md#get_lookup_status) | **GET** /accounts/{accountId}/tnlookup/{requestId} | Get Lookup Request Status
135
- *Bandwidth::RecordingsApi* | [**delete_call_transcription**](docs/RecordingsApi.md#delete_call_transcription) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Delete Transcription
136
135
  *Bandwidth::RecordingsApi* | [**delete_recording**](docs/RecordingsApi.md#delete_recording) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId} | Delete Recording
137
136
  *Bandwidth::RecordingsApi* | [**delete_recording_media**](docs/RecordingsApi.md#delete_recording_media) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media | Delete Recording Media
137
+ *Bandwidth::RecordingsApi* | [**delete_recording_transcription**](docs/RecordingsApi.md#delete_recording_transcription) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Delete Transcription
138
138
  *Bandwidth::RecordingsApi* | [**download_call_recording**](docs/RecordingsApi.md#download_call_recording) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media | Download Recording
139
139
  *Bandwidth::RecordingsApi* | [**get_call_recording**](docs/RecordingsApi.md#get_call_recording) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId} | Get Call Recording
140
- *Bandwidth::RecordingsApi* | [**get_call_transcription**](docs/RecordingsApi.md#get_call_transcription) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Get Transcription
140
+ *Bandwidth::RecordingsApi* | [**get_recording_transcription**](docs/RecordingsApi.md#get_recording_transcription) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Get Transcription
141
141
  *Bandwidth::RecordingsApi* | [**list_account_call_recordings**](docs/RecordingsApi.md#list_account_call_recordings) | **GET** /accounts/{accountId}/recordings | Get Call Recordings
142
142
  *Bandwidth::RecordingsApi* | [**list_call_recordings**](docs/RecordingsApi.md#list_call_recordings) | **GET** /accounts/{accountId}/calls/{callId}/recordings | List Call Recordings
143
143
  *Bandwidth::RecordingsApi* | [**transcribe_call_recording**](docs/RecordingsApi.md#transcribe_call_recording) | **POST** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Create Transcription Request
144
144
  *Bandwidth::RecordingsApi* | [**update_call_recording_state**](docs/RecordingsApi.md#update_call_recording_state) | **PUT** /accounts/{accountId}/calls/{callId}/recording | Update Recording
145
145
  *Bandwidth::StatisticsApi* | [**get_statistics**](docs/StatisticsApi.md#get_statistics) | **GET** /accounts/{accountId}/statistics | Get Account Statistics
146
+ *Bandwidth::TranscriptionsApi* | [**delete_real_time_transcription**](docs/TranscriptionsApi.md#delete_real_time_transcription) | **DELETE** /accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId} | Delete a specific transcription
147
+ *Bandwidth::TranscriptionsApi* | [**get_real_time_transcription**](docs/TranscriptionsApi.md#get_real_time_transcription) | **GET** /accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId} | Retrieve a specific transcription
148
+ *Bandwidth::TranscriptionsApi* | [**list_real_time_transcriptions**](docs/TranscriptionsApi.md#list_real_time_transcriptions) | **GET** /accounts/{accountId}/calls/{callId}/transcriptions | Enumerate transcriptions made with StartTranscription
146
149
 
147
150
 
148
151
  ## Documentation for Models
@@ -155,6 +158,9 @@ Class | Method | HTTP request | Description
155
158
  - [Bandwidth::CallRecordingMetadata](docs/CallRecordingMetadata.md)
156
159
  - [Bandwidth::CallState](docs/CallState.md)
157
160
  - [Bandwidth::CallStateEnum](docs/CallStateEnum.md)
161
+ - [Bandwidth::CallTranscription](docs/CallTranscription.md)
162
+ - [Bandwidth::CallTranscriptionMetadata](docs/CallTranscriptionMetadata.md)
163
+ - [Bandwidth::CallTranscriptionResponse](docs/CallTranscriptionResponse.md)
158
164
  - [Bandwidth::CallbackMethodEnum](docs/CallbackMethodEnum.md)
159
165
  - [Bandwidth::CodeRequest](docs/CodeRequest.md)
160
166
  - [Bandwidth::Conference](docs/Conference.md)
@@ -214,6 +220,8 @@ Class | Method | HTTP request | Description
214
220
  - [Bandwidth::RecordingAvailableCallback](docs/RecordingAvailableCallback.md)
215
221
  - [Bandwidth::RecordingCompleteCallback](docs/RecordingCompleteCallback.md)
216
222
  - [Bandwidth::RecordingStateEnum](docs/RecordingStateEnum.md)
223
+ - [Bandwidth::RecordingTranscriptionMetadata](docs/RecordingTranscriptionMetadata.md)
224
+ - [Bandwidth::RecordingTranscriptions](docs/RecordingTranscriptions.md)
217
225
  - [Bandwidth::RedirectCallback](docs/RedirectCallback.md)
218
226
  - [Bandwidth::RedirectMethodEnum](docs/RedirectMethodEnum.md)
219
227
  - [Bandwidth::StirShaken](docs/StirShaken.md)
@@ -222,8 +230,6 @@ Class | Method | HTTP request | Description
222
230
  - [Bandwidth::TranscribeRecording](docs/TranscribeRecording.md)
223
231
  - [Bandwidth::Transcription](docs/Transcription.md)
224
232
  - [Bandwidth::TranscriptionAvailableCallback](docs/TranscriptionAvailableCallback.md)
225
- - [Bandwidth::TranscriptionList](docs/TranscriptionList.md)
226
- - [Bandwidth::TranscriptionMetadata](docs/TranscriptionMetadata.md)
227
233
  - [Bandwidth::TransferAnswerCallback](docs/TransferAnswerCallback.md)
228
234
  - [Bandwidth::TransferCompleteCallback](docs/TransferCompleteCallback.md)
229
235
  - [Bandwidth::TransferDisconnectCallback](docs/TransferDisconnectCallback.md)
data/Rakefile CHANGED
@@ -8,20 +8,12 @@ begin
8
8
 
9
9
  desc 'Run Only Unit Tests'
10
10
  RSpec::Core::RakeTask.new(:unit) do |t|
11
- t.pattern = './spec/api/**/*_spec.rb'
12
- end
13
- RSpec::Core::RakeTask.new(:unit) do |t|
14
- t.pattern = './spec/models/**/*_spec.rb'
15
- end
16
-
17
- desc 'Run Only Integration Tests'
18
- RSpec::Core::RakeTask.new(:integration) do |t|
19
- t.pattern = './spec/integration/*_spec.rb'
11
+ t.pattern = './spec/unit/**/*_spec.rb'
20
12
  end
21
13
 
22
- desc 'Run Only Client Unit Tests'
23
- RSpec::Core::RakeTask.new(:client) do |t|
24
- t.pattern = './spec/*_spec.rb'
14
+ desc 'Run Only Smoke Tests'
15
+ RSpec::Core::RakeTask.new(:smoke) do |t|
16
+ t.pattern = './spec/smoke/*_spec.rb'
25
17
  end
26
18
 
27
19
  task default: :spec
data/bandwidth.yml CHANGED
@@ -16,6 +16,7 @@ tags:
16
16
  - name: Conferences
17
17
  - name: Recordings
18
18
  - name: Statistics
19
+ - name: Transcriptions
19
20
  - name: MFA
20
21
  - name: Phone Number Lookup
21
22
  paths:
@@ -962,9 +963,7 @@ paths:
962
963
  description: >-
963
964
  Downloads the specified transcription.
964
965
 
965
-
966
- If the transcribed recording was multi-channel, then there will be 2
967
- transcripts.
966
+ If the recording was multi-channel, then there will be 2 transcripts.
968
967
 
969
968
  The caller/called party transcript will be the first item while
970
969
  [`<PlayAudio>`](/docs/voice/bxml/playAudio) and
@@ -974,14 +973,14 @@ paths:
974
973
  During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript
975
974
  will be the first item while the B-leg transcript will be the second
976
975
  item.
977
- operationId: getCallTranscription
976
+ operationId: getRecordingTranscription
978
977
  parameters:
979
978
  - $ref: '#/components/parameters/accountId'
980
979
  - $ref: '#/components/parameters/callId'
981
980
  - $ref: '#/components/parameters/recordingId'
982
981
  responses:
983
982
  '200':
984
- $ref: '#/components/responses/getCallTranscriptionResponse'
983
+ $ref: '#/components/responses/getRecordingTranscriptionResponse'
985
984
  '400':
986
985
  $ref: '#/components/responses/voiceBadRequestError'
987
986
  '401':
@@ -1047,7 +1046,7 @@ paths:
1047
1046
  transcription will not be accessible anymore. However, it is not deleted
1048
1047
  immediately. This deletion process, while transparent and irreversible,
1049
1048
  can take an additional 24 to 48 hours.
1050
- operationId: deleteCallTranscription
1049
+ operationId: deleteRecordingTranscription
1051
1050
  parameters:
1052
1051
  - $ref: '#/components/parameters/accountId'
1053
1052
  - $ref: '#/components/parameters/callId'
@@ -1101,6 +1100,108 @@ paths:
1101
1100
  '500':
1102
1101
  $ref: '#/components/responses/voiceInternalServerError'
1103
1102
  servers: *ref_1
1103
+ /accounts/{accountId}/calls/{callId}/transcriptions:
1104
+ get:
1105
+ tags:
1106
+ - Transcriptions
1107
+ summary: Enumerate transcriptions made with StartTranscription
1108
+ description: >-
1109
+ Enumerates the transcriptions created on this call via
1110
+ [startTranscription](/docs/voice/bxml/startTranscription).
1111
+ operationId: listRealTimeTranscriptions
1112
+ parameters:
1113
+ - $ref: '#/components/parameters/accountId'
1114
+ - $ref: '#/components/parameters/callId'
1115
+ responses:
1116
+ '200':
1117
+ $ref: '#/components/responses/listTranscriptionsResponse'
1118
+ '400':
1119
+ $ref: '#/components/responses/voiceBadRequestError'
1120
+ '401':
1121
+ $ref: '#/components/responses/voiceUnauthorizedError'
1122
+ '403':
1123
+ $ref: '#/components/responses/voiceForbiddenError'
1124
+ '404':
1125
+ $ref: '#/components/responses/voiceNotFoundError'
1126
+ '405':
1127
+ $ref: '#/components/responses/voiceNotAllowedError'
1128
+ '415':
1129
+ $ref: '#/components/responses/voiceUnsupportedMediaTypeError'
1130
+ '429':
1131
+ $ref: '#/components/responses/voiceTooManyRequestsError'
1132
+ '500':
1133
+ $ref: '#/components/responses/voiceInternalServerError'
1134
+ servers: *ref_1
1135
+ /accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}:
1136
+ get:
1137
+ tags:
1138
+ - Transcriptions
1139
+ summary: Retrieve a specific transcription
1140
+ description: >-
1141
+ Retrieve the specified transcription that was created on this call via
1142
+ [startTranscription](/docs/voice/bxml/startTranscription).
1143
+ operationId: getRealTimeTranscription
1144
+ parameters:
1145
+ - $ref: '#/components/parameters/accountId'
1146
+ - $ref: '#/components/parameters/callId'
1147
+ - $ref: '#/components/parameters/transcriptionId'
1148
+ responses:
1149
+ '200':
1150
+ $ref: '#/components/responses/getCallTranscriptionResponse'
1151
+ '400':
1152
+ $ref: '#/components/responses/voiceBadRequestError'
1153
+ '401':
1154
+ $ref: '#/components/responses/voiceUnauthorizedError'
1155
+ '403':
1156
+ $ref: '#/components/responses/voiceForbiddenError'
1157
+ '404':
1158
+ $ref: '#/components/responses/voiceNotFoundError'
1159
+ '405':
1160
+ $ref: '#/components/responses/voiceNotAllowedError'
1161
+ '415':
1162
+ $ref: '#/components/responses/voiceUnsupportedMediaTypeError'
1163
+ '429':
1164
+ $ref: '#/components/responses/voiceTooManyRequestsError'
1165
+ '500':
1166
+ $ref: '#/components/responses/voiceInternalServerError'
1167
+ delete:
1168
+ tags:
1169
+ - Transcriptions
1170
+ summary: Delete a specific transcription
1171
+ description: >-
1172
+ Delete the specified transcription that was created on this call via
1173
+ [startTranscription](/docs/voice/bxml/startTranscription).
1174
+
1175
+
1176
+ Note: After the deletion is requested and a `204` is returned, the
1177
+ transcription will not be accessible anymore. However, it is not deleted
1178
+ immediately. This deletion process, while transparent and irreversible,
1179
+ can take an additional 24 to 48 hours.
1180
+ operationId: deleteRealTimeTranscription
1181
+ parameters:
1182
+ - $ref: '#/components/parameters/accountId'
1183
+ - $ref: '#/components/parameters/callId'
1184
+ - $ref: '#/components/parameters/transcriptionId'
1185
+ responses:
1186
+ '204':
1187
+ $ref: '#/components/responses/deleteCallTranscriptionResponse'
1188
+ '400':
1189
+ $ref: '#/components/responses/voiceBadRequestError'
1190
+ '401':
1191
+ $ref: '#/components/responses/voiceUnauthorizedError'
1192
+ '403':
1193
+ $ref: '#/components/responses/voiceForbiddenError'
1194
+ '404':
1195
+ $ref: '#/components/responses/voiceNotFoundError'
1196
+ '405':
1197
+ $ref: '#/components/responses/voiceNotAllowedError'
1198
+ '415':
1199
+ $ref: '#/components/responses/voiceUnsupportedMediaTypeError'
1200
+ '429':
1201
+ $ref: '#/components/responses/voiceTooManyRequestsError'
1202
+ '500':
1203
+ $ref: '#/components/responses/voiceInternalServerError'
1204
+ servers: *ref_1
1104
1205
  /accounts/{accountId}/code/voice:
1105
1206
  post:
1106
1207
  tags:
@@ -2051,11 +2152,16 @@ components:
2051
2152
  description: >-
2052
2153
  A Bandwidth phone number on your account the call should come
2053
2154
 
2054
- from (must be in E.164 format, like `+15555551212`, or be one of the
2055
- following
2056
-
2057
- strings: `Restricted`, `Anonymous`, `Private`, or `Unavailable`).
2058
- example: '+19195554321'
2155
+ from (must be in E.164 format, like `+15555551212`) even if
2156
+ `privacy` is set to true.
2157
+ example: '+15555551212'
2158
+ privacy:
2159
+ nullable: true
2160
+ type: boolean
2161
+ description: >-
2162
+ Hide the calling number. The `displayName` field can be used to
2163
+ customize the displayed name.
2164
+ example: false
2059
2165
  displayName:
2060
2166
  nullable: true
2061
2167
  type: string
@@ -2064,6 +2170,9 @@ components:
2064
2170
 
2065
2171
  May not exceed 256 characters nor contain control characters such as
2066
2172
  new lines.
2173
+
2174
+ If `privacy` is true, only the following values are valid:
2175
+ `Restricted`, `Anonymous`, `Private`, or `Unavailable`.
2067
2176
  maxLength: 256
2068
2177
  example: John Doe
2069
2178
  uui:
@@ -2677,7 +2786,7 @@ components:
2677
2786
  mediaUrl:
2678
2787
  $ref: '#/components/schemas/mediaUrl'
2679
2788
  transcription:
2680
- $ref: '#/components/schemas/transcriptionMetadata'
2789
+ $ref: '#/components/schemas/recordingTranscriptionMetadata'
2681
2790
  conference:
2682
2791
  type: object
2683
2792
  properties:
@@ -2922,7 +3031,10 @@ components:
2922
3031
  description: >-
2923
3032
  The machine detection request used to perform <a
2924
3033
  href='/docs/voice/guides/machineDetection'>machine detection</a> on the
2925
- call.
3034
+ call. Currently, there is an issue where decimal values are not getting
3035
+ processed correctly. Please use whole number values. We are working to
3036
+ resolve this issue. Please contact Bandwidth Support if you need more
3037
+ information.
2926
3038
  properties:
2927
3039
  mode:
2928
3040
  $ref: '#/components/schemas/machineDetectionModeEnum'
@@ -3114,14 +3226,95 @@ components:
3114
3226
  Current supported languages are English, French, and Spanish.
3115
3227
  default: false
3116
3228
  example: true
3117
- transcriptionList:
3229
+ recordingTranscriptions:
3118
3230
  type: object
3119
3231
  properties:
3120
3232
  transcripts:
3121
3233
  type: array
3122
3234
  items:
3123
3235
  $ref: '#/components/schemas/transcription'
3124
- transcriptionMetadata:
3236
+ callTranscriptionMetadataList:
3237
+ type: array
3238
+ items:
3239
+ $ref: '#/components/schemas/callTranscriptionMetadata'
3240
+ example:
3241
+ - transcriptionId: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b
3242
+ transcriptionUrl: >-
3243
+ https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b
3244
+ callTranscriptionMetadata:
3245
+ type: object
3246
+ properties:
3247
+ transcriptionId:
3248
+ type: string
3249
+ description: The programmable voice API transcription ID.
3250
+ example: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b
3251
+ transcriptionUrl:
3252
+ type: string
3253
+ description: >-
3254
+ A URL that may be used to retrieve the transcription itself. This
3255
+ points to the
3256
+
3257
+ [Get Call
3258
+ Transcription](/apis/voice/#operation/getCallTranscription)
3259
+ endpoint.
3260
+ example: >-
3261
+ https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b
3262
+ callTranscriptionResponse:
3263
+ type: object
3264
+ properties:
3265
+ accountId:
3266
+ type: string
3267
+ description: The user account associated with the call.
3268
+ example: '920012'
3269
+ callId:
3270
+ type: string
3271
+ description: The call id associated with the event.
3272
+ example: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
3273
+ transcriptionId:
3274
+ type: string
3275
+ description: The programmable voice API transcription ID.
3276
+ example: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b
3277
+ tracks:
3278
+ type: array
3279
+ items:
3280
+ $ref: '#/components/schemas/callTranscription'
3281
+ example:
3282
+ - detectedLanguage: en-US
3283
+ track: inbound
3284
+ text: Hello World! This is an example.
3285
+ confidence: 0.9
3286
+ callTranscription:
3287
+ type: object
3288
+ properties:
3289
+ detectedLanguage:
3290
+ type: string
3291
+ enum:
3292
+ - en-US
3293
+ - es-US
3294
+ - fr-FR
3295
+ description: The detected language for this transcription.
3296
+ example: en-US
3297
+ track:
3298
+ type: string
3299
+ enum:
3300
+ - inbound
3301
+ - outbound
3302
+ description: Which `track` this transcription is derived from.
3303
+ example: inbound
3304
+ text:
3305
+ type: string
3306
+ description: The transcription itself.
3307
+ example: Hello World! This is an example.
3308
+ confidence:
3309
+ type: number
3310
+ format: double
3311
+ minimum: 0
3312
+ maximum: 1
3313
+ description: >-
3314
+ How confident the transcription engine was in transcribing the
3315
+ associated audio (from `0` to `1`).
3316
+ example: 0.9
3317
+ recordingTranscriptionMetadata:
3125
3318
  nullable: true
3126
3319
  type: object
3127
3320
  description: If the recording was transcribed, metadata about the transcription
@@ -3693,7 +3886,7 @@ components:
3693
3886
  fileFormat:
3694
3887
  $ref: '#/components/schemas/fileFormatEnum'
3695
3888
  channels:
3696
- $ref: '#/components/schemas/status'
3889
+ $ref: '#/components/schemas/channels'
3697
3890
  tag:
3698
3891
  $ref: '#/components/schemas/tag1'
3699
3892
  status:
@@ -3960,9 +4153,8 @@ components:
3960
4153
  from:
3961
4154
  type: string
3962
4155
  description: >-
3963
- The provided identifier of the caller: can be a phone number in E.164
3964
- format (e.g. +15555555555) or one of Private, Restricted, Unavailable,
3965
- or Anonymous.
4156
+ The provided identifier of the caller. Must be a phone number in E.164
4157
+ format (e.g. +15555555555).
3966
4158
  example: '+15555555555'
3967
4159
  conferenceId:
3968
4160
  type: string
@@ -4041,8 +4233,7 @@ components:
4041
4233
  type: string
4042
4234
  description: >-
4043
4235
  The phone number used as the from field of the B-leg call, in E.164
4044
- format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or
4045
- Unavailable.
4236
+ format (e.g. +15555555555).
4046
4237
  example: '+15555555555'
4047
4238
  transferTo:
4048
4239
  type: string
@@ -4582,12 +4773,26 @@ components:
4582
4773
  schema:
4583
4774
  type: string
4584
4775
  format: binary
4776
+ getRecordingTranscriptionResponse:
4777
+ description: Transcription found.
4778
+ content:
4779
+ application/json:
4780
+ schema:
4781
+ $ref: '#/components/schemas/recordingTranscriptions'
4782
+ listTranscriptionsResponse:
4783
+ description: Transcription found.
4784
+ content:
4785
+ application/json:
4786
+ schema:
4787
+ $ref: '#/components/schemas/callTranscriptionMetadataList'
4585
4788
  getCallTranscriptionResponse:
4586
- description: Transcription found
4789
+ description: Transcription found.
4587
4790
  content:
4588
4791
  application/json:
4589
4792
  schema:
4590
- $ref: '#/components/schemas/transcriptionList'
4793
+ $ref: '#/components/schemas/callTranscriptionResponse'
4794
+ deleteCallTranscriptionResponse:
4795
+ description: Transcription data was deleted.
4591
4796
  listConferencesResponse:
4592
4797
  description: Conferences retrieved successfully
4593
4798
  content:
@@ -5090,6 +5295,14 @@ components:
5090
5295
  type: string
5091
5296
  description: Programmable Voice API Conference Member ID.
5092
5297
  example: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
5298
+ transcriptionId:
5299
+ name: transcriptionId
5300
+ in: path
5301
+ required: true
5302
+ schema:
5303
+ type: string
5304
+ description: Programmable Voice API Transcription ID.
5305
+ example: t-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
5093
5306
  to:
5094
5307
  name: to
5095
5308
  in: query
@@ -5517,12 +5730,14 @@ components:
5517
5730
  Basic:
5518
5731
  type: http
5519
5732
  scheme: basic
5520
- description: |-
5733
+ description: >-
5521
5734
  Basic authentication is a simple authentication scheme built into the
5522
- HTTP protocol. To use it, send your HTTP requests with an Authorization
5523
- header that contains the word Basic followed by a space and a
5524
- base64-encoded string `username:password`Example: `Authorization: Basic
5525
- ZGVtbZpwQDU1dzByZA==`
5735
+ HTTP protocol. To use it, send your HTTP requests with an
5736
+ `Authorization` header that contains the word `Basic` followed by a
5737
+ space and a Base64-encoded string `username:password`.
5738
+
5739
+
5740
+ - Example: `Authorization: Basic ZGVtbZpwQDU1dzByZA==`
5526
5741
  callbacks:
5527
5742
  inboundCallback:
5528
5743
  '{inboundCallbackUrl}':
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "result": {
3
- "line": 96.11
3
+ "line": 96.18
4
4
  }
5
5
  }