From 2921b50680d228a93da26ee971342a5321e0ebe2 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 25 Jun 2024 14:06:30 +0000 Subject: [PATCH 01/16] Generate SDK with OpenAPI Generator Version 7.1.0 --- .openapi-generator/FILES | 22 +- Bandwidth.Standard.sln | 10 +- README.md | 14 +- api/openapi.yaml | 742 ++++++++++++--- bandwidth.yml | 290 +++++- docs/AnswerCallback.md | 2 +- docs/BridgeCompleteCallback.md | 2 +- docs/BridgeTargetCompleteCallback.md | 2 +- docs/CallRecordingMetadata.md | 6 +- docs/CallTranscription.md | 13 + docs/CallTranscriptionMetadata.md | 11 + docs/CallTranscriptionResponse.md | 13 + docs/ConferenceMemberExitCallback.md | 2 +- docs/ConferenceMemberJoinCallback.md | 2 +- docs/CreateCall.md | 5 +- docs/DisconnectCallback.md | 2 +- docs/DtmfCallback.md | 4 +- docs/GatherCallback.md | 4 +- docs/InitiateCallback.md | 2 +- docs/MachineDetectionCompleteCallback.md | 2 +- docs/MachineDetectionConfiguration.md | 2 +- docs/MessageRequest.md | 2 +- docs/RecordingAvailableCallback.md | 6 +- docs/RecordingCompleteCallback.md | 4 +- docs/RecordingTranscriptionMetadata.md | 14 + docs/RecordingTranscriptions.md | 10 + docs/RecordingsApi.md | 112 +-- docs/RedirectCallback.md | 4 +- docs/TranscriptionAvailableCallback.md | 4 +- docs/TranscriptionsApi.md | 325 +++++++ docs/TransferAnswerCallback.md | 4 +- docs/TransferCompleteCallback.md | 4 +- docs/TransferDisconnectCallback.md | 4 +- .../Api/TranscriptionsApiTests.cs | 98 ++ .../Model/CallTranscriptionMetadataTests.cs | 76 ++ .../Model/CallTranscriptionResponseTests.cs | 94 ++ .../Model/CallTranscriptionTests.cs | 94 ++ .../RecordingTranscriptionMetadataTests.cs | 94 ++ .../Model/RecordingTranscriptionsTests.cs | 67 ++ src/Bandwidth.Standard/Api/RecordingsApi.cs | 280 +++--- .../Api/TranscriptionsApi.cs | 880 ++++++++++++++++++ .../Client/Configuration.cs | 44 +- .../Model/AnswerCallback.cs | 8 +- .../Model/BridgeCompleteCallback.cs | 8 +- .../Model/BridgeTargetCompleteCallback.cs | 8 +- .../Model/CallRecordingMetadata.cs | 20 +- src/Bandwidth.Standard/Model/CallState.cs | 2 +- .../Model/CallTranscription.cs | 237 +++++ .../Model/CallTranscriptionMetadata.cs | 151 +++ .../Model/CallTranscriptionResponse.cs | 191 ++++ .../Model/ConferenceMemberExitCallback.cs | 6 +- .../Model/ConferenceMemberJoinCallback.cs | 6 +- .../ConferenceRecordingAvailableCallback.cs | 2 +- .../Model/ConferenceRecordingMetadata.cs | 2 +- src/Bandwidth.Standard/Model/CreateCall.cs | 36 +- .../Model/DisconnectCallback.cs | 8 +- src/Bandwidth.Standard/Model/DtmfCallback.cs | 16 +- .../Model/GatherCallback.cs | 16 +- .../Model/InitiateCallback.cs | 8 +- .../Model/MachineDetectionCompleteCallback.cs | 8 +- .../Model/MachineDetectionConfiguration.cs | 2 +- .../Model/MessageRequest.cs | 6 +- .../Model/MessagingCodeResponse.cs | 2 +- .../Model/RecordingAvailableCallback.cs | 36 +- .../Model/RecordingCompleteCallback.cs | 16 +- .../Model/RecordingTranscriptionMetadata.cs | 191 ++++ .../Model/RecordingTranscriptions.cs | 130 +++ .../Model/RedirectCallback.cs | 16 +- .../Model/TranscriptionAvailableCallback.cs | 16 +- .../Model/TransferAnswerCallback.cs | 16 +- .../Model/TransferCompleteCallback.cs | 16 +- .../Model/TransferDisconnectCallback.cs | 16 +- 72 files changed, 3999 insertions(+), 569 deletions(-) create mode 100644 docs/CallTranscription.md create mode 100644 docs/CallTranscriptionMetadata.md create mode 100644 docs/CallTranscriptionResponse.md create mode 100644 docs/RecordingTranscriptionMetadata.md create mode 100644 docs/RecordingTranscriptions.md create mode 100644 docs/TranscriptionsApi.md create mode 100644 src/Bandwidth.Standard.Test/Api/TranscriptionsApiTests.cs create mode 100644 src/Bandwidth.Standard.Test/Model/CallTranscriptionMetadataTests.cs create mode 100644 src/Bandwidth.Standard.Test/Model/CallTranscriptionResponseTests.cs create mode 100644 src/Bandwidth.Standard.Test/Model/CallTranscriptionTests.cs create mode 100644 src/Bandwidth.Standard.Test/Model/RecordingTranscriptionMetadataTests.cs create mode 100644 src/Bandwidth.Standard.Test/Model/RecordingTranscriptionsTests.cs create mode 100644 src/Bandwidth.Standard/Api/TranscriptionsApi.cs create mode 100644 src/Bandwidth.Standard/Model/CallTranscription.cs create mode 100644 src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs create mode 100644 src/Bandwidth.Standard/Model/CallTranscriptionResponse.cs create mode 100644 src/Bandwidth.Standard/Model/RecordingTranscriptionMetadata.cs create mode 100644 src/Bandwidth.Standard/Model/RecordingTranscriptions.cs diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index ea16199a..987b0c85 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -10,6 +10,9 @@ docs/CallDirectionEnum.md docs/CallRecordingMetadata.md docs/CallState.md docs/CallStateEnum.md +docs/CallTranscription.md +docs/CallTranscriptionMetadata.md +docs/CallTranscriptionResponse.md docs/CallbackMethodEnum.md docs/CallsApi.md docs/CodeRequest.md @@ -75,6 +78,8 @@ docs/PriorityEnum.md docs/RecordingAvailableCallback.md docs/RecordingCompleteCallback.md docs/RecordingStateEnum.md +docs/RecordingTranscriptionMetadata.md +docs/RecordingTranscriptions.md docs/RecordingsApi.md docs/RedirectCallback.md docs/RedirectMethodEnum.md @@ -85,8 +90,7 @@ docs/TnLookupRequestError.md docs/TranscribeRecording.md docs/Transcription.md docs/TranscriptionAvailableCallback.md -docs/TranscriptionList.md -docs/TranscriptionMetadata.md +docs/TranscriptionsApi.md docs/TransferAnswerCallback.md docs/TransferCompleteCallback.md docs/TransferDisconnectCallback.md @@ -99,6 +103,12 @@ docs/VerifyCodeResponse.md docs/VoiceApiError.md docs/VoiceCodeResponse.md git_push.sh +src/Bandwidth.Standard.Test/Api/TranscriptionsApiTests.cs +src/Bandwidth.Standard.Test/Model/CallTranscriptionMetadataTests.cs +src/Bandwidth.Standard.Test/Model/CallTranscriptionResponseTests.cs +src/Bandwidth.Standard.Test/Model/CallTranscriptionTests.cs +src/Bandwidth.Standard.Test/Model/RecordingTranscriptionMetadataTests.cs +src/Bandwidth.Standard.Test/Model/RecordingTranscriptionsTests.cs src/Bandwidth.Standard/Api/CallsApi.cs src/Bandwidth.Standard/Api/ConferencesApi.cs src/Bandwidth.Standard/Api/MFAApi.cs @@ -107,6 +117,7 @@ src/Bandwidth.Standard/Api/MessagesApi.cs src/Bandwidth.Standard/Api/PhoneNumberLookupApi.cs src/Bandwidth.Standard/Api/RecordingsApi.cs src/Bandwidth.Standard/Api/StatisticsApi.cs +src/Bandwidth.Standard/Api/TranscriptionsApi.cs src/Bandwidth.Standard/Client/ApiClient.cs src/Bandwidth.Standard/Client/ApiException.cs src/Bandwidth.Standard/Client/ApiResponse.cs @@ -132,6 +143,9 @@ src/Bandwidth.Standard/Model/CallDirectionEnum.cs src/Bandwidth.Standard/Model/CallRecordingMetadata.cs src/Bandwidth.Standard/Model/CallState.cs src/Bandwidth.Standard/Model/CallStateEnum.cs +src/Bandwidth.Standard/Model/CallTranscription.cs +src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs +src/Bandwidth.Standard/Model/CallTranscriptionResponse.cs src/Bandwidth.Standard/Model/CallbackMethodEnum.cs src/Bandwidth.Standard/Model/CodeRequest.cs src/Bandwidth.Standard/Model/Conference.cs @@ -191,6 +205,8 @@ src/Bandwidth.Standard/Model/PriorityEnum.cs src/Bandwidth.Standard/Model/RecordingAvailableCallback.cs src/Bandwidth.Standard/Model/RecordingCompleteCallback.cs src/Bandwidth.Standard/Model/RecordingStateEnum.cs +src/Bandwidth.Standard/Model/RecordingTranscriptionMetadata.cs +src/Bandwidth.Standard/Model/RecordingTranscriptions.cs src/Bandwidth.Standard/Model/RedirectCallback.cs src/Bandwidth.Standard/Model/RedirectMethodEnum.cs src/Bandwidth.Standard/Model/StirShaken.cs @@ -199,8 +215,6 @@ src/Bandwidth.Standard/Model/TnLookupRequestError.cs src/Bandwidth.Standard/Model/TranscribeRecording.cs src/Bandwidth.Standard/Model/Transcription.cs src/Bandwidth.Standard/Model/TranscriptionAvailableCallback.cs -src/Bandwidth.Standard/Model/TranscriptionList.cs -src/Bandwidth.Standard/Model/TranscriptionMetadata.cs src/Bandwidth.Standard/Model/TransferAnswerCallback.cs src/Bandwidth.Standard/Model/TransferCompleteCallback.cs src/Bandwidth.Standard/Model/TransferDisconnectCallback.cs diff --git a/Bandwidth.Standard.sln b/Bandwidth.Standard.sln index a7139336..b2e06b38 100644 --- a/Bandwidth.Standard.sln +++ b/Bandwidth.Standard.sln @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard", "src\Bandwidth.Standard\Bandwidth.Standard.csproj", "{A3827E69-AF79-4EED-9D9E-C3E87AD4EAEA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard", "src\Bandwidth.Standard\Bandwidth.Standard.csproj", "{C6094E4B-D95D-4E49-8ECE-F2AD1A9044BB}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard.Test", "src\Bandwidth.Standard.Test\Bandwidth.Standard.Test.csproj", "{19F1DEBC-DE5E-4517-8062-F000CD499087}" EndProject @@ -12,10 +12,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A3827E69-AF79-4EED-9D9E-C3E87AD4EAEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A3827E69-AF79-4EED-9D9E-C3E87AD4EAEA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A3827E69-AF79-4EED-9D9E-C3E87AD4EAEA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A3827E69-AF79-4EED-9D9E-C3E87AD4EAEA}.Release|Any CPU.Build.0 = Release|Any CPU + {C6094E4B-D95D-4E49-8ECE-F2AD1A9044BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C6094E4B-D95D-4E49-8ECE-F2AD1A9044BB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C6094E4B-D95D-4E49-8ECE-F2AD1A9044BB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C6094E4B-D95D-4E49-8ECE-F2AD1A9044BB}.Release|Any CPU.Build.0 = Release|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/README.md b/README.md index 92bffb88..2328ea16 100644 --- a/README.md +++ b/README.md @@ -132,17 +132,20 @@ Class | Method | HTTP request | Description *MessagesApi* | [**ListMessages**](docs/MessagesApi.md#listmessages) | **GET** /users/{accountId}/messages | List Messages *PhoneNumberLookupApi* | [**CreateLookup**](docs/PhoneNumberLookupApi.md#createlookup) | **POST** /accounts/{accountId}/tnlookup | Create Lookup *PhoneNumberLookupApi* | [**GetLookupStatus**](docs/PhoneNumberLookupApi.md#getlookupstatus) | **GET** /accounts/{accountId}/tnlookup/{requestId} | Get Lookup Request Status -*RecordingsApi* | [**DeleteCallTranscription**](docs/RecordingsApi.md#deletecalltranscription) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Delete Transcription *RecordingsApi* | [**DeleteRecording**](docs/RecordingsApi.md#deleterecording) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId} | Delete Recording *RecordingsApi* | [**DeleteRecordingMedia**](docs/RecordingsApi.md#deleterecordingmedia) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media | Delete Recording Media +*RecordingsApi* | [**DeleteRecordingTranscription**](docs/RecordingsApi.md#deleterecordingtranscription) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Delete Transcription *RecordingsApi* | [**DownloadCallRecording**](docs/RecordingsApi.md#downloadcallrecording) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media | Download Recording *RecordingsApi* | [**GetCallRecording**](docs/RecordingsApi.md#getcallrecording) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId} | Get Call Recording -*RecordingsApi* | [**GetCallTranscription**](docs/RecordingsApi.md#getcalltranscription) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Get Transcription +*RecordingsApi* | [**GetRecordingTranscription**](docs/RecordingsApi.md#getrecordingtranscription) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Get Transcription *RecordingsApi* | [**ListAccountCallRecordings**](docs/RecordingsApi.md#listaccountcallrecordings) | **GET** /accounts/{accountId}/recordings | Get Call Recordings *RecordingsApi* | [**ListCallRecordings**](docs/RecordingsApi.md#listcallrecordings) | **GET** /accounts/{accountId}/calls/{callId}/recordings | List Call Recordings *RecordingsApi* | [**TranscribeCallRecording**](docs/RecordingsApi.md#transcribecallrecording) | **POST** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Create Transcription Request *RecordingsApi* | [**UpdateCallRecordingState**](docs/RecordingsApi.md#updatecallrecordingstate) | **PUT** /accounts/{accountId}/calls/{callId}/recording | Update Recording *StatisticsApi* | [**GetStatistics**](docs/StatisticsApi.md#getstatistics) | **GET** /accounts/{accountId}/statistics | Get Account Statistics +*TranscriptionsApi* | [**DeleteRealTimeTranscription**](docs/TranscriptionsApi.md#deleterealtimetranscription) | **DELETE** /accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId} | Delete a specific transcription +*TranscriptionsApi* | [**GetRealTimeTranscription**](docs/TranscriptionsApi.md#getrealtimetranscription) | **GET** /accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId} | Retrieve a specific transcription +*TranscriptionsApi* | [**ListRealTimeTranscriptions**](docs/TranscriptionsApi.md#listrealtimetranscriptions) | **GET** /accounts/{accountId}/calls/{callId}/transcriptions | Enumerate transcriptions made with StartTranscription @@ -156,6 +159,9 @@ Class | Method | HTTP request | Description - [Model.CallRecordingMetadata](docs/CallRecordingMetadata.md) - [Model.CallState](docs/CallState.md) - [Model.CallStateEnum](docs/CallStateEnum.md) + - [Model.CallTranscription](docs/CallTranscription.md) + - [Model.CallTranscriptionMetadata](docs/CallTranscriptionMetadata.md) + - [Model.CallTranscriptionResponse](docs/CallTranscriptionResponse.md) - [Model.CallbackMethodEnum](docs/CallbackMethodEnum.md) - [Model.CodeRequest](docs/CodeRequest.md) - [Model.Conference](docs/Conference.md) @@ -215,6 +221,8 @@ Class | Method | HTTP request | Description - [Model.RecordingAvailableCallback](docs/RecordingAvailableCallback.md) - [Model.RecordingCompleteCallback](docs/RecordingCompleteCallback.md) - [Model.RecordingStateEnum](docs/RecordingStateEnum.md) + - [Model.RecordingTranscriptionMetadata](docs/RecordingTranscriptionMetadata.md) + - [Model.RecordingTranscriptions](docs/RecordingTranscriptions.md) - [Model.RedirectCallback](docs/RedirectCallback.md) - [Model.RedirectMethodEnum](docs/RedirectMethodEnum.md) - [Model.StirShaken](docs/StirShaken.md) @@ -223,8 +231,6 @@ Class | Method | HTTP request | Description - [Model.TranscribeRecording](docs/TranscribeRecording.md) - [Model.Transcription](docs/Transcription.md) - [Model.TranscriptionAvailableCallback](docs/TranscriptionAvailableCallback.md) - - [Model.TranscriptionList](docs/TranscriptionList.md) - - [Model.TranscriptionMetadata](docs/TranscriptionMetadata.md) - [Model.TransferAnswerCallback](docs/TransferAnswerCallback.md) - [Model.TransferCompleteCallback](docs/TransferCompleteCallback.md) - [Model.TransferDisconnectCallback](docs/TransferDisconnectCallback.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index 566ddebd..3bc89b3b 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -18,6 +18,7 @@ tags: - name: Conferences - name: Recordings - name: Statistics +- name: Transcriptions - name: MFA - name: Phone Number Lookup paths: @@ -3336,7 +3337,7 @@ paths: Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. - operationId: deleteCallTranscription + operationId: deleteRecordingTranscription parameters: - description: Your Bandwidth Account ID. example: "9900000" @@ -3453,11 +3454,10 @@ paths: get: description: |- Downloads the specified transcription. - - If the transcribed recording was multi-channel, then there will be 2 transcripts. + If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [``](/docs/voice/bxml/playAudio) and [``](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [``](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. - operationId: getCallTranscription + operationId: getRecordingTranscription parameters: - description: Your Bandwidth Account ID. example: "9900000" @@ -3491,8 +3491,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/transcriptionList' - description: Transcription found + $ref: '#/components/schemas/recordingTranscriptions' + description: Transcription found. "400": content: application/json: @@ -3805,6 +3805,365 @@ paths: servers: - description: Production url: https://voice.bandwidth.com/api/v2 + /accounts/{accountId}/calls/{callId}/transcriptions: + get: + description: "Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription)." + operationId: listRealTimeTranscriptions + parameters: + - description: Your Bandwidth Account ID. + example: "9900000" + explode: false + in: path + name: accountId + required: true + schema: + type: string + style: simple + - description: Programmable Voice API Call ID. + example: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + explode: false + in: path + name: callId + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/callTranscriptionMetadataList' + description: Transcription found. + "400": + content: + application/json: + examples: + badRequestErrorExample: + $ref: '#/components/examples/voiceBadRequestErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Bad Request + "401": + content: + application/json: + examples: + unauthorizedErrorExample: + $ref: '#/components/examples/voiceUnauthorizedErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Unauthorized + "403": + content: + application/json: + examples: + forbiddenErrorExample: + $ref: '#/components/examples/voiceForbiddenErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Forbidden + "404": + content: + application/json: + examples: + notFoundErrorExample: + $ref: '#/components/examples/voiceNotFoundErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Not Found + "405": + content: + application/json: + examples: + notAllowedErrorExample: + $ref: '#/components/examples/voiceNotAllowedErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Method Not Allowed + "415": + content: + application/json: + examples: + tooManyRequestsErrorExample: + $ref: '#/components/examples/voiceUnsupportedMediaTypeErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Unsupported Media Type + "429": + content: + application/json: + examples: + tooManyRequestsErrorExample: + $ref: '#/components/examples/voiceTooManyRequestsErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Too Many Requests + headers: + Retry-After: + description: When you should try your request again. + explode: false + schema: + type: string + style: simple + "500": + content: + application/json: + examples: + internalServerErrorExample: + $ref: '#/components/examples/voiceInternalServerErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Internal Server Error + summary: Enumerate transcriptions made with StartTranscription + tags: + - Transcriptions + servers: + - description: Production + url: https://voice.bandwidth.com/api/v2 + /accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}: + delete: + description: |- + Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + + Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + operationId: deleteRealTimeTranscription + parameters: + - description: Your Bandwidth Account ID. + example: "9900000" + explode: false + in: path + name: accountId + required: true + schema: + type: string + style: simple + - description: Programmable Voice API Call ID. + example: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + explode: false + in: path + name: callId + required: true + schema: + type: string + style: simple + - description: Programmable Voice API Transcription ID. + example: t-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + explode: false + in: path + name: transcriptionId + required: true + schema: + type: string + style: simple + responses: + "200": + description: Transcription data was deleted. + "400": + content: + application/json: + examples: + badRequestErrorExample: + $ref: '#/components/examples/voiceBadRequestErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Bad Request + "401": + content: + application/json: + examples: + unauthorizedErrorExample: + $ref: '#/components/examples/voiceUnauthorizedErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Unauthorized + "403": + content: + application/json: + examples: + forbiddenErrorExample: + $ref: '#/components/examples/voiceForbiddenErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Forbidden + "404": + content: + application/json: + examples: + notFoundErrorExample: + $ref: '#/components/examples/voiceNotFoundErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Not Found + "405": + content: + application/json: + examples: + notAllowedErrorExample: + $ref: '#/components/examples/voiceNotAllowedErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Method Not Allowed + "415": + content: + application/json: + examples: + tooManyRequestsErrorExample: + $ref: '#/components/examples/voiceUnsupportedMediaTypeErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Unsupported Media Type + "429": + content: + application/json: + examples: + tooManyRequestsErrorExample: + $ref: '#/components/examples/voiceTooManyRequestsErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Too Many Requests + headers: + Retry-After: + description: When you should try your request again. + explode: false + schema: + type: string + style: simple + "500": + content: + application/json: + examples: + internalServerErrorExample: + $ref: '#/components/examples/voiceInternalServerErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Internal Server Error + summary: Delete a specific transcription + tags: + - Transcriptions + get: + description: "Retrieve the specified transcription that was created on this\ + \ call via [startTranscription](/docs/voice/bxml/startTranscription)." + operationId: getRealTimeTranscription + parameters: + - description: Your Bandwidth Account ID. + example: "9900000" + explode: false + in: path + name: accountId + required: true + schema: + type: string + style: simple + - description: Programmable Voice API Call ID. + example: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + explode: false + in: path + name: callId + required: true + schema: + type: string + style: simple + - description: Programmable Voice API Transcription ID. + example: t-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + explode: false + in: path + name: transcriptionId + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/callTranscriptionResponse' + description: Transcription found. + "400": + content: + application/json: + examples: + badRequestErrorExample: + $ref: '#/components/examples/voiceBadRequestErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Bad Request + "401": + content: + application/json: + examples: + unauthorizedErrorExample: + $ref: '#/components/examples/voiceUnauthorizedErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Unauthorized + "403": + content: + application/json: + examples: + forbiddenErrorExample: + $ref: '#/components/examples/voiceForbiddenErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Forbidden + "404": + content: + application/json: + examples: + notFoundErrorExample: + $ref: '#/components/examples/voiceNotFoundErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Not Found + "405": + content: + application/json: + examples: + notAllowedErrorExample: + $ref: '#/components/examples/voiceNotAllowedErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Method Not Allowed + "415": + content: + application/json: + examples: + tooManyRequestsErrorExample: + $ref: '#/components/examples/voiceUnsupportedMediaTypeErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Unsupported Media Type + "429": + content: + application/json: + examples: + tooManyRequestsErrorExample: + $ref: '#/components/examples/voiceTooManyRequestsErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Too Many Requests + headers: + Retry-After: + description: When you should try your request again. + explode: false + schema: + type: string + style: simple + "500": + content: + application/json: + examples: + internalServerErrorExample: + $ref: '#/components/examples/voiceInternalServerErrorExample' + schema: + $ref: '#/components/schemas/voiceApiError' + description: Internal Server Error + summary: Retrieve a specific transcription + tags: + - Transcriptions + servers: + - description: Production + url: https://voice.bandwidth.com/api/v2 /accounts/{accountId}/code/voice: post: description: Send an MFA Code via a phone call. @@ -4231,6 +4590,7 @@ components: answerMethod: POST answerUrl: https://myServer.example/bandwidth/webhooks/answer answerFallbackMethod: POST + answerFallbackUrl: https://myServer.example/bandwidth/webhooks/answerFallback disconnectMethod: POST disconnectUrl: https://myServer.example/bandwidth/webhooks/disconnect username: mySecretUsername @@ -4642,6 +5002,16 @@ components: schema: type: string style: simple + transcriptionId: + description: Programmable Voice API Transcription ID. + example: t-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + explode: false + in: path + name: transcriptionId + required: true + schema: + type: string + style: simple to: description: Filter results by the `to` field. example: '%2b19195551234' @@ -5235,12 +5605,26 @@ components: format: binary type: string description: Media found + getRecordingTranscriptionResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/recordingTranscriptions' + description: Transcription found. + listTranscriptionsResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/callTranscriptionMetadataList' + description: Transcription found. getCallTranscriptionResponse: content: application/json: schema: - $ref: '#/components/schemas/transcriptionList' - description: Transcription found + $ref: '#/components/schemas/callTranscriptionResponse' + description: Transcription found. + deleteCallTranscriptionResponse: + description: Transcription data was deleted. listConferencesResponse: content: application/json: @@ -5897,8 +6281,13 @@ components: type: array uniqueItems: true from: - description: One of your telephone numbers the message should come from - in E164 format. + description: "Either an alphanumeric sender ID or the sender's Bandwidth\ + \ phone number in E.164 format, which must be hosted within Bandwidth\ + \ and linked to the account that is generating the message. \nAlphanumeric\ + \ Sender IDs can contain up to 11 characters, upper-case letters A-Z,\ + \ lower-case letters a-z, numbers 0-9, space, hyphen -, plus +, underscore\ + \ _ and ampersand &. Alphanumeric Sender IDs must contain at least one\ + \ letter." example: "+15551113333" type: string text: @@ -6373,14 +6762,20 @@ components: from: description: |- A Bandwidth phone number on your account the call should come - from (must be in E.164 format, like `+15555551212`, or be one of the following - strings: `Restricted`, `Anonymous`, `Private`, or `Unavailable`). - example: "+19195554321" + from (must be in E.164 format, like `+15555551212`) even if `privacy` is set to true. + example: "+15555551212" type: string + privacy: + description: Hide the calling number. The `displayName` field can be used + to customize the displayed name. + example: false + nullable: true + type: boolean displayName: description: "The caller display name to use when the call is created. \n\ May not exceed 256 characters nor contain control characters such as new\ - \ lines." + \ lines.\nIf `privacy` is true, only the following values are valid: `Restricted`,\ + \ `Anonymous`, `Private`, or `Unavailable`." example: John Doe maxLength: 256 nullable: true @@ -6670,7 +7065,7 @@ components: verstat: TN-Verification-Passed attestationIndicator: A originatingId: abc123 - from: "19195554321" + from: "+19195554321" startTime: 2022-06-16T13:15:07.16Z to: "+19195551234" state: disconnected @@ -6705,7 +7100,7 @@ components: from: description: "The phone number that made the call, in E.164 format (e.g.\ \ +15555555555)." - example: "19195554321" + example: "+19195554321" type: string direction: $ref: '#/components/schemas/callDirectionEnum' @@ -6913,9 +7308,9 @@ components: status: completed parentCallId: c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d transferCallerId: "+15555555555" - transferTo: +15555555555) + transferTo: "+15555555555" duration: PT13.67S - accountId: "920012" + accountId: "9900000" channels: 1 from: "+15555555555" startTime: 2022-06-17T22:19:40.375Z @@ -6933,7 +7328,7 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string callId: description: The call id associated with the event. @@ -6955,21 +7350,19 @@ components: example: "+15555555555" type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string duration: description: The duration of the recording in ISO-8601 format @@ -7012,7 +7405,7 @@ components: nullable: true type: string transcription: - $ref: '#/components/schemas/transcriptionMetadata' + $ref: '#/components/schemas/recordingTranscriptionMetadata' type: object conference: example: @@ -7220,7 +7613,7 @@ components: conferenceRecordingMetadata: example: duration: PT13.67S - accountId: "920012" + accountId: "9900000" channels: 1 mediaUrl: https://voice.bandwidth.com/api/v2/accounts/9900000/conferences/conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9/recordings/r-fbe05094-9fd2afe9-bf5b-4c68-820a-41a01c1c5833/media conferenceId: conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9 @@ -7233,7 +7626,7 @@ components: properties: accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string conferenceId: description: "The unique, Bandwidth-generated ID of the conference that\ @@ -7288,8 +7681,11 @@ components: type: string type: object machineDetectionConfiguration: - description: The machine detection request used to perform machine - detection on the call. + description: "The machine detection request used to perform machine\ + \ detection on the call. Currently, there is an issue where decimal values\ + \ are not getting processed correctly. Please use whole number values. We\ + \ are working to resolve this issue. Please contact Bandwidth Support if you\ + \ need more information." properties: mode: $ref: '#/components/schemas/machineDetectionModeEnum' @@ -7450,7 +7846,7 @@ components: nullable: true type: boolean type: object - transcriptionList: + recordingTranscriptions: example: transcripts: - confidence: 0.9 @@ -7463,7 +7859,90 @@ components: $ref: '#/components/schemas/transcription' type: array type: object - transcriptionMetadata: + callTranscriptionMetadataList: + example: + - transcriptionId: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + transcriptionUrl: https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + items: + $ref: '#/components/schemas/callTranscriptionMetadata' + type: array + callTranscriptionMetadata: + properties: + transcriptionId: + description: The programmable voice API transcription ID. + example: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + type: string + transcriptionUrl: + description: |- + A URL that may be used to retrieve the transcription itself. This points to the + [Get Call Transcription](/apis/voice/#operation/getCallTranscription) endpoint. + example: https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + type: string + type: object + callTranscriptionResponse: + example: + callId: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + accountId: "920012" + transcriptionId: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + tracks: + - detectedLanguage: en-US + track: inbound + text: Hello World! This is an example. + confidence: 0.9 + properties: + accountId: + description: The user account associated with the call. + example: "920012" + type: string + callId: + description: The call id associated with the event. + example: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + type: string + transcriptionId: + description: The programmable voice API transcription ID. + example: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + type: string + tracks: + example: + - detectedLanguage: en-US + track: inbound + text: Hello World! This is an example. + confidence: 0.9 + items: + $ref: '#/components/schemas/callTranscription' + type: array + type: object + callTranscription: + properties: + detectedLanguage: + description: The detected language for this transcription. + enum: + - en-US + - es-US + - fr-FR + example: en-US + type: string + track: + description: Which `track` this transcription is derived from. + enum: + - inbound + - outbound + example: inbound + type: string + transcript: + description: The transcription itself. + example: Hello World! This is an example. + type: string + confidence: + description: How confident the transcription engine was in transcribing + the associated audio (from `0` to `1`). + example: 0.9 + format: double + maximum: 1 + minimum: 0 + type: number + type: object + recordingTranscriptionMetadata: description: "If the recording was transcribed, metadata about the transcription" example: completedTime: 2022-06-13T18:46:29.715Z @@ -7527,16 +8006,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -7606,16 +8084,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -7700,16 +8177,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -7870,9 +8346,8 @@ components: example: my-conference-name type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -7926,9 +8401,8 @@ components: example: my-conference-name type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8015,7 +8489,7 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string recordingId: description: The unique ID of this recording @@ -8087,16 +8561,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8184,16 +8657,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8241,14 +8713,13 @@ components: type: string transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string tag: description: "(optional) The tag specified on call creation. If no tag was\ @@ -8279,16 +8750,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8343,14 +8813,13 @@ components: type: string transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string tag: description: "(optional) The tag specified on call creation. If no tag was\ @@ -8383,16 +8852,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8444,16 +8912,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8522,16 +8989,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8609,14 +9075,13 @@ components: type: string transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string type: object recordingAvailableCallback: @@ -8641,16 +9106,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8709,14 +9173,11 @@ components: fileFormat: $ref: '#/components/schemas/fileFormatEnum' channels: - description: "The current status of the process. For recording, current\ - \ possible values are 'processing', 'partial', 'complete', 'deleted',\ - \ and 'error'. For transcriptions, current possible values are 'none',\ - \ 'processing', 'available', 'error', 'timeout', 'file-size-too-big',\ - \ and 'file-size-too-small'. Additional states may be added in the future,\ - \ so your application must be tolerant of unknown values." - example: completed - type: string + description: Always `1` for conference recordings; multi-channel recordings + are not supported on conferences. + example: 1 + format: int32 + type: integer tag: description: "(optional) The tag specified on call creation. If no tag was\ \ specified or it was previously cleared, this field will not be present." @@ -8734,14 +9195,13 @@ components: type: string transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string type: object redirectCallback: @@ -8766,16 +9226,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8825,14 +9284,13 @@ components: type: string transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string type: object transcriptionAvailableCallback: @@ -8857,16 +9315,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -8934,14 +9391,13 @@ components: $ref: '#/components/schemas/transcription' transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string type: object transferAnswerCallback: @@ -8971,16 +9427,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -9024,14 +9479,13 @@ components: type: string transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string type: object transferCompleteCallback: @@ -9059,16 +9513,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -9112,14 +9565,13 @@ components: type: string transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string cause: description: "Reason the call failed - hangup, busy, timeout, cancel, rejected,\ @@ -9166,16 +9618,15 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. example: 04e88489-df02-4e34-a0ee-27a91849555f type: string from: - description: "The provided identifier of the caller: can be a phone number\ - \ in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number + in E.164 format (e.g. +15555555555). example: "+15555555555" type: string to: @@ -9230,14 +9681,13 @@ components: type: string transferCallerId: description: "The phone number used as the from field of the B-leg call,\ - \ in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous,\ - \ Private, or Unavailable." + \ in E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in\ \ E.164 format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string cause: description: "Reason the call failed - hangup, busy, timeout, cancel, rejected,\ @@ -9276,7 +9726,7 @@ components: type: string accountId: description: The user account associated with the call. - example: "920012" + example: "9900000" type: string applicationId: description: The id of the application associated with the call. @@ -9288,9 +9738,8 @@ components: example: "+15555555555" type: string from: - description: "The provided identifier of the caller: can be a phone number in\ - \ E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable,\ - \ or Anonymous." + description: The provided identifier of the caller. Must be a phone number in + E.164 format (e.g. +15555555555). example: "+15555555555" type: string conferenceId: @@ -9365,14 +9814,13 @@ components: type: string transferCallerId: description: "The phone number used as the from field of the B-leg call, in\ - \ E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private,\ - \ or Unavailable." + \ E.164 format (e.g. +15555555555)." example: "+15555555555" type: string transferTo: description: "The phone number used as the to field of the B-leg call, in E.164\ \ format (e.g. +15555555555)." - example: +15555555555) + example: "+15555555555" type: string mediaUrl: description: The URL that can be used to download the recording. Only present @@ -9565,11 +10013,11 @@ components: type: object messagingCodeResponse: example: - messageId: 9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6 + messageId: 1589228074636lm4k2je7j7jklbn2 properties: messageId: description: Messaging API Message ID. - example: 9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6 + example: 1589228074636lm4k2je7j7jklbn2 type: string type: object verifyCodeRequest: @@ -9783,11 +10231,9 @@ components: securitySchemes: Basic: description: |- - Basic authentication is a simple authentication scheme built into the - HTTP protocol. To use it, send your HTTP requests with an Authorization - header that contains the word Basic followed by a space and a - base64-encoded string `username:password`Example: `Authorization: Basic - ZGVtbZpwQDU1dzByZA==` + Basic authentication is a simple authentication scheme built into the HTTP protocol. To use it, send your HTTP requests with an `Authorization` header that contains the word `Basic` followed by a space and a Base64-encoded string `username:password`. + + - Example: `Authorization: Basic ZGVtbZpwQDU1dzByZA==` scheme: basic type: http diff --git a/bandwidth.yml b/bandwidth.yml index 6c9870bd..96bfc9da 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -16,6 +16,7 @@ tags: - name: Conferences - name: Recordings - name: Statistics + - name: Transcriptions - name: MFA - name: Phone Number Lookup paths: @@ -962,9 +963,7 @@ paths: description: >- Downloads the specified transcription. - - If the transcribed recording was multi-channel, then there will be 2 - transcripts. + If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [``](/docs/voice/bxml/playAudio) and @@ -974,14 +973,14 @@ paths: During a [``](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. - operationId: getCallTranscription + operationId: getRecordingTranscription parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/callId' - $ref: '#/components/parameters/recordingId' responses: '200': - $ref: '#/components/responses/getCallTranscriptionResponse' + $ref: '#/components/responses/getRecordingTranscriptionResponse' '400': $ref: '#/components/responses/voiceBadRequestError' '401': @@ -1047,7 +1046,7 @@ paths: transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. - operationId: deleteCallTranscription + operationId: deleteRecordingTranscription parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/callId' @@ -1101,6 +1100,108 @@ paths: '500': $ref: '#/components/responses/voiceInternalServerError' servers: *ref_1 + /accounts/{accountId}/calls/{callId}/transcriptions: + get: + tags: + - Transcriptions + summary: Enumerate transcriptions made with StartTranscription + description: >- + Enumerates the transcriptions created on this call via + [startTranscription](/docs/voice/bxml/startTranscription). + operationId: listRealTimeTranscriptions + parameters: + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/callId' + responses: + '200': + $ref: '#/components/responses/listTranscriptionsResponse' + '400': + $ref: '#/components/responses/voiceBadRequestError' + '401': + $ref: '#/components/responses/voiceUnauthorizedError' + '403': + $ref: '#/components/responses/voiceForbiddenError' + '404': + $ref: '#/components/responses/voiceNotFoundError' + '405': + $ref: '#/components/responses/voiceNotAllowedError' + '415': + $ref: '#/components/responses/voiceUnsupportedMediaTypeError' + '429': + $ref: '#/components/responses/voiceTooManyRequestsError' + '500': + $ref: '#/components/responses/voiceInternalServerError' + servers: *ref_1 + /accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}: + get: + tags: + - Transcriptions + summary: Retrieve a specific transcription + description: >- + Retrieve the specified transcription that was created on this call via + [startTranscription](/docs/voice/bxml/startTranscription). + operationId: getRealTimeTranscription + parameters: + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/callId' + - $ref: '#/components/parameters/transcriptionId' + responses: + '200': + $ref: '#/components/responses/getCallTranscriptionResponse' + '400': + $ref: '#/components/responses/voiceBadRequestError' + '401': + $ref: '#/components/responses/voiceUnauthorizedError' + '403': + $ref: '#/components/responses/voiceForbiddenError' + '404': + $ref: '#/components/responses/voiceNotFoundError' + '405': + $ref: '#/components/responses/voiceNotAllowedError' + '415': + $ref: '#/components/responses/voiceUnsupportedMediaTypeError' + '429': + $ref: '#/components/responses/voiceTooManyRequestsError' + '500': + $ref: '#/components/responses/voiceInternalServerError' + delete: + tags: + - Transcriptions + summary: Delete a specific transcription + description: >- + Delete the specified transcription that was created on this call via + [startTranscription](/docs/voice/bxml/startTranscription). + + + Note: After the deletion is requested and a `200` is returned, the + transcription will not be accessible anymore. However, it is not deleted + immediately. This deletion process, while transparent and irreversible, + can take an additional 24 to 48 hours. + operationId: deleteRealTimeTranscription + parameters: + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/callId' + - $ref: '#/components/parameters/transcriptionId' + responses: + '200': + $ref: '#/components/responses/deleteCallTranscriptionResponse' + '400': + $ref: '#/components/responses/voiceBadRequestError' + '401': + $ref: '#/components/responses/voiceUnauthorizedError' + '403': + $ref: '#/components/responses/voiceForbiddenError' + '404': + $ref: '#/components/responses/voiceNotFoundError' + '405': + $ref: '#/components/responses/voiceNotAllowedError' + '415': + $ref: '#/components/responses/voiceUnsupportedMediaTypeError' + '429': + $ref: '#/components/responses/voiceTooManyRequestsError' + '500': + $ref: '#/components/responses/voiceInternalServerError' + servers: *ref_1 /accounts/{accountId}/code/voice: post: tags: @@ -1547,8 +1648,14 @@ components: from: type: string description: >- - One of your telephone numbers the message should come from in E164 - format. + Either an alphanumeric sender ID or the sender's Bandwidth phone + number in E.164 format, which must be hosted within Bandwidth and + linked to the account that is generating the message. + + Alphanumeric Sender IDs can contain up to 11 characters, upper-case + letters A-Z, lower-case letters a-z, numbers 0-9, space, hyphen -, + plus +, underscore _ and ampersand &. Alphanumeric Sender IDs must + contain at least one letter. example: '+15551113333' text: type: string @@ -2045,11 +2152,16 @@ components: description: >- A Bandwidth phone number on your account the call should come - from (must be in E.164 format, like `+15555551212`, or be one of the - following - - strings: `Restricted`, `Anonymous`, `Private`, or `Unavailable`). - example: '+19195554321' + from (must be in E.164 format, like `+15555551212`) even if + `privacy` is set to true. + example: '+15555551212' + privacy: + nullable: true + type: boolean + description: >- + Hide the calling number. The `displayName` field can be used to + customize the displayed name. + example: false displayName: nullable: true type: string @@ -2058,6 +2170,9 @@ components: May not exceed 256 characters nor contain control characters such as new lines. + + If `privacy` is true, only the following values are valid: + `Restricted`, `Anonymous`, `Private`, or `Unavailable`. maxLength: 256 example: John Doe uui: @@ -2381,7 +2496,7 @@ components: description: >- The phone number that made the call, in E.164 format (e.g. +15555555555). - example: '19195554321' + example: '+19195554321' direction: $ref: '#/components/schemas/callDirectionEnum' state: @@ -2671,7 +2786,7 @@ components: mediaUrl: $ref: '#/components/schemas/mediaUrl' transcription: - $ref: '#/components/schemas/transcriptionMetadata' + $ref: '#/components/schemas/recordingTranscriptionMetadata' conference: type: object properties: @@ -2916,7 +3031,10 @@ components: description: >- The machine detection request used to perform machine detection on the - call. + call. Currently, there is an issue where decimal values are not getting + processed correctly. Please use whole number values. We are working to + resolve this issue. Please contact Bandwidth Support if you need more + information. properties: mode: $ref: '#/components/schemas/machineDetectionModeEnum' @@ -3108,14 +3226,95 @@ components: Current supported languages are English, French, and Spanish. default: false example: true - transcriptionList: + recordingTranscriptions: type: object properties: transcripts: type: array items: $ref: '#/components/schemas/transcription' - transcriptionMetadata: + callTranscriptionMetadataList: + type: array + items: + $ref: '#/components/schemas/callTranscriptionMetadata' + example: + - transcriptionId: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + transcriptionUrl: >- + https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + callTranscriptionMetadata: + type: object + properties: + transcriptionId: + type: string + description: The programmable voice API transcription ID. + example: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + transcriptionUrl: + type: string + description: >- + A URL that may be used to retrieve the transcription itself. This + points to the + + [Get Call + Transcription](/apis/voice/#operation/getCallTranscription) + endpoint. + example: >- + https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + callTranscriptionResponse: + type: object + properties: + accountId: + type: string + description: The user account associated with the call. + example: '920012' + callId: + type: string + description: The call id associated with the event. + example: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + transcriptionId: + type: string + description: The programmable voice API transcription ID. + example: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + tracks: + type: array + items: + $ref: '#/components/schemas/callTranscription' + example: + - detectedLanguage: en-US + track: inbound + text: Hello World! This is an example. + confidence: 0.9 + callTranscription: + type: object + properties: + detectedLanguage: + type: string + enum: + - en-US + - es-US + - fr-FR + description: The detected language for this transcription. + example: en-US + track: + type: string + enum: + - inbound + - outbound + description: Which `track` this transcription is derived from. + example: inbound + transcript: + type: string + description: The transcription itself. + example: Hello World! This is an example. + confidence: + type: number + format: double + minimum: 0 + maximum: 1 + description: >- + How confident the transcription engine was in transcribing the + associated audio (from `0` to `1`). + example: 0.9 + recordingTranscriptionMetadata: nullable: true type: object description: If the recording was transcribed, metadata about the transcription @@ -3687,7 +3886,7 @@ components: fileFormat: $ref: '#/components/schemas/fileFormatEnum' channels: - $ref: '#/components/schemas/status' + $ref: '#/components/schemas/channels' tag: $ref: '#/components/schemas/tag1' status: @@ -3940,7 +4139,7 @@ components: accountId: type: string description: The user account associated with the call. - example: '920012' + example: '9900000' applicationId: type: string description: The id of the application associated with the call. @@ -3954,9 +4153,8 @@ components: from: type: string description: >- - The provided identifier of the caller: can be a phone number in E.164 - format (e.g. +15555555555) or one of Private, Restricted, Unavailable, - or Anonymous. + The provided identifier of the caller. Must be a phone number in E.164 + format (e.g. +15555555555). example: '+15555555555' conferenceId: type: string @@ -4035,15 +4233,14 @@ components: type: string description: >- The phone number used as the from field of the B-leg call, in E.164 - format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or - Unavailable. + format (e.g. +15555555555). example: '+15555555555' transferTo: type: string description: >- The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - example: +15555555555) + example: '+15555555555' mediaUrl: nullable: true type: string @@ -4254,7 +4451,7 @@ components: messageId: type: string description: Messaging API Message ID. - example: 9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6 + example: 1589228074636lm4k2je7j7jklbn2 verifyCodeRequest: type: object properties: @@ -4576,12 +4773,26 @@ components: schema: type: string format: binary + getRecordingTranscriptionResponse: + description: Transcription found. + content: + application/json: + schema: + $ref: '#/components/schemas/recordingTranscriptions' + listTranscriptionsResponse: + description: Transcription found. + content: + application/json: + schema: + $ref: '#/components/schemas/callTranscriptionMetadataList' getCallTranscriptionResponse: - description: Transcription found + description: Transcription found. content: application/json: schema: - $ref: '#/components/schemas/transcriptionList' + $ref: '#/components/schemas/callTranscriptionResponse' + deleteCallTranscriptionResponse: + description: Transcription data was deleted. listConferencesResponse: description: Conferences retrieved successfully content: @@ -5084,6 +5295,14 @@ components: type: string description: Programmable Voice API Conference Member ID. example: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + transcriptionId: + name: transcriptionId + in: path + required: true + schema: + type: string + description: Programmable Voice API Transcription ID. + example: t-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 to: name: to in: query @@ -5511,12 +5730,14 @@ components: Basic: type: http scheme: basic - description: |- + description: >- Basic authentication is a simple authentication scheme built into the - HTTP protocol. To use it, send your HTTP requests with an Authorization - header that contains the word Basic followed by a space and a - base64-encoded string `username:password`Example: `Authorization: Basic - ZGVtbZpwQDU1dzByZA==` + HTTP protocol. To use it, send your HTTP requests with an + `Authorization` header that contains the word `Basic` followed by a + space and a Base64-encoded string `username:password`. + + + - Example: `Authorization: Basic ZGVtbZpwQDU1dzByZA==` callbacks: inboundCallback: '{inboundCallbackUrl}': @@ -5566,6 +5787,7 @@ components: answerMethod: POST answerUrl: https://myServer.example/bandwidth/webhooks/answer answerFallbackMethod: POST + answerFallbackUrl: https://myServer.example/bandwidth/webhooks/answerFallback disconnectMethod: POST disconnectUrl: https://myServer.example/bandwidth/webhooks/disconnect username: mySecretUsername diff --git a/docs/AnswerCallback.md b/docs/AnswerCallback.md index 2fbb57a3..d0a63c97 100644 --- a/docs/AnswerCallback.md +++ b/docs/AnswerCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] diff --git a/docs/BridgeCompleteCallback.md b/docs/BridgeCompleteCallback.md index 531471c2..5849cb2b 100644 --- a/docs/BridgeCompleteCallback.md +++ b/docs/BridgeCompleteCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] diff --git a/docs/BridgeTargetCompleteCallback.md b/docs/BridgeTargetCompleteCallback.md index b8694669..1bd0ed9a 100644 --- a/docs/BridgeTargetCompleteCallback.md +++ b/docs/BridgeTargetCompleteCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] diff --git a/docs/CallRecordingMetadata.md b/docs/CallRecordingMetadata.md index 31332f25..564d0bd6 100644 --- a/docs/CallRecordingMetadata.md +++ b/docs/CallRecordingMetadata.md @@ -10,8 +10,8 @@ Name | Type | Description | Notes **ParentCallId** | **string** | (optional) If the event is related to the B leg of a <Transfer>, the call id of the original call leg that executed the <Transfer>. Otherwise, this field will not be present. | [optional] **RecordingId** | **string** | The unique ID of this recording | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **Duration** | **string** | The duration of the recording in ISO-8601 format | [optional] **Direction** | **CallDirectionEnum** | | [optional] @@ -21,7 +21,7 @@ Name | Type | Description | Notes **FileFormat** | **FileFormatEnum** | | [optional] **Status** | **string** | The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. | [optional] **MediaUrl** | **string** | The URL that can be used to download the recording. Only present if the recording is finished and may be downloaded. | [optional] -**Transcription** | [**TranscriptionMetadata**](TranscriptionMetadata.md) | | [optional] +**Transcription** | [**RecordingTranscriptionMetadata**](RecordingTranscriptionMetadata.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CallTranscription.md b/docs/CallTranscription.md new file mode 100644 index 00000000..122d6012 --- /dev/null +++ b/docs/CallTranscription.md @@ -0,0 +1,13 @@ +# Bandwidth.Standard.Model.CallTranscription + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**DetectedLanguage** | **string** | The detected language for this transcription. | [optional] +**Track** | **string** | Which `track` this transcription is derived from. | [optional] +**Transcript** | **string** | The transcription itself. | [optional] +**Confidence** | **double** | How confident the transcription engine was in transcribing the associated audio (from `0` to `1`). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CallTranscriptionMetadata.md b/docs/CallTranscriptionMetadata.md new file mode 100644 index 00000000..3d600a30 --- /dev/null +++ b/docs/CallTranscriptionMetadata.md @@ -0,0 +1,11 @@ +# Bandwidth.Standard.Model.CallTranscriptionMetadata + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**TranscriptionId** | **string** | The programmable voice API transcription ID. | [optional] +**TranscriptionUrl** | **string** | A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getCallTranscription) endpoint. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CallTranscriptionResponse.md b/docs/CallTranscriptionResponse.md new file mode 100644 index 00000000..dc007e1e --- /dev/null +++ b/docs/CallTranscriptionResponse.md @@ -0,0 +1,13 @@ +# Bandwidth.Standard.Model.CallTranscriptionResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AccountId** | **string** | The user account associated with the call. | [optional] +**CallId** | **string** | The call id associated with the event. | [optional] +**TranscriptionId** | **string** | The programmable voice API transcription ID. | [optional] +**Tracks** | [**List<CallTranscription>**](CallTranscription.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ConferenceMemberExitCallback.md b/docs/ConferenceMemberExitCallback.md index c5d6190c..a871edd8 100644 --- a/docs/ConferenceMemberExitCallback.md +++ b/docs/ConferenceMemberExitCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **ConferenceId** | **string** | The unique, Bandwidth-generated ID of the conference that was recorded | [optional] **Name** | **string** | The user-specified name of the conference that was recorded | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **CallId** | **string** | The call id associated with the event. | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] diff --git a/docs/ConferenceMemberJoinCallback.md b/docs/ConferenceMemberJoinCallback.md index f20d7c6f..b8a9b355 100644 --- a/docs/ConferenceMemberJoinCallback.md +++ b/docs/ConferenceMemberJoinCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **ConferenceId** | **string** | The unique, Bandwidth-generated ID of the conference that was recorded | [optional] **Name** | **string** | The user-specified name of the conference that was recorded | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **CallId** | **string** | The call id associated with the event. | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] diff --git a/docs/CreateCall.md b/docs/CreateCall.md index a59ef116..37b06e59 100644 --- a/docs/CreateCall.md +++ b/docs/CreateCall.md @@ -5,8 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **To** | **string** | The destination to call (must be an E.164 formatted number (e.g. `+15555551212`) or a SIP URI (e.g. `sip:user@server.example`)). | -**From** | **string** | A Bandwidth phone number on your account the call should come from (must be in E.164 format, like `+15555551212`, or be one of the following strings: `Restricted`, `Anonymous`, `Private`, or `Unavailable`). | -**DisplayName** | **string** | The caller display name to use when the call is created. May not exceed 256 characters nor contain control characters such as new lines. | [optional] +**From** | **string** | A Bandwidth phone number on your account the call should come from (must be in E.164 format, like `+15555551212`) even if `privacy` is set to true. | +**Privacy** | **bool?** | Hide the calling number. The `displayName` field can be used to customize the displayed name. | [optional] +**DisplayName** | **string** | The caller display name to use when the call is created. May not exceed 256 characters nor contain control characters such as new lines. If `privacy` is true, only the following values are valid: `Restricted`, `Anonymous`, `Private`, or `Unavailable`. | [optional] **Uui** | **string** | A comma-separated list of 'User-To-User' headers to be sent in the INVITE when calling a SIP URI. Each value must end with an 'encoding' parameter as described in <a href='https://tools.ietf.org/html/rfc7433'>RFC 7433</a>. Only 'jwt' and 'base64' encodings are allowed. The entire value cannot exceed 350 characters, including parameters and separators. | [optional] **ApplicationId** | **string** | The id of the application associated with the `from` number. | **AnswerUrl** | **string** | The full URL to send the <a href='/docs/voice/webhooks/answer'>Answer</a> event to when the called party answers. This endpoint should return the first <a href='/docs/voice/bxml'>BXML document</a> to be executed in the call. Must use `https` if specifying `username` and `password`. | diff --git a/docs/DisconnectCallback.md b/docs/DisconnectCallback.md index 1d46a773..b924fd61 100644 --- a/docs/DisconnectCallback.md +++ b/docs/DisconnectCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **CallId** | **string** | The call id associated with the event. | [optional] **Direction** | **CallDirectionEnum** | | [optional] diff --git a/docs/DtmfCallback.md b/docs/DtmfCallback.md index 60dfa82d..f6855d04 100644 --- a/docs/DtmfCallback.md +++ b/docs/DtmfCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **CallId** | **string** | The call id associated with the event. | [optional] **Direction** | **CallDirectionEnum** | | [optional] @@ -19,7 +19,7 @@ Name | Type | Description | Notes **StartTime** | **DateTime** | Time the call was started, in ISO 8601 format. | [optional] **AnswerTime** | **DateTime?** | Time the call was answered, in ISO 8601 format. | [optional] **ParentCallId** | **string** | (optional) If the event is related to the B leg of a <Transfer>, the call id of the original call leg that executed the <Transfer>. Otherwise, this field will not be present. | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] diff --git a/docs/GatherCallback.md b/docs/GatherCallback.md index 9f47df60..6eecca85 100644 --- a/docs/GatherCallback.md +++ b/docs/GatherCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] @@ -20,7 +20,7 @@ Name | Type | Description | Notes **AnswerTime** | **DateTime?** | Time the call was answered, in ISO 8601 format. | [optional] **ParentCallId** | **string** | (optional) If the event is related to the B leg of a <Transfer>, the call id of the original call leg that executed the <Transfer>. Otherwise, this field will not be present. | [optional] **TerminatingDigit** | **string** | (optional) The digit the user pressed to end the gather. Empty string value if no terminating digit was pressed. | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] diff --git a/docs/InitiateCallback.md b/docs/InitiateCallback.md index 9a0fcc22..e0be6d59 100644 --- a/docs/InitiateCallback.md +++ b/docs/InitiateCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] diff --git a/docs/MachineDetectionCompleteCallback.md b/docs/MachineDetectionCompleteCallback.md index 7f6852a5..bbc54e46 100644 --- a/docs/MachineDetectionCompleteCallback.md +++ b/docs/MachineDetectionCompleteCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] diff --git a/docs/MachineDetectionConfiguration.md b/docs/MachineDetectionConfiguration.md index 0a3cf8ba..79bec22d 100644 --- a/docs/MachineDetectionConfiguration.md +++ b/docs/MachineDetectionConfiguration.md @@ -1,5 +1,5 @@ # Bandwidth.Standard.Model.MachineDetectionConfiguration -The machine detection request used to perform machine detection on the call. +The machine detection request used to perform machine detection on the call. Currently, there is an issue where decimal values are not getting processed correctly. Please use whole number values. We are working to resolve this issue. Please contact Bandwidth Support if you need more information. ## Properties diff --git a/docs/MessageRequest.md b/docs/MessageRequest.md index 13d264db..5a4a0f23 100644 --- a/docs/MessageRequest.md +++ b/docs/MessageRequest.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **ApplicationId** | **string** | The ID of the Application your from number is associated with in the Bandwidth Phone Number Dashboard. | **To** | **List<string>** | The phone number(s) the message should be sent to in E164 format. | -**From** | **string** | One of your telephone numbers the message should come from in E164 format. | +**From** | **string** | Either an alphanumeric sender ID or the sender's Bandwidth phone number in E.164 format, which must be hosted within Bandwidth and linked to the account that is generating the message. Alphanumeric Sender IDs can contain up to 11 characters, upper-case letters A-Z, lower-case letters a-z, numbers 0-9, space, hyphen -, plus +, underscore _ and ampersand &. Alphanumeric Sender IDs must contain at least one letter. | **Text** | **string** | The contents of the text message. Must be 2048 characters or less. | [optional] **Media** | **List<string>** | A list of URLs to include as media attachments as part of the message. Each URL can be at most 4096 characters. | [optional] **Tag** | **string** | A custom string that will be included in callback events of the message. Max 1024 characters. | [optional] diff --git a/docs/RecordingAvailableCallback.md b/docs/RecordingAvailableCallback.md index 6368b64b..5c75248a 100644 --- a/docs/RecordingAvailableCallback.md +++ b/docs/RecordingAvailableCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] @@ -22,10 +22,10 @@ Name | Type | Description | Notes **EndTime** | **DateTime** | The time that the recording ended in ISO-8601 format | [optional] **Duration** | **string** | The duration of the recording in ISO-8601 format | [optional] **FileFormat** | **FileFormatEnum** | | [optional] -**Channels** | **string** | The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. | [optional] +**Channels** | **int** | Always `1` for conference recordings; multi-channel recordings are not supported on conferences. | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] **Status** | **string** | The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RecordingCompleteCallback.md b/docs/RecordingCompleteCallback.md index 6319ede8..f2242b41 100644 --- a/docs/RecordingCompleteCallback.md +++ b/docs/RecordingCompleteCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] @@ -25,7 +25,7 @@ Name | Type | Description | Notes **FileFormat** | **FileFormatEnum** | | [optional] **Channels** | **int** | Always `1` for conference recordings; multi-channel recordings are not supported on conferences. | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RecordingTranscriptionMetadata.md b/docs/RecordingTranscriptionMetadata.md new file mode 100644 index 00000000..fa0c93a0 --- /dev/null +++ b/docs/RecordingTranscriptionMetadata.md @@ -0,0 +1,14 @@ +# Bandwidth.Standard.Model.RecordingTranscriptionMetadata +If the recording was transcribed, metadata about the transcription + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **string** | The unique transcription ID | [optional] +**Status** | **string** | The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. | [optional] +**CompletedTime** | **string** | The time that the transcription was completed | [optional] +**Url** | **string** | The URL of the [transcription](#operation/getCallTranscription) | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RecordingTranscriptions.md b/docs/RecordingTranscriptions.md new file mode 100644 index 00000000..23a4c666 --- /dev/null +++ b/docs/RecordingTranscriptions.md @@ -0,0 +1,10 @@ +# Bandwidth.Standard.Model.RecordingTranscriptions + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Transcripts** | [**List<Transcription>**](Transcription.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RecordingsApi.md b/docs/RecordingsApi.md index f42894f9..f45e1514 100644 --- a/docs/RecordingsApi.md +++ b/docs/RecordingsApi.md @@ -4,24 +4,24 @@ All URIs are relative to *http://localhost* | Method | HTTP request | Description | |--------|--------------|-------------| -| [**DeleteCallTranscription**](RecordingsApi.md#deletecalltranscription) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Delete Transcription | | [**DeleteRecording**](RecordingsApi.md#deleterecording) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId} | Delete Recording | | [**DeleteRecordingMedia**](RecordingsApi.md#deleterecordingmedia) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media | Delete Recording Media | +| [**DeleteRecordingTranscription**](RecordingsApi.md#deleterecordingtranscription) | **DELETE** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Delete Transcription | | [**DownloadCallRecording**](RecordingsApi.md#downloadcallrecording) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media | Download Recording | | [**GetCallRecording**](RecordingsApi.md#getcallrecording) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId} | Get Call Recording | -| [**GetCallTranscription**](RecordingsApi.md#getcalltranscription) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Get Transcription | +| [**GetRecordingTranscription**](RecordingsApi.md#getrecordingtranscription) | **GET** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Get Transcription | | [**ListAccountCallRecordings**](RecordingsApi.md#listaccountcallrecordings) | **GET** /accounts/{accountId}/recordings | Get Call Recordings | | [**ListCallRecordings**](RecordingsApi.md#listcallrecordings) | **GET** /accounts/{accountId}/calls/{callId}/recordings | List Call Recordings | | [**TranscribeCallRecording**](RecordingsApi.md#transcribecallrecording) | **POST** /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription | Create Transcription Request | | [**UpdateCallRecordingState**](RecordingsApi.md#updatecallrecordingstate) | **PUT** /accounts/{accountId}/calls/{callId}/recording | Update Recording | - -# **DeleteCallTranscription** -> void DeleteCallTranscription (string accountId, string callId, string recordingId) + +# **DeleteRecording** +> void DeleteRecording (string accountId, string callId, string recordingId) -Delete Transcription +Delete Recording -Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. +Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. ### Example ```csharp @@ -33,7 +33,7 @@ using Bandwidth.Standard.Model; namespace Example { - public class DeleteCallTranscriptionExample + public class DeleteRecordingExample { public static void Main() { @@ -50,12 +50,12 @@ namespace Example try { - // Delete Transcription - apiInstance.DeleteCallTranscription(accountId, callId, recordingId); + // Delete Recording + apiInstance.DeleteRecording(accountId, callId, recordingId); } catch (ApiException e) { - Debug.Print("Exception when calling RecordingsApi.DeleteCallTranscription: " + e.Message); + Debug.Print("Exception when calling RecordingsApi.DeleteRecording: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } @@ -64,18 +64,18 @@ namespace Example } ``` -#### Using the DeleteCallTranscriptionWithHttpInfo variant +#### Using the DeleteRecordingWithHttpInfo variant This returns an ApiResponse object which contains the response data, status code and headers. ```csharp try { - // Delete Transcription - apiInstance.DeleteCallTranscriptionWithHttpInfo(accountId, callId, recordingId); + // Delete Recording + apiInstance.DeleteRecordingWithHttpInfo(accountId, callId, recordingId); } catch (ApiException e) { - Debug.Print("Exception when calling RecordingsApi.DeleteCallTranscriptionWithHttpInfo: " + e.Message); + Debug.Print("Exception when calling RecordingsApi.DeleteRecordingWithHttpInfo: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } @@ -106,7 +106,7 @@ void (empty response body) ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **204** | The transcription was successfully deleted. | - | +| **204** | Recording was deleted. | - | | **400** | Bad Request | - | | **401** | Unauthorized | - | | **403** | Forbidden | - | @@ -118,13 +118,13 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteRecording** -> void DeleteRecording (string accountId, string callId, string recordingId) + +# **DeleteRecordingMedia** +> void DeleteRecordingMedia (string accountId, string callId, string recordingId) -Delete Recording +Delete Recording Media -Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. +Deletes the specified recording's media. ### Example ```csharp @@ -136,7 +136,7 @@ using Bandwidth.Standard.Model; namespace Example { - public class DeleteRecordingExample + public class DeleteRecordingMediaExample { public static void Main() { @@ -153,12 +153,12 @@ namespace Example try { - // Delete Recording - apiInstance.DeleteRecording(accountId, callId, recordingId); + // Delete Recording Media + apiInstance.DeleteRecordingMedia(accountId, callId, recordingId); } catch (ApiException e) { - Debug.Print("Exception when calling RecordingsApi.DeleteRecording: " + e.Message); + Debug.Print("Exception when calling RecordingsApi.DeleteRecordingMedia: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } @@ -167,18 +167,18 @@ namespace Example } ``` -#### Using the DeleteRecordingWithHttpInfo variant +#### Using the DeleteRecordingMediaWithHttpInfo variant This returns an ApiResponse object which contains the response data, status code and headers. ```csharp try { - // Delete Recording - apiInstance.DeleteRecordingWithHttpInfo(accountId, callId, recordingId); + // Delete Recording Media + apiInstance.DeleteRecordingMediaWithHttpInfo(accountId, callId, recordingId); } catch (ApiException e) { - Debug.Print("Exception when calling RecordingsApi.DeleteRecordingWithHttpInfo: " + e.Message); + Debug.Print("Exception when calling RecordingsApi.DeleteRecordingMediaWithHttpInfo: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } @@ -209,7 +209,7 @@ void (empty response body) ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **204** | Recording was deleted. | - | +| **204** | The recording media was successfully deleted. | - | | **400** | Bad Request | - | | **401** | Unauthorized | - | | **403** | Forbidden | - | @@ -221,13 +221,13 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **DeleteRecordingMedia** -> void DeleteRecordingMedia (string accountId, string callId, string recordingId) + +# **DeleteRecordingTranscription** +> void DeleteRecordingTranscription (string accountId, string callId, string recordingId) -Delete Recording Media +Delete Transcription -Deletes the specified recording's media. +Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. ### Example ```csharp @@ -239,7 +239,7 @@ using Bandwidth.Standard.Model; namespace Example { - public class DeleteRecordingMediaExample + public class DeleteRecordingTranscriptionExample { public static void Main() { @@ -256,12 +256,12 @@ namespace Example try { - // Delete Recording Media - apiInstance.DeleteRecordingMedia(accountId, callId, recordingId); + // Delete Transcription + apiInstance.DeleteRecordingTranscription(accountId, callId, recordingId); } catch (ApiException e) { - Debug.Print("Exception when calling RecordingsApi.DeleteRecordingMedia: " + e.Message); + Debug.Print("Exception when calling RecordingsApi.DeleteRecordingTranscription: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } @@ -270,18 +270,18 @@ namespace Example } ``` -#### Using the DeleteRecordingMediaWithHttpInfo variant +#### Using the DeleteRecordingTranscriptionWithHttpInfo variant This returns an ApiResponse object which contains the response data, status code and headers. ```csharp try { - // Delete Recording Media - apiInstance.DeleteRecordingMediaWithHttpInfo(accountId, callId, recordingId); + // Delete Transcription + apiInstance.DeleteRecordingTranscriptionWithHttpInfo(accountId, callId, recordingId); } catch (ApiException e) { - Debug.Print("Exception when calling RecordingsApi.DeleteRecordingMediaWithHttpInfo: " + e.Message); + Debug.Print("Exception when calling RecordingsApi.DeleteRecordingTranscriptionWithHttpInfo: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } @@ -312,7 +312,7 @@ void (empty response body) ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **204** | The recording media was successfully deleted. | - | +| **204** | The transcription was successfully deleted. | - | | **400** | Bad Request | - | | **401** | Unauthorized | - | | **403** | Forbidden | - | @@ -538,13 +538,13 @@ catch (ApiException e) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **GetCallTranscription** -> TranscriptionList GetCallTranscription (string accountId, string callId, string recordingId) + +# **GetRecordingTranscription** +> RecordingTranscriptions GetRecordingTranscription (string accountId, string callId, string recordingId) Get Transcription -Downloads the specified transcription. If the transcribed recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [``](/docs/voice/bxml/playAudio) and [``](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [``](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. +Downloads the specified transcription. If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [``](/docs/voice/bxml/playAudio) and [``](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [``](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. ### Example ```csharp @@ -556,7 +556,7 @@ using Bandwidth.Standard.Model; namespace Example { - public class GetCallTranscriptionExample + public class GetRecordingTranscriptionExample { public static void Main() { @@ -574,12 +574,12 @@ namespace Example try { // Get Transcription - TranscriptionList result = apiInstance.GetCallTranscription(accountId, callId, recordingId); + RecordingTranscriptions result = apiInstance.GetRecordingTranscription(accountId, callId, recordingId); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling RecordingsApi.GetCallTranscription: " + e.Message); + Debug.Print("Exception when calling RecordingsApi.GetRecordingTranscription: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } @@ -588,21 +588,21 @@ namespace Example } ``` -#### Using the GetCallTranscriptionWithHttpInfo variant +#### Using the GetRecordingTranscriptionWithHttpInfo variant This returns an ApiResponse object which contains the response data, status code and headers. ```csharp try { // Get Transcription - ApiResponse response = apiInstance.GetCallTranscriptionWithHttpInfo(accountId, callId, recordingId); + ApiResponse response = apiInstance.GetRecordingTranscriptionWithHttpInfo(accountId, callId, recordingId); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); } catch (ApiException e) { - Debug.Print("Exception when calling RecordingsApi.GetCallTranscriptionWithHttpInfo: " + e.Message); + Debug.Print("Exception when calling RecordingsApi.GetRecordingTranscriptionWithHttpInfo: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } @@ -618,7 +618,7 @@ catch (ApiException e) ### Return type -[**TranscriptionList**](TranscriptionList.md) +[**RecordingTranscriptions**](RecordingTranscriptions.md) ### Authorization @@ -633,7 +633,7 @@ catch (ApiException e) ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | Transcription found | - | +| **200** | Transcription found. | - | | **400** | Bad Request | - | | **401** | Unauthorized | - | | **403** | Forbidden | - | diff --git a/docs/RedirectCallback.md b/docs/RedirectCallback.md index d0c0f246..398359f5 100644 --- a/docs/RedirectCallback.md +++ b/docs/RedirectCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] @@ -19,7 +19,7 @@ Name | Type | Description | Notes **StartTime** | **DateTime** | Time the call was started, in ISO 8601 format. | [optional] **AnswerTime** | **DateTime?** | Time the call was answered, in ISO 8601 format. | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/TranscriptionAvailableCallback.md b/docs/TranscriptionAvailableCallback.md index 39cc3655..911f5fc7 100644 --- a/docs/TranscriptionAvailableCallback.md +++ b/docs/TranscriptionAvailableCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] @@ -24,7 +24,7 @@ Name | Type | Description | Notes **FileFormat** | **FileFormatEnum** | | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] **Transcription** | [**Transcription**](Transcription.md) | | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/TranscriptionsApi.md b/docs/TranscriptionsApi.md new file mode 100644 index 00000000..8728d474 --- /dev/null +++ b/docs/TranscriptionsApi.md @@ -0,0 +1,325 @@ +# Bandwidth.Standard.Api.TranscriptionsApi + +All URIs are relative to *http://localhost* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteRealTimeTranscription**](TranscriptionsApi.md#deleterealtimetranscription) | **DELETE** /accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId} | Delete a specific transcription | +| [**GetRealTimeTranscription**](TranscriptionsApi.md#getrealtimetranscription) | **GET** /accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId} | Retrieve a specific transcription | +| [**ListRealTimeTranscriptions**](TranscriptionsApi.md#listrealtimetranscriptions) | **GET** /accounts/{accountId}/calls/{callId}/transcriptions | Enumerate transcriptions made with StartTranscription | + + +# **DeleteRealTimeTranscription** +> void DeleteRealTimeTranscription (string accountId, string callId, string transcriptionId) + +Delete a specific transcription + +Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Bandwidth.Standard.Api; +using Bandwidth.Standard.Client; +using Bandwidth.Standard.Model; + +namespace Example +{ + public class DeleteRealTimeTranscriptionExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "http://localhost"; + // Configure HTTP basic authorization: Basic + config.Username = "YOUR_USERNAME"; + config.Password = "YOUR_PASSWORD"; + + var apiInstance = new TranscriptionsApi(config); + var accountId = 9900000; // string | Your Bandwidth Account ID. + var callId = c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85; // string | Programmable Voice API Call ID. + var transcriptionId = t-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85; // string | Programmable Voice API Transcription ID. + + try + { + // Delete a specific transcription + apiInstance.DeleteRealTimeTranscription(accountId, callId, transcriptionId); + } + catch (ApiException e) + { + Debug.Print("Exception when calling TranscriptionsApi.DeleteRealTimeTranscription: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the DeleteRealTimeTranscriptionWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete a specific transcription + apiInstance.DeleteRealTimeTranscriptionWithHttpInfo(accountId, callId, transcriptionId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling TranscriptionsApi.DeleteRealTimeTranscriptionWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **accountId** | **string** | Your Bandwidth Account ID. | | +| **callId** | **string** | Programmable Voice API Call ID. | | +| **transcriptionId** | **string** | Programmable Voice API Transcription ID. | | + +### Return type + +void (empty response body) + +### Authorization + +[Basic](../README.md#Basic) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Transcription data was deleted. | - | +| **400** | Bad Request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Not Found | - | +| **405** | Method Not Allowed | - | +| **415** | Unsupported Media Type | - | +| **429** | Too Many Requests | * Retry-After - When you should try your request again.
| +| **500** | Internal Server Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetRealTimeTranscription** +> CallTranscriptionResponse GetRealTimeTranscription (string accountId, string callId, string transcriptionId) + +Retrieve a specific transcription + +Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Bandwidth.Standard.Api; +using Bandwidth.Standard.Client; +using Bandwidth.Standard.Model; + +namespace Example +{ + public class GetRealTimeTranscriptionExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "http://localhost"; + // Configure HTTP basic authorization: Basic + config.Username = "YOUR_USERNAME"; + config.Password = "YOUR_PASSWORD"; + + var apiInstance = new TranscriptionsApi(config); + var accountId = 9900000; // string | Your Bandwidth Account ID. + var callId = c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85; // string | Programmable Voice API Call ID. + var transcriptionId = t-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85; // string | Programmable Voice API Transcription ID. + + try + { + // Retrieve a specific transcription + CallTranscriptionResponse result = apiInstance.GetRealTimeTranscription(accountId, callId, transcriptionId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling TranscriptionsApi.GetRealTimeTranscription: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetRealTimeTranscriptionWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Retrieve a specific transcription + ApiResponse response = apiInstance.GetRealTimeTranscriptionWithHttpInfo(accountId, callId, transcriptionId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling TranscriptionsApi.GetRealTimeTranscriptionWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **accountId** | **string** | Your Bandwidth Account ID. | | +| **callId** | **string** | Programmable Voice API Call ID. | | +| **transcriptionId** | **string** | Programmable Voice API Transcription ID. | | + +### Return type + +[**CallTranscriptionResponse**](CallTranscriptionResponse.md) + +### Authorization + +[Basic](../README.md#Basic) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Transcription found. | - | +| **400** | Bad Request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Not Found | - | +| **405** | Method Not Allowed | - | +| **415** | Unsupported Media Type | - | +| **429** | Too Many Requests | * Retry-After - When you should try your request again.
| +| **500** | Internal Server Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **ListRealTimeTranscriptions** +> List<CallTranscriptionMetadata> ListRealTimeTranscriptions (string accountId, string callId) + +Enumerate transcriptions made with StartTranscription + +Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Bandwidth.Standard.Api; +using Bandwidth.Standard.Client; +using Bandwidth.Standard.Model; + +namespace Example +{ + public class ListRealTimeTranscriptionsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "http://localhost"; + // Configure HTTP basic authorization: Basic + config.Username = "YOUR_USERNAME"; + config.Password = "YOUR_PASSWORD"; + + var apiInstance = new TranscriptionsApi(config); + var accountId = 9900000; // string | Your Bandwidth Account ID. + var callId = c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85; // string | Programmable Voice API Call ID. + + try + { + // Enumerate transcriptions made with StartTranscription + List result = apiInstance.ListRealTimeTranscriptions(accountId, callId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling TranscriptionsApi.ListRealTimeTranscriptions: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the ListRealTimeTranscriptionsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Enumerate transcriptions made with StartTranscription + ApiResponse> response = apiInstance.ListRealTimeTranscriptionsWithHttpInfo(accountId, callId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling TranscriptionsApi.ListRealTimeTranscriptionsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **accountId** | **string** | Your Bandwidth Account ID. | | +| **callId** | **string** | Programmable Voice API Call ID. | | + +### Return type + +[**List<CallTranscriptionMetadata>**](CallTranscriptionMetadata.md) + +### Authorization + +[Basic](../README.md#Basic) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Transcription found. | - | +| **400** | Bad Request | - | +| **401** | Unauthorized | - | +| **403** | Forbidden | - | +| **404** | Not Found | - | +| **405** | Method Not Allowed | - | +| **415** | Unsupported Media Type | - | +| **429** | Too Many Requests | * Retry-After - When you should try your request again.
| +| **500** | Internal Server Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/TransferAnswerCallback.md b/docs/TransferAnswerCallback.md index f2c40ad1..67804363 100644 --- a/docs/TransferAnswerCallback.md +++ b/docs/TransferAnswerCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] @@ -18,7 +18,7 @@ Name | Type | Description | Notes **StartTime** | **DateTime** | Time the call was started, in ISO 8601 format. | [optional] **AnswerTime** | **DateTime?** | Time the call was answered, in ISO 8601 format. | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/TransferCompleteCallback.md b/docs/TransferCompleteCallback.md index a0b4e5ac..4307fa9b 100644 --- a/docs/TransferCompleteCallback.md +++ b/docs/TransferCompleteCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] @@ -18,7 +18,7 @@ Name | Type | Description | Notes **StartTime** | **DateTime** | Time the call was started, in ISO 8601 format. | [optional] **AnswerTime** | **DateTime?** | Time the call was answered, in ISO 8601 format. | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **Cause** | **string** | Reason the call failed - hangup, busy, timeout, cancel, rejected, callback-error, invalid-bxml, application-error, account-limit, node-capacity-exceeded, error, or unknown. | [optional] **ErrorMessage** | **string** | Text explaining the reason that caused the call to fail in case of errors. | [optional] diff --git a/docs/TransferDisconnectCallback.md b/docs/TransferDisconnectCallback.md index 92d88b68..357670b3 100644 --- a/docs/TransferDisconnectCallback.md +++ b/docs/TransferDisconnectCallback.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **EventTime** | **DateTime** | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. | [optional] **AccountId** | **string** | The user account associated with the call. | [optional] **ApplicationId** | **string** | The id of the application associated with the call. | [optional] -**From** | **string** | The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. | [optional] +**From** | **string** | The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). | [optional] **To** | **string** | The phone number that received the call, in E.164 format (e.g. +15555555555). | [optional] **Direction** | **CallDirectionEnum** | | [optional] **CallId** | **string** | The call id associated with the event. | [optional] @@ -20,7 +20,7 @@ Name | Type | Description | Notes **AnswerTime** | **DateTime?** | Time the call was answered, in ISO 8601 format. | [optional] **EndTime** | **DateTime** | The time that the recording ended in ISO-8601 format | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] -**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. | [optional] +**TransferCallerId** | **string** | The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **TransferTo** | **string** | The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). | [optional] **Cause** | **string** | Reason the call failed - hangup, busy, timeout, cancel, rejected, callback-error, invalid-bxml, application-error, account-limit, node-capacity-exceeded, error, or unknown. | [optional] **ErrorMessage** | **string** | Text explaining the reason that caused the call to fail in case of errors. | [optional] diff --git a/src/Bandwidth.Standard.Test/Api/TranscriptionsApiTests.cs b/src/Bandwidth.Standard.Test/Api/TranscriptionsApiTests.cs new file mode 100644 index 00000000..de8c1f54 --- /dev/null +++ b/src/Bandwidth.Standard.Test/Api/TranscriptionsApiTests.cs @@ -0,0 +1,98 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Bandwidth.Standard.Client; +using Bandwidth.Standard.Api; +// uncomment below to import models +//using Bandwidth.Standard.Model; + +namespace Bandwidth.Standard.Test.Api +{ + /// + /// Class for testing TranscriptionsApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class TranscriptionsApiTests : IDisposable + { + private TranscriptionsApi instance; + + public TranscriptionsApiTests() + { + instance = new TranscriptionsApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TranscriptionsApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' TranscriptionsApi + //Assert.IsType(instance); + } + + /// + /// Test DeleteRealTimeTranscription + /// + [Fact] + public void DeleteRealTimeTranscriptionTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string accountId = null; + //string callId = null; + //string transcriptionId = null; + //instance.DeleteRealTimeTranscription(accountId, callId, transcriptionId); + } + + /// + /// Test GetRealTimeTranscription + /// + [Fact] + public void GetRealTimeTranscriptionTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string accountId = null; + //string callId = null; + //string transcriptionId = null; + //var response = instance.GetRealTimeTranscription(accountId, callId, transcriptionId); + //Assert.IsType(response); + } + + /// + /// Test ListRealTimeTranscriptions + /// + [Fact] + public void ListRealTimeTranscriptionsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string accountId = null; + //string callId = null; + //var response = instance.ListRealTimeTranscriptions(accountId, callId); + //Assert.IsType>(response); + } + } +} diff --git a/src/Bandwidth.Standard.Test/Model/CallTranscriptionMetadataTests.cs b/src/Bandwidth.Standard.Test/Model/CallTranscriptionMetadataTests.cs new file mode 100644 index 00000000..991bc17d --- /dev/null +++ b/src/Bandwidth.Standard.Test/Model/CallTranscriptionMetadataTests.cs @@ -0,0 +1,76 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Bandwidth.Standard.Model; +using Bandwidth.Standard.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Bandwidth.Standard.Test.Model +{ + /// + /// Class for testing CallTranscriptionMetadata + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CallTranscriptionMetadataTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CallTranscriptionMetadata + //private CallTranscriptionMetadata instance; + + public CallTranscriptionMetadataTests() + { + // TODO uncomment below to create an instance of CallTranscriptionMetadata + //instance = new CallTranscriptionMetadata(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CallTranscriptionMetadata + /// + [Fact] + public void CallTranscriptionMetadataInstanceTest() + { + // TODO uncomment below to test "IsType" CallTranscriptionMetadata + //Assert.IsType(instance); + } + + /// + /// Test the property 'TranscriptionId' + /// + [Fact] + public void TranscriptionIdTest() + { + // TODO unit test for the property 'TranscriptionId' + } + + /// + /// Test the property 'TranscriptionUrl' + /// + [Fact] + public void TranscriptionUrlTest() + { + // TODO unit test for the property 'TranscriptionUrl' + } + } +} diff --git a/src/Bandwidth.Standard.Test/Model/CallTranscriptionResponseTests.cs b/src/Bandwidth.Standard.Test/Model/CallTranscriptionResponseTests.cs new file mode 100644 index 00000000..202b9eb3 --- /dev/null +++ b/src/Bandwidth.Standard.Test/Model/CallTranscriptionResponseTests.cs @@ -0,0 +1,94 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Bandwidth.Standard.Model; +using Bandwidth.Standard.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Bandwidth.Standard.Test.Model +{ + /// + /// Class for testing CallTranscriptionResponse + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CallTranscriptionResponseTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CallTranscriptionResponse + //private CallTranscriptionResponse instance; + + public CallTranscriptionResponseTests() + { + // TODO uncomment below to create an instance of CallTranscriptionResponse + //instance = new CallTranscriptionResponse(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CallTranscriptionResponse + /// + [Fact] + public void CallTranscriptionResponseInstanceTest() + { + // TODO uncomment below to test "IsType" CallTranscriptionResponse + //Assert.IsType(instance); + } + + /// + /// Test the property 'AccountId' + /// + [Fact] + public void AccountIdTest() + { + // TODO unit test for the property 'AccountId' + } + + /// + /// Test the property 'CallId' + /// + [Fact] + public void CallIdTest() + { + // TODO unit test for the property 'CallId' + } + + /// + /// Test the property 'TranscriptionId' + /// + [Fact] + public void TranscriptionIdTest() + { + // TODO unit test for the property 'TranscriptionId' + } + + /// + /// Test the property 'Tracks' + /// + [Fact] + public void TracksTest() + { + // TODO unit test for the property 'Tracks' + } + } +} diff --git a/src/Bandwidth.Standard.Test/Model/CallTranscriptionTests.cs b/src/Bandwidth.Standard.Test/Model/CallTranscriptionTests.cs new file mode 100644 index 00000000..3d6646fb --- /dev/null +++ b/src/Bandwidth.Standard.Test/Model/CallTranscriptionTests.cs @@ -0,0 +1,94 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Bandwidth.Standard.Model; +using Bandwidth.Standard.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Bandwidth.Standard.Test.Model +{ + /// + /// Class for testing CallTranscription + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CallTranscriptionTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CallTranscription + //private CallTranscription instance; + + public CallTranscriptionTests() + { + // TODO uncomment below to create an instance of CallTranscription + //instance = new CallTranscription(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CallTranscription + /// + [Fact] + public void CallTranscriptionInstanceTest() + { + // TODO uncomment below to test "IsType" CallTranscription + //Assert.IsType(instance); + } + + /// + /// Test the property 'DetectedLanguage' + /// + [Fact] + public void DetectedLanguageTest() + { + // TODO unit test for the property 'DetectedLanguage' + } + + /// + /// Test the property 'Track' + /// + [Fact] + public void TrackTest() + { + // TODO unit test for the property 'Track' + } + + /// + /// Test the property 'Transcript' + /// + [Fact] + public void TranscriptTest() + { + // TODO unit test for the property 'Transcript' + } + + /// + /// Test the property 'Confidence' + /// + [Fact] + public void ConfidenceTest() + { + // TODO unit test for the property 'Confidence' + } + } +} diff --git a/src/Bandwidth.Standard.Test/Model/RecordingTranscriptionMetadataTests.cs b/src/Bandwidth.Standard.Test/Model/RecordingTranscriptionMetadataTests.cs new file mode 100644 index 00000000..04fdc0fe --- /dev/null +++ b/src/Bandwidth.Standard.Test/Model/RecordingTranscriptionMetadataTests.cs @@ -0,0 +1,94 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Bandwidth.Standard.Model; +using Bandwidth.Standard.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Bandwidth.Standard.Test.Model +{ + /// + /// Class for testing RecordingTranscriptionMetadata + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class RecordingTranscriptionMetadataTests : IDisposable + { + // TODO uncomment below to declare an instance variable for RecordingTranscriptionMetadata + //private RecordingTranscriptionMetadata instance; + + public RecordingTranscriptionMetadataTests() + { + // TODO uncomment below to create an instance of RecordingTranscriptionMetadata + //instance = new RecordingTranscriptionMetadata(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of RecordingTranscriptionMetadata + /// + [Fact] + public void RecordingTranscriptionMetadataInstanceTest() + { + // TODO uncomment below to test "IsType" RecordingTranscriptionMetadata + //Assert.IsType(instance); + } + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + + /// + /// Test the property 'Status' + /// + [Fact] + public void StatusTest() + { + // TODO unit test for the property 'Status' + } + + /// + /// Test the property 'CompletedTime' + /// + [Fact] + public void CompletedTimeTest() + { + // TODO unit test for the property 'CompletedTime' + } + + /// + /// Test the property 'Url' + /// + [Fact] + public void UrlTest() + { + // TODO unit test for the property 'Url' + } + } +} diff --git a/src/Bandwidth.Standard.Test/Model/RecordingTranscriptionsTests.cs b/src/Bandwidth.Standard.Test/Model/RecordingTranscriptionsTests.cs new file mode 100644 index 00000000..384afb75 --- /dev/null +++ b/src/Bandwidth.Standard.Test/Model/RecordingTranscriptionsTests.cs @@ -0,0 +1,67 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Bandwidth.Standard.Model; +using Bandwidth.Standard.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Bandwidth.Standard.Test.Model +{ + /// + /// Class for testing RecordingTranscriptions + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class RecordingTranscriptionsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for RecordingTranscriptions + //private RecordingTranscriptions instance; + + public RecordingTranscriptionsTests() + { + // TODO uncomment below to create an instance of RecordingTranscriptions + //instance = new RecordingTranscriptions(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of RecordingTranscriptions + /// + [Fact] + public void RecordingTranscriptionsInstanceTest() + { + // TODO uncomment below to test "IsType" RecordingTranscriptions + //Assert.IsType(instance); + } + + /// + /// Test the property 'Transcripts' + /// + [Fact] + public void TranscriptsTest() + { + // TODO unit test for the property 'Transcripts' + } + } +} diff --git a/src/Bandwidth.Standard/Api/RecordingsApi.cs b/src/Bandwidth.Standard/Api/RecordingsApi.cs index ca380203..6eac8894 100644 --- a/src/Bandwidth.Standard/Api/RecordingsApi.cs +++ b/src/Bandwidth.Standard/Api/RecordingsApi.cs @@ -28,10 +28,10 @@ public interface IRecordingsApiSync : IApiAccessor { #region Synchronous Operations /// - /// Delete Transcription + /// Delete Recording /// /// - /// Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -39,13 +39,13 @@ public interface IRecordingsApiSync : IApiAccessor /// Programmable Voice API Recording ID. /// Index associated with the operation. /// - void DeleteCallTranscription(string accountId, string callId, string recordingId, int operationIndex = 0); + void DeleteRecording(string accountId, string callId, string recordingId, int operationIndex = 0); /// - /// Delete Transcription + /// Delete Recording /// /// - /// Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -53,12 +53,12 @@ public interface IRecordingsApiSync : IApiAccessor /// Programmable Voice API Recording ID. /// Index associated with the operation. /// ApiResponse of Object(void) - ApiResponse DeleteCallTranscriptionWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0); + ApiResponse DeleteRecordingWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0); /// - /// Delete Recording + /// Delete Recording Media /// /// - /// Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Deletes the specified recording's media. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -66,13 +66,13 @@ public interface IRecordingsApiSync : IApiAccessor /// Programmable Voice API Recording ID. /// Index associated with the operation. /// - void DeleteRecording(string accountId, string callId, string recordingId, int operationIndex = 0); + void DeleteRecordingMedia(string accountId, string callId, string recordingId, int operationIndex = 0); /// - /// Delete Recording + /// Delete Recording Media /// /// - /// Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Deletes the specified recording's media. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -80,12 +80,12 @@ public interface IRecordingsApiSync : IApiAccessor /// Programmable Voice API Recording ID. /// Index associated with the operation. /// ApiResponse of Object(void) - ApiResponse DeleteRecordingWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0); + ApiResponse DeleteRecordingMediaWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0); /// - /// Delete Recording Media + /// Delete Transcription /// /// - /// Deletes the specified recording's media. + /// Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -93,13 +93,13 @@ public interface IRecordingsApiSync : IApiAccessor /// Programmable Voice API Recording ID. /// Index associated with the operation. /// - void DeleteRecordingMedia(string accountId, string callId, string recordingId, int operationIndex = 0); + void DeleteRecordingTranscription(string accountId, string callId, string recordingId, int operationIndex = 0); /// - /// Delete Recording Media + /// Delete Transcription /// /// - /// Deletes the specified recording's media. + /// Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -107,7 +107,7 @@ public interface IRecordingsApiSync : IApiAccessor /// Programmable Voice API Recording ID. /// Index associated with the operation. /// ApiResponse of Object(void) - ApiResponse DeleteRecordingMediaWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0); + ApiResponse DeleteRecordingTranscriptionWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0); /// /// Download Recording /// @@ -166,29 +166,29 @@ public interface IRecordingsApiSync : IApiAccessor /// Get Transcription /// /// - /// Downloads the specified transcription. If the transcribed recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. + /// Downloads the specified transcription. If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. /// Programmable Voice API Call ID. /// Programmable Voice API Recording ID. /// Index associated with the operation. - /// TranscriptionList - TranscriptionList GetCallTranscription(string accountId, string callId, string recordingId, int operationIndex = 0); + /// RecordingTranscriptions + RecordingTranscriptions GetRecordingTranscription(string accountId, string callId, string recordingId, int operationIndex = 0); /// /// Get Transcription /// /// - /// Downloads the specified transcription. If the transcribed recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. + /// Downloads the specified transcription. If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. /// Programmable Voice API Call ID. /// Programmable Voice API Recording ID. /// Index associated with the operation. - /// ApiResponse of TranscriptionList - ApiResponse GetCallTranscriptionWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0); + /// ApiResponse of RecordingTranscriptions + ApiResponse GetRecordingTranscriptionWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0); /// /// Get Call Recordings /// @@ -311,10 +311,10 @@ public interface IRecordingsApiAsync : IApiAccessor { #region Asynchronous Operations /// - /// Delete Transcription + /// Delete Recording /// /// - /// Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -323,13 +323,13 @@ public interface IRecordingsApiAsync : IApiAccessor /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of void - System.Threading.Tasks.Task DeleteCallTranscriptionAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + System.Threading.Tasks.Task DeleteRecordingAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); /// - /// Delete Transcription + /// Delete Recording /// /// - /// Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -338,12 +338,12 @@ public interface IRecordingsApiAsync : IApiAccessor /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of ApiResponse - System.Threading.Tasks.Task> DeleteCallTranscriptionWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + System.Threading.Tasks.Task> DeleteRecordingWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); /// - /// Delete Recording + /// Delete Recording Media /// /// - /// Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Deletes the specified recording's media. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -352,13 +352,13 @@ public interface IRecordingsApiAsync : IApiAccessor /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of void - System.Threading.Tasks.Task DeleteRecordingAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + System.Threading.Tasks.Task DeleteRecordingMediaAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); /// - /// Delete Recording + /// Delete Recording Media /// /// - /// Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Deletes the specified recording's media. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -367,12 +367,12 @@ public interface IRecordingsApiAsync : IApiAccessor /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of ApiResponse - System.Threading.Tasks.Task> DeleteRecordingWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + System.Threading.Tasks.Task> DeleteRecordingMediaWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); /// - /// Delete Recording Media + /// Delete Transcription /// /// - /// Deletes the specified recording's media. + /// Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -381,13 +381,13 @@ public interface IRecordingsApiAsync : IApiAccessor /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of void - System.Threading.Tasks.Task DeleteRecordingMediaAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + System.Threading.Tasks.Task DeleteRecordingTranscriptionAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); /// - /// Delete Recording Media + /// Delete Transcription /// /// - /// Deletes the specified recording's media. + /// Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -396,7 +396,7 @@ public interface IRecordingsApiAsync : IApiAccessor /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of ApiResponse - System.Threading.Tasks.Task> DeleteRecordingMediaWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + System.Threading.Tasks.Task> DeleteRecordingTranscriptionWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); /// /// Download Recording /// @@ -459,7 +459,7 @@ public interface IRecordingsApiAsync : IApiAccessor /// Get Transcription /// /// - /// Downloads the specified transcription. If the transcribed recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. + /// Downloads the specified transcription. If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -467,14 +467,14 @@ public interface IRecordingsApiAsync : IApiAccessor /// Programmable Voice API Recording ID. /// Index associated with the operation. /// Cancellation Token to cancel the request. - /// Task of TranscriptionList - System.Threading.Tasks.Task GetCallTranscriptionAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// Task of RecordingTranscriptions + System.Threading.Tasks.Task GetRecordingTranscriptionAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); /// /// Get Transcription /// /// - /// Downloads the specified transcription. If the transcribed recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. + /// Downloads the specified transcription. If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -482,8 +482,8 @@ public interface IRecordingsApiAsync : IApiAccessor /// Programmable Voice API Recording ID. /// Index associated with the operation. /// Cancellation Token to cancel the request. - /// Task of ApiResponse (TranscriptionList) - System.Threading.Tasks.Task> GetCallTranscriptionWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// Task of ApiResponse (RecordingTranscriptions) + System.Threading.Tasks.Task> GetRecordingTranscriptionWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); /// /// Get Call Recordings /// @@ -725,7 +725,7 @@ public Bandwidth.Standard.Client.ExceptionFactory ExceptionFactory } /// - /// Delete Transcription Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete Recording Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -733,13 +733,13 @@ public Bandwidth.Standard.Client.ExceptionFactory ExceptionFactory /// Programmable Voice API Recording ID. /// Index associated with the operation. /// - public void DeleteCallTranscription(string accountId, string callId, string recordingId, int operationIndex = 0) + public void DeleteRecording(string accountId, string callId, string recordingId, int operationIndex = 0) { - DeleteCallTranscriptionWithHttpInfo(accountId, callId, recordingId); + DeleteRecordingWithHttpInfo(accountId, callId, recordingId); } /// - /// Delete Transcription Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete Recording Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -747,24 +747,24 @@ public void DeleteCallTranscription(string accountId, string callId, string reco /// Programmable Voice API Recording ID. /// Index associated with the operation. /// ApiResponse of Object(void) - public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0) + public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0) { // verify the required parameter 'accountId' is set if (accountId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecording"); } // verify the required parameter 'callId' is set if (callId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecording"); } // verify the required parameter 'recordingId' is set if (recordingId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecording"); } Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); @@ -793,7 +793,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWith localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter localVarRequestOptions.PathParameters.Add("recordingId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(recordingId)); // path parameter - localVarRequestOptions.Operation = "RecordingsApi.DeleteCallTranscription"; + localVarRequestOptions.Operation = "RecordingsApi.DeleteRecording"; localVarRequestOptions.OperationIndex = operationIndex; // authentication (Basic) required @@ -804,10 +804,10 @@ public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWith } // make the HTTP request - var localVarResponse = this.Client.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCallTranscription", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteRecording", localVarResponse); if (_exception != null) { throw _exception; @@ -818,7 +818,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWith } /// - /// Delete Transcription Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete Recording Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -827,13 +827,13 @@ public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWith /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of void - public async System.Threading.Tasks.Task DeleteCallTranscriptionAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + public async System.Threading.Tasks.Task DeleteRecordingAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { - await DeleteCallTranscriptionWithHttpInfoAsync(accountId, callId, recordingId, operationIndex, cancellationToken).ConfigureAwait(false); + await DeleteRecordingWithHttpInfoAsync(accountId, callId, recordingId, operationIndex, cancellationToken).ConfigureAwait(false); } /// - /// Delete Transcription Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete Recording Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -842,24 +842,24 @@ public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWith /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteCallTranscriptionWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + public async System.Threading.Tasks.Task> DeleteRecordingWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { // verify the required parameter 'accountId' is set if (accountId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecording"); } // verify the required parameter 'callId' is set if (callId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecording"); } // verify the required parameter 'recordingId' is set if (recordingId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecording"); } @@ -889,7 +889,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWith localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter localVarRequestOptions.PathParameters.Add("recordingId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(recordingId)); // path parameter - localVarRequestOptions.Operation = "RecordingsApi.DeleteCallTranscription"; + localVarRequestOptions.Operation = "RecordingsApi.DeleteRecording"; localVarRequestOptions.OperationIndex = operationIndex; // authentication (Basic) required @@ -900,11 +900,11 @@ public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWith } // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteCallTranscription", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteRecording", localVarResponse); if (_exception != null) { throw _exception; @@ -915,7 +915,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWith } /// - /// Delete Recording Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete Recording Media Deletes the specified recording's media. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -923,13 +923,13 @@ public Bandwidth.Standard.Client.ApiResponse DeleteCallTranscriptionWith /// Programmable Voice API Recording ID. /// Index associated with the operation. /// - public void DeleteRecording(string accountId, string callId, string recordingId, int operationIndex = 0) + public void DeleteRecordingMedia(string accountId, string callId, string recordingId, int operationIndex = 0) { - DeleteRecordingWithHttpInfo(accountId, callId, recordingId); + DeleteRecordingMediaWithHttpInfo(accountId, callId, recordingId); } /// - /// Delete Recording Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete Recording Media Deletes the specified recording's media. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -937,24 +937,24 @@ public void DeleteRecording(string accountId, string callId, string recordingId, /// Programmable Voice API Recording ID. /// Index associated with the operation. /// ApiResponse of Object(void) - public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0) + public Bandwidth.Standard.Client.ApiResponse DeleteRecordingMediaWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0) { // verify the required parameter 'accountId' is set if (accountId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecording"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecordingMedia"); } // verify the required parameter 'callId' is set if (callId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecording"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecordingMedia"); } // verify the required parameter 'recordingId' is set if (recordingId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecording"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecordingMedia"); } Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); @@ -983,7 +983,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter localVarRequestOptions.PathParameters.Add("recordingId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(recordingId)); // path parameter - localVarRequestOptions.Operation = "RecordingsApi.DeleteRecording"; + localVarRequestOptions.Operation = "RecordingsApi.DeleteRecordingMedia"; localVarRequestOptions.OperationIndex = operationIndex; // authentication (Basic) required @@ -994,10 +994,10 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo } // make the HTTP request - var localVarResponse = this.Client.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteRecording", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteRecordingMedia", localVarResponse); if (_exception != null) { throw _exception; @@ -1008,7 +1008,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo } /// - /// Delete Recording Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete Recording Media Deletes the specified recording's media. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -1017,13 +1017,13 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of void - public async System.Threading.Tasks.Task DeleteRecordingAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + public async System.Threading.Tasks.Task DeleteRecordingMediaAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { - await DeleteRecordingWithHttpInfoAsync(accountId, callId, recordingId, operationIndex, cancellationToken).ConfigureAwait(false); + await DeleteRecordingMediaWithHttpInfoAsync(accountId, callId, recordingId, operationIndex, cancellationToken).ConfigureAwait(false); } /// - /// Delete Recording Delete the recording information, media and transcription. Note: After the deletion is requested and a `204` is returned, neither the recording metadata nor the actual media nor its transcription will be accessible anymore. However, the media of the specified recording is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// Delete Recording Media Deletes the specified recording's media. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -1032,24 +1032,24 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteRecordingWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + public async System.Threading.Tasks.Task> DeleteRecordingMediaWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { // verify the required parameter 'accountId' is set if (accountId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecording"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecordingMedia"); } // verify the required parameter 'callId' is set if (callId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecording"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecordingMedia"); } // verify the required parameter 'recordingId' is set if (recordingId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecording"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecordingMedia"); } @@ -1079,7 +1079,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter localVarRequestOptions.PathParameters.Add("recordingId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(recordingId)); // path parameter - localVarRequestOptions.Operation = "RecordingsApi.DeleteRecording"; + localVarRequestOptions.Operation = "RecordingsApi.DeleteRecordingMedia"; localVarRequestOptions.OperationIndex = operationIndex; // authentication (Basic) required @@ -1090,11 +1090,11 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo } // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteRecording", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteRecordingMedia", localVarResponse); if (_exception != null) { throw _exception; @@ -1105,7 +1105,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo } /// - /// Delete Recording Media Deletes the specified recording's media. + /// Delete Transcription Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -1113,13 +1113,13 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingWithHttpInfo /// Programmable Voice API Recording ID. /// Index associated with the operation. /// - public void DeleteRecordingMedia(string accountId, string callId, string recordingId, int operationIndex = 0) + public void DeleteRecordingTranscription(string accountId, string callId, string recordingId, int operationIndex = 0) { - DeleteRecordingMediaWithHttpInfo(accountId, callId, recordingId); + DeleteRecordingTranscriptionWithHttpInfo(accountId, callId, recordingId); } /// - /// Delete Recording Media Deletes the specified recording's media. + /// Delete Transcription Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -1127,24 +1127,24 @@ public void DeleteRecordingMedia(string accountId, string callId, string recordi /// Programmable Voice API Recording ID. /// Index associated with the operation. /// ApiResponse of Object(void) - public Bandwidth.Standard.Client.ApiResponse DeleteRecordingMediaWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0) + public Bandwidth.Standard.Client.ApiResponse DeleteRecordingTranscriptionWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0) { // verify the required parameter 'accountId' is set if (accountId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecordingMedia"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecordingTranscription"); } // verify the required parameter 'callId' is set if (callId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecordingMedia"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecordingTranscription"); } // verify the required parameter 'recordingId' is set if (recordingId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecordingMedia"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecordingTranscription"); } Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); @@ -1173,7 +1173,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingMediaWithHtt localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter localVarRequestOptions.PathParameters.Add("recordingId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(recordingId)); // path parameter - localVarRequestOptions.Operation = "RecordingsApi.DeleteRecordingMedia"; + localVarRequestOptions.Operation = "RecordingsApi.DeleteRecordingTranscription"; localVarRequestOptions.OperationIndex = operationIndex; // authentication (Basic) required @@ -1184,10 +1184,10 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingMediaWithHtt } // make the HTTP request - var localVarResponse = this.Client.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteRecordingMedia", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteRecordingTranscription", localVarResponse); if (_exception != null) { throw _exception; @@ -1198,7 +1198,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingMediaWithHtt } /// - /// Delete Recording Media Deletes the specified recording's media. + /// Delete Transcription Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -1207,13 +1207,13 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingMediaWithHtt /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of void - public async System.Threading.Tasks.Task DeleteRecordingMediaAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + public async System.Threading.Tasks.Task DeleteRecordingTranscriptionAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { - await DeleteRecordingMediaWithHttpInfoAsync(accountId, callId, recordingId, operationIndex, cancellationToken).ConfigureAwait(false); + await DeleteRecordingTranscriptionWithHttpInfoAsync(accountId, callId, recordingId, operationIndex, cancellationToken).ConfigureAwait(false); } /// - /// Delete Recording Media Deletes the specified recording's media. + /// Delete Transcription Deletes the specified recording's transcription. Note: After the deletion is requested and a `204` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -1222,24 +1222,24 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingMediaWithHtt /// Index associated with the operation. /// Cancellation Token to cancel the request. /// Task of ApiResponse - public async System.Threading.Tasks.Task> DeleteRecordingMediaWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + public async System.Threading.Tasks.Task> DeleteRecordingTranscriptionWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { // verify the required parameter 'accountId' is set if (accountId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecordingMedia"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->DeleteRecordingTranscription"); } // verify the required parameter 'callId' is set if (callId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecordingMedia"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->DeleteRecordingTranscription"); } // verify the required parameter 'recordingId' is set if (recordingId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecordingMedia"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->DeleteRecordingTranscription"); } @@ -1269,7 +1269,7 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingMediaWithHtt localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter localVarRequestOptions.PathParameters.Add("recordingId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(recordingId)); // path parameter - localVarRequestOptions.Operation = "RecordingsApi.DeleteRecordingMedia"; + localVarRequestOptions.Operation = "RecordingsApi.DeleteRecordingTranscription"; localVarRequestOptions.OperationIndex = operationIndex; // authentication (Basic) required @@ -1280,11 +1280,11 @@ public Bandwidth.Standard.Client.ApiResponse DeleteRecordingMediaWithHtt } // make the HTTP request - var localVarResponse = await this.AsynchronousClient.DeleteAsync("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DeleteRecordingMedia", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteRecordingTranscription", localVarResponse); if (_exception != null) { throw _exception; @@ -1683,47 +1683,47 @@ public Bandwidth.Standard.Client.ApiResponse GetCallRecor } /// - /// Get Transcription Downloads the specified transcription. If the transcribed recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. + /// Get Transcription Downloads the specified transcription. If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. /// Programmable Voice API Call ID. /// Programmable Voice API Recording ID. /// Index associated with the operation. - /// TranscriptionList - public TranscriptionList GetCallTranscription(string accountId, string callId, string recordingId, int operationIndex = 0) + /// RecordingTranscriptions + public RecordingTranscriptions GetRecordingTranscription(string accountId, string callId, string recordingId, int operationIndex = 0) { - Bandwidth.Standard.Client.ApiResponse localVarResponse = GetCallTranscriptionWithHttpInfo(accountId, callId, recordingId); + Bandwidth.Standard.Client.ApiResponse localVarResponse = GetRecordingTranscriptionWithHttpInfo(accountId, callId, recordingId); return localVarResponse.Data; } /// - /// Get Transcription Downloads the specified transcription. If the transcribed recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. + /// Get Transcription Downloads the specified transcription. If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. /// Programmable Voice API Call ID. /// Programmable Voice API Recording ID. /// Index associated with the operation. - /// ApiResponse of TranscriptionList - public Bandwidth.Standard.Client.ApiResponse GetCallTranscriptionWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0) + /// ApiResponse of RecordingTranscriptions + public Bandwidth.Standard.Client.ApiResponse GetRecordingTranscriptionWithHttpInfo(string accountId, string callId, string recordingId, int operationIndex = 0) { // verify the required parameter 'accountId' is set if (accountId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->GetCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->GetRecordingTranscription"); } // verify the required parameter 'callId' is set if (callId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->GetCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->GetRecordingTranscription"); } // verify the required parameter 'recordingId' is set if (recordingId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->GetCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->GetRecordingTranscription"); } Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); @@ -1752,7 +1752,7 @@ public Bandwidth.Standard.Client.ApiResponse GetCallTranscrip localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter localVarRequestOptions.PathParameters.Add("recordingId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(recordingId)); // path parameter - localVarRequestOptions.Operation = "RecordingsApi.GetCallTranscription"; + localVarRequestOptions.Operation = "RecordingsApi.GetRecordingTranscription"; localVarRequestOptions.OperationIndex = operationIndex; // authentication (Basic) required @@ -1763,10 +1763,10 @@ public Bandwidth.Standard.Client.ApiResponse GetCallTranscrip } // make the HTTP request - var localVarResponse = this.Client.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", localVarRequestOptions, this.Configuration); + var localVarResponse = this.Client.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCallTranscription", localVarResponse); + Exception _exception = this.ExceptionFactory("GetRecordingTranscription", localVarResponse); if (_exception != null) { throw _exception; @@ -1777,7 +1777,7 @@ public Bandwidth.Standard.Client.ApiResponse GetCallTranscrip } /// - /// Get Transcription Downloads the specified transcription. If the transcribed recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. + /// Get Transcription Downloads the specified transcription. If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -1785,15 +1785,15 @@ public Bandwidth.Standard.Client.ApiResponse GetCallTranscrip /// Programmable Voice API Recording ID. /// Index associated with the operation. /// Cancellation Token to cancel the request. - /// Task of TranscriptionList - public async System.Threading.Tasks.Task GetCallTranscriptionAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + /// Task of RecordingTranscriptions + public async System.Threading.Tasks.Task GetRecordingTranscriptionAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { - Bandwidth.Standard.Client.ApiResponse localVarResponse = await GetCallTranscriptionWithHttpInfoAsync(accountId, callId, recordingId, operationIndex, cancellationToken).ConfigureAwait(false); + Bandwidth.Standard.Client.ApiResponse localVarResponse = await GetRecordingTranscriptionWithHttpInfoAsync(accountId, callId, recordingId, operationIndex, cancellationToken).ConfigureAwait(false); return localVarResponse.Data; } /// - /// Get Transcription Downloads the specified transcription. If the transcribed recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. + /// Get Transcription Downloads the specified transcription. If the recording was multi-channel, then there will be 2 transcripts. The caller/called party transcript will be the first item while [`<PlayAudio>`](/docs/voice/bxml/playAudio) and [`<SpeakSentence>`](/docs/voice/bxml/speakSentence) transcript will be the second item. During a [`<Transfer>`](/docs/voice/bxml/transfer) the A-leg transcript will be the first item while the B-leg transcript will be the second item. /// /// Thrown when fails to make API call /// Your Bandwidth Account ID. @@ -1801,25 +1801,25 @@ public Bandwidth.Standard.Client.ApiResponse GetCallTranscrip /// Programmable Voice API Recording ID. /// Index associated with the operation. /// Cancellation Token to cancel the request. - /// Task of ApiResponse (TranscriptionList) - public async System.Threading.Tasks.Task> GetCallTranscriptionWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + /// Task of ApiResponse (RecordingTranscriptions) + public async System.Threading.Tasks.Task> GetRecordingTranscriptionWithHttpInfoAsync(string accountId, string callId, string recordingId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { // verify the required parameter 'accountId' is set if (accountId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->GetCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling RecordingsApi->GetRecordingTranscription"); } // verify the required parameter 'callId' is set if (callId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->GetCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling RecordingsApi->GetRecordingTranscription"); } // verify the required parameter 'recordingId' is set if (recordingId == null) { - throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->GetCallTranscription"); + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'recordingId' when calling RecordingsApi->GetRecordingTranscription"); } @@ -1849,7 +1849,7 @@ public Bandwidth.Standard.Client.ApiResponse GetCallTranscrip localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter localVarRequestOptions.PathParameters.Add("recordingId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(recordingId)); // path parameter - localVarRequestOptions.Operation = "RecordingsApi.GetCallTranscription"; + localVarRequestOptions.Operation = "RecordingsApi.GetRecordingTranscription"; localVarRequestOptions.OperationIndex = operationIndex; // authentication (Basic) required @@ -1860,11 +1860,11 @@ public Bandwidth.Standard.Client.ApiResponse GetCallTranscrip } // make the HTTP request - var localVarResponse = await this.AsynchronousClient.GetAsync("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + var localVarResponse = await this.AsynchronousClient.GetAsync("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("GetCallTranscription", localVarResponse); + Exception _exception = this.ExceptionFactory("GetRecordingTranscription", localVarResponse); if (_exception != null) { throw _exception; diff --git a/src/Bandwidth.Standard/Api/TranscriptionsApi.cs b/src/Bandwidth.Standard/Api/TranscriptionsApi.cs new file mode 100644 index 00000000..83233220 --- /dev/null +++ b/src/Bandwidth.Standard/Api/TranscriptionsApi.cs @@ -0,0 +1,880 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Bandwidth.Standard.Client; +using Bandwidth.Standard.Model; + +namespace Bandwidth.Standard.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface ITranscriptionsApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// Delete a specific transcription + /// + /// + /// Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// + void DeleteRealTimeTranscription(string accountId, string callId, string transcriptionId, int operationIndex = 0); + + /// + /// Delete a specific transcription + /// + /// + /// Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// ApiResponse of Object(void) + ApiResponse DeleteRealTimeTranscriptionWithHttpInfo(string accountId, string callId, string transcriptionId, int operationIndex = 0); + /// + /// Retrieve a specific transcription + /// + /// + /// Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// CallTranscriptionResponse + CallTranscriptionResponse GetRealTimeTranscription(string accountId, string callId, string transcriptionId, int operationIndex = 0); + + /// + /// Retrieve a specific transcription + /// + /// + /// Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// ApiResponse of CallTranscriptionResponse + ApiResponse GetRealTimeTranscriptionWithHttpInfo(string accountId, string callId, string transcriptionId, int operationIndex = 0); + /// + /// Enumerate transcriptions made with StartTranscription + /// + /// + /// Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Index associated with the operation. + /// List<CallTranscriptionMetadata> + List ListRealTimeTranscriptions(string accountId, string callId, int operationIndex = 0); + + /// + /// Enumerate transcriptions made with StartTranscription + /// + /// + /// Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Index associated with the operation. + /// ApiResponse of List<CallTranscriptionMetadata> + ApiResponse> ListRealTimeTranscriptionsWithHttpInfo(string accountId, string callId, int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface ITranscriptionsApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// Delete a specific transcription + /// + /// + /// Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + System.Threading.Tasks.Task DeleteRealTimeTranscriptionAsync(string accountId, string callId, string transcriptionId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Delete a specific transcription + /// + /// + /// Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + System.Threading.Tasks.Task> DeleteRealTimeTranscriptionWithHttpInfoAsync(string accountId, string callId, string transcriptionId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Retrieve a specific transcription + /// + /// + /// Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of CallTranscriptionResponse + System.Threading.Tasks.Task GetRealTimeTranscriptionAsync(string accountId, string callId, string transcriptionId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Retrieve a specific transcription + /// + /// + /// Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (CallTranscriptionResponse) + System.Threading.Tasks.Task> GetRealTimeTranscriptionWithHttpInfoAsync(string accountId, string callId, string transcriptionId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Enumerate transcriptions made with StartTranscription + /// + /// + /// Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<CallTranscriptionMetadata> + System.Threading.Tasks.Task> ListRealTimeTranscriptionsAsync(string accountId, string callId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Enumerate transcriptions made with StartTranscription + /// + /// + /// Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<CallTranscriptionMetadata>) + System.Threading.Tasks.Task>> ListRealTimeTranscriptionsWithHttpInfoAsync(string accountId, string callId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface ITranscriptionsApi : ITranscriptionsApiSync, ITranscriptionsApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class TranscriptionsApi : ITranscriptionsApi + { + private Bandwidth.Standard.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public TranscriptionsApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public TranscriptionsApi(string basePath) + { + this.Configuration = Bandwidth.Standard.Client.Configuration.MergeConfigurations( + Bandwidth.Standard.Client.GlobalConfiguration.Instance, + new Bandwidth.Standard.Client.Configuration { BasePath = basePath } + ); + this.Client = new Bandwidth.Standard.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Bandwidth.Standard.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Bandwidth.Standard.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public TranscriptionsApi(Bandwidth.Standard.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Bandwidth.Standard.Client.Configuration.MergeConfigurations( + Bandwidth.Standard.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Bandwidth.Standard.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Bandwidth.Standard.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Bandwidth.Standard.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public TranscriptionsApi(Bandwidth.Standard.Client.ISynchronousClient client, Bandwidth.Standard.Client.IAsynchronousClient asyncClient, Bandwidth.Standard.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Bandwidth.Standard.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Bandwidth.Standard.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Bandwidth.Standard.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Bandwidth.Standard.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Bandwidth.Standard.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// Delete a specific transcription Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// + public void DeleteRealTimeTranscription(string accountId, string callId, string transcriptionId, int operationIndex = 0) + { + DeleteRealTimeTranscriptionWithHttpInfo(accountId, callId, transcriptionId); + } + + /// + /// Delete a specific transcription Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// ApiResponse of Object(void) + public Bandwidth.Standard.Client.ApiResponse DeleteRealTimeTranscriptionWithHttpInfo(string accountId, string callId, string transcriptionId, int operationIndex = 0) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling TranscriptionsApi->DeleteRealTimeTranscription"); + } + + // verify the required parameter 'callId' is set + if (callId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling TranscriptionsApi->DeleteRealTimeTranscription"); + } + + // verify the required parameter 'transcriptionId' is set + if (transcriptionId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'transcriptionId' when calling TranscriptionsApi->DeleteRealTimeTranscription"); + } + + Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Bandwidth.Standard.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Bandwidth.Standard.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("accountId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(accountId)); // path parameter + localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter + localVarRequestOptions.PathParameters.Add("transcriptionId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(transcriptionId)); // path parameter + + localVarRequestOptions.Operation = "TranscriptionsApi.DeleteRealTimeTranscription"; + localVarRequestOptions.OperationIndex = operationIndex; + + // authentication (Basic) required + // http basic authentication required + if (!string.IsNullOrEmpty(this.Configuration.Username) || !string.IsNullOrEmpty(this.Configuration.Password) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization")) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", "Basic " + Bandwidth.Standard.Client.ClientUtils.Base64Encode(this.Configuration.Username + ":" + this.Configuration.Password)); + } + + // make the HTTP request + var localVarResponse = this.Client.Delete("/accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteRealTimeTranscription", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Delete a specific transcription Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + public async System.Threading.Tasks.Task DeleteRealTimeTranscriptionAsync(string accountId, string callId, string transcriptionId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + await DeleteRealTimeTranscriptionWithHttpInfoAsync(accountId, callId, transcriptionId, operationIndex, cancellationToken).ConfigureAwait(false); + } + + /// + /// Delete a specific transcription Delete the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). Note: After the deletion is requested and a `200` is returned, the transcription will not be accessible anymore. However, it is not deleted immediately. This deletion process, while transparent and irreversible, can take an additional 24 to 48 hours. + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteRealTimeTranscriptionWithHttpInfoAsync(string accountId, string callId, string transcriptionId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling TranscriptionsApi->DeleteRealTimeTranscription"); + } + + // verify the required parameter 'callId' is set + if (callId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling TranscriptionsApi->DeleteRealTimeTranscription"); + } + + // verify the required parameter 'transcriptionId' is set + if (transcriptionId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'transcriptionId' when calling TranscriptionsApi->DeleteRealTimeTranscription"); + } + + + Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Bandwidth.Standard.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Bandwidth.Standard.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("accountId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(accountId)); // path parameter + localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter + localVarRequestOptions.PathParameters.Add("transcriptionId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(transcriptionId)); // path parameter + + localVarRequestOptions.Operation = "TranscriptionsApi.DeleteRealTimeTranscription"; + localVarRequestOptions.OperationIndex = operationIndex; + + // authentication (Basic) required + // http basic authentication required + if (!string.IsNullOrEmpty(this.Configuration.Username) || !string.IsNullOrEmpty(this.Configuration.Password) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization")) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", "Basic " + Bandwidth.Standard.Client.ClientUtils.Base64Encode(this.Configuration.Username + ":" + this.Configuration.Password)); + } + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteRealTimeTranscription", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Retrieve a specific transcription Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// CallTranscriptionResponse + public CallTranscriptionResponse GetRealTimeTranscription(string accountId, string callId, string transcriptionId, int operationIndex = 0) + { + Bandwidth.Standard.Client.ApiResponse localVarResponse = GetRealTimeTranscriptionWithHttpInfo(accountId, callId, transcriptionId); + return localVarResponse.Data; + } + + /// + /// Retrieve a specific transcription Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// ApiResponse of CallTranscriptionResponse + public Bandwidth.Standard.Client.ApiResponse GetRealTimeTranscriptionWithHttpInfo(string accountId, string callId, string transcriptionId, int operationIndex = 0) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling TranscriptionsApi->GetRealTimeTranscription"); + } + + // verify the required parameter 'callId' is set + if (callId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling TranscriptionsApi->GetRealTimeTranscription"); + } + + // verify the required parameter 'transcriptionId' is set + if (transcriptionId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'transcriptionId' when calling TranscriptionsApi->GetRealTimeTranscription"); + } + + Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Bandwidth.Standard.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Bandwidth.Standard.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("accountId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(accountId)); // path parameter + localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter + localVarRequestOptions.PathParameters.Add("transcriptionId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(transcriptionId)); // path parameter + + localVarRequestOptions.Operation = "TranscriptionsApi.GetRealTimeTranscription"; + localVarRequestOptions.OperationIndex = operationIndex; + + // authentication (Basic) required + // http basic authentication required + if (!string.IsNullOrEmpty(this.Configuration.Username) || !string.IsNullOrEmpty(this.Configuration.Password) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization")) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", "Basic " + Bandwidth.Standard.Client.ClientUtils.Base64Encode(this.Configuration.Username + ":" + this.Configuration.Password)); + } + + // make the HTTP request + var localVarResponse = this.Client.Get("/accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetRealTimeTranscription", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Retrieve a specific transcription Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of CallTranscriptionResponse + public async System.Threading.Tasks.Task GetRealTimeTranscriptionAsync(string accountId, string callId, string transcriptionId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Bandwidth.Standard.Client.ApiResponse localVarResponse = await GetRealTimeTranscriptionWithHttpInfoAsync(accountId, callId, transcriptionId, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Retrieve a specific transcription Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Programmable Voice API Transcription ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (CallTranscriptionResponse) + public async System.Threading.Tasks.Task> GetRealTimeTranscriptionWithHttpInfoAsync(string accountId, string callId, string transcriptionId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling TranscriptionsApi->GetRealTimeTranscription"); + } + + // verify the required parameter 'callId' is set + if (callId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling TranscriptionsApi->GetRealTimeTranscription"); + } + + // verify the required parameter 'transcriptionId' is set + if (transcriptionId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'transcriptionId' when calling TranscriptionsApi->GetRealTimeTranscription"); + } + + + Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Bandwidth.Standard.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Bandwidth.Standard.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("accountId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(accountId)); // path parameter + localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter + localVarRequestOptions.PathParameters.Add("transcriptionId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(transcriptionId)); // path parameter + + localVarRequestOptions.Operation = "TranscriptionsApi.GetRealTimeTranscription"; + localVarRequestOptions.OperationIndex = operationIndex; + + // authentication (Basic) required + // http basic authentication required + if (!string.IsNullOrEmpty(this.Configuration.Username) || !string.IsNullOrEmpty(this.Configuration.Password) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization")) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", "Basic " + Bandwidth.Standard.Client.ClientUtils.Base64Encode(this.Configuration.Username + ":" + this.Configuration.Password)); + } + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetRealTimeTranscription", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Enumerate transcriptions made with StartTranscription Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Index associated with the operation. + /// List<CallTranscriptionMetadata> + public List ListRealTimeTranscriptions(string accountId, string callId, int operationIndex = 0) + { + Bandwidth.Standard.Client.ApiResponse> localVarResponse = ListRealTimeTranscriptionsWithHttpInfo(accountId, callId); + return localVarResponse.Data; + } + + /// + /// Enumerate transcriptions made with StartTranscription Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Index associated with the operation. + /// ApiResponse of List<CallTranscriptionMetadata> + public Bandwidth.Standard.Client.ApiResponse> ListRealTimeTranscriptionsWithHttpInfo(string accountId, string callId, int operationIndex = 0) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling TranscriptionsApi->ListRealTimeTranscriptions"); + } + + // verify the required parameter 'callId' is set + if (callId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling TranscriptionsApi->ListRealTimeTranscriptions"); + } + + Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Bandwidth.Standard.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Bandwidth.Standard.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("accountId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(accountId)); // path parameter + localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter + + localVarRequestOptions.Operation = "TranscriptionsApi.ListRealTimeTranscriptions"; + localVarRequestOptions.OperationIndex = operationIndex; + + // authentication (Basic) required + // http basic authentication required + if (!string.IsNullOrEmpty(this.Configuration.Username) || !string.IsNullOrEmpty(this.Configuration.Password) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization")) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", "Basic " + Bandwidth.Standard.Client.ClientUtils.Base64Encode(this.Configuration.Username + ":" + this.Configuration.Password)); + } + + // make the HTTP request + var localVarResponse = this.Client.Get>("/accounts/{accountId}/calls/{callId}/transcriptions", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ListRealTimeTranscriptions", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Enumerate transcriptions made with StartTranscription Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<CallTranscriptionMetadata> + public async System.Threading.Tasks.Task> ListRealTimeTranscriptionsAsync(string accountId, string callId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Bandwidth.Standard.Client.ApiResponse> localVarResponse = await ListRealTimeTranscriptionsWithHttpInfoAsync(accountId, callId, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Enumerate transcriptions made with StartTranscription Enumerates the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). + /// + /// Thrown when fails to make API call + /// Your Bandwidth Account ID. + /// Programmable Voice API Call ID. + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<CallTranscriptionMetadata>) + public async System.Threading.Tasks.Task>> ListRealTimeTranscriptionsWithHttpInfoAsync(string accountId, string callId, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'accountId' when calling TranscriptionsApi->ListRealTimeTranscriptions"); + } + + // verify the required parameter 'callId' is set + if (callId == null) + { + throw new Bandwidth.Standard.Client.ApiException(400, "Missing required parameter 'callId' when calling TranscriptionsApi->ListRealTimeTranscriptions"); + } + + + Bandwidth.Standard.Client.RequestOptions localVarRequestOptions = new Bandwidth.Standard.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Bandwidth.Standard.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Bandwidth.Standard.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("accountId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(accountId)); // path parameter + localVarRequestOptions.PathParameters.Add("callId", Bandwidth.Standard.Client.ClientUtils.ParameterToString(callId)); // path parameter + + localVarRequestOptions.Operation = "TranscriptionsApi.ListRealTimeTranscriptions"; + localVarRequestOptions.OperationIndex = operationIndex; + + // authentication (Basic) required + // http basic authentication required + if (!string.IsNullOrEmpty(this.Configuration.Username) || !string.IsNullOrEmpty(this.Configuration.Password) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization")) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", "Basic " + Bandwidth.Standard.Client.ClientUtils.Base64Encode(this.Configuration.Username + ":" + this.Configuration.Password)); + } + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/accounts/{accountId}/calls/{callId}/transcriptions", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ListRealTimeTranscriptions", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Bandwidth.Standard/Client/Configuration.cs b/src/Bandwidth.Standard/Client/Configuration.cs index f666c853..05daddb1 100644 --- a/src/Bandwidth.Standard/Client/Configuration.cs +++ b/src/Bandwidth.Standard/Client/Configuration.cs @@ -430,7 +430,7 @@ public Configuration() } }, { - "RecordingsApi.DeleteCallTranscription", new List> + "RecordingsApi.DeleteRecording", new List> { { new Dictionary @@ -442,7 +442,7 @@ public Configuration() } }, { - "RecordingsApi.DeleteRecording", new List> + "RecordingsApi.DeleteRecordingMedia", new List> { { new Dictionary @@ -454,7 +454,7 @@ public Configuration() } }, { - "RecordingsApi.DeleteRecordingMedia", new List> + "RecordingsApi.DeleteRecordingTranscription", new List> { { new Dictionary @@ -490,7 +490,7 @@ public Configuration() } }, { - "RecordingsApi.GetCallTranscription", new List> + "RecordingsApi.GetRecordingTranscription", new List> { { new Dictionary @@ -561,6 +561,42 @@ public Configuration() }, } }, + { + "TranscriptionsApi.DeleteRealTimeTranscription", new List> + { + { + new Dictionary + { + {"url", "https://voice.bandwidth.com/api/v2"}, + {"description", "Production"} + } + }, + } + }, + { + "TranscriptionsApi.GetRealTimeTranscription", new List> + { + { + new Dictionary + { + {"url", "https://voice.bandwidth.com/api/v2"}, + {"description", "Production"} + } + }, + } + }, + { + "TranscriptionsApi.ListRealTimeTranscriptions", new List> + { + { + new Dictionary + { + {"url", "https://voice.bandwidth.com/api/v2"}, + {"description", "Production"} + } + }, + } + }, }; // Setting Timeout has side effects (forces ApiClient creation). diff --git a/src/Bandwidth.Standard/Model/AnswerCallback.cs b/src/Bandwidth.Standard/Model/AnswerCallback.cs index 1e3a4ca6..b19c4be0 100644 --- a/src/Bandwidth.Standard/Model/AnswerCallback.cs +++ b/src/Bandwidth.Standard/Model/AnswerCallback.cs @@ -45,7 +45,7 @@ public partial class AnswerCallback : IEquatable, IValidatableOb /// The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -93,7 +93,7 @@ public partial class AnswerCallback : IEquatable, IValidatableOb /// The user account associated with the call. /// /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -106,9 +106,9 @@ public partial class AnswerCallback : IEquatable, IValidatableOb public string ApplicationId { get; set; } /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/BridgeCompleteCallback.cs b/src/Bandwidth.Standard/Model/BridgeCompleteCallback.cs index 2b1edaaa..0546515a 100644 --- a/src/Bandwidth.Standard/Model/BridgeCompleteCallback.cs +++ b/src/Bandwidth.Standard/Model/BridgeCompleteCallback.cs @@ -45,7 +45,7 @@ public partial class BridgeCompleteCallback : IEquatable /// The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -97,7 +97,7 @@ public partial class BridgeCompleteCallback : IEquatable /// The user account associated with the call. /// /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -110,9 +110,9 @@ public partial class BridgeCompleteCallback : IEquatable public string ApplicationId { get; set; } /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/BridgeTargetCompleteCallback.cs b/src/Bandwidth.Standard/Model/BridgeTargetCompleteCallback.cs index cd53af71..ab0fc8a7 100644 --- a/src/Bandwidth.Standard/Model/BridgeTargetCompleteCallback.cs +++ b/src/Bandwidth.Standard/Model/BridgeTargetCompleteCallback.cs @@ -45,7 +45,7 @@ public partial class BridgeTargetCompleteCallback : IEquatableThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -91,7 +91,7 @@ public partial class BridgeTargetCompleteCallback : IEquatable /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -104,9 +104,9 @@ public partial class BridgeTargetCompleteCallback : IEquatable - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/CallRecordingMetadata.cs b/src/Bandwidth.Standard/Model/CallRecordingMetadata.cs index c983e55d..75afad4b 100644 --- a/src/Bandwidth.Standard/Model/CallRecordingMetadata.cs +++ b/src/Bandwidth.Standard/Model/CallRecordingMetadata.cs @@ -53,8 +53,8 @@ public partial class CallRecordingMetadata : IEquatable, /// (optional) If the event is related to the B leg of a <Transfer>, the call id of the original call leg that executed the <Transfer>. Otherwise, this field will not be present.. /// The unique ID of this recording. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The duration of the recording in ISO-8601 format. /// direction. @@ -65,7 +65,7 @@ public partial class CallRecordingMetadata : IEquatable, /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values.. /// The URL that can be used to download the recording. Only present if the recording is finished and may be downloaded.. /// transcription. - public CallRecordingMetadata(string applicationId = default(string), string accountId = default(string), string callId = default(string), string parentCallId = default(string), string recordingId = default(string), string to = default(string), string from = default(string), string transferCallerId = default(string), string transferTo = default(string), string duration = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), int channels = default(int), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), FileFormatEnum? fileFormat = default(FileFormatEnum?), string status = default(string), string mediaUrl = default(string), TranscriptionMetadata transcription = default(TranscriptionMetadata)) + public CallRecordingMetadata(string applicationId = default(string), string accountId = default(string), string callId = default(string), string parentCallId = default(string), string recordingId = default(string), string to = default(string), string from = default(string), string transferCallerId = default(string), string transferTo = default(string), string duration = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), int channels = default(int), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), FileFormatEnum? fileFormat = default(FileFormatEnum?), string status = default(string), string mediaUrl = default(string), RecordingTranscriptionMetadata transcription = default(RecordingTranscriptionMetadata)) { this.ApplicationId = applicationId; this.AccountId = accountId; @@ -99,7 +99,7 @@ public partial class CallRecordingMetadata : IEquatable, /// The user account associated with the call. /// /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -136,17 +136,17 @@ public partial class CallRecordingMetadata : IEquatable, public string To { get; set; } /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -155,7 +155,7 @@ public partial class CallRecordingMetadata : IEquatable, /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). /// /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } @@ -211,7 +211,7 @@ public partial class CallRecordingMetadata : IEquatable, /// Gets or Sets Transcription /// [DataMember(Name = "transcription", EmitDefaultValue = true)] - public TranscriptionMetadata Transcription { get; set; } + public RecordingTranscriptionMetadata Transcription { get; set; } /// /// Returns the string presentation of the object diff --git a/src/Bandwidth.Standard/Model/CallState.cs b/src/Bandwidth.Standard/Model/CallState.cs index 3f84f681..7e331298 100644 --- a/src/Bandwidth.Standard/Model/CallState.cs +++ b/src/Bandwidth.Standard/Model/CallState.cs @@ -125,7 +125,7 @@ public partial class CallState : IEquatable, IValidatableObject /// The phone number that made the call, in E.164 format (e.g. +15555555555). /// /// The phone number that made the call, in E.164 format (e.g. +15555555555). - /// 19195554321 + /// +19195554321 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/CallTranscription.cs b/src/Bandwidth.Standard/Model/CallTranscription.cs new file mode 100644 index 00000000..7375fb4a --- /dev/null +++ b/src/Bandwidth.Standard/Model/CallTranscription.cs @@ -0,0 +1,237 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Bandwidth.Standard.Client.OpenAPIDateConverter; + +namespace Bandwidth.Standard.Model +{ + /// + /// CallTranscription + /// + [DataContract(Name = "callTranscription")] + public partial class CallTranscription : IEquatable, IValidatableObject + { + /// + /// The detected language for this transcription. + /// + /// The detected language for this transcription. + [JsonConverter(typeof(StringEnumConverter))] + public enum DetectedLanguageEnum + { + /// + /// Enum EnUS for value: en-US + /// + [EnumMember(Value = "en-US")] + EnUS = 1, + + /// + /// Enum EsUS for value: es-US + /// + [EnumMember(Value = "es-US")] + EsUS = 2, + + /// + /// Enum FrFR for value: fr-FR + /// + [EnumMember(Value = "fr-FR")] + FrFR = 3 + } + + + /// + /// The detected language for this transcription. + /// + /// The detected language for this transcription. + /// en-US + [DataMember(Name = "detectedLanguage", EmitDefaultValue = false)] + public DetectedLanguageEnum? DetectedLanguage { get; set; } + /// + /// Which `track` this transcription is derived from. + /// + /// Which `track` this transcription is derived from. + [JsonConverter(typeof(StringEnumConverter))] + public enum TrackEnum + { + /// + /// Enum Inbound for value: inbound + /// + [EnumMember(Value = "inbound")] + Inbound = 1, + + /// + /// Enum Outbound for value: outbound + /// + [EnumMember(Value = "outbound")] + Outbound = 2 + } + + + /// + /// Which `track` this transcription is derived from. + /// + /// Which `track` this transcription is derived from. + /// inbound + [DataMember(Name = "track", EmitDefaultValue = false)] + public TrackEnum? Track { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// The detected language for this transcription.. + /// Which `track` this transcription is derived from.. + /// The transcription itself.. + /// How confident the transcription engine was in transcribing the associated audio (from `0` to `1`).. + public CallTranscription(DetectedLanguageEnum? detectedLanguage = default(DetectedLanguageEnum?), TrackEnum? track = default(TrackEnum?), string transcript = default(string), double confidence = default(double)) + { + this.DetectedLanguage = detectedLanguage; + this.Track = track; + this.Transcript = transcript; + this.Confidence = confidence; + } + + /// + /// The transcription itself. + /// + /// The transcription itself. + /// Hello World! This is an example. + [DataMember(Name = "transcript", EmitDefaultValue = false)] + public string Transcript { get; set; } + + /// + /// How confident the transcription engine was in transcribing the associated audio (from `0` to `1`). + /// + /// How confident the transcription engine was in transcribing the associated audio (from `0` to `1`). + /// 0.9 + [DataMember(Name = "confidence", EmitDefaultValue = false)] + public double Confidence { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CallTranscription {\n"); + sb.Append(" DetectedLanguage: ").Append(DetectedLanguage).Append("\n"); + sb.Append(" Track: ").Append(Track).Append("\n"); + sb.Append(" Transcript: ").Append(Transcript).Append("\n"); + sb.Append(" Confidence: ").Append(Confidence).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CallTranscription); + } + + /// + /// Returns true if CallTranscription instances are equal + /// + /// Instance of CallTranscription to be compared + /// Boolean + public bool Equals(CallTranscription input) + { + if (input == null) + { + return false; + } + return + ( + this.DetectedLanguage == input.DetectedLanguage || + this.DetectedLanguage.Equals(input.DetectedLanguage) + ) && + ( + this.Track == input.Track || + this.Track.Equals(input.Track) + ) && + ( + this.Transcript == input.Transcript || + (this.Transcript != null && + this.Transcript.Equals(input.Transcript)) + ) && + ( + this.Confidence == input.Confidence || + this.Confidence.Equals(input.Confidence) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = (hashCode * 59) + this.DetectedLanguage.GetHashCode(); + hashCode = (hashCode * 59) + this.Track.GetHashCode(); + if (this.Transcript != null) + { + hashCode = (hashCode * 59) + this.Transcript.GetHashCode(); + } + hashCode = (hashCode * 59) + this.Confidence.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Confidence (double) maximum + if (this.Confidence > (double)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Confidence, must be a value less than or equal to 1.", new [] { "Confidence" }); + } + + // Confidence (double) minimum + if (this.Confidence < (double)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Confidence, must be a value greater than or equal to 0.", new [] { "Confidence" }); + } + + yield break; + } + } + +} diff --git a/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs b/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs new file mode 100644 index 00000000..ec01143e --- /dev/null +++ b/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs @@ -0,0 +1,151 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Bandwidth.Standard.Client.OpenAPIDateConverter; + +namespace Bandwidth.Standard.Model +{ + /// + /// CallTranscriptionMetadata + /// + [DataContract(Name = "callTranscriptionMetadata")] + public partial class CallTranscriptionMetadata : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The programmable voice API transcription ID.. + /// A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getCallTranscription) endpoint.. + public CallTranscriptionMetadata(string transcriptionId = default(string), string transcriptionUrl = default(string)) + { + this.TranscriptionId = transcriptionId; + this.TranscriptionUrl = transcriptionUrl; + } + + /// + /// The programmable voice API transcription ID. + /// + /// The programmable voice API transcription ID. + /// t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + [DataMember(Name = "transcriptionId", EmitDefaultValue = false)] + public string TranscriptionId { get; set; } + + /// + /// A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getCallTranscription) endpoint. + /// + /// A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getCallTranscription) endpoint. + /// https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + [DataMember(Name = "transcriptionUrl", EmitDefaultValue = false)] + public string TranscriptionUrl { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CallTranscriptionMetadata {\n"); + sb.Append(" TranscriptionId: ").Append(TranscriptionId).Append("\n"); + sb.Append(" TranscriptionUrl: ").Append(TranscriptionUrl).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CallTranscriptionMetadata); + } + + /// + /// Returns true if CallTranscriptionMetadata instances are equal + /// + /// Instance of CallTranscriptionMetadata to be compared + /// Boolean + public bool Equals(CallTranscriptionMetadata input) + { + if (input == null) + { + return false; + } + return + ( + this.TranscriptionId == input.TranscriptionId || + (this.TranscriptionId != null && + this.TranscriptionId.Equals(input.TranscriptionId)) + ) && + ( + this.TranscriptionUrl == input.TranscriptionUrl || + (this.TranscriptionUrl != null && + this.TranscriptionUrl.Equals(input.TranscriptionUrl)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.TranscriptionId != null) + { + hashCode = (hashCode * 59) + this.TranscriptionId.GetHashCode(); + } + if (this.TranscriptionUrl != null) + { + hashCode = (hashCode * 59) + this.TranscriptionUrl.GetHashCode(); + } + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Bandwidth.Standard/Model/CallTranscriptionResponse.cs b/src/Bandwidth.Standard/Model/CallTranscriptionResponse.cs new file mode 100644 index 00000000..93352fd1 --- /dev/null +++ b/src/Bandwidth.Standard/Model/CallTranscriptionResponse.cs @@ -0,0 +1,191 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Bandwidth.Standard.Client.OpenAPIDateConverter; + +namespace Bandwidth.Standard.Model +{ + /// + /// CallTranscriptionResponse + /// + [DataContract(Name = "callTranscriptionResponse")] + public partial class CallTranscriptionResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The user account associated with the call.. + /// The call id associated with the event.. + /// The programmable voice API transcription ID.. + /// tracks. + public CallTranscriptionResponse(string accountId = default(string), string callId = default(string), string transcriptionId = default(string), List tracks = default(List)) + { + this.AccountId = accountId; + this.CallId = callId; + this.TranscriptionId = transcriptionId; + this.Tracks = tracks; + } + + /// + /// The user account associated with the call. + /// + /// The user account associated with the call. + /// 920012 + [DataMember(Name = "accountId", EmitDefaultValue = false)] + public string AccountId { get; set; } + + /// + /// The call id associated with the event. + /// + /// The call id associated with the event. + /// c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + [DataMember(Name = "callId", EmitDefaultValue = false)] + public string CallId { get; set; } + + /// + /// The programmable voice API transcription ID. + /// + /// The programmable voice API transcription ID. + /// t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + [DataMember(Name = "transcriptionId", EmitDefaultValue = false)] + public string TranscriptionId { get; set; } + + /// + /// Gets or Sets Tracks + /// + /// [{"detectedLanguage":"en-US","track":"inbound","text":"Hello World! This is an example.","confidence":0.9}] + [DataMember(Name = "tracks", EmitDefaultValue = false)] + public List Tracks { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CallTranscriptionResponse {\n"); + sb.Append(" AccountId: ").Append(AccountId).Append("\n"); + sb.Append(" CallId: ").Append(CallId).Append("\n"); + sb.Append(" TranscriptionId: ").Append(TranscriptionId).Append("\n"); + sb.Append(" Tracks: ").Append(Tracks).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CallTranscriptionResponse); + } + + /// + /// Returns true if CallTranscriptionResponse instances are equal + /// + /// Instance of CallTranscriptionResponse to be compared + /// Boolean + public bool Equals(CallTranscriptionResponse input) + { + if (input == null) + { + return false; + } + return + ( + this.AccountId == input.AccountId || + (this.AccountId != null && + this.AccountId.Equals(input.AccountId)) + ) && + ( + this.CallId == input.CallId || + (this.CallId != null && + this.CallId.Equals(input.CallId)) + ) && + ( + this.TranscriptionId == input.TranscriptionId || + (this.TranscriptionId != null && + this.TranscriptionId.Equals(input.TranscriptionId)) + ) && + ( + this.Tracks == input.Tracks || + this.Tracks != null && + input.Tracks != null && + this.Tracks.SequenceEqual(input.Tracks) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.AccountId != null) + { + hashCode = (hashCode * 59) + this.AccountId.GetHashCode(); + } + if (this.CallId != null) + { + hashCode = (hashCode * 59) + this.CallId.GetHashCode(); + } + if (this.TranscriptionId != null) + { + hashCode = (hashCode * 59) + this.TranscriptionId.GetHashCode(); + } + if (this.Tracks != null) + { + hashCode = (hashCode * 59) + this.Tracks.GetHashCode(); + } + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Bandwidth.Standard/Model/ConferenceMemberExitCallback.cs b/src/Bandwidth.Standard/Model/ConferenceMemberExitCallback.cs index 70754ac5..c16b6e2c 100644 --- a/src/Bandwidth.Standard/Model/ConferenceMemberExitCallback.cs +++ b/src/Bandwidth.Standard/Model/ConferenceMemberExitCallback.cs @@ -39,7 +39,7 @@ public partial class ConferenceMemberExitCallback : IEquatableThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The unique, Bandwidth-generated ID of the conference that was recorded. /// The user-specified name of the conference that was recorded. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// The call id associated with the event.. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. @@ -88,9 +88,9 @@ public partial class ConferenceMemberExitCallback : IEquatable - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/ConferenceMemberJoinCallback.cs b/src/Bandwidth.Standard/Model/ConferenceMemberJoinCallback.cs index eb2802c8..952f5e56 100644 --- a/src/Bandwidth.Standard/Model/ConferenceMemberJoinCallback.cs +++ b/src/Bandwidth.Standard/Model/ConferenceMemberJoinCallback.cs @@ -39,7 +39,7 @@ public partial class ConferenceMemberJoinCallback : IEquatableThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The unique, Bandwidth-generated ID of the conference that was recorded. /// The user-specified name of the conference that was recorded. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// The call id associated with the event.. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. @@ -88,9 +88,9 @@ public partial class ConferenceMemberJoinCallback : IEquatable - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/ConferenceRecordingAvailableCallback.cs b/src/Bandwidth.Standard/Model/ConferenceRecordingAvailableCallback.cs index da9f2334..c4fa1652 100644 --- a/src/Bandwidth.Standard/Model/ConferenceRecordingAvailableCallback.cs +++ b/src/Bandwidth.Standard/Model/ConferenceRecordingAvailableCallback.cs @@ -109,7 +109,7 @@ public partial class ConferenceRecordingAvailableCallback : IEquatable /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } diff --git a/src/Bandwidth.Standard/Model/ConferenceRecordingMetadata.cs b/src/Bandwidth.Standard/Model/ConferenceRecordingMetadata.cs index 76aeb50f..ab4af83e 100644 --- a/src/Bandwidth.Standard/Model/ConferenceRecordingMetadata.cs +++ b/src/Bandwidth.Standard/Model/ConferenceRecordingMetadata.cs @@ -71,7 +71,7 @@ public partial class ConferenceRecordingMetadata : IEquatable /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } diff --git a/src/Bandwidth.Standard/Model/CreateCall.cs b/src/Bandwidth.Standard/Model/CreateCall.cs index 12b7c50b..72141355 100644 --- a/src/Bandwidth.Standard/Model/CreateCall.cs +++ b/src/Bandwidth.Standard/Model/CreateCall.cs @@ -59,8 +59,9 @@ protected CreateCall() { } /// Initializes a new instance of the class. /// /// The destination to call (must be an E.164 formatted number (e.g. `+15555551212`) or a SIP URI (e.g. `sip:user@server.example`)). (required). - /// A Bandwidth phone number on your account the call should come from (must be in E.164 format, like `+15555551212`, or be one of the following strings: `Restricted`, `Anonymous`, `Private`, or `Unavailable`). (required). - /// The caller display name to use when the call is created. May not exceed 256 characters nor contain control characters such as new lines.. + /// A Bandwidth phone number on your account the call should come from (must be in E.164 format, like `+15555551212`) even if `privacy` is set to true. (required). + /// Hide the calling number. The `displayName` field can be used to customize the displayed name.. + /// The caller display name to use when the call is created. May not exceed 256 characters nor contain control characters such as new lines. If `privacy` is true, only the following values are valid: `Restricted`, `Anonymous`, `Private`, or `Unavailable`.. /// A comma-separated list of 'User-To-User' headers to be sent in the INVITE when calling a SIP URI. Each value must end with an 'encoding' parameter as described in <a href='https://tools.ietf.org/html/rfc7433'>RFC 7433</a>. Only 'jwt' and 'base64' encodings are allowed. The entire value cannot exceed 350 characters, including parameters and separators.. /// The id of the application associated with the `from` number. (required). /// The full URL to send the <a href='/docs/voice/webhooks/answer'>Answer</a> event to when the called party answers. This endpoint should return the first <a href='/docs/voice/bxml'>BXML document</a> to be executed in the call. Must use `https` if specifying `username` and `password`. (required). @@ -78,7 +79,7 @@ protected CreateCall() { } /// machineDetection. /// The priority of this call over other calls from your account. For example, if during a call your application needs to place a new call and bridge it with the current call, you might want to create the call with priority 1 so that it will be the next call picked off your queue, ahead of other less time sensitive calls. A lower value means higher priority, so a priority 1 call takes precedence over a priority 2 call. (default to 5). /// A custom string that will be sent with all webhooks for this call unless overwritten by a future <a href='/docs/voice/bxml/tag'>`<Tag>`</a> verb or `tag` attribute on another verb, or cleared. May be cleared by setting `tag=\"\"` Max length 256 characters.. - public CreateCall(string to = default(string), string from = default(string), string displayName = default(string), string uui = default(string), string applicationId = default(string), string answerUrl = default(string), CallbackMethodEnum? answerMethod = default(CallbackMethodEnum?), string username = default(string), string password = default(string), string answerFallbackUrl = default(string), CallbackMethodEnum? answerFallbackMethod = default(CallbackMethodEnum?), string fallbackUsername = default(string), string fallbackPassword = default(string), string disconnectUrl = default(string), CallbackMethodEnum? disconnectMethod = default(CallbackMethodEnum?), double? callTimeout = 30D, double? callbackTimeout = 15D, MachineDetectionConfiguration machineDetection = default(MachineDetectionConfiguration), int? priority = 5, string tag = default(string)) + public CreateCall(string to = default(string), string from = default(string), bool? privacy = default(bool?), string displayName = default(string), string uui = default(string), string applicationId = default(string), string answerUrl = default(string), CallbackMethodEnum? answerMethod = default(CallbackMethodEnum?), string username = default(string), string password = default(string), string answerFallbackUrl = default(string), CallbackMethodEnum? answerFallbackMethod = default(CallbackMethodEnum?), string fallbackUsername = default(string), string fallbackPassword = default(string), string disconnectUrl = default(string), CallbackMethodEnum? disconnectMethod = default(CallbackMethodEnum?), double? callTimeout = 30D, double? callbackTimeout = 15D, MachineDetectionConfiguration machineDetection = default(MachineDetectionConfiguration), int? priority = 5, string tag = default(string)) { // to ensure "to" is required (not null) if (to == null) @@ -104,6 +105,7 @@ protected CreateCall() { } throw new ArgumentNullException("answerUrl is a required property for CreateCall and cannot be null"); } this.AnswerUrl = answerUrl; + this.Privacy = privacy; this.DisplayName = displayName; this.Uui = uui; this.AnswerMethod = answerMethod; @@ -134,17 +136,25 @@ protected CreateCall() { } public string To { get; set; } /// - /// A Bandwidth phone number on your account the call should come from (must be in E.164 format, like `+15555551212`, or be one of the following strings: `Restricted`, `Anonymous`, `Private`, or `Unavailable`). + /// A Bandwidth phone number on your account the call should come from (must be in E.164 format, like `+15555551212`) even if `privacy` is set to true. /// - /// A Bandwidth phone number on your account the call should come from (must be in E.164 format, like `+15555551212`, or be one of the following strings: `Restricted`, `Anonymous`, `Private`, or `Unavailable`). - /// +19195554321 + /// A Bandwidth phone number on your account the call should come from (must be in E.164 format, like `+15555551212`) even if `privacy` is set to true. + /// +15555551212 [DataMember(Name = "from", IsRequired = true, EmitDefaultValue = true)] public string From { get; set; } /// - /// The caller display name to use when the call is created. May not exceed 256 characters nor contain control characters such as new lines. + /// Hide the calling number. The `displayName` field can be used to customize the displayed name. /// - /// The caller display name to use when the call is created. May not exceed 256 characters nor contain control characters such as new lines. + /// Hide the calling number. The `displayName` field can be used to customize the displayed name. + /// false + [DataMember(Name = "privacy", EmitDefaultValue = true)] + public bool? Privacy { get; set; } + + /// + /// The caller display name to use when the call is created. May not exceed 256 characters nor contain control characters such as new lines. If `privacy` is true, only the following values are valid: `Restricted`, `Anonymous`, `Private`, or `Unavailable`. + /// + /// The caller display name to use when the call is created. May not exceed 256 characters nor contain control characters such as new lines. If `privacy` is true, only the following values are valid: `Restricted`, `Anonymous`, `Private`, or `Unavailable`. /// John Doe [DataMember(Name = "displayName", EmitDefaultValue = true)] public string DisplayName { get; set; } @@ -269,6 +279,7 @@ public override string ToString() sb.Append("class CreateCall {\n"); sb.Append(" To: ").Append(To).Append("\n"); sb.Append(" From: ").Append(From).Append("\n"); + sb.Append(" Privacy: ").Append(Privacy).Append("\n"); sb.Append(" DisplayName: ").Append(DisplayName).Append("\n"); sb.Append(" Uui: ").Append(Uui).Append("\n"); sb.Append(" ApplicationId: ").Append(ApplicationId).Append("\n"); @@ -332,6 +343,11 @@ public bool Equals(CreateCall input) (this.From != null && this.From.Equals(input.From)) ) && + ( + this.Privacy == input.Privacy || + (this.Privacy != null && + this.Privacy.Equals(input.Privacy)) + ) && ( this.DisplayName == input.DisplayName || (this.DisplayName != null && @@ -438,6 +454,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.From.GetHashCode(); } + if (this.Privacy != null) + { + hashCode = (hashCode * 59) + this.Privacy.GetHashCode(); + } if (this.DisplayName != null) { hashCode = (hashCode * 59) + this.DisplayName.GetHashCode(); diff --git a/src/Bandwidth.Standard/Model/DisconnectCallback.cs b/src/Bandwidth.Standard/Model/DisconnectCallback.cs index 39ed7d87..f198f43b 100644 --- a/src/Bandwidth.Standard/Model/DisconnectCallback.cs +++ b/src/Bandwidth.Standard/Model/DisconnectCallback.cs @@ -45,7 +45,7 @@ public partial class DisconnectCallback : IEquatable, IValid /// The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// The call id associated with the event.. /// direction. @@ -99,7 +99,7 @@ public partial class DisconnectCallback : IEquatable, IValid /// The user account associated with the call. /// /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -112,9 +112,9 @@ public partial class DisconnectCallback : IEquatable, IValid public string ApplicationId { get; set; } /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/DtmfCallback.cs b/src/Bandwidth.Standard/Model/DtmfCallback.cs index c7e5230c..3aad40cc 100644 --- a/src/Bandwidth.Standard/Model/DtmfCallback.cs +++ b/src/Bandwidth.Standard/Model/DtmfCallback.cs @@ -45,7 +45,7 @@ public partial class DtmfCallback : IEquatable, IValidatableObject /// The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// The call id associated with the event.. /// direction. @@ -55,7 +55,7 @@ public partial class DtmfCallback : IEquatable, IValidatableObject /// Time the call was started, in ISO 8601 format.. /// Time the call was answered, in ISO 8601 format.. /// (optional) If the event is related to the B leg of a <Transfer>, the call id of the original call leg that executed the <Transfer>. Otherwise, this field will not be present.. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. public DtmfCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), string callId = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string digit = default(string), string callUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime? answerTime = default(DateTime?), string parentCallId = default(string), string transferCallerId = default(string), string transferTo = default(string), string tag = default(string)) @@ -99,7 +99,7 @@ public partial class DtmfCallback : IEquatable, IValidatableObject /// The user account associated with the call. /// /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -112,9 +112,9 @@ public partial class DtmfCallback : IEquatable, IValidatableObject public string ApplicationId { get; set; } /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } @@ -184,9 +184,9 @@ public partial class DtmfCallback : IEquatable, IValidatableObject public string ParentCallId { get; set; } /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -195,7 +195,7 @@ public partial class DtmfCallback : IEquatable, IValidatableObject /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). /// /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } diff --git a/src/Bandwidth.Standard/Model/GatherCallback.cs b/src/Bandwidth.Standard/Model/GatherCallback.cs index 415cc75a..8738fcc3 100644 --- a/src/Bandwidth.Standard/Model/GatherCallback.cs +++ b/src/Bandwidth.Standard/Model/GatherCallback.cs @@ -45,7 +45,7 @@ public partial class GatherCallback : IEquatable, IValidatableOb /// The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -56,7 +56,7 @@ public partial class GatherCallback : IEquatable, IValidatableOb /// Time the call was answered, in ISO 8601 format.. /// (optional) If the event is related to the B leg of a <Transfer>, the call id of the original call leg that executed the <Transfer>. Otherwise, this field will not be present.. /// (optional) The digit the user pressed to end the gather. Empty string value if no terminating digit was pressed.. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. public GatherCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string digits = default(string), string callUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime? answerTime = default(DateTime?), string parentCallId = default(string), string terminatingDigit = default(string), string transferCallerId = default(string), string transferTo = default(string), string tag = default(string)) @@ -101,7 +101,7 @@ public partial class GatherCallback : IEquatable, IValidatableOb /// The user account associated with the call. /// /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -114,9 +114,9 @@ public partial class GatherCallback : IEquatable, IValidatableOb public string ApplicationId { get; set; } /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } @@ -194,9 +194,9 @@ public partial class GatherCallback : IEquatable, IValidatableOb public string TerminatingDigit { get; set; } /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -205,7 +205,7 @@ public partial class GatherCallback : IEquatable, IValidatableOb /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). /// /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } diff --git a/src/Bandwidth.Standard/Model/InitiateCallback.cs b/src/Bandwidth.Standard/Model/InitiateCallback.cs index 909fc0ac..ccee61ab 100644 --- a/src/Bandwidth.Standard/Model/InitiateCallback.cs +++ b/src/Bandwidth.Standard/Model/InitiateCallback.cs @@ -45,7 +45,7 @@ public partial class InitiateCallback : IEquatable, IValidatab /// The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -89,7 +89,7 @@ public partial class InitiateCallback : IEquatable, IValidatab /// The user account associated with the call. /// /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -102,9 +102,9 @@ public partial class InitiateCallback : IEquatable, IValidatab public string ApplicationId { get; set; } /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/MachineDetectionCompleteCallback.cs b/src/Bandwidth.Standard/Model/MachineDetectionCompleteCallback.cs index 2d3fb1e9..4bbf22f2 100644 --- a/src/Bandwidth.Standard/Model/MachineDetectionCompleteCallback.cs +++ b/src/Bandwidth.Standard/Model/MachineDetectionCompleteCallback.cs @@ -45,7 +45,7 @@ public partial class MachineDetectionCompleteCallback : IEquatableThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -93,7 +93,7 @@ public partial class MachineDetectionCompleteCallback : IEquatable /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -106,9 +106,9 @@ public partial class MachineDetectionCompleteCallback : IEquatable - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/MachineDetectionConfiguration.cs b/src/Bandwidth.Standard/Model/MachineDetectionConfiguration.cs index f574aed6..2c3008d4 100644 --- a/src/Bandwidth.Standard/Model/MachineDetectionConfiguration.cs +++ b/src/Bandwidth.Standard/Model/MachineDetectionConfiguration.cs @@ -27,7 +27,7 @@ namespace Bandwidth.Standard.Model { /// - /// The machine detection request used to perform <a href='/docs/voice/guides/machineDetection'>machine detection</a> on the call. + /// The machine detection request used to perform <a href='/docs/voice/guides/machineDetection'>machine detection</a> on the call. Currently, there is an issue where decimal values are not getting processed correctly. Please use whole number values. We are working to resolve this issue. Please contact Bandwidth Support if you need more information. /// [DataContract(Name = "machineDetectionConfiguration")] public partial class MachineDetectionConfiguration : IEquatable, IValidatableObject diff --git a/src/Bandwidth.Standard/Model/MessageRequest.cs b/src/Bandwidth.Standard/Model/MessageRequest.cs index 10a0adc0..70f4df0b 100644 --- a/src/Bandwidth.Standard/Model/MessageRequest.cs +++ b/src/Bandwidth.Standard/Model/MessageRequest.cs @@ -48,7 +48,7 @@ protected MessageRequest() { } /// /// The ID of the Application your from number is associated with in the Bandwidth Phone Number Dashboard. (required). /// The phone number(s) the message should be sent to in E164 format. (required). - /// One of your telephone numbers the message should come from in E164 format. (required). + /// Either an alphanumeric sender ID or the sender's Bandwidth phone number in E.164 format, which must be hosted within Bandwidth and linked to the account that is generating the message. Alphanumeric Sender IDs can contain up to 11 characters, upper-case letters A-Z, lower-case letters a-z, numbers 0-9, space, hyphen -, plus +, underscore _ and ampersand &. Alphanumeric Sender IDs must contain at least one letter. (required). /// The contents of the text message. Must be 2048 characters or less.. /// A list of URLs to include as media attachments as part of the message. Each URL can be at most 4096 characters.. /// A custom string that will be included in callback events of the message. Max 1024 characters.. @@ -98,9 +98,9 @@ protected MessageRequest() { } public List To { get; set; } /// - /// One of your telephone numbers the message should come from in E164 format. + /// Either an alphanumeric sender ID or the sender's Bandwidth phone number in E.164 format, which must be hosted within Bandwidth and linked to the account that is generating the message. Alphanumeric Sender IDs can contain up to 11 characters, upper-case letters A-Z, lower-case letters a-z, numbers 0-9, space, hyphen -, plus +, underscore _ and ampersand &. Alphanumeric Sender IDs must contain at least one letter. /// - /// One of your telephone numbers the message should come from in E164 format. + /// Either an alphanumeric sender ID or the sender's Bandwidth phone number in E.164 format, which must be hosted within Bandwidth and linked to the account that is generating the message. Alphanumeric Sender IDs can contain up to 11 characters, upper-case letters A-Z, lower-case letters a-z, numbers 0-9, space, hyphen -, plus +, underscore _ and ampersand &. Alphanumeric Sender IDs must contain at least one letter. /// +15551113333 [DataMember(Name = "from", IsRequired = true, EmitDefaultValue = true)] public string From { get; set; } diff --git a/src/Bandwidth.Standard/Model/MessagingCodeResponse.cs b/src/Bandwidth.Standard/Model/MessagingCodeResponse.cs index 731f7f39..45ab79e1 100644 --- a/src/Bandwidth.Standard/Model/MessagingCodeResponse.cs +++ b/src/Bandwidth.Standard/Model/MessagingCodeResponse.cs @@ -45,7 +45,7 @@ public partial class MessagingCodeResponse : IEquatable, /// Messaging API Message ID. /// /// Messaging API Message ID. - /// 9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6 + /// 1589228074636lm4k2je7j7jklbn2 [DataMember(Name = "messageId", EmitDefaultValue = false)] public string MessageId { get; set; } diff --git a/src/Bandwidth.Standard/Model/RecordingAvailableCallback.cs b/src/Bandwidth.Standard/Model/RecordingAvailableCallback.cs index 55f85f61..ec0b98a0 100644 --- a/src/Bandwidth.Standard/Model/RecordingAvailableCallback.cs +++ b/src/Bandwidth.Standard/Model/RecordingAvailableCallback.cs @@ -51,7 +51,7 @@ public partial class RecordingAvailableCallback : IEquatableThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -64,12 +64,12 @@ public partial class RecordingAvailableCallback : IEquatableThe time that the recording ended in ISO-8601 format. /// The duration of the recording in ISO-8601 format. /// fileFormat. - /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values.. + /// Always `1` for conference recordings; multi-channel recordings are not supported on conferences.. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values.. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. - public RecordingAvailableCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), string parentCallId = default(string), string recordingId = default(string), string mediaUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), string duration = default(string), FileFormatEnum? fileFormat = default(FileFormatEnum?), string channels = default(string), string tag = default(string), string status = default(string), string transferCallerId = default(string), string transferTo = default(string)) + public RecordingAvailableCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), string parentCallId = default(string), string recordingId = default(string), string mediaUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), string duration = default(string), FileFormatEnum? fileFormat = default(FileFormatEnum?), int channels = default(int), string tag = default(string), string status = default(string), string transferCallerId = default(string), string transferTo = default(string)) { this.EventType = eventType; this.EventTime = eventTime; @@ -115,7 +115,7 @@ public partial class RecordingAvailableCallback : IEquatable /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -128,9 +128,9 @@ public partial class RecordingAvailableCallback : IEquatable - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } @@ -216,12 +216,12 @@ public partial class RecordingAvailableCallback : IEquatable - /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. + /// Always `1` for conference recordings; multi-channel recordings are not supported on conferences. /// - /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. - /// completed + /// Always `1` for conference recordings; multi-channel recordings are not supported on conferences. + /// 1 [DataMember(Name = "channels", EmitDefaultValue = false)] - public string Channels { get; set; } + public int Channels { get; set; } /// /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. @@ -240,9 +240,9 @@ public partial class RecordingAvailableCallback : IEquatable - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -251,7 +251,7 @@ public partial class RecordingAvailableCallback : IEquatable /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } @@ -405,8 +405,7 @@ public bool Equals(RecordingAvailableCallback input) ) && ( this.Channels == input.Channels || - (this.Channels != null && - this.Channels.Equals(input.Channels)) + this.Channels.Equals(input.Channels) ) && ( this.Tag == input.Tag || @@ -501,10 +500,7 @@ public override int GetHashCode() hashCode = (hashCode * 59) + this.Duration.GetHashCode(); } hashCode = (hashCode * 59) + this.FileFormat.GetHashCode(); - if (this.Channels != null) - { - hashCode = (hashCode * 59) + this.Channels.GetHashCode(); - } + hashCode = (hashCode * 59) + this.Channels.GetHashCode(); if (this.Tag != null) { hashCode = (hashCode * 59) + this.Tag.GetHashCode(); diff --git a/src/Bandwidth.Standard/Model/RecordingCompleteCallback.cs b/src/Bandwidth.Standard/Model/RecordingCompleteCallback.cs index 2f091df3..9e779f13 100644 --- a/src/Bandwidth.Standard/Model/RecordingCompleteCallback.cs +++ b/src/Bandwidth.Standard/Model/RecordingCompleteCallback.cs @@ -51,7 +51,7 @@ public partial class RecordingCompleteCallback : IEquatableThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -67,7 +67,7 @@ public partial class RecordingCompleteCallback : IEquatablefileFormat. /// Always `1` for conference recordings; multi-channel recordings are not supported on conferences.. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. public RecordingCompleteCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), string parentCallId = default(string), string recordingId = default(string), string mediaUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime? answerTime = default(DateTime?), DateTime endTime = default(DateTime), string duration = default(string), FileFormatEnum? fileFormat = default(FileFormatEnum?), int channels = default(int), string tag = default(string), string transferCallerId = default(string), string transferTo = default(string)) { @@ -115,7 +115,7 @@ public partial class RecordingCompleteCallback : IEquatable /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -128,9 +128,9 @@ public partial class RecordingCompleteCallback : IEquatable - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } @@ -240,9 +240,9 @@ public partial class RecordingCompleteCallback : IEquatable - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -251,7 +251,7 @@ public partial class RecordingCompleteCallback : IEquatable /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } diff --git a/src/Bandwidth.Standard/Model/RecordingTranscriptionMetadata.cs b/src/Bandwidth.Standard/Model/RecordingTranscriptionMetadata.cs new file mode 100644 index 00000000..ad1c8115 --- /dev/null +++ b/src/Bandwidth.Standard/Model/RecordingTranscriptionMetadata.cs @@ -0,0 +1,191 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Bandwidth.Standard.Client.OpenAPIDateConverter; + +namespace Bandwidth.Standard.Model +{ + /// + /// If the recording was transcribed, metadata about the transcription + /// + [DataContract(Name = "recordingTranscriptionMetadata")] + public partial class RecordingTranscriptionMetadata : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The unique transcription ID. + /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values.. + /// The time that the transcription was completed. + /// The URL of the [transcription](#operation/getCallTranscription). + public RecordingTranscriptionMetadata(string id = default(string), string status = default(string), string completedTime = default(string), string url = default(string)) + { + this.Id = id; + this.Status = status; + this.CompletedTime = completedTime; + this.Url = url; + } + + /// + /// The unique transcription ID + /// + /// The unique transcription ID + /// t-387bd648-18f3-4823-9d16-746bca0003c9 + [DataMember(Name = "id", EmitDefaultValue = false)] + public string Id { get; set; } + + /// + /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. + /// + /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. + /// completed + [DataMember(Name = "status", EmitDefaultValue = false)] + public string Status { get; set; } + + /// + /// The time that the transcription was completed + /// + /// The time that the transcription was completed + /// 2022-06-13T18:46:29.715Z + [DataMember(Name = "completedTime", EmitDefaultValue = false)] + public string CompletedTime { get; set; } + + /// + /// The URL of the [transcription](#operation/getCallTranscription) + /// + /// The URL of the [transcription](#operation/getCallTranscription) + /// https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/recordings/r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/transcription + [DataMember(Name = "url", EmitDefaultValue = false)] + public string Url { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class RecordingTranscriptionMetadata {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Status: ").Append(Status).Append("\n"); + sb.Append(" CompletedTime: ").Append(CompletedTime).Append("\n"); + sb.Append(" Url: ").Append(Url).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as RecordingTranscriptionMetadata); + } + + /// + /// Returns true if RecordingTranscriptionMetadata instances are equal + /// + /// Instance of RecordingTranscriptionMetadata to be compared + /// Boolean + public bool Equals(RecordingTranscriptionMetadata input) + { + if (input == null) + { + return false; + } + return + ( + this.Id == input.Id || + (this.Id != null && + this.Id.Equals(input.Id)) + ) && + ( + this.Status == input.Status || + (this.Status != null && + this.Status.Equals(input.Status)) + ) && + ( + this.CompletedTime == input.CompletedTime || + (this.CompletedTime != null && + this.CompletedTime.Equals(input.CompletedTime)) + ) && + ( + this.Url == input.Url || + (this.Url != null && + this.Url.Equals(input.Url)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Id != null) + { + hashCode = (hashCode * 59) + this.Id.GetHashCode(); + } + if (this.Status != null) + { + hashCode = (hashCode * 59) + this.Status.GetHashCode(); + } + if (this.CompletedTime != null) + { + hashCode = (hashCode * 59) + this.CompletedTime.GetHashCode(); + } + if (this.Url != null) + { + hashCode = (hashCode * 59) + this.Url.GetHashCode(); + } + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Bandwidth.Standard/Model/RecordingTranscriptions.cs b/src/Bandwidth.Standard/Model/RecordingTranscriptions.cs new file mode 100644 index 00000000..d5ef4333 --- /dev/null +++ b/src/Bandwidth.Standard/Model/RecordingTranscriptions.cs @@ -0,0 +1,130 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Bandwidth.Standard.Client.OpenAPIDateConverter; + +namespace Bandwidth.Standard.Model +{ + /// + /// RecordingTranscriptions + /// + [DataContract(Name = "recordingTranscriptions")] + public partial class RecordingTranscriptions : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// transcripts. + public RecordingTranscriptions(List transcripts = default(List)) + { + this.Transcripts = transcripts; + } + + /// + /// Gets or Sets Transcripts + /// + [DataMember(Name = "transcripts", EmitDefaultValue = false)] + public List Transcripts { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class RecordingTranscriptions {\n"); + sb.Append(" Transcripts: ").Append(Transcripts).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as RecordingTranscriptions); + } + + /// + /// Returns true if RecordingTranscriptions instances are equal + /// + /// Instance of RecordingTranscriptions to be compared + /// Boolean + public bool Equals(RecordingTranscriptions input) + { + if (input == null) + { + return false; + } + return + ( + this.Transcripts == input.Transcripts || + this.Transcripts != null && + input.Transcripts != null && + this.Transcripts.SequenceEqual(input.Transcripts) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Transcripts != null) + { + hashCode = (hashCode * 59) + this.Transcripts.GetHashCode(); + } + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Bandwidth.Standard/Model/RedirectCallback.cs b/src/Bandwidth.Standard/Model/RedirectCallback.cs index 9a886d4e..a95936ec 100644 --- a/src/Bandwidth.Standard/Model/RedirectCallback.cs +++ b/src/Bandwidth.Standard/Model/RedirectCallback.cs @@ -45,7 +45,7 @@ public partial class RedirectCallback : IEquatable, IValidatab /// The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -55,7 +55,7 @@ public partial class RedirectCallback : IEquatable, IValidatab /// Time the call was started, in ISO 8601 format.. /// Time the call was answered, in ISO 8601 format.. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. public RedirectCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), string parentCallId = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime? answerTime = default(DateTime?), string tag = default(string), string transferCallerId = default(string), string transferTo = default(string)) { @@ -97,7 +97,7 @@ public partial class RedirectCallback : IEquatable, IValidatab /// The user account associated with the call. /// /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -110,9 +110,9 @@ public partial class RedirectCallback : IEquatable, IValidatab public string ApplicationId { get; set; } /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } @@ -182,9 +182,9 @@ public partial class RedirectCallback : IEquatable, IValidatab public string Tag { get; set; } /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -193,7 +193,7 @@ public partial class RedirectCallback : IEquatable, IValidatab /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). /// /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } diff --git a/src/Bandwidth.Standard/Model/TranscriptionAvailableCallback.cs b/src/Bandwidth.Standard/Model/TranscriptionAvailableCallback.cs index ed6fed6f..d67444c6 100644 --- a/src/Bandwidth.Standard/Model/TranscriptionAvailableCallback.cs +++ b/src/Bandwidth.Standard/Model/TranscriptionAvailableCallback.cs @@ -51,7 +51,7 @@ public partial class TranscriptionAvailableCallback : IEquatableThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -66,7 +66,7 @@ public partial class TranscriptionAvailableCallback : IEquatablefileFormat. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. /// transcription. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. public TranscriptionAvailableCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), string mediaUrl = default(string), string parentCallId = default(string), string recordingId = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime endTime = default(DateTime), string duration = default(string), FileFormatEnum? fileFormat = default(FileFormatEnum?), string tag = default(string), Transcription transcription = default(Transcription), string transferCallerId = default(string), string transferTo = default(string)) { @@ -113,7 +113,7 @@ public partial class TranscriptionAvailableCallback : IEquatable /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -126,9 +126,9 @@ public partial class TranscriptionAvailableCallback : IEquatable - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } @@ -228,9 +228,9 @@ public partial class TranscriptionAvailableCallback : IEquatable - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -239,7 +239,7 @@ public partial class TranscriptionAvailableCallback : IEquatable /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } diff --git a/src/Bandwidth.Standard/Model/TransferAnswerCallback.cs b/src/Bandwidth.Standard/Model/TransferAnswerCallback.cs index ea115154..742d782b 100644 --- a/src/Bandwidth.Standard/Model/TransferAnswerCallback.cs +++ b/src/Bandwidth.Standard/Model/TransferAnswerCallback.cs @@ -45,7 +45,7 @@ public partial class TransferAnswerCallback : IEquatable /// The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -54,7 +54,7 @@ public partial class TransferAnswerCallback : IEquatable /// Time the call was started, in ISO 8601 format.. /// Time the call was answered, in ISO 8601 format.. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. public TransferAnswerCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime? answerTime = default(DateTime?), string tag = default(string), string transferCallerId = default(string), string transferTo = default(string)) { @@ -95,7 +95,7 @@ public partial class TransferAnswerCallback : IEquatable /// The user account associated with the call. /// /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -108,9 +108,9 @@ public partial class TransferAnswerCallback : IEquatable public string ApplicationId { get; set; } /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } @@ -172,9 +172,9 @@ public partial class TransferAnswerCallback : IEquatable public string Tag { get; set; } /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -183,7 +183,7 @@ public partial class TransferAnswerCallback : IEquatable /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). /// /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } diff --git a/src/Bandwidth.Standard/Model/TransferCompleteCallback.cs b/src/Bandwidth.Standard/Model/TransferCompleteCallback.cs index 640bfce2..1ed41a4c 100644 --- a/src/Bandwidth.Standard/Model/TransferCompleteCallback.cs +++ b/src/Bandwidth.Standard/Model/TransferCompleteCallback.cs @@ -45,7 +45,7 @@ public partial class TransferCompleteCallback : IEquatableThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -54,7 +54,7 @@ public partial class TransferCompleteCallback : IEquatableTime the call was started, in ISO 8601 format.. /// Time the call was answered, in ISO 8601 format.. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. /// Reason the call failed - hangup, busy, timeout, cancel, rejected, callback-error, invalid-bxml, application-error, account-limit, node-capacity-exceeded, error, or unknown.. /// Text explaining the reason that caused the call to fail in case of errors.. @@ -101,7 +101,7 @@ public partial class TransferCompleteCallback : IEquatable /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -114,9 +114,9 @@ public partial class TransferCompleteCallback : IEquatable - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } @@ -178,9 +178,9 @@ public partial class TransferCompleteCallback : IEquatable - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -189,7 +189,7 @@ public partial class TransferCompleteCallback : IEquatable /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } diff --git a/src/Bandwidth.Standard/Model/TransferDisconnectCallback.cs b/src/Bandwidth.Standard/Model/TransferDisconnectCallback.cs index 6780ecb5..a26d8be2 100644 --- a/src/Bandwidth.Standard/Model/TransferDisconnectCallback.cs +++ b/src/Bandwidth.Standard/Model/TransferDisconnectCallback.cs @@ -45,7 +45,7 @@ public partial class TransferDisconnectCallback : IEquatableThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.. /// The user account associated with the call.. /// The id of the application associated with the call.. - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555).. /// The phone number that received the call, in E.164 format (e.g. +15555555555).. /// direction. /// The call id associated with the event.. @@ -56,7 +56,7 @@ public partial class TransferDisconnectCallback : IEquatableTime the call was answered, in ISO 8601 format.. /// The time that the recording ended in ISO-8601 format. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555).. /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).. /// Reason the call failed - hangup, busy, timeout, cancel, rejected, callback-error, invalid-bxml, application-error, account-limit, node-capacity-exceeded, error, or unknown.. /// Text explaining the reason that caused the call to fail in case of errors.. @@ -105,7 +105,7 @@ public partial class TransferDisconnectCallback : IEquatable /// The user account associated with the call. - /// 920012 + /// 9900000 [DataMember(Name = "accountId", EmitDefaultValue = false)] public string AccountId { get; set; } @@ -118,9 +118,9 @@ public partial class TransferDisconnectCallback : IEquatable - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// - /// The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous. + /// The provided identifier of the caller. Must be a phone number in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "from", EmitDefaultValue = false)] public string From { get; set; } @@ -198,9 +198,9 @@ public partial class TransferDisconnectCallback : IEquatable - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// - /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable. + /// The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). /// +15555555555 [DataMember(Name = "transferCallerId", EmitDefaultValue = false)] public string TransferCallerId { get; set; } @@ -209,7 +209,7 @@ public partial class TransferDisconnectCallback : IEquatable /// The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555). - /// +15555555555) + /// +15555555555 [DataMember(Name = "transferTo", EmitDefaultValue = false)] public string TransferTo { get; set; } From 648cd21f6d7ca42227952e3de9acef2823b0dca4 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Wed, 26 Jun 2024 10:00:32 -0400 Subject: [PATCH 02/16] Fix Recording API Tests --- .../Api/RecordingsApiTests.cs | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Api/RecordingsApiTests.cs b/src/Bandwidth.Standard.Test/Api/RecordingsApiTests.cs index 3d66447f..7f8337ee 100644 --- a/src/Bandwidth.Standard.Test/Api/RecordingsApiTests.cs +++ b/src/Bandwidth.Standard.Test/Api/RecordingsApiTests.cs @@ -61,10 +61,10 @@ public void InstanceTest() } /// - /// Test DeleteCallTranscription + /// Test DeleteRecordingTranscription /// [Fact] - public void DeleteCallTranscriptionTest() + public void DeleteRecordingTranscriptionTest() { string accountId = "9900000"; string callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; @@ -72,17 +72,17 @@ public void DeleteCallTranscriptionTest() var apiResponse = new ApiResponse(HttpStatusCode.NoContent, null); mockClient.Setup(x => x.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", It.IsAny(), fakeConfiguration)).Returns(apiResponse); - var response = instance.DeleteCallTranscriptionWithHttpInfo(accountId, callId, recordingId); + var response = instance.DeleteRecordingTranscriptionWithHttpInfo(accountId, callId, recordingId); Assert.IsType>(response); Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); } /// - /// Test Unauthorized DeleteCallTranscription + /// Test Unauthorized DeleteRecordingTranscription /// [Fact] - public void DeleteCallTranscriptionUnauthorizedRequest() + public void DeleteRecordingTranscriptionUnauthorizedRequest() { string accountId = "9900000"; string callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; @@ -92,17 +92,17 @@ public void DeleteCallTranscriptionUnauthorizedRequest() var apiResponse = new ApiResponse(HttpStatusCode.Unauthorized, null); mockClient.Setup(x => x.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", It.IsAny(), fakeConfiguration)).Returns(apiResponse); - ApiException Exception = Assert.Throws(() => instance.DeleteCallTranscriptionWithHttpInfo(accountId, callId, recordingId)); + ApiException Exception = Assert.Throws(() => instance.DeleteRecordingTranscriptionWithHttpInfo(accountId, callId, recordingId)); - Assert.Equal("Error calling DeleteCallTranscription: ", Exception.Message); + Assert.Equal("Error calling DeleteRecordingTranscription: ", Exception.Message); Assert.Equal(401, Exception.ErrorCode); } /// - /// Test Forbidden DeleteCallTranscription + /// Test Forbidden DeleteRecordingTranscription /// [Fact] - public void DeleteCallTranscriptionForbiddenRequest() + public void DeleteRecordingTranscriptionForbiddenRequest() { string accountId = "9900000"; string callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; @@ -112,9 +112,9 @@ public void DeleteCallTranscriptionForbiddenRequest() var apiResponse = new ApiResponse(HttpStatusCode.Forbidden, null); mockClient.Setup(x => x.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", It.IsAny(), fakeConfiguration)).Returns(apiResponse); - ApiException Exception = Assert.Throws(() => instance.DeleteCallTranscriptionWithHttpInfo(accountId, callId, recordingId)); + ApiException Exception = Assert.Throws(() => instance.DeleteRecordingTranscriptionWithHttpInfo(accountId, callId, recordingId)); - Assert.Equal("Error calling DeleteCallTranscription: ", Exception.Message); + Assert.Equal("Error calling DeleteRecordingTranscription: ", Exception.Message); Assert.Equal(403, Exception.ErrorCode); } @@ -150,12 +150,12 @@ public void DeleteRecordingUnauthorizedRequest() var apiResponse = new ApiResponse(HttpStatusCode.Unauthorized, null); mockClient.Setup(x => x.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", It.IsAny(), fakeConfiguration)).Returns(apiResponse); - + ApiException Exception = Assert.Throws(() => instance.DeleteRecordingWithHttpInfo(accountId, callId, recordingId)); - + Assert.Equal("Error calling DeleteRecording: ", Exception.Message); Assert.Equal(401, Exception.ErrorCode); - } + } /// /// Test forbidden DeleteRecording @@ -172,10 +172,10 @@ public void DeleteRecordingForbiddenRequest() var apiResponse = new ApiResponse(HttpStatusCode.Forbidden, null); mockClient.Setup(x => x.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", It.IsAny(), fakeConfiguration)).Returns(apiResponse); ApiException Exception = Assert.Throws(() => instance.DeleteRecordingWithHttpInfo(accountId, callId, recordingId)); - + Assert.Equal("Error calling DeleteRecording: ", Exception.Message); Assert.Equal(403, Exception.ErrorCode); - } + } /// /// Test DeleteRecordingMedia @@ -210,14 +210,14 @@ public void DeleteRecordingMediaUnauthorizedRequest() var apiResponse = new ApiResponse(HttpStatusCode.Unauthorized, null); mockClient.Setup(x => x.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", It.IsAny(), fakeConfiguration)).Returns(apiResponse); ApiException Exception = Assert.Throws(() => instance.DeleteRecordingMediaWithHttpInfo(accountId, callId, recordingId)); - + Assert.Equal("Error calling DeleteRecordingMedia: ", Exception.Message); Assert.Equal(401, Exception.ErrorCode); } /// /// Test forbidden DeleteRecordingMedia - /// + /// [Fact] public void DeleteRecordingMediaForbiddenRequest() { @@ -230,7 +230,7 @@ public void DeleteRecordingMediaForbiddenRequest() var apiResponse = new ApiResponse(HttpStatusCode.Forbidden, null); mockClient.Setup(x => x.Delete("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", It.IsAny(), fakeConfiguration)).Returns(apiResponse); ApiException Exception = Assert.Throws(() => instance.DeleteRecordingMediaWithHttpInfo(accountId, callId, recordingId)); - + Assert.Equal("Error calling DeleteRecordingMedia: ", Exception.Message); Assert.Equal(403, Exception.ErrorCode); } @@ -273,7 +273,7 @@ public void DownloadCallRecordingUnauthorizedRequest() var apiResponse = new ApiResponse(HttpStatusCode.Unauthorized, null); mockClient.Setup(x => x.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", It.IsAny(), fakeConfiguration)).Returns(apiResponse); ApiException Exception = Assert.Throws(() => instance.DownloadCallRecordingWithHttpInfo(accountId, callId, recordingId)); - + Assert.Equal("Error calling DownloadCallRecording: ", Exception.Message); Assert.Equal(401, Exception.ErrorCode); } @@ -294,7 +294,7 @@ public void DownloadCallRecordingForbiddenRequest() var apiResponse = new ApiResponse(HttpStatusCode.Forbidden, null); mockClient.Setup(x => x.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", It.IsAny(), fakeConfiguration)).Returns(apiResponse); ApiException Exception = Assert.Throws(() => instance.DownloadCallRecordingWithHttpInfo(accountId, callId, recordingId)); - + Assert.Equal("Error calling DownloadCallRecording: ", Exception.Message); Assert.Equal(403, Exception.ErrorCode); } @@ -326,7 +326,7 @@ public void GetCallRecordingTest() fileFormat: FileFormatEnum.Wav, status: "completed", mediaUrl: "https://voice.bandwidth.com/api/v2/accounts/9900000/conferences/conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9/recordings/r-fbe05094-9fd2afe9-bf5b-4c68-820a-41a01c1c5833/media", - transcription: new TranscriptionMetadata( + transcription: new RecordingTranscriptionMetadata( id: "t-387bd648-18f3-4823-9d16-746bca0003c9", status: "completed", completedTime: "2022-06-13T18:46:29.715Z", @@ -355,10 +355,10 @@ public void GetCallRecordingNotFound() var apiResponse = new ApiResponse(HttpStatusCode.NotFound, null); mockClient.Setup(x => x.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", It.IsAny(), fakeConfiguration)).Returns(apiResponse); ApiException Exception = Assert.Throws(() => instance.GetCallRecordingWithHttpInfo(accountId, callId, recordingId)); - + Assert.Equal("Error calling GetCallRecording: ", Exception.Message); Assert.Equal(404, Exception.ErrorCode); - } + } /// /// Test Unauthorized GetCallRecording @@ -375,7 +375,7 @@ public void GetCallRecordingUnauthorizedRequestTest() var apiResponse = new ApiResponse(HttpStatusCode.Unauthorized, null); mockClient.Setup(x => x.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", It.IsAny(), fakeConfiguration)).Returns(apiResponse); ApiException Exception = Assert.Throws(() => instance.GetCallRecordingWithHttpInfo(accountId, callId, recordingId)); - + Assert.Equal("Error calling GetCallRecording: ", Exception.Message); Assert.Equal(401, Exception.ErrorCode); } @@ -395,26 +395,26 @@ public void GetCallRecordingForbiddenRequest() var apiResponse = new ApiResponse(HttpStatusCode.Forbidden, null); mockClient.Setup(x => x.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", It.IsAny(), fakeConfiguration)).Returns(apiResponse); ApiException Exception = Assert.Throws(() => instance.GetCallRecordingWithHttpInfo(accountId, callId, recordingId)); - + Assert.Equal("Error calling GetCallRecording: ", Exception.Message); Assert.Equal(403, Exception.ErrorCode); } /// - /// Test GetCallTranscription + /// Test GetRecordingTranscription /// [Fact] - public void GetCallTranscriptionTest() + public void GetRecordingTranscriptionTest() { string accountId = "9900000"; string callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; string recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; Transcription transcription = new Transcription(text: "Nice talking to you, friend!", confidence: .9); - TranscriptionList transcriptionList = new TranscriptionList(transcripts: new List { transcription } ); + TranscriptionList transcriptionList = new TranscriptionList(transcripts: new List { transcription }); var apiResponse = new ApiResponse(HttpStatusCode.OK, transcriptionList); mockClient.Setup(x => x.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", It.IsAny(), fakeConfiguration)).Returns(apiResponse); - var response = instance.GetCallTranscriptionWithHttpInfo(accountId, callId, recordingId); + var response = instance.GetRecordingTranscriptionWithHttpInfo(accountId, callId, recordingId); Assert.IsType>(response); Assert.Equal(HttpStatusCode.OK, response.StatusCode); @@ -445,11 +445,11 @@ public void ListAccountCallRecordingsTest() fileFormat: FileFormatEnum.Wav, status: "completed", mediaUrl: "https://voice.bandwidth.com/api/v2/accounts/9900000/conferences/conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9/recordings/r-fbe05094-9fd2afe9-bf5b-4c68-820a-41a01c1c5833/media", - transcription: new TranscriptionMetadata( + transcription: new RecordingTranscriptionMetadata( id: "t-387bd648-18f3-4823-9d16-746bca0003c9", status: "completed", completedTime: "2022-06-13T18:46:29.715Z", - url:"https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/recordings/r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/transcription" + url: "https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/recordings/r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/transcription" ) ); @@ -459,7 +459,7 @@ public void ListAccountCallRecordingsTest() accountId: accountId, to: "+19195551234", from: "+19195554321", - minStartTime: "2022-06-21T19:13:21Z", + minStartTime: "2022-06-21T19:13:21Z", maxStartTime: "2022-06-21T19:13:21Z" ); @@ -483,7 +483,7 @@ public void ListAccountCallRecordingsUnauthorizedRequestTest() accountId: accountId, to: "+19195551234", from: "+19195554321", - minStartTime: "2022-06-21T19:13:21Z", + minStartTime: "2022-06-21T19:13:21Z", maxStartTime: "2022-06-21T19:13:21Z" )); @@ -505,7 +505,7 @@ public void ListAccountCallRecordingsForbiddenRequestTest() accountId: accountId, to: "+19195551234", from: "+19195554321", - minStartTime: "2022-06-21T19:13:21Z", + minStartTime: "2022-06-21T19:13:21Z", maxStartTime: "2022-06-21T19:13:21Z" )); @@ -540,7 +540,7 @@ public void ListCallRecordingsTest() fileFormat: FileFormatEnum.Wav, status: "completed", mediaUrl: "https://voice.bandwidth.com/api/v2/accounts/9900000/conferences/conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9/recordings/r-fbe05094-9fd2afe9-bf5b-4c68-820a-41a01c1c5833/media", - transcription: new TranscriptionMetadata( + transcription: new RecordingTranscriptionMetadata( id: "t-387bd648-18f3-4823-9d16-746bca0003c9", status: "completed", completedTime: "2022-06-13T18:46:29.715Z", From 270f7f1919cfa52be5873fc4b1622a7b9f8146ff Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Wed, 26 Jun 2024 10:03:08 -0400 Subject: [PATCH 03/16] Fix Recordings Integration Tests --- .../Integration/RecordingsIntegrationTests.cs | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Integration/RecordingsIntegrationTests.cs b/src/Bandwidth.Standard.Test/Integration/RecordingsIntegrationTests.cs index 2dc89e4e..8b3ada94 100644 --- a/src/Bandwidth.Standard.Test/Integration/RecordingsIntegrationTests.cs +++ b/src/Bandwidth.Standard.Test/Integration/RecordingsIntegrationTests.cs @@ -68,7 +68,7 @@ public RecordingsIntegrationTests() fakeConfiguration.Password = BW_FORBIDDEN_PASSWORD; forbiddenInstance = new RecordingsApi(fakeConfiguration); - restClient = new ApiClient(basePath: "https://voice.bandwidth.com/api/v2"); + restClient = new ApiClient(basePath: "https://voice.bandwidth.com/api/v2"); mantecaCallBody = new CreateCall( to: MANTECA_IDLE_NUMBER, @@ -142,15 +142,15 @@ public Tuple CreateAndValidateCall() } /// - /// Creates and completes an entire recorded call lifecycle. A call should be completed and fully recorded. - /// + /// Creates and completes an entire recorded call lifecycle. A call should be completed and fully recorded. + /// /// /// A tuple containing the test id to track this call in the Manteca system and the call id associated with the call in Bandwidth services. /// - public Tuple CompleteRecordedCall() + public Tuple CompleteRecordedCall() { mantecaCallBody.AnswerUrl = MANTECA_BASE_URL + "/bxml/startRecording"; - Tuple createCallResponse = CreateAndValidateCall(); + Tuple createCallResponse = CreateAndValidateCall(); var testId = createCallResponse.Item1; var callId = createCallResponse.Item2; @@ -159,7 +159,7 @@ public Tuple CreateAndValidateCall() JObject callStatusJson = JObject.Parse(callStatus); var retryCounter = 0; - while(!(Boolean)callStatusJson["callRecorded"] && retryCounter < 40) + while (!(Boolean)callStatusJson["callRecorded"] && retryCounter < 40) { System.Threading.Thread.Sleep(5000); callStatus = GetTestStatus(testId); @@ -169,7 +169,7 @@ public Tuple CreateAndValidateCall() Assert.True((Boolean)callStatusJson["callRecorded"]); - return(new Tuple (testId,callId)); + return (new Tuple(testId, callId)); } @@ -195,7 +195,7 @@ public string GetTestStatus(string testId) path: Environment.GetEnvironmentVariable("MANTECA_BASE_URL") + "/tests/" + testId, options: options ); - + return response.Content.ToString(); } @@ -205,11 +205,11 @@ public string GetTestStatus(string testId) [Fact] public void TestSuccessfulCallRecording() { - Tuple recordedCallResponse = CompleteRecordedCall(); + Tuple recordedCallResponse = CompleteRecordedCall(); var testId = recordedCallResponse.Item1; var callId = recordedCallResponse.Item2; - var listCallResponse = recordingApiInstance.ListCallRecordingsWithHttpInfo(accountId,callId); + var listCallResponse = recordingApiInstance.ListCallRecordingsWithHttpInfo(accountId, callId); Assert.Equal(HttpStatusCode.OK, listCallResponse.StatusCode); List callRecording = listCallResponse.Data; @@ -246,7 +246,7 @@ public void TestSuccessfulCallRecording() var callStatus = GetTestStatus(testId); var retries = 0; JObject callStatusJson = JObject.Parse(callStatus); - while(!(Boolean)callStatusJson["callTranscribed"] && retries < 40) + while (!(Boolean)callStatusJson["callTranscribed"] && retries < 40) { System.Threading.Thread.Sleep(5000); callStatus = GetTestStatus(testId); @@ -254,9 +254,9 @@ public void TestSuccessfulCallRecording() retries++; } Assert.True((Boolean)callStatusJson["callTranscribed"]); - var transcriptionResponse = recordingApiInstance.GetCallTranscriptionWithHttpInfo(accountId, callId, firstRecordingId); + var transcriptionResponse = recordingApiInstance.GetRecordingTranscriptionWithHttpInfo(accountId, callId, firstRecordingId); Assert.Equal(HttpStatusCode.OK, transcriptionResponse.StatusCode); - + var transcription = transcriptionResponse.Data; Assert.Single(transcription.Transcripts); @@ -266,11 +266,11 @@ public void TestSuccessfulCallRecording() Assert.IsType(firstTranscript.Confidence); // delete transcription - var deleteTranscriptionResponse = recordingApiInstance.DeleteCallTranscriptionWithHttpInfo(accountId, callId, firstRecordingId); + var deleteTranscriptionResponse = recordingApiInstance.DeleteRecordingTranscriptionWithHttpInfo(accountId, callId, firstRecordingId); Assert.Equal(HttpStatusCode.NoContent, deleteTranscriptionResponse.StatusCode); // making sure transcription is deleted - ApiException exception = Assert.Throws(() => recordingApiInstance.GetCallTranscription(accountId, callId, firstRecordingId)); + ApiException exception = Assert.Throws(() => recordingApiInstance.GetRecordingTranscription(accountId, callId, firstRecordingId)); Assert.Equal(404, exception.ErrorCode); var deleteRecordingMediaResponse = recordingApiInstance.DeleteRecordingMediaWithHttpInfo(accountId, callId, firstRecordingId); @@ -290,7 +290,7 @@ public void TestSuccessfulCallRecording() public void TestSuccessfulUpdateActiveRecording() { mantecaCallBody.AnswerUrl = MANTECA_BASE_URL + "/bxml/startLongRecording"; - Tuple createCallResponse = CreateAndValidateCall(); + Tuple createCallResponse = CreateAndValidateCall(); var testId = createCallResponse.Item1; var callId = createCallResponse.Item2; @@ -299,7 +299,7 @@ public void TestSuccessfulUpdateActiveRecording() JObject callStatusJson = JObject.Parse(callStatus); var retryCounter = 0; - while((string)callStatusJson["status"] == "DEAD" && retryCounter < 40) + while ((string)callStatusJson["status"] == "DEAD" && retryCounter < 40) { System.Threading.Thread.Sleep(5000); callStatus = GetTestStatus(testId); @@ -373,7 +373,7 @@ public void GetCallRecordingUnauthorizedRequest() /// [Fact] public void GetCallRecordingForbiddenRequest() - { + { ApiException exception = Assert.Throws(() => forbiddenInstance.GetCallRecordingWithHttpInfo(accountId, testCallId, testRecordingId)); Assert.Equal(403, exception.ErrorCode); } @@ -383,7 +383,7 @@ public void GetCallRecordingForbiddenRequest() /// [Fact] public void GetCallRecordingNotFound() - { + { ApiException exception = Assert.Throws(() => recordingApiInstance.GetCallRecordingWithHttpInfo(accountId, testCallId, "not-a-recording-id")); Assert.Equal(404, exception.ErrorCode); } @@ -450,62 +450,62 @@ public void TranscribeCallRecordingNotFound() } /// - /// Test GetCallTranscription with an unauthorized client + /// Test GetRecordingTranscription with an unauthorized client /// [Fact] - public void GetCallTranscriptionUnauthorizedRequest() + public void GetRecordingTranscriptionUnauthorizedRequest() { - ApiException exception = Assert.Throws(() => unauthorizedInstance.GetCallTranscriptionWithHttpInfo(accountId, testCallId, testRecordingId)); + ApiException exception = Assert.Throws(() => unauthorizedInstance.GetRecordingTranscriptionWithHttpInfo(accountId, testCallId, testRecordingId)); Assert.Equal(401, exception.ErrorCode); } /// - /// Test GetCallTranscription with a forbidden client + /// Test GetRecordingTranscription with a forbidden client /// [Fact] - public void GetCallTranscriptionForbiddenRequest() + public void GetRecordingTranscriptionForbiddenRequest() { - ApiException exception = Assert.Throws(() => forbiddenInstance.GetCallTranscriptionWithHttpInfo(accountId, testCallId, testRecordingId)); + ApiException exception = Assert.Throws(() => forbiddenInstance.GetRecordingTranscriptionWithHttpInfo(accountId, testCallId, testRecordingId)); Assert.Equal(403, exception.ErrorCode); } /// - /// Test GetCallTranscription with a nonexistent recording id + /// Test GetRecordingTranscription with a nonexistent recording id /// [Fact] - public void GetCallTranscriptionNotFound() + public void GetRecordingTranscriptionNotFound() { - ApiException exception = Assert.Throws(() => recordingApiInstance.GetCallTranscriptionWithHttpInfo(accountId, testCallId, "not-a-recording-id")); + ApiException exception = Assert.Throws(() => recordingApiInstance.GetRecordingTranscriptionWithHttpInfo(accountId, testCallId, "not-a-recording-id")); Assert.Equal(404, exception.ErrorCode); } /// - /// Test DeleteCallTranscription with an unauthorized client + /// Test DeleteRecordingTranscription with an unauthorized client /// [Fact] - public void DeleteCallTranscriptionUnauthorizedRequest() + public void DeleteRecordingTranscriptionUnauthorizedRequest() { - ApiException exception = Assert.Throws(() => unauthorizedInstance.DeleteCallTranscriptionWithHttpInfo(accountId, testCallId, testRecordingId)); + ApiException exception = Assert.Throws(() => unauthorizedInstance.DeleteRecordingTranscriptionWithHttpInfo(accountId, testCallId, testRecordingId)); Assert.Equal(401, exception.ErrorCode); } /// - /// Test DeleteCallTranscription with a forbidden client + /// Test DeleteRecordingTranscription with a forbidden client /// [Fact] - public void DeleteCallTranscriptionForbiddenRequest() + public void DeleteRecordingTranscriptionForbiddenRequest() { - ApiException exception = Assert.Throws(() => forbiddenInstance.DeleteCallTranscriptionWithHttpInfo(accountId, testCallId, testRecordingId)); + ApiException exception = Assert.Throws(() => forbiddenInstance.DeleteRecordingTranscriptionWithHttpInfo(accountId, testCallId, testRecordingId)); Assert.Equal(403, exception.ErrorCode); } /// - /// Test DeleteCallTranscription with a nonexistent recording id + /// Test DeleteRecordingTranscription with a nonexistent recording id /// [Fact] - public void DeleteCallTranscriptionNotFound() + public void DeleteRecordingTranscriptionNotFound() { - ApiException exception = Assert.Throws(() => recordingApiInstance.DeleteCallTranscriptionWithHttpInfo(accountId, testCallId, "not-a-recording-id")); + ApiException exception = Assert.Throws(() => recordingApiInstance.DeleteRecordingTranscriptionWithHttpInfo(accountId, testCallId, "not-a-recording-id")); Assert.Equal(404, exception.ErrorCode); } From a26ff5fa530ab48252738f428e8ce202d45c4cf1 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Wed, 26 Jun 2024 10:05:39 -0400 Subject: [PATCH 04/16] Fix Model Tests --- .../Model/CallRecordingMetadataTests.cs | 6 +++--- .../Model/RecordingAvailableCallbackTests.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Model/CallRecordingMetadataTests.cs b/src/Bandwidth.Standard.Test/Model/CallRecordingMetadataTests.cs index 6eda9dda..0f334eb4 100644 --- a/src/Bandwidth.Standard.Test/Model/CallRecordingMetadataTests.cs +++ b/src/Bandwidth.Standard.Test/Model/CallRecordingMetadataTests.cs @@ -225,9 +225,9 @@ public void MediaUrlTest() [Fact] public void TranscriptionTest() { - instance.Transcription = new TranscriptionMetadata("t-123", "complete", "2022-06-13T18:46:29.715Z", "https://test.url/"); - Assert.IsType(instance.Transcription); - Assert.Equal(new TranscriptionMetadata("t-123", "complete", "2022-06-13T18:46:29.715Z", "https://test.url/"), instance.Transcription); + instance.Transcription = new RecordingTranscriptionMetadata("t-123", "complete", "2022-06-13T18:46:29.715Z", "https://test.url/"); + Assert.IsType(instance.Transcription); + Assert.Equal(new RecordingTranscriptionMetadata("t-123", "complete", "2022-06-13T18:46:29.715Z", "https://test.url/"), instance.Transcription); } } diff --git a/src/Bandwidth.Standard.Test/Model/RecordingAvailableCallbackTests.cs b/src/Bandwidth.Standard.Test/Model/RecordingAvailableCallbackTests.cs index 5167ec10..28dc9648 100644 --- a/src/Bandwidth.Standard.Test/Model/RecordingAvailableCallbackTests.cs +++ b/src/Bandwidth.Standard.Test/Model/RecordingAvailableCallbackTests.cs @@ -225,9 +225,9 @@ public void FileFormatTest() [Fact] public void ChannelsTest() { - instance.Channels = "completed"; - Assert.IsType(instance.Channels); - Assert.Equal("completed", instance.Channels); + instance.Channels = 1; + Assert.IsType(instance.Channels); + Assert.Equal(1, instance.Channels); } /// /// Test the property 'Tag' From b6b1afc8606134a61491bfb6a822b0fcdcf4c238 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Wed, 26 Jun 2024 13:47:51 -0400 Subject: [PATCH 05/16] Last test fixed --- src/Bandwidth.Standard.Test/Api/RecordingsApiTests.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Api/RecordingsApiTests.cs b/src/Bandwidth.Standard.Test/Api/RecordingsApiTests.cs index 7f8337ee..417dfa26 100644 --- a/src/Bandwidth.Standard.Test/Api/RecordingsApiTests.cs +++ b/src/Bandwidth.Standard.Test/Api/RecordingsApiTests.cs @@ -410,13 +410,13 @@ public void GetRecordingTranscriptionTest() string callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; string recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; Transcription transcription = new Transcription(text: "Nice talking to you, friend!", confidence: .9); - TranscriptionList transcriptionList = new TranscriptionList(transcripts: new List { transcription }); + RecordingTranscriptions recordingTranscriptions = new RecordingTranscriptions(transcripts: new List { transcription }); - var apiResponse = new ApiResponse(HttpStatusCode.OK, transcriptionList); - mockClient.Setup(x => x.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", It.IsAny(), fakeConfiguration)).Returns(apiResponse); + var apiResponse = new ApiResponse(HttpStatusCode.OK, recordingTranscriptions); + mockClient.Setup(x => x.Get("/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", It.IsAny(), fakeConfiguration)).Returns(apiResponse); var response = instance.GetRecordingTranscriptionWithHttpInfo(accountId, callId, recordingId); - Assert.IsType>(response); + Assert.IsType>(response); Assert.Equal(HttpStatusCode.OK, response.StatusCode); } From 2e8753a390308b11206e19feeae64077a7699ead Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Wed, 26 Jun 2024 14:18:02 -0400 Subject: [PATCH 06/16] Update TranscriptionsApiTests.cs --- .../Api/TranscriptionsApiTests.cs | 76 ++++++++++++++----- 1 file changed, 55 insertions(+), 21 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Api/TranscriptionsApiTests.cs b/src/Bandwidth.Standard.Test/Api/TranscriptionsApiTests.cs index de8c1f54..0bd84c81 100644 --- a/src/Bandwidth.Standard.Test/Api/TranscriptionsApiTests.cs +++ b/src/Bandwidth.Standard.Test/Api/TranscriptionsApiTests.cs @@ -19,8 +19,11 @@ using Bandwidth.Standard.Client; using Bandwidth.Standard.Api; -// uncomment below to import models -//using Bandwidth.Standard.Model; +using Moq; +using System.Net; +using System.Data.SqlTypes; +using Bandwidth.Standard.Model; +using System.Security.Authentication; namespace Bandwidth.Standard.Test.Api { @@ -34,10 +37,19 @@ namespace Bandwidth.Standard.Test.Api public class TranscriptionsApiTests : IDisposable { private TranscriptionsApi instance; + private Mock mockClient; + private Mock mockAsynchronousClient; + private Configuration fakeConfiguration; public TranscriptionsApiTests() { - instance = new TranscriptionsApi(); + mockClient = new Mock(); + mockAsynchronousClient = new Mock(); + fakeConfiguration = new Configuration(); + fakeConfiguration.BasePath = "https://voice.bandwidth.com/api/v2"; + fakeConfiguration.Username = "username"; + fakeConfiguration.Password = "password"; + instance = new TranscriptionsApi(mockClient.Object, mockAsynchronousClient.Object, fakeConfiguration); } public void Dispose() @@ -51,8 +63,7 @@ public void Dispose() [Fact] public void InstanceTest() { - // TODO uncomment below to test 'IsType' TranscriptionsApi - //Assert.IsType(instance); + Assert.IsType(instance); } /// @@ -61,11 +72,16 @@ public void InstanceTest() [Fact] public void DeleteRealTimeTranscriptionTest() { - // TODO uncomment below to test the method and replace null with proper value - //string accountId = null; - //string callId = null; - //string transcriptionId = null; - //instance.DeleteRealTimeTranscription(accountId, callId, transcriptionId); + string accountId = "9900000"; + string callId = "c-12345"; + string transcriptionId = "t-12345"; + + var apiResponse = new ApiResponse(HttpStatusCode.NoContent, null); + mockClient.Setup(x => x.Delete("/accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}", It.IsAny(), fakeConfiguration)).Returns(apiResponse); + var response = instance.DeleteRealTimeTranscriptionWithHttpInfo(accountId, callId, transcriptionId); + + Assert.IsType>(response); + Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); } /// @@ -74,12 +90,24 @@ public void DeleteRealTimeTranscriptionTest() [Fact] public void GetRealTimeTranscriptionTest() { - // TODO uncomment below to test the method and replace null with proper value - //string accountId = null; - //string callId = null; - //string transcriptionId = null; - //var response = instance.GetRealTimeTranscription(accountId, callId, transcriptionId); - //Assert.IsType(response); + string accountId = "9900000"; + string callId = "c-12345"; + string transcriptionId = "t-12345"; + + CallTranscription.DetectedLanguageEnum detectedLanguage = CallTranscription.DetectedLanguageEnum.EnUS; + CallTranscription.TrackEnum track = CallTranscription.TrackEnum.Inbound; + + CallTranscription transcription = new CallTranscription(detectedLanguage: detectedLanguage, track: track, transcript: "abc 123 this is a test", confidence: 0.9); + + List tracks = new List { transcription }; + + CallTranscriptionResponse callTranscriptionResponse = new CallTranscriptionResponse(accountId: accountId, callId: callId, transcriptionId: transcriptionId, tracks: tracks); + + var apiResponse = new ApiResponse(HttpStatusCode.NoContent, callTranscriptionResponse); + mockClient.Setup(x => x.Get("/accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}", It.IsAny(), fakeConfiguration)).Returns(apiResponse); + var response = instance.GetRealTimeTranscription(accountId, callId, transcriptionId); + + Assert.IsType(response); } /// @@ -88,11 +116,17 @@ public void GetRealTimeTranscriptionTest() [Fact] public void ListRealTimeTranscriptionsTest() { - // TODO uncomment below to test the method and replace null with proper value - //string accountId = null; - //string callId = null; - //var response = instance.ListRealTimeTranscriptions(accountId, callId); - //Assert.IsType>(response); + string accountId = "9900000"; + string callId = "c-12345"; + + CallTranscriptionMetadata transcription = new CallTranscriptionMetadata(transcriptionId: "t-12345", transcriptionUrl: "https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-12345/transcriptions/t-12345"); + List callTranscriptions = new List { transcription }; + + var apiResponse = new ApiResponse>(HttpStatusCode.NoContent, callTranscriptions); + mockClient.Setup(x => x.Get>("/accounts/{accountId}/calls/{callId}/transcriptions", It.IsAny(), fakeConfiguration)).Returns(apiResponse); + var response = instance.ListRealTimeTranscriptions(accountId, callId); + + Assert.IsType>(response); } } } From abdd7be71b6ecbcc16b1e9575c3f84c60a3b747e Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:20:10 -0400 Subject: [PATCH 07/16] Check the ordering of these tests --- .../TranscriptionsIntegrationTests.cs | 170 ++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs diff --git a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs new file mode 100644 index 00000000..6749089f --- /dev/null +++ b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs @@ -0,0 +1,170 @@ +using System; +using System.Collections.Generic; +using Xunit; + +using Bandwidth.Standard.Client; +using Bandwidth.Standard.Api; +using Bandwidth.Standard.Model; +using System.Net; +using System.Text.Json; +using Newtonsoft.Json.Linq; + +namespace Bandwidth.Standard.Test.Integration +{ + /// + /// Class for testing TranscriptionsApi + /// + public class TranscriptionsIntegrationTests : IDisposable + { + private TranscriptionsApi transcriptionsApiInstance; + private CallsApi callsApiInstance; + + private TranscriptionsApi unauthorizedInstance; + private TranscriptionsApi forbiddenInstance; + private Configuration fakeConfiguration; + private ApiClient restClient; + private CreateCall mantecaCallBody; + private string accountId; + private string testCallId; + private string testRecordingId; + private string BW_USERNAME; + private string BW_PASSWORD; + private string MANTECA_ACTIVE_NUMBER; + private string MANTECA_IDLE_NUMBER; + private string MANTECA_APPLICATION_ID; + private string MANTECA_BASE_URL; + private string BW_FORBIDDEN_USERNAME; + private string BW_FORBIDDEN_PASSWORD; + + public TranscriptionsIntegrationTests() + { + accountId = Environment.GetEnvironmentVariable("BW_ACCOUNT_ID"); + testCallId = "callId"; + testRecordingId = "recordingId"; + BW_USERNAME = Environment.GetEnvironmentVariable("BW_USERNAME"); + BW_PASSWORD = Environment.GetEnvironmentVariable("BW_PASSWORD"); + MANTECA_ACTIVE_NUMBER = Environment.GetEnvironmentVariable("MANTECA_ACTIVE_NUMBER"); + MANTECA_IDLE_NUMBER = Environment.GetEnvironmentVariable("MANTECA_IDLE_NUMBER"); + MANTECA_APPLICATION_ID = Environment.GetEnvironmentVariable("MANTECA_APPLICATION_ID"); + MANTECA_BASE_URL = Environment.GetEnvironmentVariable("MANTECA_BASE_URL"); + BW_FORBIDDEN_USERNAME = Environment.GetEnvironmentVariable("BW_USERNAME_FORBIDDEN"); + BW_FORBIDDEN_PASSWORD = Environment.GetEnvironmentVariable("BW_PASSWORD_FORBIDDEN"); + + //API Client + fakeConfiguration = new Configuration(); + fakeConfiguration.BasePath = "https://voice.bandwidth.com/api/v2"; + fakeConfiguration.Username = BW_USERNAME; + fakeConfiguration.Password = BW_PASSWORD; + transcriptionsApiInstance = new TranscriptionsApi(fakeConfiguration); + callsApiInstance = new CallsApi(fakeConfiguration); + + // Unauthorized API Client + fakeConfiguration.Username = "badUsername"; + fakeConfiguration.Password = "badPassword"; + unauthorizedInstance = new TranscriptionsApi(fakeConfiguration); + + // Forbidden API Client + fakeConfiguration.Username = BW_FORBIDDEN_USERNAME; + fakeConfiguration.Password = BW_FORBIDDEN_PASSWORD; + forbiddenInstance = new TranscriptionsApi(fakeConfiguration); + + restClient = new ApiClient(basePath: "https://voice.bandwidth.com/api/v2"); + + mantecaCallBody = new CreateCall( + to: MANTECA_IDLE_NUMBER, + from: MANTECA_ACTIVE_NUMBER, + applicationId: MANTECA_APPLICATION_ID, + answerUrl: MANTECA_BASE_URL + "/bxml/idle" + ); + + InitializeManteca(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + private void InitializeManteca() + { + // set up request options for creating a call + var jsonBody = JsonSerializer.Serialize(new + { + os = Environment.GetEnvironmentVariable("OPERATING_SYSTEM"), + language = "csharp" + Environment.GetEnvironmentVariable("DOTNET_VERSION"), + type = "REAL_TIME_TRANSCRIPTION" + }); + var options = new RequestOptions + { + Data = jsonBody, + HeaderParameters = new Multimap + { + { "Content-Type", "application/json" } + } + }; + + // initialize call with Manteca + var response = restClient.Post( + path: Environment.GetEnvironmentVariable("MANTECA_BASE_URL") + "/tests", + options: options + ); + var testId = response.RawContent; + mantecaCallBody.Tag = testId; + } + + /// + /// Test an instance of TranscriptionsAPi + /// + [Fact] + public void InstanceTest() + { + Assert.IsType(transcriptionsApiInstance); + } + + [Fact] + public void CreateCallTranscription() + { + string startTranscriptionBxml = $""; + string stopTranscriptionBxml = $""; + UpdateCall updateCallBody = new UpdateCall(); + + // Create the call + CreateCallResponse createCallResponse = callsApiInstance.CreateCall(accountId, mantecaCallBody); + testCallId = createCallResponse.CallId; + + // Sleep for 3 seconds + System.Threading.Thread.Sleep(3000); + + // Start the Transcription + callsApiInstance.UpdateCallBxml(accountId, testCallId, startTranscriptionBxml); + + // Sleep for 3 seconds + System.Threading.Thread.Sleep(3000); + + // Stop the Transcription + callsApiInstance.UpdateCallBxml(accountId, testCallId, stopTranscriptionBxml); + + // End the call + callsApiInstance.UpdateCall(accountId, testCallId, updateCallBody); + + } + + [Fact] + public void ListRealTimeTranscriptions() + { + Assert.True(false); + } + + [Fact] + public void GetRealTimeTranscription() + { + + } + + [Fact] + public void DeleteRealTimeTranscription() + { + + } + } +} From e655f8540ebfb966a107c14d6347ebe67847a95f Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:39:17 -0400 Subject: [PATCH 08/16] Make em go in order --- .../TranscriptionsIntegrationTests.cs | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs index 6749089f..76886993 100644 --- a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs +++ b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs @@ -121,12 +121,11 @@ public void InstanceTest() Assert.IsType(transcriptionsApiInstance); } - [Fact] - public void CreateCallTranscription() + private void CreateCallTranscription() { string startTranscriptionBxml = $""; string stopTranscriptionBxml = $""; - UpdateCall updateCallBody = new UpdateCall(); + UpdateCall updateCallBody = new UpdateCall(state: CallStateEnum.Completed); // Create the call CreateCallResponse createCallResponse = callsApiInstance.CreateCall(accountId, mantecaCallBody); @@ -146,25 +145,30 @@ public void CreateCallTranscription() // End the call callsApiInstance.UpdateCall(accountId, testCallId, updateCallBody); - } - [Fact] - public void ListRealTimeTranscriptions() + private void ListRealTimeTranscriptions() { - Assert.True(false); + } + private void GetRealTimeTranscription() + { - [Fact] - public void GetRealTimeTranscription() + } + + private void DeleteRealTimeTranscription() { } + // Need these to run in a specific order [Fact] - public void DeleteRealTimeTranscription() + public void TestTranscriptionsSuccess() { - + CreateCallTranscription(); + ListRealTimeTranscriptions(); + GetRealTimeTranscription(); + DeleteRealTimeTranscription(); } } } From b3e43aa5b51c649fb14577103a70d4c72db99ca1 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:47:50 -0400 Subject: [PATCH 09/16] Basic Transcription Tests --- .../Integration/TranscriptionsIntegrationTests.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs index 76886993..1ea840a3 100644 --- a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs +++ b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs @@ -26,7 +26,7 @@ public class TranscriptionsIntegrationTests : IDisposable private CreateCall mantecaCallBody; private string accountId; private string testCallId; - private string testRecordingId; + private string testTranscriptionId; private string BW_USERNAME; private string BW_PASSWORD; private string MANTECA_ACTIVE_NUMBER; @@ -39,8 +39,6 @@ public class TranscriptionsIntegrationTests : IDisposable public TranscriptionsIntegrationTests() { accountId = Environment.GetEnvironmentVariable("BW_ACCOUNT_ID"); - testCallId = "callId"; - testRecordingId = "recordingId"; BW_USERNAME = Environment.GetEnvironmentVariable("BW_USERNAME"); BW_PASSWORD = Environment.GetEnvironmentVariable("BW_PASSWORD"); MANTECA_ACTIVE_NUMBER = Environment.GetEnvironmentVariable("MANTECA_ACTIVE_NUMBER"); @@ -149,16 +147,20 @@ private void CreateCallTranscription() private void ListRealTimeTranscriptions() { + List callTranscriptions = transcriptionsApiInstance.ListRealTimeTranscriptions(accountId, testCallId); + Assert.NotEmpty(callTranscriptions); + testTranscriptionId = callTranscriptions[0].TranscriptionId; } private void GetRealTimeTranscription() { - + CallTranscriptionResponse response = transcriptionsApiInstance.GetRealTimeTranscription(accountId, testCallId, testTranscriptionId); + Assert.Equal(testCallId, response.CallId); } private void DeleteRealTimeTranscription() { - + transcriptionsApiInstance.DeleteRealTimeTranscription(accountId, testCallId, testTranscriptionId); } // Need these to run in a specific order From f10ccc6bb01e06c88e368695221406ba3e1db108 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Wed, 26 Jun 2024 17:06:00 -0400 Subject: [PATCH 10/16] more sleep --- .../Integration/TranscriptionsIntegrationTests.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs index 1ea840a3..782ea596 100644 --- a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs +++ b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs @@ -147,6 +147,9 @@ private void CreateCallTranscription() private void ListRealTimeTranscriptions() { + // Sleep for 3 seconds + System.Threading.Thread.Sleep(5000); + List callTranscriptions = transcriptionsApiInstance.ListRealTimeTranscriptions(accountId, testCallId); Assert.NotEmpty(callTranscriptions); From 56a420672465b22ae1ad66252a13690c54fd3c50 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Thu, 27 Jun 2024 08:51:41 -0400 Subject: [PATCH 11/16] :more: --- .../Integration/TranscriptionsIntegrationTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs index 782ea596..e63aedb2 100644 --- a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs +++ b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs @@ -147,8 +147,8 @@ private void CreateCallTranscription() private void ListRealTimeTranscriptions() { - // Sleep for 3 seconds - System.Threading.Thread.Sleep(5000); + // Sleep for 10 seconds + System.Threading.Thread.Sleep(10000); List callTranscriptions = transcriptionsApiInstance.ListRealTimeTranscriptions(accountId, testCallId); Assert.NotEmpty(callTranscriptions); From 36973a9b89a01e9fbdceb996454e2041ac059a99 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Thu, 27 Jun 2024 09:48:43 -0400 Subject: [PATCH 12/16] :even-more: --- .../Integration/TranscriptionsIntegrationTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs index e63aedb2..424c40f6 100644 --- a/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs +++ b/src/Bandwidth.Standard.Test/Integration/TranscriptionsIntegrationTests.cs @@ -147,8 +147,8 @@ private void CreateCallTranscription() private void ListRealTimeTranscriptions() { - // Sleep for 10 seconds - System.Threading.Thread.Sleep(10000); + // Sleep for 20 seconds + System.Threading.Thread.Sleep(20000); List callTranscriptions = transcriptionsApiInstance.ListRealTimeTranscriptions(accountId, testCallId); Assert.NotEmpty(callTranscriptions); From defd3578cf4a5749e04209456eff479b73fec786 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:55:33 -0400 Subject: [PATCH 13/16] Remove models that are no longer used --- .../Model/TranscriptionListTests.cs | 66 ------ .../Model/TranscriptionMetadataTests.cs | 95 --------- .../Model/TranscriptionList.cs | 130 ------------ .../Model/TranscriptionMetadata.cs | 191 ------------------ 4 files changed, 482 deletions(-) delete mode 100644 src/Bandwidth.Standard.Test/Model/TranscriptionListTests.cs delete mode 100644 src/Bandwidth.Standard.Test/Model/TranscriptionMetadataTests.cs delete mode 100644 src/Bandwidth.Standard/Model/TranscriptionList.cs delete mode 100644 src/Bandwidth.Standard/Model/TranscriptionMetadata.cs diff --git a/src/Bandwidth.Standard.Test/Model/TranscriptionListTests.cs b/src/Bandwidth.Standard.Test/Model/TranscriptionListTests.cs deleted file mode 100644 index 6d26e956..00000000 --- a/src/Bandwidth.Standard.Test/Model/TranscriptionListTests.cs +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Bandwidth - * - * Bandwidth's Communication APIs - * - * The version of the OpenAPI document: 1.0.0 - * Contact: letstalk@bandwidth.com - * Generated by: https://github.com/openapitools/openapi-generator.git - */ - - -using Xunit; - -using System; -using System.Linq; -using System.IO; -using System.Collections.Generic; -using Bandwidth.Standard.Model; -using Bandwidth.Standard.Client; -using System.Reflection; -using Newtonsoft.Json; - -namespace Bandwidth.Standard.Test.Model -{ - /// - /// Class for testing TranscriptionList - /// - public class TranscriptionListTests : IDisposable - { - private TranscriptionList instance; - - public TranscriptionListTests() - { - instance = new TranscriptionList(); - } - - public void Dispose() - { - // Cleanup when everything is done. - } - - /// - /// Test an instance of TranscriptionList - /// - [Fact] - public void TranscriptionListInstanceTest() - { - Assert.IsType(instance); - } - - - /// - /// Test the property 'Transcripts' - /// - [Fact] - public void TranscriptsTest() - { - var transcripts = new List() { new Transcription() }; - instance.Transcripts = transcripts; - Assert.IsType>(instance.Transcripts); - Assert.Equal(new List() { new Transcription() }, instance.Transcripts); - } - - } - -} diff --git a/src/Bandwidth.Standard.Test/Model/TranscriptionMetadataTests.cs b/src/Bandwidth.Standard.Test/Model/TranscriptionMetadataTests.cs deleted file mode 100644 index de843f5d..00000000 --- a/src/Bandwidth.Standard.Test/Model/TranscriptionMetadataTests.cs +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Bandwidth - * - * Bandwidth's Communication APIs - * - * The version of the OpenAPI document: 1.0.0 - * Contact: letstalk@bandwidth.com - * Generated by: https://github.com/openapitools/openapi-generator.git - */ - - -using Xunit; - -using System; -using System.Linq; -using System.IO; -using System.Collections.Generic; -using Bandwidth.Standard.Model; -using Bandwidth.Standard.Client; -using System.Reflection; -using Newtonsoft.Json; - -namespace Bandwidth.Standard.Test.Model -{ - /// - /// Class for testing TranscriptionMetadata - /// - public class TranscriptionMetadataTests : IDisposable - { - private TranscriptionMetadata instance; - - public TranscriptionMetadataTests() - { - instance = new TranscriptionMetadata(); - } - - public void Dispose() - { - // Cleanup when everything is done. - } - - /// - /// Test an instance of TranscriptionMetadata - /// - [Fact] - public void TranscriptionMetadataInstanceTest() - { - Assert.IsType(instance); - } - - - /// - /// Test the property 'Id' - /// - [Fact] - public void IdTest() - { - instance.Id = "t-1234"; - Assert.IsType(instance.Id); - Assert.Equal("t-1234", instance.Id); - } - /// - /// Test the property 'Status' - /// - [Fact] - public void StatusTest() - { - instance.Status = "completed"; - Assert.IsType(instance.Status); - Assert.Equal("completed", instance.Status); - } - /// - /// Test the property 'CompletedTime' - /// - [Fact] - public void CompletedTimeTest() - { - instance.CompletedTime = "2020-03-20T15:16:37Z"; - Assert.IsType(instance.CompletedTime); - Assert.Equal("2020-03-20T15:16:37Z", instance.CompletedTime); - } - /// - /// Test the property 'Url' - /// - [Fact] - public void UrlTest() - { - instance.Url = "https://test.url/"; - Assert.IsType(instance.Url); - Assert.Equal("https://test.url/", instance.Url); - } - - } - -} diff --git a/src/Bandwidth.Standard/Model/TranscriptionList.cs b/src/Bandwidth.Standard/Model/TranscriptionList.cs deleted file mode 100644 index c1697118..00000000 --- a/src/Bandwidth.Standard/Model/TranscriptionList.cs +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Bandwidth - * - * Bandwidth's Communication APIs - * - * The version of the OpenAPI document: 1.0.0 - * Contact: letstalk@bandwidth.com - * Generated by: https://github.com/openapitools/openapi-generator.git - */ - - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.IO; -using System.Runtime.Serialization; -using System.Text; -using System.Text.RegularExpressions; -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; -using Newtonsoft.Json.Linq; -using System.ComponentModel.DataAnnotations; -using OpenAPIDateConverter = Bandwidth.Standard.Client.OpenAPIDateConverter; - -namespace Bandwidth.Standard.Model -{ - /// - /// TranscriptionList - /// - [DataContract(Name = "transcriptionList")] - public partial class TranscriptionList : IEquatable, IValidatableObject - { - /// - /// Initializes a new instance of the class. - /// - /// transcripts. - public TranscriptionList(List transcripts = default(List)) - { - this.Transcripts = transcripts; - } - - /// - /// Gets or Sets Transcripts - /// - [DataMember(Name = "transcripts", EmitDefaultValue = false)] - public List Transcripts { get; set; } - - /// - /// Returns the string presentation of the object - /// - /// String presentation of the object - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("class TranscriptionList {\n"); - sb.Append(" Transcripts: ").Append(Transcripts).Append("\n"); - sb.Append("}\n"); - return sb.ToString(); - } - - /// - /// Returns the JSON string presentation of the object - /// - /// JSON string presentation of the object - public virtual string ToJson() - { - return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); - } - - /// - /// Returns true if objects are equal - /// - /// Object to be compared - /// Boolean - public override bool Equals(object input) - { - return this.Equals(input as TranscriptionList); - } - - /// - /// Returns true if TranscriptionList instances are equal - /// - /// Instance of TranscriptionList to be compared - /// Boolean - public bool Equals(TranscriptionList input) - { - if (input == null) - { - return false; - } - return - ( - this.Transcripts == input.Transcripts || - this.Transcripts != null && - input.Transcripts != null && - this.Transcripts.SequenceEqual(input.Transcripts) - ); - } - - /// - /// Gets the hash code - /// - /// Hash code - public override int GetHashCode() - { - unchecked // Overflow is fine, just wrap - { - int hashCode = 41; - if (this.Transcripts != null) - { - hashCode = (hashCode * 59) + this.Transcripts.GetHashCode(); - } - return hashCode; - } - } - - /// - /// To validate all properties of the instance - /// - /// Validation context - /// Validation Result - IEnumerable IValidatableObject.Validate(ValidationContext validationContext) - { - yield break; - } - } - -} diff --git a/src/Bandwidth.Standard/Model/TranscriptionMetadata.cs b/src/Bandwidth.Standard/Model/TranscriptionMetadata.cs deleted file mode 100644 index 158c22d0..00000000 --- a/src/Bandwidth.Standard/Model/TranscriptionMetadata.cs +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Bandwidth - * - * Bandwidth's Communication APIs - * - * The version of the OpenAPI document: 1.0.0 - * Contact: letstalk@bandwidth.com - * Generated by: https://github.com/openapitools/openapi-generator.git - */ - - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.IO; -using System.Runtime.Serialization; -using System.Text; -using System.Text.RegularExpressions; -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; -using Newtonsoft.Json.Linq; -using System.ComponentModel.DataAnnotations; -using OpenAPIDateConverter = Bandwidth.Standard.Client.OpenAPIDateConverter; - -namespace Bandwidth.Standard.Model -{ - /// - /// If the recording was transcribed, metadata about the transcription - /// - [DataContract(Name = "transcriptionMetadata")] - public partial class TranscriptionMetadata : IEquatable, IValidatableObject - { - /// - /// Initializes a new instance of the class. - /// - /// The unique transcription ID. - /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values.. - /// The time that the transcription was completed. - /// The URL of the [transcription](#operation/getCallTranscription). - public TranscriptionMetadata(string id = default(string), string status = default(string), string completedTime = default(string), string url = default(string)) - { - this.Id = id; - this.Status = status; - this.CompletedTime = completedTime; - this.Url = url; - } - - /// - /// The unique transcription ID - /// - /// The unique transcription ID - /// t-387bd648-18f3-4823-9d16-746bca0003c9 - [DataMember(Name = "id", EmitDefaultValue = false)] - public string Id { get; set; } - - /// - /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. - /// - /// The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. - /// completed - [DataMember(Name = "status", EmitDefaultValue = false)] - public string Status { get; set; } - - /// - /// The time that the transcription was completed - /// - /// The time that the transcription was completed - /// 2022-06-13T18:46:29.715Z - [DataMember(Name = "completedTime", EmitDefaultValue = false)] - public string CompletedTime { get; set; } - - /// - /// The URL of the [transcription](#operation/getCallTranscription) - /// - /// The URL of the [transcription](#operation/getCallTranscription) - /// https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/recordings/r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/transcription - [DataMember(Name = "url", EmitDefaultValue = false)] - public string Url { get; set; } - - /// - /// Returns the string presentation of the object - /// - /// String presentation of the object - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("class TranscriptionMetadata {\n"); - sb.Append(" Id: ").Append(Id).Append("\n"); - sb.Append(" Status: ").Append(Status).Append("\n"); - sb.Append(" CompletedTime: ").Append(CompletedTime).Append("\n"); - sb.Append(" Url: ").Append(Url).Append("\n"); - sb.Append("}\n"); - return sb.ToString(); - } - - /// - /// Returns the JSON string presentation of the object - /// - /// JSON string presentation of the object - public virtual string ToJson() - { - return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); - } - - /// - /// Returns true if objects are equal - /// - /// Object to be compared - /// Boolean - public override bool Equals(object input) - { - return this.Equals(input as TranscriptionMetadata); - } - - /// - /// Returns true if TranscriptionMetadata instances are equal - /// - /// Instance of TranscriptionMetadata to be compared - /// Boolean - public bool Equals(TranscriptionMetadata input) - { - if (input == null) - { - return false; - } - return - ( - this.Id == input.Id || - (this.Id != null && - this.Id.Equals(input.Id)) - ) && - ( - this.Status == input.Status || - (this.Status != null && - this.Status.Equals(input.Status)) - ) && - ( - this.CompletedTime == input.CompletedTime || - (this.CompletedTime != null && - this.CompletedTime.Equals(input.CompletedTime)) - ) && - ( - this.Url == input.Url || - (this.Url != null && - this.Url.Equals(input.Url)) - ); - } - - /// - /// Gets the hash code - /// - /// Hash code - public override int GetHashCode() - { - unchecked // Overflow is fine, just wrap - { - int hashCode = 41; - if (this.Id != null) - { - hashCode = (hashCode * 59) + this.Id.GetHashCode(); - } - if (this.Status != null) - { - hashCode = (hashCode * 59) + this.Status.GetHashCode(); - } - if (this.CompletedTime != null) - { - hashCode = (hashCode * 59) + this.CompletedTime.GetHashCode(); - } - if (this.Url != null) - { - hashCode = (hashCode * 59) + this.Url.GetHashCode(); - } - return hashCode; - } - } - - /// - /// To validate all properties of the instance - /// - /// Validation context - /// Validation Result - IEnumerable IValidatableObject.Validate(ValidationContext validationContext) - { - yield break; - } - } - -} From 9c4d3f8c279a182e1180e2ad0a591ab1ceb06842 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:57:20 -0400 Subject: [PATCH 14/16] Update src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs Co-authored-by: Mike Hamer --- src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs b/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs index ec01143e..ca31dea0 100644 --- a/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs +++ b/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs @@ -52,7 +52,7 @@ public partial class CallTranscriptionMetadata : IEquatable - /// A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getCallTranscription) endpoint. + /// A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getRecordingTranscription) endpoint. /// /// A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getCallTranscription) endpoint. /// https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b From 34e601ed78dece9d38da118e29917661305ff8ae Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:57:26 -0400 Subject: [PATCH 15/16] Update src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs Co-authored-by: Mike Hamer --- src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs b/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs index ca31dea0..54f0525b 100644 --- a/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs +++ b/src/Bandwidth.Standard/Model/CallTranscriptionMetadata.cs @@ -54,7 +54,7 @@ public partial class CallTranscriptionMetadata : IEquatable /// A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getRecordingTranscription) endpoint. /// - /// A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getCallTranscription) endpoint. + /// A URL that may be used to retrieve the transcription itself. This points to the [Get Call Transcription](/apis/voice/#operation/getRecordingTranscription) endpoint. /// https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b [DataMember(Name = "transcriptionUrl", EmitDefaultValue = false)] public string TranscriptionUrl { get; set; } From 292ecbe507ae206b8956328a88b74aff0db59ffe Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Mon, 1 Jul 2024 09:16:19 -0400 Subject: [PATCH 16/16] Remove unused docs --- docs/TranscriptionList.md | 10 ---------- docs/TranscriptionMetadata.md | 14 -------------- 2 files changed, 24 deletions(-) delete mode 100644 docs/TranscriptionList.md delete mode 100644 docs/TranscriptionMetadata.md diff --git a/docs/TranscriptionList.md b/docs/TranscriptionList.md deleted file mode 100644 index c08cfec6..00000000 --- a/docs/TranscriptionList.md +++ /dev/null @@ -1,10 +0,0 @@ -# Bandwidth.Standard.Model.TranscriptionList - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**Transcripts** | [**List<Transcription>**](Transcription.md) | | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - diff --git a/docs/TranscriptionMetadata.md b/docs/TranscriptionMetadata.md deleted file mode 100644 index eb2bfffd..00000000 --- a/docs/TranscriptionMetadata.md +++ /dev/null @@ -1,14 +0,0 @@ -# Bandwidth.Standard.Model.TranscriptionMetadata -If the recording was transcribed, metadata about the transcription - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**Id** | **string** | The unique transcription ID | [optional] -**Status** | **string** | The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. | [optional] -**CompletedTime** | **string** | The time that the transcription was completed | [optional] -**Url** | **string** | The URL of the [transcription](#operation/getCallTranscription) | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) -