Posts Tagged ‘open-source’
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
How cool is it when a business you love and respect makes one of your own products even better? Here at Sproutbox we dig seeing companies who make it easier for entrepreneurs to get back to running their businesses by simplifying administrative tasks. Atlantic Dominion Solutions (ADS) focuses on building lean, mean web applications that are incredibly user friendly. That’s why ADS and CheddarGetter were such a natural fit.
ADS just made CheddarGetter even easier to use and more accessible by building a Ruby wrapper for the CheddarGetter API. The blog post, complete with links to the gems is available here.
We love this kind of collaboration and look forward to working with ADS well into the future. If you’d like to work on CheddarGetter or any other of our applications and you’d like to bounce ideas off of us, feel free to get in contact with us.
Give CheddarGetter a follow on Twitter.
Posted by Marc on October 6, 2009
No Comments



