• APIs, Webhooks and eCommerce Integration

One of the main reasons for moving to a sophisticated inventory and accounting ERP solution is that it allows for real-time integration with other software applications and websites. For eCommerce businesses, this integration is a key component to running a successful online store. Think back to the last time you ordered something online.  How was the experience? Did you have any issues entering payment information? Did you receive a confirmation email with shipping and tracking information? Although the front-end eCommerce experience is important, back-end processes to actually pick, pack and ship orders is just as important. Therefore, integration between back-end inventory and accounting ERP software and your eCommerce site can dictate how quickly orders get to customers and as a result will have a large impact on your bottom line and customer satisfaction. Even though integration allows multiple applications and websites to communicate with one another, it does not mean that your company’s processes are automated. For there to be automation where multiple systems are involved, it will require some form of integration, but automation goes one step further and eliminates the need for human interaction.

ERP software is designed to be an all-in-one solution to manage back-end processes – from purchasing to receiving, to shipping and invoicing.  All-in-one does not mean that there won’t be any integration, and it is important to divide back-end processes from front-end so that adequate resources are assigned to each. Therefore, the right system will provide tools for real-time integration between ERP and webstores, as well as marketplaces such as Amazon and eBay and other software applications such as EDI. To better understand how integration and automation work with eCommerce sites and ERP, we first must explain some common terminology, namely the term API and Webhook. Understanding APIs and Webhooks – even at a high level – is important in order to make the right business and software decisions.

API

An API or “Application Program Interface” is a set of routines, protocols, and tools for building software applications. An API specifies how software components should interact and allows multiple, separate systems to communicate and share information with one another. Essentially when a software application has an API, it means that it has the ability to share data with any other application that also has an API. Theoretically, the possibilities are endless – APIs provide the ability to request and deliver information to other software applications, and therefore, any system with an API can communicate and share information with other solutions that also have an available and complete API. In practice, however, APIs are a bit more complicated.

Typically, APIs are made up of a number of subcomponents – communications, security and payload (payload being the actual data made available for export from the application in question). Therefore, the data you’re looking to automatically share between applications needs to be a part of the API payload for it to work. Breaking APIs down further, there are two commonly used API communication approaches: SOAP and REST.

  • SOAP stands for Simple Object Access Protocol and has been around the longest. SOAP APIs are usually paired with application layer protocols such as HTTP and SMTP, and the payload is XML. SOAP APIs are more complex with stricter standards when it comes to security and how messages get sent.
  • REST stands for Representational State Transfer and is a newer API structure. REST APIs use simpler tools to communicate such as HTTP, and there are four HTTP methods with REST: GET, POST, PUT and DELETE. Unlike SOAP APIs where the payload is XML, the REST payload is XML, JSON or both.

When discussing APIs, it is important to note that not all APIs are created equal, and some are better than others.  The quality of an API will impact the level of integration and automation possible – a bad API can be the difference between complete automation and using workarounds and manual processes.  It is also important to note that a complete API means integration is absolute – you’re either fully integrated or you’re not at all.  Therefore, if integration via an API still requires manual intervention, the API in question is missing certain key features and it might be time to consider a more robust solution with a complete API and 100% integration capabilities.

There are 2 main types of APIs, public and private.

  • Public APIs make data available to the outside world and general public. A great example is Facebook’s open API which allows users to create an account on other external sites or applications using their Facebook login credentials.
  • Private APIs make data available between internal parties and are not available to the general public. This would include the example of an eCommerce site sharing information with an ERP solution.

APIs provide the technology to be able to automate and communicate data between applications.  Webhooks, on the other hand, dictate the configuration of how data moves between applications.

Webhook

A webhook is a developer term for describing a way of modifying the behavior of a web page or application through custom callbacks. Defined an as HTTP callback, webhooks are usually triggered by some sort of event, such as when an online visitor posts a comment to a blog.  The idea is that webhooks cause events on one site to invoke behavior on another. When the event occurs, the source site makes an HTTP request to the URL configured for the webhook. Webhooks will either push or pull data between applications.  Essentially APIs allow for the movement of data between applications, and webhooks control how much data and how often data moves in and out of an application. Webhooks are either defined as push or pull.

  • Push webhooks are triggered by a specific event and are then instantly received by the calling application
  • Pull webhooks are triggered at a scheduled time and are often set-up to send data between applications in batches at regular intervals

For eCommerce businesses who have an online webstore integrated with their back-end inventory and accounting ERP software, the ERP’s API and the webstore’s API allow information to move between both applications. The associated webhooks then dictate how much and how often data flows.  Order volume and frequency are two factors that help dictate webhook configuration between an ERP system and eCommerce site.  An eCommerce site that only generates a few orders in a day, will not necessarily need information to flow in real-time and may be able to get away with information being pulled in batches at regular intervals throughout the day.  A large, multi-national eCommerce site on the other hand, with high order volume and frequency, will need to make sure that order information is flowing directly into its ERP system in real-time in order to get the orders picked, packed and shipped in a timely manner.

With proper integration and complete APIs and webhooks, information automatically flows between business applications – which increases efficiencies and reduces the errors associated with manual intervention. When working to integrate your eCommerce store and ERP system it is important to define your integration goals and find a reputable integration partner.

  • With push webhooks, consider what information you want to be pushed in real-time and whether or not your order volume dictates real-time data flow. Important information to share between applications includes inventory quantities, pricing, and descriptions, order information, address and contact information, billing and credit card information etc.
  • With pull webhooks, consider how often you require information to be pulled between applications. Take into account average number of orders a day, peak shopping times, product seasonality and available resources.

Although access to API information is provided by the ERP vendor and eCommerce platform, making use of the API and setting up webhooks becomes the responsibility of an integration partner. Some integration companies charge a set cost for integration whereas others charge per transaction – or a combination of both. A good understanding of APIs and webhooks will help you find the right integration partner, one who has expertise in data movement and automation and a library of already set-up connectors to work with.

Guide to eCommerce and ERP Integration