Reputation: 55
Does anyone have any familiarity with using CallFire's SOAP API in .NET? I haven't been able to find a single working example of this API being used in anything but PHP.
Upvotes: 0
Views: 312
Reputation: 442
The CallFire API offers functionality for a variety of use cases --Voice and SMS Broadcasting, inbound and outbound IVRs, call-tracking, etc. The examples requested would depend on the intended results. Here are a couple of basic examples used on outbound Broadcasts, this seems to be what most people are doing:
List Configured Broadcasts:
var client = new CallfireClient("api-login", "api-password", CallfireClients.Rest);
var broadcastClient = client.Broadcasts;
var cfQueryBroadcasts = new CfQueryBroadcasts();
var cfBroadcastQueryResult = broadcastClient.QueryBroadcasts(cfQueryBroadcasts);
if (cfBroadcastQueryResult.Broadcast != null)
{
var broadcastList = new string[cfBroadcastQueryResult.Broadcast.Count()];
for (var i = 0; i < cfBroadcastQueryResult.Broadcast.Count(); i++)
{
var cfBroadcast = cfBroadcastQueryResult.Broadcast[i];
broadcastList[i] = string.Format("{0} {1} - Status: {2} Last Modified: {3} Type: {4}",
cfBroadcast.Name, cfBroadcast.Id, cfBroadcast.Status, cfBroadcast.LastModified, cfBroadcast.Type);
}
}
Start an Existing Broadcast
var client = new CallfireClient("api-login", "api-password", CallfireClients.Rest);
var broadcastClient = client.Broadcasts;
var broadcastId = 1234567890;
var cfControlBroadcast = new CfControlBroadcast(broadcastId, null, CfBroadcastCommand.Start, null);
broadcastClient.ControlBroadcast(ControlBroadcast);
Adding Contacts to Broadcast
var client = new CallfireClient("api-login", "api-password", CallfireClients.Rest);
var broadcastClient = client.Broadcasts;
var broadcastId = 1234567890;
var batchName = "My Contact Batch";
var contact_1 = new CfContact();
contact_1.Id = 15551231234;
contact_1.FirstName = "John";
contact_1.LastName = "Doe";
var contact_2 = new CfContact();
contact_2.Id = 15551231235;
contact_2.FirstName = "Jane";
contact_2.LastName = "Smith";
object[] contactList = { contact_1, contact_2};
var client = new CallfireClient("api-login", "api-password", CallfireClients.Rest);
var broadcastClient = client.Broadcasts;
CreateContactBatch = new CfCreateContactBatch(null, broadcastId, batchName, contactList, false);
var id = broadcastClient.CreateContactBatch(CreateContactBatch);
Upvotes: 0