Archive

Archive for the ‘Infusionsoft’ Category

Custom Storefront for the Infusionsoft Shopping Cart

March 21st, 2010

The Infusionsoft shopping cart is one of the weakest parts of Infusionsoft!

Fortunately, there is a work around that let’s you use their checkout and still have the other great parts of Infusionsoft — Marketing automation and email marketing. Here’s what you do:

  • Code your own custom storefront and cart
  • When the customer clicks Checkout, pass their shopping cart to Infusionsoft’s cart checkout
  • Lock Infusionsoft’s cart to prevent the customer from changing quantities

Code your own Storefront and Cart

You can modify one of the open source shopping cart solutions or create your own. This is potentially a broad topic, so if you want to know more, please leave me a question or a comment. The key things that are required are:

  • Ways for customers to find the products they want and add them to their cart
  • A way to store the products and quantities they have selected
  • A shopping cart page that let’s them see the items they are purchasing and add or remove items
  • A checkout button that will take them to the Infusionsoft checkout page.

Pass the Shopping Cart Information to Infusionsoft

Now, we have to get the products and quantities from your custom cart into Infusionsoft. Essentially, all you have to do is pass the products and quantities to Infusionsoft via URL parameters. Here is the base URL.

https://YourApp.infusionsoft.com/cart/?update=true&l=n&cart_skin=1&clear=true&Order0_OrderID=123

In this case, I’m also passing in an OrderID which is a custom order field I created in Infusionsoft. Then, add the following for each product:

&product_id=456 &p456_qty=2

I highlighted in red the values that have to be dynamically inserted. Now, when the user clicks checkout, you build this URL, and send them to the URL.

Lock the Infusionsoft Shopping Cart

There’s just one problem. You may not want the customer to change the quantities on the Infusionsoft side. Here’s a trick that let’s you lock the Infusionsoft checkout page. Enter the following javascript in HTML Area-1 in your shopping cart skin:

<script type="text/javascript" language="javascript">
    var elem = document.getElementById('theOneForm').elements;
    for(var i = 0; i < elem.length; i++) {
        if ( right(elem[i].name, 4) == '_qty' ) {
            elem[i].disabled=true;
        }
    }

    //Overrides the remove(key) function
    function remove(key) {
        alert('Please Click Continue Shopping to modify quantities or remove items.');
    }

    function right(str, n){
        if (n <= 0)
            return "";
        else if (n > String(str).length)
            return str;
        else {
            var iLen = String(str).length;
            return String(str).substring(iLen, iLen - n);
        }
    }
</script>

This script will:

  • Find all the quantity fields on the form and disable them
  • Override the remove link

It’s not a perfect solution, but it does work!

If you need a better, more complete shopping cart, the best thing is to use a 3rd party shopping cart (Like Volusion or many others), and then use the Infusionsoft API to get relevant data into Infusionsoft.

Please leave me a comment below if this is helpful!

Clarke Bishop Infusionsoft ,

Infusionsoft Software API Review

March 18th, 2010

Infusionsoft Software API Overall Grade: B-

API means Application Programming Interface. Essentially it’s a “language” that lets two computers talk to each other.

Let’s say you have some custom system that you use to run your business. If your system could talk to Infusionsoft, but systems could work together to help your business run more efficiently.

Rather than reinvent the wheel, here is a list of ways you can use the Infusionsoft API (from Joe Manna of Infusionsoft). If you have questions about what you might do, please leave a comment below.

For now, I’m going to give you my review of the API. Here are the good things about it:

  • It lets you solve a lot of problems that otherwise couldn’t be solved.
  • It’s reliable. Once coded and setup, it works well.
  • It give you a decent set of functions to query the available database tables and retrieve and update information.

But there are also some things that are incomplete or don’t work as well:

  • It uses XMLRPC which is an older web services protocol. It works, but can be harder to use.
  • There is a lot of data which you would like to get that isn’t accessible via the API.
    • For example, email statistics are available via the reporting interface, but not the API.
    • Infusionsoft is understandably protective of some data — Double Optins for example. If users could double optin via the API, that’s asking for abuse.
    • Still, for the most part, I think users should be able to retrieve their data.
  • The API does not always seem to be a priority for Infusionsoft.  Additional functionality is promised, but then never happens. There are clear gaps in functionality that need to be addressed.
  • Support for the API has declined lately. I think there has been some turnover and some key API knowledge left the company.

There is a PHP SDK that can help get a PHP programmer started. And, there are several websites that at least offer some documentation.

Overall, the API has a lot of possibility, but spotty implementation. I’m glad it’s there, but it could also be so much better!

Clarke Bishop Infusionsoft , ,