Background

Eshopbox is an on-demand technology and services company on a mission to drive e-commerce for brands, and help them provide a unique, brand-centric experience to their customers. They transform clients’ eCommerce vision to splendid reality, from eCommerce Order Management to a fully integrated shop-to-ship solution or any a-la-carte component in between – Eshopbox has the platform, services, and solutions to help brands build it, manage it and profit. Their team is led by experts with a unique combination of skill sets including technology, ingenuity and marketing. Till date, Eshopbox has managed 10 million units worth more than INR 1 billion across 1.5 million SKUs listed on 20+ channels for more than 125 companies on a warehousing space of 150K square feet.

Challenge

Eshopbox thrives to optimize & drive eCommerce life cycle for ambitious companies via their E-commerce Management Platform. In this process, supporting secure AS2 based trading facilities was a must for Eshopbox. Thus they needed an AS2 solution which can easily integrate with their E-commerce Management Platform while having the capacity to handle thousands of transactions per day. Since Eshopbox platforms already work closely with Google Cloud Infrastructure they wanted an AS2 solution which can be deployed on the Google Cloud Platform (GCP). Moreover, Eshopbox wanted a decoupled mechanism which is similar to a queue based solution to make the AS2 solution work with the Eshopbox backend systems. Further, Eshopbox required a user-friendly dashboard to monitor and administer the AS2 transactions and integration messages.

Solution

Eshopbox selected AdroitLogic AS2 Gateway On-Premise solution as the AS2 solution for their E-commerce Management Platform. AdroitLogic overlooked the design, development and deployment phases while working closely with the Eshopbox team.

In the inbound AS2 message flow, AS2 messages are received over HTTPS by the AS2 Gateway On-Premise deployment and a successful Message Disposition Notification (MDN) is sent back to the partner. Then the files received in the message are uploaded to a specific bucket in Google Cloud Storage based on the timestamp and partner AS2 identifier of the received message. Once the upload is successful, a JSON notification message is pushed to a Google Pub/Sub topic (incoming notifications) with the information on the received AS2 message, including the AS2 identifier of the local station for which the received message was intended, AS2 identifier of the partner, timestamp, names of the files received via the AS2 message, and the Google Cloud Storage location where the received files were uploaded to. The Eshopbox backend processing system listens to these incoming notifications and continues the rest of the processing from there on.

In the outbound AS2 message flow, the Eshopbox backend processing system uploads the files to be sent to the Google Cloud Storage, and then generates a JSON notification message similar to the incoming notification. It then initiates the flow by pushing this notification into the Pub/Sub topic for outgoing messages. Once the notification is pushed, AS2 Gateway, which is listening to the outgoing notifications topic via an event-driven push mechanism, parses the notification message payload, and composes and sends out an AS2 message after downloading the files from Cloud Storage.

In a solution which is integrated together with HTTP, there could be failures due to network delays and related issues. Therefore it was imperative that the failures can be easily handled and re-processing can be initiated with the administrative dashboard. Being a fully fledged AS2 messaging solution, the AS2 Gateway already had the ability to handle the AS2 message flow and it also had an intuitive dashboard to manage AS2 related activities such as listing and managing of messages, trading partners and certificates. In addition to that, the dashboard also delivers the facility to monitor the transaction status of an AS2 message. In case of a failure in delivering an AS2 message, AS2 Gateway detects the failure and automatically retries delivery up to a configurable number of times. If all these automatic redelivery attempts have failed, a human intervention is required to manually trigger the redelivery of a failed message via the AS2 Gateway dashboard. With the requirements that came up from Eshopbox, the notification related flows and the administrative console related to notifications were custom-developed providing the ability to list and monitor notification messages as well as to retry the notification processing.

Deployment

Eshopbox’s AS2 Gateway deployment runs entirely on Google Cloud infrastructure. The AS2 Gateway server is deployed on a GCP VM instance and the database runs on a Cloud SQL instance. This separation gives the deployment the ability to scale-up the AS2 servers as per future needs. The front end is hosted on Google Firebase. Additionally, Google Cloud Storage and Google Pub/Sub is used for file storage and notification propagation respectively, as described earlier in the Solution section.

"Moving to AdroitLogic instead of the open source alternatives, didn't just speed up the integration lifecycle with our trading partners, but also made it more reliable and seamless. The Adroitlogic team has been really helpful and quick to respond to ensure successful implementation of the integration by deploying AS2server in our Google cloud platform account."

Mayur Karwa
Co-Founder and Director
Eshopbox.com

Download Casestudy