This module is a wrapper for the purecloud javascript sdk that allows you to quickly download voice recordings for backup.
note: this library has only been tested with v1 of the purecloud API and is required to use it
npm install purecloud_api_sdk_javascript purecloud-recording
Download Split channel recordings, this will create one file for the agent channel and seprate file for the customer channel, best for transcription.
const path = require('path')
const purecloud = require('purecloud_api_sdk_javascript')
const RecordingDownloader = require('purecloud-recording')
// login session first
session.login()
.then(() => {
// pass authenticated session to RecordingDownloader
const downloader = new RecordingDownloader(session)
const downloadFolder = path.join(__dirname, 'recordings')
// * is optional arguments
// downloader.downloadSeperateChannels(conversationId, folderPath, fileFormat, retries*, waitBetweenRetrys*, createFolder*, fileName*)
downloader.downloadSeperateChannels('930bcb90-f62e-4f41-8e09-b35b9b9ff1a8', downloadFolder, 'WAV', 3, 15 * 1000, true)
.then(([path0, path1]) => {
console.log(`downloaded files ${path0} - ${path1}`)
console.log('split files downloaded successfully')
})
.catch(err => {
console.error(`recording download failed ${err.message}`)
})
})
Download merged channel recordings, this will create one file for both the agent channel and customer channel, best for backups
const path = require('path')
const purecloud = require('purecloud_api_sdk_javascript')
const RecordingDownloader = require('purecloud-recording')
// login session first
session.login()
.then(() => {
// pass authenticated session to RecordingDownloader
const downloader = new RecordingDownloader(session)
const downloadFolder = path.join(__dirname, 'recordings')
// * is optional arguments
// downloader.downloadSeperateChannels(conversationId, folderPath, fileFormat, retries*, waitBetweenRetrys*, createFolder*, fileName*)
downloader.downloadMergedChannels('930bcb90-f62e-4f41-8e09-b35b9b9ff1a8', downloadFolder, 'MP3', 3, 15 * 1000)
.then(([path0, path1]) => {
console.log(`downloaded files ${path}`)
console.log('merged file downloaded successfully')
})
.catch(err => {
console.error(`recording download failed ${err.message}`)
})
})
This library also provides too additional methods, which will just fetch the uri for the file location from purecloud without downloading the actual file.
getUrisSeperateChannels(interactionId, formatId, retrys, retryInterval)
getUrisMergedChannels(interactionId, formatId, retrys, retryInterval)
-
v0.3.2 - 24/01/2018
- adds support of creating nested directories with mkdirp
- cleans up docs
-
v0.3.1 - 23/01/2018
- add optional file name variable to *downlaod methods allowing you to specify a custom file name for the output files.
-
v0.3.0 - 19/01/2018
- Adds downloadMergedRecording method this will download a single file containing both the agent and the client recording channels
- Adds outputPath creation, if the specificed output path does not exist and createDir is true a file path will automatically be created
npm test