One API endpoint for all ecommerce experiences
Business scenarios require the acquisition of data from multiple sources. For example, to display a product page you need to collect data from the catalog (product details), pricing (prices), inventory (stocks), marketing (promotions) and other apps and storages.
In order for the client touchpoint to work properly with data, you need to consolidate all these data according to your business scenario and pack it in an API with a structure that is close to the business context. For example, a business scenario may require delivering all product business data (properties, description, price, discount, stock) by one command. Also, the data should be enriched. You need to add SEO, thumbnails, product specs, descriptions, etc.
The touchpoint can load the information from multiple APIs (let’s call them A API, B API, C API, etc.), and aggregate them by itself. However, this approach requires the implementation of orchestration feature for each client app request to the server. When the number of requests between the client and the server increases, such kind of architecture could be hindering the overall system performance. This interaction model is illustrated in the following diagram: