Matthew Harris
11/11/2016
magento

Magento is one of the world’s leading eCommerce platforms, with analysis by AheadWorks showing it has the highest market share amongst the top 1 million websites as ranked by Alexa. It stands to reason that users of the #1 Commerce platform want to use the world’s #1 CRM platform as well, and so we often find clients asking us about integration possibilities between Magento and Salesforce. DataColada mix years of experience in salesforce, eCommerce platform development and human-centred design to create innovative solutions.

Your customers and staff will benefit when Magento and Salesforce don’t behave as separate silos. Your support personnel won’t be logged into two disparate systems and your customers can do Single Sign On between your Salesforce Communities and the Marketo commerce platform. They need be neither aware nor concerned that there are two different systems but rather they can enjoy the benefits of both.

A map that reflects the territory

Oftentimes developers want to get into the specifics of the solution itself: products, plugins, code and so on. But unless you know exactly how your systems need to intersect you’ll find yourself flying blind, and a lot of the time that leads to tripping over yourself redoing things. If you want to do it once and do it right, you’ll want to make sure your mental map of how things should work reflects the territory of how they do work. As a starting point, some interactions to consider are:

  • When a customer first registers on the Magento site
  • When a customer makes a purchase
  • When a customer has a complaint, issue or wants to return a product. Where does the process start and finish?
  • When a customer’s details change in Salesforce. Do you need these changes to be passed through to Magento?
  • Do Not Contact information
  • Landing pages and other marketing automation
  • Event handling such as shopping cart abandonment or product/seller feedback
  • Beyond this, you’ll also want to think about synchronisation speed – whether immediate, event driven synchronisation is required or if scheduled batch jobs would do the job just as well – as well as scalability; solutions need to be able to grow with the business. Magento doesn’t have governator limits to worry about like Salesforce does, however unlike Salesforce server performance still needs to be taken into account; infrastructure components like CPU, HDD & I/O need to be factored in when assessing a synchronisation model.

    Decisions, decisions

    There exist a number of ways to integrate these two systems on both Magento Connect and the Salesforce AppExchange. Note however that in order to facilitate this integration your Salesforce instance needs to support web services; if you’re currently on Professional Edition, you’ll need to purchase this separately. Magento’s compatibility with plugins is more multi-layered, so double-check that the solution you opt for is compatible with your version.

    Off-the-shelf components greatly increase solution simplicity, but they also are less flexible. This means that if you elect to go with this approach you should be certain that the components allow for all integration scenarios; this makes it even more important that you go through the previous step thoroughly. That said however, most plugins have money back or trial periods.

    A bespoke solution by comparison will always cater to all integration scenarios and will often have much lower running costs, however the up-front expenditure will be higher. There’s a couple of pieces of Salesforce magic you can pull out of your hat to make the integration much smoother as well:

  • For Salesforce to Magento synchronisation you can build a listener on Magento using a wsdl2php tool; this way, Magento can consume Outbound Messaging (SOAP) from Salesforce. The upshot of this is that business users in Salesforce can use Workflow Rules to send messages to Magento without any coding expertise.
  • For Magento to Salesforce synchronisation, you can create a REST and/or Bulk API for Magento to push records or pull data upon request. This allows you to maintain your business rules and processes within Salesforce rather than spreading your them across two systems and increasing maintenance costs.
  • Beyond the build

    It’s unlikely that the development team maintaining Magento is the same team maintaining Salesforce. As a result, you should ensure that developers for both systems have a clear communication path and share common documents and other resources. No problem was ever made worse by having more communication, so make sure that communication lines are strong. If or when things go wrong, you’ll want to be able to both detect the issue and rectify it quickly. Make sure both systems are keeping error logs and that support staff can access them. Finally, you can consider an external testing tool which monitors both Magento and Salesforce and independently verifies that the systems match.

    Get in touch

    +61 408 833 307
    hello@datacolada.com

    Find us here

    Level 3, 478 George Street
    Sydney NSW 2000