InfusionSoft API for AbleCommerce all done

I finally finished the InfusionSoft integration with AbleCommerce that I’ve been working on.

The initial steps to push a contact are pretty simple.  But most times, it not enough to just push contact info.  You want to use tags, you want do email marketing, you want to set specific defaults.  But these aren’t set by the basic CreateContact API provided by InfusionSoft.

Thus I wrote my own optIn routine so emails imported with the API aren’t marked as ‘not marketable’.  Now they come in as ‘Unconfirmed’ like they should.  AbleCommerce doesn’t really have a flag for this.

And I wrote a routine to pull down all tags defined in InfusionSoft so they can be assigned to specific trigger actions via a backend configuration page.  This turned out excellent and minimizes future programming changes.  Client just needs to change the dropdown and *poof* new customers are automatically assigned to the designated InfusionSoft tag.

Overall, a fun project.  I like working with API interfaces.  Especially ones that are well documented like the InfusionSoft API.

InfusionSoft API for AbleCommerce

Having a blast putting together a nice integration between InfusionSoft and AbleCommerce. 

So far I can:

  • Push new contacts into InfusionSoft from AbleCommerce user records
  • Look up existing InfusionSoft contacts
  • Identify all InfusionSoft tags
  • Assign existing InfusionSoft contacts to tags
  • Update custom InfusionSoft fields

The API for InfusionSoft is pretty slick.  Implementing it using the necessary 3rd party library wasn’t hard either.  But putting together the necessary classes to drive the integration took a little more effort than I expected.

Looking forward to seeing this fully automated in the post-checkout routine.  It’ll really save the client a ton of time, no more re-entering customers into InfusionSoft.

How to force HTTPS/SSL in AbleCommerce Gold

Just like AbleCommerce 7.x, AbleCommerce Gold uses a specific configuration file to identify which pages/folders should force SSL.  Obviously key pages like the login page, the admin pages, checkout etc are all set to force SSL by default. 

But sometimes you need your own custom stuff to force SSL.  In my case, it’s my Quickbooks Connector for AbleCommerce.  The Intuit Web Connector program will only transfer to a public IP using HTTPS.  Any attempt to do so with straight HTTP will result in an Authentication Failed error response.

To force SSL connection on a specific page/file in your AbleCommerce Gold install, edit the /App_Data/ssl.config file and add the appropriate file name.  You’ll see the necessary syntax with the other entries in the file.

Make sure the file name is in all lower case in the ssl.config AND the actual file on your drive.    Able has had some issues with failing to recognize filenames when the case is not the same between what’s in the ssl.config and the actual file itself.  This was supposed to be corrected in Gold R3 however that has not been confirmed as of this writing.