C# Interface for StreamSend (EMail Marketing System) api

Closed Posted Jul 13, 2009 Paid on delivery
Closed Paid on delivery

I would like an object-oriented C# library for accessing the StreamSend EMail Marketing Program. (see [url removed, login to view] ... for API see [url removed, login to view]) Final deliverable must include source code.

This will be a very easy project for anyone who has written for the StreamSend API Before.

The Library Must Include the Following:

namespace EMailMarketing

{

interface EMM // EMM stand for EMailMarketing

interface Account : EMM

class StreamSendAccount : [url removed, login to view]

interface MailList : EMM

class StreamSendList : [url removed, login to view]

interface Person : EMM

class StreamSendPerson : [url removed, login to view]

interface EMailBody : EMM

class StreamSendEMailBody : [url removed, login to view]

interface Blast : EMM

class StreamSendBlast : [url removed, login to view]

interface BlastData : EMM

class StreamSendBlastData : [url removed, login to view]

interface BlastReport : EMM

class StreamSendBlastReport : [url removed, login to view]

}

## Deliverables

Here is the Library Structure: READ ALL OF THIS BEFORE BIDDING!

namespace EMailMarketing // for all classes & interfaces that follow

interface EMM // EMM stand for EMailMarketing

{

bool DidLastRemoteCallSucceed;

string LastRemoteCallInformation;

bool AreExceptionsTurnedOn;

// default true, if false, no exceptions thrown

// for bad indexing or connection timeouts

}

interface Account : EMM

{

// same interface as StreamSend Child Below

}

class StreamSendAccount : [url removed, login to view]

{

public properties:

string Name, AdminEMail (automated-email-addr), Username, Password, APICode

int Quota, SoftBounceTollerance

[url removed, login to view] List[int index];

[url removed, login to view] List[string listName];

}

// since SS has no implementation for more than one audience, there will

// be no corresponding C# Audience Object

interface MailList : EMM

{

// same interface as StreamSend Child Below

}

class StreamSendList : [url removed, login to view]

{

public property string Name;

// return whether or not call succeeded

void Subscribe([url removed, login to view] p);

void Unsubscribe([url removed, login to view] p);

// returns whether or not p is in this list

bool doesContain([url removed, login to view] p);

// returns an array of people in this list - including all field data

// all persons will be "isSynchedUpWithDB"

Array of [url removed, login to view] GetAllPersonData();

}

interface Person : EMM

{

// same interface as StreamSend Child Below

}

class StreamSendPerson : [url removed, login to view]

{

properties

string EMail, FirstName, LastName, Street1, Street2, City, State, Zip;

int ;

bool isSynchedUpWithDB; // default false

void readSyncWithDB();

void writeSynchWithDB();

void AddLabel(string label);

void RemoveLabel(string label);

void RemoveAllLabels();

bool isLabeled(string label);

string getField(string fieldName);

void setField(string fieldName, string setter);

bool UnsubscribeAll(); // returns whether or not call succeeded -- unsubscribing from all lists

}

interface EMailBody : EMM

{

// same interface as StreamSend Child Below

}

class StreamSendEMailBody : [url removed, login to view]

{

properties: string Text, Html;

void SaveAs(string Name);

void Load(string Name);

void Load(int id);

}

interface Blast : EMM

{

// same interface as StreamSend Child Below

}

class StreamSendBlast : [url removed, login to view]

{

properties: FromName, FromEMail, ReplyToName, ReplyToEMail, Subject;

(read-only) int ID;

[url removed, login to view] Body;

// recipients stuff

void IncludeList([url removed, login to view] l);

void ExcludeList([url removed, login to view] l);

void Filter([url removed, login to view] f);

// sending -- track clicks & views by default

void Send();

void Send(DateTime scheduledFor);

void SendTest(string emails_to);

}

interface BlastData : EMM

{

// same interface as StreamSend Child Below

}

class StreamSendBlastData : [url removed, login to view]

{

properties (read-only) : (unique)

int ID;

string Subject;

int People, Delivered, Bounced, Viewers, Clickers, Unsubscribes;

DateTime Sent;

}

interface BlastReport : EMM

{

// same interface as StreamSend Child Below

}

class StreamSendBlastReport : [url removed, login to view]

{

array of [url removed, login to view][];

// for checking to see if a blast has been scheduled, but not sent

bool isBlastScheduledButNotSent(int id);

bool isBlastScheduledButNotSent(string subject);

// time the blast was sent, returns null if no match

DateTime BlastSent(int id);

DateTime BlastSent(string subject);

// for either sent or ready to send

bool isBlastScheduled(int id)

{ return isBlastScheduledButNotSent(id) || (BlastSent(id) != null); }

bool isBlastScheduledButNotSent(string subj);

{ return isBlastScheduledButNotSent(subj) || (BlastSent(subj) != null); }

}

You may add any necessary or convenient members, methods, etc.

This is the minimum and also a look at how I'd like the library to be structured. If you have questions about this library structure or logistics, contact me and I will clear things up quickly. I am looking for someone who can start on this soon.

Note: I will not even look at your bid unless you write "Super Stream" in your subject heading. This is how I will know you've read all the way through the requirements. If I do not see "Super Stream" in your subject heading, I will assume you have not read the requirements and throw away your bid.

.NET ASP C# Programming Engineering MySQL PHP Project Management Software Architecture Software Testing Web Hosting Website Management Website Testing

Project ID: #2800714

About the project

8 proposals Remote project Active Aug 3, 2009

8 freelancers are bidding on average $363 for this job

itgurussoftware

See private message.

$749.7 USD in 14 days
(134 Reviews)
8.2
suryavijayvw

See private message.

$322.15 USD in 14 days
(129 Reviews)
5.7
trungk43

See private message.

$255 USD in 14 days
(36 Reviews)
4.6
codexone

See private message.

$170 USD in 14 days
(14 Reviews)
3.9
felippero

See private message.

$212.5 USD in 14 days
(6 Reviews)
2.5
parthi007

See private message.

$85.85 USD in 14 days
(0 Reviews)
0.0
vw7092778vw

See private message.

$425.85 USD in 14 days
(0 Reviews)
0.0
codersdenvw

See private message.

$680 USD in 14 days
(2 Reviews)
0.0