How to use Open Network for Digital Commerce? — Part 2

BySudhanshu Kumawat
September 30th . 5 min read
Open Network for Digital Commerce

In the previous blog, we learned about what ONDC is and how it can revolutionize Digital E-Commerce.

But to bring this revolution, there must be an ONDC ecosystem consisting of the ONDC network, the Buyer app, and the Seller app deployed on the ONDC network.

What does this statement mean that applications should be deployed on the ONDC network? And how exactly can this be done?

In this blog, we will discuss how can we deploy our seller app and buyer app on the ONDC network, and we will see the most popular APIs associated with ONDC. This is what an ONDC-enabled e-commerce network will look like.


ONDC uses asynchronous APIs that buyer applications and seller applications must integrate in order to use the network.


The buyer’s application calls the search API to find the offer. Once this call is sent, the buyer’s application receives a unique ID in response. Now the network calls the on_search hook of the buyer application to provide the search result from the sellers.

Listed below are the APIs starting with on_ are callback/web-hook APIs implemented in ONDC along with their callbacks:-

  • search - on_search
  • select - on_select
  • Init - on_init
  • confirm - on_confirm
  • status - on_status
  • track - on_track
  • update - on_update
  • cancel - on_cancel
  • rating - on_rating
  • cancel - on_cancel

The APIs as on_search fall in the category of searching or discovery. The select, init and confirms fall under the category of order APIs, status, track, and update, while cancel APIs fall under the category of fulfilment criteria.

The rating and cancel fall under support API. Now, these are the APIs that are integrated into sellers’ or buyers’ applications. But there are some more network infrastructure API, for example:-

The below diagram explains the best flow of how these APIs and callbacks work for buyers’ and sellers’ apps-


APIs for Buyers —

  • /search — the user searches the item based on ratings and reviews
  • /select — the user selects the product and adds them to the cart
  • /init — the user accepts the price and enters the billing details for the invoice
  • /confirm — the user receives the payment confirmation and information of the order.
  • /status — the user gets the status of his ongoing order
  • /track — the user tracks the location of the order
  • /update — the user can update the information like address, etc
  • /cancel — the user can cancel the order if he’s allowed to do so.
  • /rating — the user can share his experience with the product.
  • /support — user can connect to the support team if needed

APIs for Sellers —

The following APIs will be used at the seller’s end -

  • /on_search — based on the incoming request, a list of matching products should be return
  • /on_select — the seller will receive the list of items the user wants to buy
  • /on_init — the seller receives information like confirmed payments receipt, billing address, shipping address, etc.
  • /on_confirm — the seller receives confirmation from the user, confirms the document or promise of payment, and returns the confirmed order ID.
  • /on_track — the seller returns information containing the updated tracking status of the product
  • /on_update — the seller receives the changes user has made in the information like billing address, shipping address, etc.
  • /on_cancel — the seller will receive a request demanding a product cancellation
  • /on_rating — the seller receives the rating of a product and the seller for further analysis
  • /on_support — the seller receives a request from the user for providing him assistance

That’s it, folks! Hope you liked both of these articles and found them insightful. For further queries, feel free to reach out at Habilelabs.