• The Web Service Client was created to aid developers integrate CallFire web services.
• The client allows users to quickly test various CallFire web services such as the ListService or CampaignService.
• Developers who are experiencing integration issues can refer to the client to determine the source of the problem.
• Source code for this client is also available, but it is not fully documented like the .Net example code found in other sections of this site.
• Included below is a source code listing for CallFire WebService functions and methods.
The WSDL is called CampaignService. It encompasses not only the voice broadcast functionality, but also the methods needed to create and modify other types of campaigns.
/// <summary>
/// Add auto DNC to campaign.
/// </summary>
/// <param name="key">account key</param>
/// <param name="campaignId">campaign id</param>
public void addAutoDNCToCampaign(string key, long campaignId)
{
LOG.Info("Entered addAutoDNCToCampaign(string key, long campaignId)");
/*
* Validation of parameters early helps avoid runtime
* exceptions such as null pointer exceptions (NPE). Invalid
* parameters can be rejected immediately before any web
* service calls are made.
*/
this.validateAccountKey(key);
this.validateCampaignId(campaignId);
try
{
/*
* add auto DNC to campaign
*/
this.campaignService.addAutoDNCToCampaign(key, campaignId);
}
catch (Exception e)
{
//write to log and raise exception indicating an error occurred
string msg = "Unable to addAutoDNCToCampaign";
LOG.Error(msg);
throw new CampaignException(msg, e);
}
finally
{
LOG.Info("Exited addAutoDNCToCampaign(string key, long campaignId)");
}
}
/// <summary>
/// Add numbers to campaign.
/// </summary>
/// <param name="key">account key</param>
/// <param name="campaignId">campaign id</param>
/// <param name="numbersInCSV">numbers in CSV form</param>
public void addNumbersToCampaign(string key, long campaignId, string numbersInCSV)
{
LOG.Info("Entered addNumbersToCampaign(string key, long campaignId, string numbersInCSV)");
/*
* Validation of parameters early helps avoid runtime
* exceptions such as null pointer exceptions (NPE). Invalid
* parameters can be rejected immediately before any web
* service calls are made.
*/
this.validateAccountKey(key);
this.validateCampaignId(campaignId);
try
{
/*
* add numbers to campaign
*/
this.campaignService.addNumbersToCampaign(key, campaignId, numbersInCSV);
}
catch (Exception e)
{
//write to log and raise exception indicating an error occurred
string msg = "Unable to addNumbersToCampaign";
LOG.Error(msg);
throw new CampaignException(msg, e);
}
finally
{
LOG.Info("Exited addNumbersToCampaign(string key, long campaignId, string numbersInCSV)");
}
}
/// <summary>
/// Create a broadcast with no answering machine detection (AMD).
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="numbers">numbers to add</param>
/// <param name="dncDigit">Do Not Call digit</param>
/// <param name="liveFile">Live answer file</param>
/// <param name="dncFile">Do Not Call file</param>
/// <returns>campaign id</returns>
public long createBroadcastNoAMD(string key, string callerId, List<string> numbers,
string dncDigit, byte[] liveFile, byte[] dncFile)
{
LOG.Info("Entered createBroadcastNoAMD(string key, string callerId, List<string> numbers, "
+ "string dncDigit, byte[] liveFile, byte[] dncFile)");
/*
* Validation of parameters early helps avoid runtime
* exceptions such as null pointer exceptions (NPE). Invalid
* parameters can be rejected immediately before any web
* service calls are made.
*/
this.validateAccountKey(key);
this.validateCallerId(callerId);
this.validateNumbers(numbers);
this.validateDNCDigit(dncDigit);
this.validateLiveFile(liveFile);
this.validateDNCFile(dncFile);
try
{
/*
* Create broadcast with no Anwering Machine Detection (AMD)
*/
long campaignId = this.campaignService.createBroadcastNoAMD(key, callerId,
numbers.ToArray(), dncDigit, liveFile, dncFile);
/*
* A quick check is performed to see if debug mode is enabled for logging.
* This ensure the string parameter is not evaluated unless it is needed.
*/
if (LOG.IsDebugEnabled)
{
LOG.Debug("New campaign created: " + campaignId);
}
return campaignId;
}
catch (Exception e)
{
//write to log and raise exception indicating an error occurred
string msg = "Unable to createBroadcastNoAMD";
LOG.Error(msg);
throw new CampaignException(msg, e);
}
finally
{
LOG.Info("Exited createBroadcastNoAMD(string key, string callerId, List<string> numbers, "
+ "string dncDigit, byte[] liveFile, byte[] dncFile)");
}
}
/// <summary>
/// Add broadcast to list using provided sound file.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="listId">list id for existing list</param>
/// <param name="soundFile">sound file</param>
/// <returns>campaign id</returns>
public long createBroadcastToList(string key, string callerId, long listId, byte[] soundFile)
{
LOG.Info("Entered createBroadcastToList(string key, string callerId, long listId, byte[] soundFile)");
/*
* Validation of parameters early helps avoid runtime
* exceptions such as null pointer exceptions (NPE). Invalid
* parameters can be rejected immediately before any web
* service calls are made.
*/
this.validateAccountKey(key);
this.validateCallerId(callerId);
this.validateListId(listId);
this.validateSoundFile(soundFile);
try
{
/*
* Create broadcast using an existing list
*/
long campaignId = this.campaignService.createBroadcastToList(key, callerId, listId,
soundFile);
/*
* A quick check is performed to see if debug mode is enabled for logging.
* This ensure the string parameter is not evaluated unless it is needed.
*/
if (LOG.IsDebugEnabled)
{
LOG.Debug("New campaign created: " + campaignId);
}
return campaignId;
}
catch (Exception e)
{
//write to log and raise exception indicating an error occurred
string msg = "Unable to createBroadcastToList";
LOG.Error(msg);
throw new CampaignException(msg, e);
}
finally
{
LOG.Info("Exited createBroadcastToList(string key, string callerId, long listId, byte[] soundFile)");
}
}
/// <summary>
/// Add broadcast to list using an existing sound file.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="listId">list id for existing list</param>
/// <param name="soundFileId">sound file id for existing sound file</param>
/// <returns>campaign id</returns>
public long createBroadcastToListWithExistingSoundFile(string key, string callerId, long listId, long soundFileId)
{
LOG.Info("Entered createBroadcastToListWithExistingSoundFile(string key, string callerId, long listId, "
+ "long soundFileId)");
/*
* Validation of parameters early helps avoid runtime
* exceptions such as null pointer exceptions (NPE). Invalid
* parameters can be rejected immediately before any web
* service calls are made.
*/
this.validateAccountKey(key);
this.validateCallerId(callerId);
this.validateListId(listId);
this.validateSoundFileId(soundFileId);
try
{
/*
* Create broadcast using an existing list and sound file
*/
long campaignId = this.campaignService.createBroadcastToList1(key, callerId, listId,
soundFileId);
/*
* A quick check is performed to see if debug mode is enabled for logging.
* This ensure the string parameter is not evaluated unless it is needed.
*/
if (LOG.IsDebugEnabled)
{
LOG.Debug("New campaign created: " + campaignId);
}
return campaignId;
}
catch (Exception e)
{
//write to log and raise exception indicating an error occurred
string msg = "Unable to createBroadcastToListWithExistingSoundFile";
LOG.Error(msg);
throw new CampaignException(msg, e);
}
finally
{
LOG.Info("Exited createBroadcastToListWithExistingSoundFile(string key, string callerId, long listId, "
+ "long soundFileId)");
}
}
/// <summary>
/// Create broadcast with Do Not Call (DNC) with existing sound files.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="numbers">numbers</param>
/// <param name="dncDigit">Do Not Call digit</param>
/// <param name="liveAnswerId">if for live file</param>
/// <param name="answeringMachineId">id for answering machine file</param>
/// <param name="dncFileId">id for Do Not Call file</param>
/// <returns>campaign id</returns>
public long createBroadcastWithDNCWithExistingSoundFiles(string key, string callerId, List<string> numbers, string dncDigit,
long liveAnswerId, long answeringMachineId, long dncFileId)
{
LOG.Info("Entered createBroadcastWithDNCWithExistingSoundFiles(string key, string callerId, List<string> numbers, "
+ "string dncDigit, long liveAnswerId, long answeringMachineId, long dncFileId)");
/*
* Validation of parameters early helps avoid runtime
* exceptions such as null pointer exceptions (NPE). Invalid
* parameters can be rejected immediately before any web
* service calls are made.
*/
this.validateAccountKey(key);
this.validateCallerId(callerId);
this.validateNumbers(numbers);
this.validateDNCDigit(dncDigit);
this.validateLiveId(liveAnswerId);
this.validateAnsweringId(answeringMachineId);
this.validateDNCId(dncFileId);
try
{
/*
* Create broadcast using given numbers with an existing DNC
*/
long campaignId = this.campaignService.createBroadcastWithDNC1(key, callerId, numbers.ToArray(), dncDigit,
liveAnswerId, answeringMachineId, dncFileId);
/*
* A quick check is performed to see if debug mode is enabled for logging.
* This ensure the string parameter is not evaluated unless it is needed.
*/
if (LOG.IsDebugEnabled)
{
LOG.Debug("New campaign created: " + campaignId);
}
return campaignId;
}
catch (Exception e)
{
//write to log and raise exception indicating an error occurred
string msg = "Unable to createBroadcastWithDNCWithExistingSoundFiles";
LOG.Error(msg);
throw new CampaignException(msg, e);
}
finally
{
LOG.Info("Exited createBroadcastWithDNCWithExistingSoundFiles(string key, string callerId, List<string> numbers, "
+ "string dncDigit, long liveAnswerId, long answeringMachineId, long dncFileId)");
}
}
/// <summary>
/// Create broadcast with transfer DNC and no AMD.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="numbers"></param>
/// <param name="transferNumber"></param>
/// <param name="transferDigit"></param>
/// <param name="dncDigit"></param>
/// <param name="liveAnswer"></param>
/// <param name="answeringMachine"></param>
/// <param name="transferFile"></param>
/// <param name="dncFile"></param>
/// <returns></returns>
public long createBroadcastWithTransferDNCAndNoAMD(string key, string callerId, List<string> numbers, string transferNumber,
string transferDigit, string dncDigit, byte[] liveAnswer, byte[] answeringMachine, byte[] transferFile,
byte[] dncFile)
{
LOG.Info("Entered createBroadcastWithTransferDNCAndNoAMD(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, string dncDigit, byte[] liveAnswer, byte[] answeringMachine, "
+ "byte[] transferFile, byte[] dncFile)");
try
{
long campaignId = this.campaignService.createBroadcastWithTransferDNCNoAMD(key, callerId, numbers.ToArray(),
transferNumber, transferDigit, dncDigit, liveAnswer, answeringMachine, transferFile, dncFile);
return campaignId;
}
finally
{
LOG.Info("Exited createBroadcastWithTransferDNCAndNoAMD(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, string dncDigit, byte[] liveAnswer, byte[] answeringMachine, "
+ "byte[] transferFile, byte[] dncFile)");
}
}
/// <summary>
/// Create broadcast with transfer DNC and no AMD with existing sound files.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="numbers"></param>
/// <param name="transferNumber"></param>
/// <param name="transferDigit"></param>
/// <param name="dncDigit"></param>
/// <param name="liveAnswerId"></param>
/// <param name="answeringMachineId"></param>
/// <param name="transferFileId"></param>
/// <param name="dncFileId"></param>
/// <returns></returns>
public long createBroadcastWithTransferDNCAndNoAMDWithExistingSoundFiles(string key, string callerId, List<string> numbers, string transferNumber,
string transferDigit, string dncDigit, long liveAnswerId, long answeringMachineId, long transferFileId,
long dncFileId)
{
LOG.Info("Entered createBroadcastWithTransferDNCAndNoAMDWithExistingSoundFiles(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, string dncDigit, long liveAnswerId, long answeringMachineId, "
+ "long transferFileId, long dncFileId)");
try
{
long campaignId = this.campaignService.createBroadcastWithTransferDNCNoAMD1(key, callerId, numbers.ToArray(),
transferNumber, transferDigit, dncDigit, liveAnswerId, answeringMachineId, transferFileId, dncFileId);
return campaignId;
}
finally
{
LOG.Info("Exited createBroadcastWithTransferDNCAndNoAMDWithExistingSoundFiles(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, string dncDigit, long liveAnswerId, long answeringMachineId, "
+ "long transferFileId, long dncFileId))");
}
}
/// <summary>
/// Create broadcast with transfer DNC.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="numbers"></param>
/// <param name="transferNumber"></param>
/// <param name="transferDigit"></param>
/// <param name="dncDigit"></param>
/// <param name="liveAnswer"></param>
/// <param name="answeringMachine"></param>
/// <param name="transferFile"></param>
/// <param name="dncFile"></param>
/// <returns></returns>
public long createBroadcastWithTransferDNC(string key, string callerId, List<string> numbers, string transferNumber,
string transferDigit, string dncDigit, byte[] liveAnswer, byte[] answeringMachine, byte[] transferFile,
byte[] dncFile)
{
LOG.Info("Entered createBroadcastWithTransferDNC(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, string dncDigit, byte[] liveAnswer, byte[] answeringMachine, "
+ "byte[] transferFile, byte[] dncFile)");
try
{
long campaignId = this.campaignService.createBroadcastWithTransferDNC(key, callerId, numbers.ToArray(),
transferNumber, transferDigit, dncDigit, liveAnswer, answeringMachine, transferFile, dncFile);
return campaignId;
}
finally
{
LOG.Info("Exited createBroadcastWithTransferDNC(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, string dncDigit, byte[] liveAnswer, byte[] answeringMachine, "
+ "byte[] transferFile, byte[] dncFile)");
}
}
/// <summary>
/// Create broadcast with transfer.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="numbers">numbers</param>
/// <param name="transferNumber">transer number</param>
/// <param name="transferDigit">transer digit</param>
/// <param name="liveAnswer">live answer file</param>
/// <param name="answeringMachine">answering machine file</param>
/// <param name="transferFile">transfer file</param>
/// <returns>campaign id</returns>
public long createBroadcastWithTransfer(string key, string callerId, List<string> numbers, string transferNumber,
string transferDigit, byte[] liveAnswer, byte[] answeringMachine, byte[] transferFile)
{
LOG.Info("Entered createBroadcastWithTransfer(string key, string callerId, List<string> numbers, string transferNumber, "
+ "string transferDigit, byte[] liveAnswer, byte[] answeringMachine, byte[] transferFile)");
/*
* Validation of parameters early helps avoid runtime
* exceptions such as null pointer exceptions (NPE). Invalid
* parameters can be rejected immediately before any web
* service calls are made.
*/
this.validateAccountKey(key);
this.validateCallerId(callerId);
this.validateNumbers(numbers);
this.validateTransferNumber(transferNumber);
this.validateTransferDigit(transferDigit);
this.validateLiveFile(liveAnswer);
this.validateAnsweringFile(answeringMachine);
this.validateTransferFile(transferFile);
try
{
/*
* Create broadcast with given numbers and transfer file
*/
long campaignId = this.campaignService.createBroadcastWithTransfer(key, callerId, numbers.ToArray(),
transferNumber, transferDigit, liveAnswer, answeringMachine, transferFile);
/*
* A quick check is performed to see if debug mode is enabled for logging.
* This ensure the string parameter is not evaluated unless it is needed.
*/
if (LOG.IsDebugEnabled)
{
LOG.Debug("New campaign created: " + campaignId);
}
return campaignId;
}
catch (Exception e)
{
//write to log and raise exception indicating an error occurred
string msg = "Unable to createBroadcastWithTransfer";
LOG.Error(msg);
throw new CampaignException(msg, e);
}
finally
{
LOG.Info("Exited createBroadcastWithTransfer(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, byte[] liveAnswer, byte[] answeringMachine, byte[] transferFile)");
}
}
/// <summary>
/// Create broadcast with transfer with existing sound files.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="numbers"></param>
/// <param name="transferNumber"></param>
/// <param name="transferDigit"></param>
/// <param name="liveAnswerId"></param>
/// <param name="answeringMachineId"></param>
/// <param name="transferFileId"></param>
/// <returns></returns>
public long createBroadcastWithTransferWithExistingSoundFiles(string key, string callerId, List<string> numbers, string transferNumber,
string transferDigit, long liveAnswerId, long answeringMachineId, long transferFileId)
{
LOG.Info("Entered createBroadcastWithTransferWithExistingSoundFiles(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, long liveAnswerId, long answeringMachineId, long transferFileId)");
try
{
long campaignId = this.campaignService.createBroadcastWithTransfer1(key, callerId, numbers.ToArray(),
transferNumber, transferDigit, liveAnswerId, answeringMachineId, transferFileId);
return campaignId;
}
finally
{
LOG.Info("Exited createBroadcastWithTransferWithExistingSoundFiles(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, long liveAnswerId, long answeringMachineId, long transferFileId)");
}
}
/// <summary>
/// Create broadcast with transfer DNC.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="numbers"></param>
/// <param name="transferNumber"></param>
/// <param name="transferDigit"></param>
/// <param name="dncDigit"></param>
/// <param name="liveAnswer"></param>
/// <param name="answeringMachine"></param>
/// <param name="transferFile"></param>
/// <param name="dncFile"></param>
/// <returns></returns>
public long createBroadcastWithTransferDNC(string key, string callerId, List<string> numbers, string transferNumber,
string transferDigit, string dncDigit, byte[] liveAnswer, byte[] answeringMachine, byte[] transferFile,
byte[] dncFile)
{
LOG.Info("Entered createBroadcastWithTransferDNC(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, string dncDigit, byte[] liveAnswer, byte[] answeringMachine, "
+ "byte[] transferFile, byte[] dncFile)");
try
{
long campaignId = this.campaignService.createBroadcastWithTransferDNC(key, callerId, numbers.ToArray(),
transferNumber, transferDigit, dncDigit, liveAnswer, answeringMachine, transferFile, dncFile);
return campaignId;
}
finally
{
LOG.Info("Exited createBroadcastWithTransferDNC(string key, string callerId, List<string> numbers, "
+ "string transferNumber, string transferDigit, string dncDigit, byte[] liveAnswer, byte[] answeringMachine, "
+ "byte[] transferFile, byte[] dncFile)");
}
}
/// <summary>
/// Create live answer with no detect.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="name"></param>
/// <param name="mainSoundFile"></param>
/// <param name="fileForPress1"></param>
/// <param name="fileForPress2"></param>
/// <param name="numbers"></param>
/// <returns></returns>
public long createLiveAnswerNoDetect(string key, string callerId, string name,
long mainSoundFile, long fileForPress1, long fileForPress2, List<string> numbers)
{
LOG.Info("Entered createLiveAnswerNoDetect(string key, string callerId, string name, "
+ "long mainSoundFile, long fileForPress1, long fileForPress2, List<string> numbers)");
try
{
long campaignId = this.campaignService.createLiveAnswerNoDetect(key, callerId, name,
mainSoundFile, fileForPress1, fileForPress2, numbers.ToArray());
return campaignId;
}
finally
{
LOG.Info("Exited createLiveAnswerNoDetect(string key, string callerId, string name, "
+ "long mainSoundFile, long fileForPress1, long fileForPress2, List<string> numbers)");
}
}
/// <summary>
/// Create replica of an existing campaign for admin.
/// </summary>
/// <param name="key">account key</param>
/// <param name="userId"></param>
/// <param name="existingCampaignId"></param>
/// <returns></returns>
public long createReplicaCampaignAdmin(string key, long userId, long existingCampaignId)
{
LOG.Info("Entered createReplicaCampaignAdmin(string key, long userId, long existingCampaignId)");
try
{
long campaignId = this.campaignService.createReplicaCampaignAdmin(key, userId, existingCampaignId);
return campaignId;
}
finally
{
LOG.Info("Exited createReplicaCampaignAdmin(string key, long userId, long existingCampaignId)");
}
}
/// <summary>
/// Create replica of an existing campaign for admin.
/// </summary>
/// <param name="key">account key</param>
/// <param name="userId"></param>
/// <param name="existingCampaignId"></param>
/// <returns></returns>
public long createReplicaCampaignAdmin(string key, long userId, long existingCampaignId)
{
LOG.Info("Entered createReplicaCampaignAdmin(string key, long userId, long existingCampaignId)");
try
{
long campaignId = this.campaignService.createReplicaCampaignAdmin(key, userId, existingCampaignId);
return campaignId;
}
finally
{
LOG.Info("Exited createReplicaCampaignAdmin(string key, long userId, long existingCampaignId)");
}
}
/// <summary>
/// Create single question poll.
/// </summary>
/// <param name="key">account key</param>
/// <param name="callerId">caller id</param>
/// <param name="numbers"></param>
/// <param name="dncDigit"></param>
/// <param name="liveAnswer"></param>
/// <param name="answeringMachine"></param>
/// <param name="dncFile"></param>
/// <param name="poll1File"></param>
/// <param name="poll2File"></param>
/// <param name="poll3File"></param>
/// <param name="poll1Value"></param>
/// <param name="poll2Value"></param>
/// <param name="poll3Value"></param>
/// <param name="poll1Digit"></param>
/// <param name="poll2Digit"></param>
/// <param name="poll3Digit"></param>
/// <returns></returns>
public long createSingleQuestionPoll(string key, string callerId, List<string> numbers, string dncDigit,
byte[] liveAnswer, byte[] answeringMachine, byte[] dncFile, byte[] poll1File, byte[] poll2File, byte[] poll3File,
string poll1Value, string poll2Value, string poll3Value, string poll1Digit, string poll2Digit, string poll3Digit)
{
LOG.Info("Entered createSingleQuestionPoll(string key, string callerId, List<string> numbers, string dncDigit, "
+ "byte[] liveAnswer, byte[] answeringMachine, byte[] dncFile, byte[] poll1File, byte[] poll2File, byte[] poll3File, "
+ "string poll1Value, string poll2Value, string poll3Value, string poll1Digit, string poll2Digit, string poll3Digit)");
try
{
long campaignId = this.campaignService.creategenerateSingleQuestionPoll(key, callerId, numbers.ToArray(),
dncDigit, liveAnswer, answeringMachine, dncFile, poll1File, poll2File, poll3File,
poll1Value, poll2Value, poll3Value, poll1Digit, poll2Digit, poll3Digit);
return campaignId;
}
finally
{
LOG.Info("Exited createSingleQuestionPoll(string key, string callerId, List<string> numbers, string dncDigit, "
+ "byte[] liveAnswer, byte[] answeringMachine, byte[] dncFile, byte[] poll1File, byte[] poll2File, byte[] poll3File, "
+ "string poll1Value, string poll2Value, string poll3Value, string poll1Digit, string poll2Digit, string poll3Digit)");
}
}
/// <summary>
/// Delete given campaign.
/// </summary>
/// <param name="key">account key</param>
/// <param name="campaignId">campaign id</param>
/// <returns></returns>
public string deleteCampaign(string key, long campaignId)
{
LOG.Info("Entered deleteCampaign(string key, long campaignId)");
try
{
string status = this.campaignService.deleteCampaign(key, campaignId);
return status;
}
finally
{
LOG.Info("Exited deleteCampaign(string key, long campaignId)");
}
}
/// <summary>
/// Get call details for 2000 records.
/// </summary>
/// <param name="key"></param>
/// <param name="campaignId"></param>
/// <param name="offset"></param>
/// <returns></returns>
public CallType[] getCallDetailsFor2000Records(string key, long campaignId, int offset)
{
LOG.Info("Entered getCallDetailsFor2000Records(string key, long campaignId, int offset)");
try
{
CallType[] callTypeArray = this.campaignService.getCallDetailsFor2000Records(key, campaignId, offset);
return callTypeArray;
}
finally
{
LOG.Info("Exited getCallDetailsFor2000Records(string key, long campaignId, int offset)");
}
}
/// <summary>
/// Get call details for 2000 finished records.
/// </summary>
/// <param name="key"></param>
/// <param name="campaignId"></param>
/// <param name="offset"></param>
/// <returns></returns>
public CallType[] getCallDetailsFor2000FinishedRecords(string key, long campaignId, int offset)
{
LOG.Info("Entered getCallDetailsFor2000FinishedRecords(string key, long campaignId, int offset)");
try
{
CallType[] callTypeArray =
this.campaignService.getCallDetailsFor2000FinishedRecords(key, campaignId, offset);
return callTypeArray;
}
finally
{
LOG.Info("Exited getCallDetailsFor2000FinishedRecords(string key, long campaignId, int offset)");
}
}
/// <summary>
/// Get campaign ids.
/// </summary>
/// <param name="key"></param>
/// <param name="acctId"></param>
/// <param name="msgId"></param>
/// <returns></returns>
public long[] getCampaignIds(string key, string acctId, string msgId)
{
LOG.Info("Entered getCampaignIds(string key, string acctId, string msgId)");
try
{
long[] campaignIdArray = this.campaignService.getCampaignIDs(key, acctId, msgId);
return campaignIdArray;
}
finally
{
LOG.Info("Exited getCampaignIds(string key, string acctId, string msgId)");
}
}
/// <summary>
/// Get stats for a campaign.
/// </summary>
/// <param name="key"></param>
/// <param name="campaignId"></param>
/// <returns></returns>
public CampaignType getCampaignStats(string key, long campaignId)
{
LOG.Info("Entered getCampaignStats(string key, long campaignId)");
try
{
CampaignType campaignType = this.campaignService.getCampaignStats(key, campaignId);
return campaignType;
}
finally
{
LOG.Info("Exited getCampaignStats(string key, long campaignId)");
}
}
/// <summary>
/// Get full campaign list.
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public CampaignType[] getFullCampaignList(string key)
{
LOG.Info("Entered getFullCampaignList(string key)");
try
{
CampaignType[] campaignTypeArray = this.campaignService.getFullCampaignList(key);
return campaignTypeArray;
}
finally
{
LOG.Info("Exited getFullCampaignList(string key)");
}
}
/// <summary>
/// Scrub campaign.
/// </summary>
/// <param name="key"></param>
/// <param name="campaignId"></param>
/// <returns></returns>
public void scrubCampaign(string key, long campaignId)
{
LOG.Info("Entered scrubCampaign(string key, long campaignId)");
try
{
this.campaignService.scrubCampaign(key, campaignId);
}
finally
{
LOG.Info("Exited scrubCampaign(string key, long campaignId)");
}
}
/// <summary>
/// Send broadcast to list of numbers.
/// </summary>
/// <param name="key"></param>
/// <param name="callerId"></param>
/// <param name="numbers"></param>
/// <param name="soundFile"></param>
/// <returns></returns>
public long sendBroadcastToList(string key, string callerId, string[] numbers, byte[] soundFile)
{
LOG.Info("Entered sendBroadcastToList(string key, string callerId, string[] numbers, byte[] soundFile)");
try
{
long broadcastId = this.campaignService.sendBroadcastToList(key, callerId, numbers, soundFile);
return broadcastId;
}
finally
{
LOG.Info("Exited sendBroadcastToList(string key, string callerId, string[] numbers, byte[] soundFile)");
}
}
/// <summary>
/// Send broadcast to list.
/// </summary>
/// <param name="key"></param>
/// <param name="callerId"></param>
/// <param name="listId"></param>
/// <param name="soundFile"></param>
/// <returns></returns>
public long sendBroadcastToList1(string key, string callerId, long listId, byte[] soundFile)
{
LOG.Info("Entered sendBroadcastToList1(string key, string callerId, long listId, byte[] soundFile)");
try
{
long broadcastId = this.campaignService.sendBroadcastToList1(key, callerId, listId, soundFile);
return broadcastId;
}
finally
{
LOG.Info("Exited sendBroadcastToList1(string key, string callerId, long listId, byte[] soundFile)");
}
}
/// <summary>
/// Send broadcast to list of numbers with name.
/// </summary>
/// <param name="key"></param>
/// <param name="callerId"></param>
/// <param name="numbers"></param>
/// <param name="soundFile"></param>
/// <param name="name"></param>
/// <returns></returns>
public long sendBroadcastToList2(string key, string callerId, string[] numbers, byte[] soundFile, string name)
{
LOG.Info("Entered sendBroadcastToList2(string key, string callerId, string[] numbers, byte[] soundFile, string name)");
try
{
long broadcastId = this.campaignService.sendBroadcastToList2(key, callerId, numbers, soundFile, name);
return broadcastId;
}
finally
{
LOG.Info("Exited sendBroadcastToList2(string key, string callerId, string[] numbers, byte[] soundFile, string name)");
}
}
/// <summary>
/// Send broadcast to list admin.
/// </summary>
/// <param name="key"></param>
/// <param name="callerId"></param>
/// <param name="listId"></param>
/// <param name="soundFile"></param>
/// <returns></returns>
public long sendBroadcastToListAdmin(string key, string callerId, long listId, byte[] soundFile)
{
LOG.Info("Entered sendBroadcastToList1(string key, string callerId, long listId, byte[] soundFile)");
try
{
long broadcastId = this.campaignService.sendBroadcastToListAdmin(key, callerId, listId, soundFile);
return broadcastId;
}
finally
{
LOG.Info("Exited sendBroadcastToListAdmin(string key, string callerId, long listId, byte[] soundFile)");
}
}
/// <summary>
/// Send broadcast to list of numbers with existing sound file.
/// </summary>
/// <param name="key"></param>
/// <param name="callerId"></param>
/// <param name="numbers"></param>
/// <param name="soundFile"></param>
/// <returns></returns>
public long sendBroadcastToListWithExistingSoundFile(string key, string callerId, string[] numbers, long soundFile)
{
LOG.Info("Entered sendBroadcastToListWithExistingSoundFile(string key, string callerId, string[] numbers,long soundFile)");
try
{
long broadcastId = this.campaignService.sendBroadcastToListWithSoundId(key, callerId, numbers, soundFile);
return broadcastId;
}
finally
{
LOG.Info("Exited sendBroadcastToListWithExistingSoundFile(string key, string callerId, string[] numbers, long soundFile)");
}
}
/// <summary>
/// Send call for an existing campaign.
/// </summary>
/// <param name="key"></param>
/// <param name="campaignId"></param>
/// <param name="number"></param>
/// <param name="moreData"></param>
public void sendCallForCampaign(string key, long campaignId, string number, string[] moreData)
{
LOG.Info("Entered sendCallForCampaign(string key, long campaignId, string number, string[] moreData)");
try
{
this.campaignService.sendCallForCampaign(key, campaignId, number, moreData);
}
finally
{
LOG.Info("Exited sendCallForCampaign(string key, long campaignId, string number, string[] moreData)");
}
}
/// <summary>
/// Send first connect.
/// </summary>
/// <param name="key"></param>
/// <param name="callerId"></param>
/// <param name="caller"></param>
/// <param name="callees"></param>
/// <returns></returns>
public long sendFirstConnect(string key, string callerId, string caller, string[] callees)
{
LOG.Info("Entered sendFirstConnect(string key, string callerId, string caller, string[] callees)");
try
{
long broadcastId = this.campaignService.sendFirstConnect(key, callerId, caller, callees);
return broadcastId;
}
finally
{
LOG.Info("Exited sendFirstConnect(string key, string callerId, string caller, string[] callees)");
}
}
/// <summary>
/// Send single bridge call.
/// </summary>
/// <param name="key"></param>
/// <param name="callerId"></param>
/// <param name="agentNumber"></param>
/// <param name="extension"></param>
/// <param name="transfer"></param>
/// <returns></returns>
public long sendSingleBridgeCall(string key, string callerId, string agentNumber, string extension, string transfer)
{
LOG.Info("Entered sendSingleBridgeCall(string key, string callerId, string agentNumber, string extension, string transfer)");
try
{
long broadcastId = this.campaignService.sendSingleBridgeCall(key, callerId, agentNumber, extension, transfer);
return broadcastId;
}
finally
{
LOG.Info("Exited sendSingleBridgeCall(string key, string callerId, string agentNumber, string extension, string transfer)");
}
}
/// <summary>
/// Send single call campaign.
/// </summary>
/// <param name="key"></param>
/// <param name="callerId"></param>
/// <param name="number"></param>
/// <param name="soundFile"></param>
/// <returns></returns>
public long sendSingleCallCampaign(string key, string callerId, string number, byte[] soundFile)
{
LOG.Info("Entered sendSingleCallCampaign(string key, string callerId, string number, byte[] soundFile)");
try
{
long broadcastId = this.campaignService.sendSingleCallCampaign(key, callerId, number, soundFile);
return broadcastId;
}
finally
{
LOG.Info("Exited sendSingleCallCampaign(string key, string callerId, string number, byte[] soundFile)");
}
}
/// <summary>
/// Send try three broadcast to list.
/// </summary>
/// <param name="key"></param>
/// <param name="callerId"></param>
/// <param name="numbers"></param>
/// <param name="soundFile"></param>
/// <param name="name"></param>
/// <returns></returns>
public long sendTryThreeBroadcastToList(string key, string callerId, string[] numbers, byte[] soundFile, string name)
{
LOG.Info("Entered sendTryThreeBroadcastToList(string key, string callerId, string[] numbers, byte[] soundFile, string name)");
try
{
long broadcastId = this.campaignService.sendTryThreeBroadcastToList(key, callerId, numbers, soundFile, name);
return broadcastId;
}
finally
{
LOG.Info("Exited sendTryThreeBroadcastToList(string key, string callerId, string[] numbers, byte[] soundFile, string name)");
}
}
/// <summary>
/// Start campaign.
/// </summary>
/// <param name="key"></param>
/// <param name="campaignId"></param>
/// <returns></returns>
public string startCampaign(string key, long campaignId)
{
LOG.Info("Entered startCampaign(string key, long campaignId)");
try
{
string status = this.campaignService.startCampaign(key, campaignId);
return status;
}
finally
{
LOG.Info("Exited startCampaign(string key, long campaignId)");
}
}
/// <summary>
/// Start campaign admin.
/// </summary>
/// <param name="key"></param>
/// <param name="userId"></param>
/// <param name="campaignId"></param>
/// <returns></returns>
public string startCampaignAdmin(string key, long userId, long campaignId)
{
LOG.Info("Entered startCampaignAdmin(string key, long userId, long campaignId)");
try
{
string status = this.campaignService.startCampaignAdmin(key, userId, campaignId);
return status;
}
finally
{
LOG.Info("Exited startCampaignAdmin(string key, long userId, long campaignId)");
}
}
/// <summary>
/// Stop campaign.
/// </summary>
/// <param name="key"></param>
/// <param name="campaignId"></param>
/// <returns></returns>
public string stopCampaign(string key, long campaignId)
{
LOG.Info("Entered stopCampaign(string key, long campaignId)");
try
{
string status = this.campaignService.stopCampaign(key, campaignId);
return status;
}
finally
{
LOG.Info("Exited stopCampaign(string key, long campaignId)");
}
}
/// <summary>
/// Stop campaign admin.
/// </summary>
/// <param name="key"></param>
/// <param name="userId"></param>
/// <param name="campaignId"></param>
/// <returns></returns>
public string stopCampaignAdmin(string key, long userId, long campaignId)
{
LOG.Info("Entered stopCampaignAdmin(string key, long userId, long campaignId)");
try
{
string status = this.campaignService.stopCampaignAdmin(key, userId, campaignId);
return status;
}
finally
{
LOG.Info("Exited stopCampaignAdmin(string key, long userId, long campaignId)");
}
}
/// <summary>
/// Update speed.
/// </summary>
/// <param name="key"></param>
/// <param name="campaignId"></param>
/// <param name="speed"></param>
/// <returns></returns>
public string updateSpeed(string key, long campaignId, int speed)
{
LOG.Info("Entered updateSpeed(string key, long campaignId, int speed)");
try
{
string status = this.campaignService.updateSpeed(key, campaignId, speed);
return status;
}
finally
{
LOG.Info("Exited updateSpeed(string key, long campaignId, int speed)");
}
}
/// <summary>
/// Use AMD type 2.
/// </summary>
/// <param name="key"></param>
/// <param name="campaignId"></param>
public void useAnsweringMachineDetectionType2(string key, long campaignId)
{
LOG.Info("Entered useAnsweringMachineDetectionType2(string key, long campaignId)");
try
{
this.campaignService.useAnsweringMachineDetectionType2(key, campaignId);
}
finally
{
LOG.Info("Exited useAnsweringMachineDetectionType2(string key, long campaignId)");
}
}
/// <summary>
/// Validate campaign.
/// </summary>
/// <param name="key"></param>
/// <param name="userId"></param>
/// <param name="campaignId"></param>
/// <returns></returns>
public bool validateCampaign(string key, long userId, long campaignId)
{
LOG.Info("Entered validateCampaign(string key, long userId, long campaignId)");
try
{
bool status = this.campaignService.validateCampaign(key, userId, campaignId);
return status;
}
finally
{
LOG.Info("Exited validateCampaign(string key, long userId, long campaignId)");
}
}
/*
* Validation methods are useful for ensuring required parameters are not null
* or empty. Other more specific validation can be performed such as checking for the
* '@' symbol with an email value. All ids used by the list service must also be
* greater than zero to be considered valid. Any invalid parameters are rejected by throwing
* an Argument exception with a error message regarding the cause of the problem.
* Using utility methods such as string.IsNullOrEmpty() can greatly simplify
* validation logic.
*/
