purecloud-recording

0.3.2 • Public • Published

Purecloud Recording Downloader

npm version

This module is a wrapper for the purecloud javascript sdk that allows you to quickly download voice recordings for backup.

Installation

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

Usage

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)

Change log

  • 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

Tests

npm test

Readme

Keywords

none

Package Sidebar

Install

npm i purecloud-recording

Weekly Downloads

7

Version

0.3.2

License

MIT

Last publish

Collaborators

  • astr-o