Introduction

Let us get started with the Ekyam Integration document where the user will learn about the Environment set up, Authentication Methods, and Prerequisites (essential credentials and configurations the team needs from the client to initiate and maintain secure data flows). The document will also explain about a few use cases that weave an easy understanding of the integration. 

• Basic Environment Setup

A robust environment setup is critical for consistent development, effective testing, and reliable deployment. This section will highlight the key requirements for each of Ekyam environments: Development (Dev), Demonstration (Demo), and Production (Prod).  Environment Set up.jpeg Developer
A Dev environment is created for individual developers to write, test and debug code. It also allows the developers to create and test new functionalities and features. 
Staging
A Staging environment is a pre-production environment designed for final, comprehensive testing and validation before deploying code to the Production environment. The code deployed to Staging is considered a “release candidate”, implying that it has already passed QA checks. 
Demo
It is a client-facing space where the application’s “good-to-go” code is deployed. This implies that the code deployed here has already passed initial development and quality assurance (QA) checks. This environment shows the product’s features and functionalities specifically designed for clients, prospects or external stakeholders. 
Production
The Production environment is the live, client-facing system where the application’s fully validated and “good-to-go” features and functionalities are deployed. Changes to the code in this environment are subject to extremely rigorous control and approval processes.

• Authentication Methods

The choice of authentication methods depends on the specific system being integrated. 
  • API key: Ekyam uses a unique key that is issued by one system to another. The client system includes this key in its request to the server API. 
  • OAuth 2.0 (Authorization Framework for Delegated Access): Ekyam uses OAuth 2.0 JWT authorization framework that allows a user to grant the client limited access to their resources on a service without sharing their login credentials with the third-party app. It does this by issuing access tokens.
    If Ekyam needs to access data on Shopify that belongs to a user, OAuth2.0 provides a secure way for the user to grant Ekyam permission. Ekyam gets an access token, and not the user’s password.
  • System Authentication to Hit the API: While OAuth 2.0 enables a client system to hit an API, it is doing so on behalf of a user or on its own behalf (using client credentials).
  • Two-Factor Authentication (2FA): Ekyam AI implements the 2FA, prioritizing security and preventing unauthorized access. The 2FA adds an extra layer of security beyond just a password. The users need to provide two different factors of authentication to verify the identity before gaining access to the Ekyam system. This significantly reduces the risk of unauthorized access even if a password is stolen or compromised. 
    Let us see a use case for 2FA:
1

First Factor (Something You Know): Password Entry

  • Client navigates to the Ekyam login page.
  • Enter registered username (e.g., xyz.retail@example.com) and password.
  • Click “Login.”
2

Second Factor (Something You Have): Code Delivery and Verification

  • Instead of immediately logging in, the Ekyam system detects that 2FA is enabled for the client’s account.
  • Ekyam sends a unique, time-sensitive verification code (e.g., a 6-digit number like 12345) to the registered mobile phone number via SMS.
  • A prompt appears on the Ekyam login screen, asking the client to “Enter the 6-digit code sent to your mobile phone.”
3

Verification and Access Grant:

  • Client receives the SMS code on her phone.
  • Enter the code into the Ekyam login screen’s prompt.
  • The Ekyam system verifies that the entered code matches the one it sent and that it’s still valid (i.e., hasn’t expired).
  • Upon successful verification, the client is granted full access to the Ekyam dashboard.
  • SSO (Single-sign on):  Ekyam uses a Single Sign-On (SSO) critical feature for its clients. It is an authentication method that allows a user to log in with a single ID and password and then automatically gain access to multiple systems, without requiring to re-authenticate for each one. Essentially, it implies that if the user logs in once, they can access all connected applications. 

• First Integration Walkthrough: ERP + Shopify + 3PL

This integration establishes a powerful, automated backbone for Ekyam’s retail operations, ensuring seamless data flow. The integration will give the users an understanding on how an online purchase on Shopify through ERP and fulfillment by 3PL, accurately updates inventory and synchronizes across all systems. 
Systems Involved
  • ERP (Enterprise Resource Planning): The central Source of Truth for product master data, inventory levels, sales orders, customer information, and financial records (e.g., SAP Business One, NetSuite).
  • Shopify: An e-commerce storefront, handling online sales, customer interactions, and product display.
  • 3PL (Third-Party Logistics): Ekyam’s warehouse and fulfillment partner, responsible for storing inventory, picking, packing, and shipping orders.

• The Integration Flow (Step-by-Step Data Journey)

1

ERP to Shopify: Product & Inventory Synchronization (The Source of Truth)

  • What: Product details (SKU, name, description, price, images, variants), and crucially, available inventory levels.
  • Direction: ERP ➔ Shopify
  • Why: ERP is the single source of truth for products and their quantities. This ensures that what customers see available on Shopify stores is accurate, preventing overselling or stockouts. This typically runs continuously or on a near-real-time schedule.
2

Shopify to ERP: New Sales Orders & Customers (The Transaction Starts)

  • What: Newly placed sales orders (customer details, line items, quantities, pricing, shipping address, payment status), and details of new customers.
  • Direction: Shopify ➔ ERP
  • Why: Every online sale needs to be recorded in the ERP for financial tracking, order management, and to trigger fulfillment processes. This typically happens in real-time or near real-time as orders are placed.
3

ERP to 3PL: Fulfillment Request (The Order to Ship)

  • What: Approved sales orders from the ERP, containing all necessary details for the 3PL to pick, pack, and ship (e.g., order number, customer address, product SKUs, quantities, shipping method).
  • Direction: ERP ➔ 3PL
  • Why: ERP is the central hub. Once an order is validated and processed in the ERP, it triggers the fulfillment request to the 3PL. This ensures all financial and inventory adjustments are handled correctly before shipment.
4

3PL to ERP: Shipment Confirmation & Inventory Adjustments (The Fulfillment Loop)

  • What: Confirmation that an order has been shipped (including tracking numbers, carrier details, shipped quantities), and any inventory adjustments (e.g., cycle counts, returns received at the warehouse, damaged goods).
  • Direction: 3PL ➔ ERP
  • Why: This closes the loop. The ERP needs shipment confirmations to update order statuses, notify customers, and finalize financial records. Inventory adjustments from the 3PL are crucial for maintaining accurate stock levels in the ERP, which then propagates back to Shopify.
Key Benefits of This First Integration
  • Eliminates Manual Data Entry: Drastically reduces errors and saves countless staff hours.
  • Real-time Inventory Accuracy: Prevents overselling online and improves customer satisfaction.
  • Accelerated Order Fulfillment: Orders move seamlessly from click to ship, improving delivery times.
  • Unified Data View: Provides a single, accurate source of truth for sales, customers, and inventory across all key systems.
  • Scalability: Lays the foundation for handling increased order volumes and future business growth without bottlenecks.