/* tslint:disable */ /* eslint-disable */ /** * Bandwidth * Bandwidth\'s Communication APIs * * The version of the OpenAPI document: 1.0.0 * Contact: letstalk@bandwidth.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Configuration } from '../configuration'; import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; import globalAxios from 'axios'; // Some imports not used depending on template conditions // @ts-ignore import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base'; // @ts-ignore import type { CallTranscriptionMetadata } from '../models'; // @ts-ignore import type { CallTranscriptionResponse } from '../models'; // @ts-ignore import type { VoiceApiError } from '../models'; /** * TranscriptionsApi - axios parameter creator */ export const TranscriptionsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * 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. * @summary Delete Real-time Transcription * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} transcriptionId Programmable Voice API Transcription ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteRealTimeTranscription: async (accountId: string, callId: string, transcriptionId: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('deleteRealTimeTranscription', 'accountId', accountId) // verify required parameter 'callId' is not null or undefined assertParamExists('deleteRealTimeTranscription', 'callId', callId) // verify required parameter 'transcriptionId' is not null or undefined assertParamExists('deleteRealTimeTranscription', 'transcriptionId', transcriptionId) const localVarPath = `/accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))) .replace(`{${"callId"}}`, encodeURIComponent(String(callId))) .replace(`{${"transcriptionId"}}`, encodeURIComponent(String(transcriptionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication Basic required // http basic authentication required setBasicAuthToObject(localVarRequestOptions, configuration) // authentication OAuth2 required // oauth required await setOAuthToObject(localVarHeaderParameter, "OAuth2", [], configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). * @summary Get Real-time Transcription * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} transcriptionId Programmable Voice API Transcription ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getRealTimeTranscription: async (accountId: string, callId: string, transcriptionId: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('getRealTimeTranscription', 'accountId', accountId) // verify required parameter 'callId' is not null or undefined assertParamExists('getRealTimeTranscription', 'callId', callId) // verify required parameter 'transcriptionId' is not null or undefined assertParamExists('getRealTimeTranscription', 'transcriptionId', transcriptionId) const localVarPath = `/accounts/{accountId}/calls/{callId}/transcriptions/{transcriptionId}` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))) .replace(`{${"callId"}}`, encodeURIComponent(String(callId))) .replace(`{${"transcriptionId"}}`, encodeURIComponent(String(transcriptionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication Basic required // http basic authentication required setBasicAuthToObject(localVarRequestOptions, configuration) // authentication OAuth2 required // oauth required await setOAuthToObject(localVarHeaderParameter, "OAuth2", [], configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * List the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). * @summary List Real-time Transcriptions * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ listRealTimeTranscriptions: async (accountId: string, callId: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('listRealTimeTranscriptions', 'accountId', accountId) // verify required parameter 'callId' is not null or undefined assertParamExists('listRealTimeTranscriptions', 'callId', callId) const localVarPath = `/accounts/{accountId}/calls/{callId}/transcriptions` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))) .replace(`{${"callId"}}`, encodeURIComponent(String(callId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication Basic required // http basic authentication required setBasicAuthToObject(localVarRequestOptions, configuration) // authentication OAuth2 required // oauth required await setOAuthToObject(localVarHeaderParameter, "OAuth2", [], configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * TranscriptionsApi - functional programming interface */ export const TranscriptionsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = TranscriptionsApiAxiosParamCreator(configuration) return { /** * 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. * @summary Delete Real-time Transcription * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} transcriptionId Programmable Voice API Transcription ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async deleteRealTimeTranscription(accountId: string, callId: string, transcriptionId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteRealTimeTranscription(accountId, callId, transcriptionId, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['TranscriptionsApi.deleteRealTimeTranscription']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). * @summary Get Real-time Transcription * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} transcriptionId Programmable Voice API Transcription ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getRealTimeTranscription(accountId: string, callId: string, transcriptionId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getRealTimeTranscription(accountId, callId, transcriptionId, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['TranscriptionsApi.getRealTimeTranscription']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * List the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). * @summary List Real-time Transcriptions * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async listRealTimeTranscriptions(accountId: string, callId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listRealTimeTranscriptions(accountId, callId, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['TranscriptionsApi.listRealTimeTranscriptions']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * TranscriptionsApi - factory interface */ export const TranscriptionsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = TranscriptionsApiFp(configuration) return { /** * 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. * @summary Delete Real-time Transcription * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} transcriptionId Programmable Voice API Transcription ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteRealTimeTranscription(accountId: string, callId: string, transcriptionId: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteRealTimeTranscription(accountId, callId, transcriptionId, options).then((request) => request(axios, basePath)); }, /** * Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). * @summary Get Real-time Transcription * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} transcriptionId Programmable Voice API Transcription ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getRealTimeTranscription(accountId: string, callId: string, transcriptionId: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getRealTimeTranscription(accountId, callId, transcriptionId, options).then((request) => request(axios, basePath)); }, /** * List the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). * @summary List Real-time Transcriptions * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ listRealTimeTranscriptions(accountId: string, callId: string, options?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listRealTimeTranscriptions(accountId, callId, options).then((request) => request(axios, basePath)); }, }; }; /** * TranscriptionsApi - object-oriented interface */ export class TranscriptionsApi extends BaseAPI { /** * 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. * @summary Delete Real-time Transcription * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} transcriptionId Programmable Voice API Transcription ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ public deleteRealTimeTranscription(accountId: string, callId: string, transcriptionId: string, options?: RawAxiosRequestConfig) { return TranscriptionsApiFp(this.configuration).deleteRealTimeTranscription(accountId, callId, transcriptionId, options).then((request) => request(this.axios, this.basePath)); } /** * Retrieve the specified transcription that was created on this call via [startTranscription](/docs/voice/bxml/startTranscription). * @summary Get Real-time Transcription * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} transcriptionId Programmable Voice API Transcription ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ public getRealTimeTranscription(accountId: string, callId: string, transcriptionId: string, options?: RawAxiosRequestConfig) { return TranscriptionsApiFp(this.configuration).getRealTimeTranscription(accountId, callId, transcriptionId, options).then((request) => request(this.axios, this.basePath)); } /** * List the transcriptions created on this call via [startTranscription](/docs/voice/bxml/startTranscription). * @summary List Real-time Transcriptions * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ public listRealTimeTranscriptions(accountId: string, callId: string, options?: RawAxiosRequestConfig) { return TranscriptionsApiFp(this.configuration).listRealTimeTranscriptions(accountId, callId, options).then((request) => request(this.axios, this.basePath)); } }