/
Public Sales Channel App

Public Sales Channel App

The sales channel represents where you sell your products. Sales channels apps help you to integrate your sales channels with Eshopbox.

This guide will outline step by step process how you can build an app on the Eshopbox platform to connect with your public sales channel App.

Before you start

Eshopbox will authenticate your app using your app authentication Steps. Make sure to include following scopes while requesting authorization code:

  • read:products

  • write:products

  • read:product_listings

  • write:product_listings

  • read: inventory

  • read:orders

  • write:orders

  • read:returns

  • write:returns

Steps to build a public sales channel app

Step 1: Set up

  • Enable a sales channel in your workspace.

  • Your app will need the auto-generated sales channel code while creating orders, returns, etc.

Step 2: Sync Products and Inventory

  • You add new products to your sales channel catalog.

  • New products should be configured in your Eshopbox workspace as well. Your app should verify if these products are already configured in Eshopbox.

    • If the product is already configured, your app should mark the product as available on the Sales Channel. This will ensure the app can track the change in the inventory level of this product.

    • If no, your app should configure the product in your Eshopbox workspace and mark it available on your sales channel.

  • Now, your app should track inventory changes in the Eshopbox fulfillment Center and update such changes in your sales channel catalog.

While updating inventory in your sales channel catalog, your app should be able to make adjustments for any orders you have received on the sales channel but not yet sent for fulfillment to Eshopbox.

Syncing products to Eshopbox

Following are the steps that need to be implemented in your app to automate syncing products to Eshopbox

  • Your app should be able to track whenever there is a new product added to your sales channel catalog.

  • Your app should search for the product in the Eshopbox workspace. To search for products, send a GET request to products endpoint

https://{workspace}.myeshopbox.com/product-engine/api/v1/products/{productSku}

where {workspace}, is workspace name and {productSku} is Name of the Product (SKU)

  • Check for a condition if the product exists in Eshopbox. If the product doesn't exist in Eshopbox then it returns an error message "Failed: Name of the product(SKU) does not exist"

  • Configure a new product in Eshopbox by sending a POST request to Products endpoint

https://{workspace}.myeshopbox.com/product-engine/api/v1/products

where {workspace} is your workspace name. Eshopbox verifies the request body and creates a draft product in case any of the mandatory information is missing or incorrect. Such draft products are visible in the Eshopbox workspace and you can edit the product to add mandatory fields or make corrections.

https://{workspace}.myeshopbox.com/product-engine/api/v1/productListing

where {workspace} is the workspace name.

Tracking inventory updates

Following are the steps that need to be implemented in your app to sync inventory across Eshopbox and your sales channel.

https://{workspace}.myeshopbox.com/api/v1/webhook

where {workspace} is your workspace name.

Eshopbox will send inventory updates to the registered webhook URL

Step 3: Fulfill Orders

 

  • The customer places an order on your Sales channel. You verify if the payment is captured in case of a prepaid order, or verify contact information or any other checks in case of Pay On Delivery order.

  • You send all the confirmed orders to Eshopbox for fulfillment.

  • Eshopbox will plan shipments for the order. Sometimes multiple shipments are created against a single order. This can happen for various reasons

    • if the inventory for the ordered product is not available in one location

    • all the items can’t be fit into one shipment due to packaging restrictions

    • one of the items is not available and may be shipped later.

  • Eshopbox will acknowledge the order.

  • Eshopbox will start processing the items and call you to fetch an invoice for each shipment.

  • Eshopbox will Call you to get the shipping provider and mark it as PACKED.

  • Once the shipping provider picks up the shipment from Eshopbox FC, it will be marked as Shipped.

  • You will need to Push the status updates of the shipment in the shipping provider network to Eshopbox.

  • The shipping provider delivers the shipment.

  • At any of the steps if Eshopbox may sideline the order if

    • the inventory is not available for items ordered

    • the shipping address in the order is not serviceable You may get in touch with the customer and make appropriate changes to order so that it can be fulfilled.

Submit an order for fulfillment

Following are the steps that need to be implemented in your app to automate the submission of orders for fulfillment

  • Track for any new confirmed orders on your sales channel.

  • Submit this order for fulfillment to Eshopbox by sending a POST request to the Order endpoint.

http://wms.eshopbox.com/api/order

please use auto-generated channel code as created in the Eshopbox workspace while enabling a new sales channel. (LINK)

  • Make sure your pricing information submitted along with order complies for following cases -

  • In case you want to want certain items of the shipments to be shipped together or don’t want Eshopbox to split shipments

  • In case you want to assign FC

 

Generate labels & invoices 

Eshopbox requires shipping labels and invoice to process the shipments. Eshopbox requests for generating the labels and invoices via calling the suggested API’s of your App.

Tracking fulfillment status

Following are the steps that need to be implemented for order status updates.

  • You will Have to Register a status update webhook Ur, on which you will send a request to to update the status of your orders.

Sample Base Url of Eshopbox.

https://{workspace}.myeshopbox.com/

where {workspace} is your workspace name.

Common Events :

shipped

intransit

out_for_delivery

delivery_failed

delivered

cancelled

rto

rto_delivered

 

Cancellations

 

  • When a customer cancels the order, your app is required to send a cancellation request to Eshopbox.

  • Eshopbox will process the cancellation and send an update to your app.

  • Eshopbox may cancel the order when inventory is not available or the address is not serviceable, in these cases, Eshopbox will send cancellation status to your app.

Request for cancellation from customer

When a customer requests a cancellation, you are required to create a cancellation request in Eshopbox. A customer can cancel the order before the shipment status is packed.

  • To cancel an order, send a POST request to the register webhook URL.

http://wms.eshopbox.com/api/cancel-order

 

Cancellation from Eshopbox

You are required to register a webhook so that when Eshopbox cancels an order it can update your app.

https://{workspace}.myeshopbox.com/api/v1/webhook

where {workspace} is your workspace name.

  • Eshopbox will send updates to the registered webhook URL.

Step 4: Manage Returns

 

  • If there is a return request on your app, you are required to schedule the return and update it to Eshopbox.

  • Return is created in Eshopbox

  • Eshopbox will send return status to your app.

Syncing returns with Eshopbox

Whenever there is a return request on your app, then communicate this activity to Eshopbox.

http://wms.eshopbox.com/api/return

Track return status

Once return is created and acknowledge by Eshopbox ,You are required to push the returns status updates to eshopbox.

Comman events types:

created

picked_up

out_for_pickup

pickup_cancelled

delivered

  • Eshopbox needs to register a webhook in your App, So you can send return status updates to Eshopbox.

Related content