How to Integrate an Ecommerce Website with Logistics Service3 January 2018
A question, if you will. Would you like to get more sales? More sales is more money, right? So, why wouldn’t you?
Your next marketing campaign floods your website with a heavy amount of traffic. The site doesn’t fall under the pressure but what about the order fulfillment? There is only so much supply you can dispatch on your own. Before you know it, you need more goods, more people, more everything. And since you cannot meet the demand, clients don’t get their stuff. They start getting angry, decimating you with negative feedback about their awful customer experience. This way you end up paying the ultimate cost for the short-term success. The trick is that you can only technically wear multiple hats. Many big companies do, in fact, and many do poorly.
Are you really ready to manage an extra-large warehouse as well as the truck fleet? By all means, you do need to delegate the fulfillment to 3PL service providers. Now is the time of sharing economy. According to a case study by Logistics Management, the TMS system development is on the rise, while food restaurant industry is another perfect example of how one does much better by delegating delivery on smaller scale.
There is a myriad of technicalities involved into establishing this kind of partnership. One thing we will tackle in this article is merging your online platform and that of your business associates.
We ourselves have had the chance to work with Hermes GmbH and Anton Röhr Logistic Group, helping them with API integrations into web retailers and data exchange. In one case we’ve had to integrate ecommerce website with an inventory management system called FLEXE as well as the case with ShipStation to aggregate orders obtained at multiple marketplaces including AliExpress, Amazon and Ebay. Ecommerce inventory management is a whole different beast from the supply chain management. One of the particular things we also excel at is custom label creation for packages via PDF conversion.
We find the above online shopping logistics services to be superior in may respects. However, this guide applies to any solutions you would use. Without further adieu, here are some of the best practices on how to integrate an ecommerce website with logistics web API.
SEPARATING YOUR WEBSITE FROM THE API
Data exchange between the retailer website and the logistics partner is highly intricate. Information on payments, taxes, prices. All this info on ecommerce stock management may be sent via different methods including HTTP, WebServices, MQ/JMS etc. Whichever you’ll prefer, one major aspect to keep in mind is maintaining the website and the API isolated, so that the API cannot take down the website in case it crashes. The issue is especially sensitive with ecommerce, as the external calls are bound to the user input on the website itself. For example, sending out an update regarding inventory management for ecommerce website and fetching the changing information from it.
This is why you should fragment the data transfer and separate the parts that buyers deal with. Don’t execute via the action issued by the user but instead save it in the database. Create a scheduled process with a constant refresh rate that would periodically check the database and transfer the order data from within itself. When you try to integrate website with logistic service the given method also helps you save the resources that would otherwise be booked by waiting for the server responses when doing all this directly.
Whenever possible, you should cache data from the external calls. This way you can bring down the dependency of both systems and the amount of real-time data exchange. For instance, you may create a scenario in which you utilize the local database cache to save inventory figures from the outbound system that manages orders. This way the configuration automatically determines whether there is actual need for out-coming interaction. Thanks to this kind of setup, you depend on locally cached data for the major portion of requests with minimized need to communicate with the external system.
USE OF CIRCUIT BREAKER
First thing your system has to do is stop sending requests to the API in case it has been identified as unavailable. Otherwise, the server will send multiple requests to reach the API. It will get no response from any and block all the available threads waiting for the response. In order to achieve this, you need the API to provide Webhooks, which we’ll discuss below. Otherwise, introduce a heartbeat routine that would run checks on the outbound server. All requests are sent only upon confirming the status and, in case the status appears to be offline, the website is simply fetching the cached data to the user.
Aside from caching and in lines with reducing the data dependencies, Webhooks are the API responses that the API is courteously providing in order to save your website from having to do the troublesome checks on its own. The trick is that the third party e-commerce logistics product may or may not provide functionality to these ends.
Webhooks get calls via HTTP POSTs only when there is an update to the cached info and also confirm that the API is up and running. The main difference to the hear?beat routine, you’d have to run otherwise, is that the data exchange occurs when there is some stuff to refresh and not routinely. Webhooks deliver the data transfer that is nearly real-time and superior in most respects. However, in comparison to the heartbeat, there is no telling that the Webhook is keeping quiet due to a malfunction instead of simply having nothing new to say.
Additionally, Webhooks give you less control over the data intake volume which has to be additionally adjusted to be well-regulated.
There are no common denominators with Webhooks, and each API has its own miscellaneous approach to how they are designed. Bottom line, Webhook is supposed to have a timestamp, webhook_id if it was given by the client in the first place and type in case there are multiple types of Webhooks in the system.
You should refrain from sending an ID that needs to be figured out with an additional API request. Despite many popular social networks doing this, the practice is ill-advised.
With ecommerce, payment data and personal information, it is highly important that all the data is secure. For this reason, SSL and TLS encryption are in order. As for Webhooks, they too can be augmented to double-check whether the request is genuinely coming from the shop and not anywhere else. A great way to go about this is setting up a secret confirmation token that would verify the providence of the call.
All transports and invocations that go externally should have time limitation. It’s best to use the shortest length for timeout. 5 Seconds at best. This way you don’t create pileups in the server threads. It just doesn’t infinitely wait for the response from the outbound API. Long timeouts lasting for, say, 1 minute will quickly deplete the pool of available threads, and new shoppers won’t be able to reach you. The documentation should help with the given adjustments.
CONSIDERATIONS TO CHOOSING A PRODUCT WITH GOOD API
Finally, in case you haven’t chosen the product or the company that you will merge with your website, remember to evaluate the quality of their API before making the final call. The best e-commerce logistics APIs are famed for good documentation, so this is the most telling sign.
Your app is supposed to ration the amount of data that is transferred in one go, as well as the frequency of these transfers.
Criteria search is also important as your API is supposed to include the search by parameters, one of the most important being the date modified. It helps in being a great point of reference after each sync with the website. This way we can find all the changes that have occurred.
Another valuable element to help you minimize the friction of e-commerce logistics integration is the sandbox environment. It’s quite difficult to test how your website operates with a third-party installed. The kind of environments you can come up with on your own, are laborious to set up and they might not satisfy the required criteria. While the sandbox won’t give you the chance to run tests with real banner ads, being able to use the turnkey environment of the API provider will greatly enhance the efforts of your QA team and make sure that no bugs make it into the final release.
Meanwhile, it becomes more and more common for companies and startups to dedicate top priority roles to APIs instead of trying to fill them on their own. API-driven development is the upcoming trend of 2018 and we are yet to see the most thoughtful 3rd party fusions.
We hope this guide has been helpful. Whether you’re building your e-commerce website from top to bottom or choosing to work with a solution that is pre-made to various degrees, this piece should give you the most essential ideas on the integration of your website with 3rd party API for ecommerce shipping and inventory management.