Order MultiChannel Technical Overview

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Eagle Eye: Order MultiChannel

Technical Overview

Objectives

Architecture Proposal

Technical Solution Proposal


Operational
Onboarding

Open Points
Objectives
The goal of the solution is to enable native Amazon FBA Sellers to sell via their own Shopify
store.

Amazon FBA Sellers use the Amazon Marketplace to receive orders from the Amazon
Customers and use the FBA (Fulfilled By Amazon) logistic service to deliver the products so that
they fulfill their orders. Now, they want to receive the orders from Shopify and fulfill them with
Amazon FBA.
Sellers will rely on the same Warehouse and LogisticService to fulfill two different Sale
Channels and this will allow to leverage the synergies of an integrated hybrid approach.

EagleEye, the ERP SaaS product we are building, acts as the central point of control for all the
orders. Sellers have an overview of the two Sales Channels and obtain useful insights and
comparison on them.
The seller can select which Shopify products are going to be fulfilled with FBA, this means that
not all the Shopify products are going to be fulfilled with FBA. Nevertheless, EagleEye will
collect all Shopify Orders, including the ones that are not going to be FBA fulfilled.

Fulfillment/Shipping fees are an important part of the equation. During Shopify Customer
checkout, a preview of the Shipping fees must be provided. The Seller should be able to set a
threshold above which he can offer free shipping to his Customers.

From the points above, it is clear that the central point of control is EagleEye. It should be
evaluated if it is needed/useful to embed the App in Shopify (FrontEnd modifications in Shopify
to control settings from Shopify Admin panel itself) and if this can potentially raise complexity or
even synchronization issues.

Architecture Proposal
EagleEye will always sit in the middle of Shopify API and Amazon API.
OAuth Auth tokens needed for connection will be safely stored in AWS Secret Store.

The calls to Shopify API should be delegated to Python Lambda functions. The calls to those
Lambdas are triggered from the Django Backend.
Webhooks calls from Shopify to EagleEye will probably be proxed via API Gateway (compare
the approach with Amazon Scheduled Reports already in place) to the BackEnd.
Technical Solution Proposal
The following diagrams are a DRAFT of the process.
It is important to critically revise them and to concept prove them. Maybe they are wrong

Operational
This diagram refers to the day-to-day operation of the solution.
1. In the checkout screen, the customer want to have the calculation of the fulfillment fees
2. Shopify calls EagleEye to get the fulfillment fees (How this is going to work, what are the
standard Shopify solutions? Is there something like a WebHook?)
3. EagleEye will call the getFulfillmentPreview endpoint
4. Response is provided to Eagle Eye
5. Response is forwarded back to Shopify
6. Customer Selects fulfillment option
7. Customer places the order
8. The order WebHook calls EagleEye with the Shopify order
9. EagleEye creates the order on createFulfillmnetOrder Amazon API
10. Amazon replies with the order confirmation
11. The response is sent to Shopify
12. Order confirmation appears to customer
In case of “manual Fulfillment”
13. Seller release the order for fulfillment
14. updateFulfillmentOrder Amazon API is called and the order is updated
Onboarding
This diagram refers for the sequence of actions to be performed when a new seller is activating
the MultiChannel for the first time:
1. Seller push the login to Shopify button
2. He is redirected to Shopify to login (OAuth flow)
3. He login to Shopify
4. Shopify calls back EagleEye with the Auth Token
5. EagleEye creates a Fulfillment Service in Shopify
6. EagleEye creates a Carrier service in Shopify
7. (... other setup step if present e.g. delivery route)
8. EagleEye calls Shopify to get the products and product variants
9. Shopify response with products and products variant
10. The Seller selects which shopify products will be fulfilled with Amazon
11. EagleEye checks the SKU correspondence for the selected products. Amazon SKU vs
Shopify SKU
12. EagleEye updates Product Variants with the new Fulfillment Service for fulfillment cia
AmazonFBA
Open Points
● The diagrams above need to be verified.
● How to set development environment
● How to save Auth for the different users
● How to setup web-hooks in a tenant-specific manner
● Please add…

You might also like