Posts Tagged ‘cheddargetter’
Ok, let’s be honest, I never really was any good at following directions. That’s probably why I’m an entrepreneur today. That’s also why I spent a few hours trying to find out why I kept getting this error when trying to talk to the CampaignMonitor API in the most basic way:
(101) Invalid ListID
Ok, yeah I didn’t read every line of the documentation. I’ve worked with countless API’s in the past and continue to do so. They’re all very simple on the surface but they all have their little nuances. It turns out that the CM API has one of the most annoying quirks that I’ve ever seen.
I’ll start at the beginning. I decided I wanted to use the API to add subscribers to a list on CM. That’s pretty straightforward, I thought. You know, some sort of authentication mechanism, then provide the email address in some REST-ful way. I glanced at the docs to see that there is a SOAP interface. I quickly decide on that since usually this bloated way of interacting with a simple API is the quickest to code. So, I fire up a SoapClient and throw the four parameters at it and I get that 101 error. Again and again, I try every different way I can think of. Same 101 error.
During the pulling-out-hair stage, I ran across this post: Using Zend_Soap_Client with the Campaign Monitor API which pointed toward the need for a special input header. That prompted me to write a wrapper. I’ll get to that in a sec. It turns out that the input header wasn’t required after all.
When I glanced at the CM API documentation, I saw that there are 3 parameters required for the Subscriber.Add call: ApiKey, ListID, Email. Easy enough. It took a sec to find the ApiKey. The Email parameter is easy. So is the ListID, or so I thought. To find that, I just clicked on the list name in the CM gui and then there, in the address bar, was exactly what I was looking for:

Nope. Its a ListID but not the ListID. No, I had to click on the “edit list name/type” link to find that. What a waste of half a day.
Alright, I’m done blaming CampaignMonitor for my inability to RTFM. I wrote a very quick wrapper around the Zend_Soap_Client class specifically for CampaignMonitor API oddities. Hopefully this will save someone else some headache. Download it here:
Use it like so:
$cm = new CG_CampaignMonitor('yourApiKey', 'yourListID');
$result = $cm->AddSubscriber(array('Email'=>'test@example.com', 'Name'=>'Test Subscriber'));
Posted by Marc on February 24, 2010
No Comments
Neither GainStudio nor FeedMagnet will be spending months building a billing application. That’s good because CheddarGetter already did. Instead, they’ve provided the CheddarGetter open source community with two more API wrappers, a simpler task by a long shot.
FeedMagnet’s PyCheddar is a Django compatible Python offering by Jason Ford and Luke Sneeringer designed to closely emulate Django models. Get it from GitHub here. Also available at PyPi. FeedMagnet is a social media aggregation, filtering and moderation engine. Follow them on Twitter @feedmagnet.
Hans at GainStudio recently wrote and released the initial version of yet another cleverly named library, cheddarsnake, a Python wrapper. GainStudio is a project and facility management tool for recording studios, audio-visual studios, advertising departments, and editing and post-production facilities. Follow them on Twitter @gainstudio.
More information about the CheddarGetter API is here.
Posted by Marc on February 1, 2010
No Comments
In the last decade or so I think we can all agree that the internets have come a long way. Cloud infrastructure, application technology and hardware have evolved beyond my expectations. The market is abuzz with third party, value-add products that make application service providing (ASP) easier and easier every day. The clearest sign of civilization is specialization right? ASP’s are becoming more and more specialized. The industry even has a new name for it: Software as a Service (SaaS).
All these years, systems administrators and application developers have been concerned about application uptime, points of failure, fault tolerance, disaster recovery, geographic redundancy… oh you get the idea. I haven’t noticed much evidence of the evolution of thought on these subjects as the technology has improved. I think that’s because of fear. See, if an application is down. Someone is to blame. No, not a router, not a hard drive, not a line of code. A person. People make decisions. Fear causes bad decisions or worse, indecision. Removing the possibility of failure reduces the potential to be blamed. Um, yeah, but at what cost?
The tubes are now all about agile specialists. The more agile you are the better. The environment is actually feeding itself. Successful SaaS providers use each other to be faster; to get their service to market quicker; to concentrate on what they do best. Successful companies aren’t afraid of downtime. They are not concerned with geographic redundancy. If they were, they’d be spending too much time mitigating their fear.
Ok, I’ll admit, I started writing this post because I heard about downtime one too many times recently. My latest app, CheddarGetter is a SaaS application. We specialize in pricing and subscription management. It’s important stuff but It’s nothing to be afraid of. Any application developer worth her salt can read the paypal api docs and include rudimentary billing support for a web application. But if it’s not your specialty, why would you waste your time? Sure, if you use CheddarGetter to bill for your app and the service is down, you can’t signup a new customer. Well, guess what? If CheddarGetter is down, no one can sign up for CheddarGetter either. See, CheddarGetter uses itself to bill for itself. That’s built in motivation to eliminate downtime, to increase fault tolerance, to limit points of failure. That motivation only increases as the customer base grows. Which application do you think will have the best uptime? CheddarGetter or the ill conceived, limited, proprietary, likely undocumented, single-use billing functionality written by a developers who may or may not be on vacation or currently working for a different, successful SaaS company.
Stop living in fear. Start making money.
Posted by Marc on November 9, 2009
3 Comments



