Slippy
Slippy

Reputation: 55

C# .NET CallFire SOAP API

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

Answers (1)

ObiWanShanobi
ObiWanShanobi

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

Related Questions