Inventory Flow
Realtime Inventory flow is supported. In CIMS Listings, Serial numbers are used to identify Shopify Inventory Item Id and should be unique.
An internally generated ID called inventory item ID is used as a serial number in Shopify. This serial number is unique to an SKU and CANNOT be repeated. Uploading faulty serial numbers will result in entire batches of inventory updates failing.
Thus uploading product listings should be done very carefully and at least the uniqueness of the serial number should be verified before uploading.
Also, it should be made sure that before we create a product, it exists on shopify.
Order Flow
New Order Creation
New orders can be flown to WMS after adding Webhooks on Shopify.
Navigate to Settings->Notifications and scroll down to the webhooks section.
Add the following webhook for Order Creation: https://assure-proxy.increff.com/shopify/api/push/orders
Note: Please configure webhooks only once you are ready to go live.
Order Update
Order update webhook is used only if On Hold and SLA time update is needed by the clients. Other details for existing orders can't be updated.
Navigate to Settings->Notifications and scroll down to the webhooks section.
Add the following webhook for Order Update: https://assure-proxy.increff.com/shopify/api/push/orderUpdate
Orders Acknowledgement
Orders acknowledgement is not supported.
Customer cancellation flow
Customer cancellation can be flown to WMS after adding Webhook on Shopify.
Navigate to Settings->Notifications and scroll down to the webhooks section.
Add the following webhook for Order Cancellation: https://assure-proxy.increff.com/shopify/api/push/orderCancel
Seller cancellation flow
Seller cancellation flow is supported.
Create Shipment API flow
Shipment creation is supported via Clickpost/ Shiprocket.
Clickpost
Order is pushed into Clickpost against channel order id on assure. An acknowledgement is sent back to shopify
Shiprocket
Shiprocket fetches order from shopify on its own. Acknowledgement Not necessary
Get Shipment API flow
Shipment creation is supported via Clickpost/ Shiprocket.
Clickpost
Invoice and shipping label details are retrieved from WMS proxy DB and sent to WMS.
Shiprocket
Invoice and shipping label details are retrieved from Shiprocket and sent to Increff WMS.
Manifest API flow
Manifest API is not supported.
Handover API flow(Optional)
Archives the order on the panel so that it does not show up in any more searches. Not a necessary step. Can be set as self as well.
Return Flow
Return Orders and return order processing isn't possible and has not been implemented.
Mandatory fields on Shopify
Shopify does not enforce a lot of fields on its panel. But most of these fields are necessary in Assure. Hence necessary precautions should be taken to ensure the fields do not come up as empty.
A few of such kinds of fields include:
Billing address
SKUs in order line items.
Shipping address
Shopify Warehouses
Orders in shopify only use inventory from one warehouse. The inventory from the second warehouse will only be consumed if the inventory in the first isn't sufficient.
Onboarding Shopify Channel
A. Obtaining Credentials:
Use following steps to obtain the required credentials for shopify integration
Step 1: Go to the link indicated by the rectangle:
Step 2: If already added as a private app, click on the private app name in the list of apps. If Increff is to be added as a private app, click on the “Create new private app” button
Step 3: If already user is existing, share the credentials with Increff Team. It consists of API key, Password, Shop Name, Clickpost API key, Clickpost Username.
Shopify Attribute | CIMS Attribute | Remarks | Example |
API Key | CLIENT_ID | If CUSTOM APP, use Access Token (beginning with ‘shpat_’). | d4ff99b7ddebd25dd24ef73db8a99fab |
Password | PASSWORD |
| 01a2ef6e06f9ae9c88c334ad7657e9fc |
Shop name | USER_ID | Available in the URL. For example, in the above image, shop name is “increff” as obtained from url “https://increff.myshopify.com” | increff |
ClickPost API Key | ACCESS_SECRET | Should be obtained from client |
|
ClickPost Username | ACCESS_TOKEN | Should be obtained from client |
|
If user is not existing, fill out the form to get the details to be shared with Increff. Increff team to setup those details in CIMS.
B. Granting Read and Write permissions to Increff.
Go to Apps -> Manage private apps -> Increff.
Under ADMIN API PERMISSIONS. Grant highest access to each of the permissions (Read And Write if available).
C. For Clickpost/Shiprocket integration
- API Key and Username requires for Clickpost Integration
- API User Email and Password requires from Shiprocket Integration
Nuance
Multi Warehousing in Shopify:
- Shopify does not support proximity based routing of orders.
- Orders are routed to a warehouse based on a pre configured priority basis. This is configurable on their panel.
- When orders are placed through any online sales channel, they are assigned to a location where they should be fulfilled from based on the priority list and available inventory. If any location can fulfill the entire order, then the inventory is drawn from that location
- The following graphic explains this process:
Shopify permissions required by the Increff Private/Custom App
Fulfilment
write_assigned_fulfillment_orders, read_assigned_fulfillment_orders, write_fulfillments, read_fulfillments, read_gdpr_data_request, write_merchant_managed_fulfillment_orders, read_merchant_managed_fulfillment_orders, write_shipping, read_shipping, write_third_party_fulfillment_orders, read_third_party_fulfillment_orders
These are required to ship orders and push tracking numbers from logistics companies back to Shopify.
Order creation
write_customers, read_customers, write_discounts, read_discounts, write_gift_cards, read_gift_cards, write_files, read_files
These are required fields on OMS and necessary for creating orders.
Order Update
write_order_edits, read_order_edits, write_orders, read_orders,
Necessary for updating the status of the order (for example, canceling line items).
Inventory Update
write_inventory, read_inventory, read_locations, write_product_listings, read_product_listings, write_products, read_products, write_locales, read_locales, write_locations, write_product_feeds, read_product_feeds
Necessary for pushing inventory updates to Shopify.
Payment Details
write_payment_terms, read_payment_terms, write_price_rules, read_price_rules
Necessary for determining if an order is COD or NCOD.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article