#API-Client ##Overview "api-client" package is the server layer that extends the vue-storefront / Born Lightswitch Server Middleware. It creates an API client (like Apollo for GraphQL or Axios for plain HTTP) that communicates with your eCommerce platform.
It acts as a proxy between the users and the platform.
Here, you will create new endpoints that accept parameters sent from the frontend and use them to fetch or submit data to the platform.
##api-client vs Composables To provide customizable and easy to maintain applications, Vue Storefront offers composables. Composables are the main public API of Vue Storefront and in many cases the only API you'll work with. They are functions that implement most of the business logic of the application. You can treat each composable as an independent micro-application.
##Bloomreach Existing client-api Within the npmjs repository, there is an available package that provides an available GraphQL set of connectors and interfaces @bloomreach/graphql-commerce-connector-service
##BORN Lightswitch Customizations None required at this time, however some base level customizations and configurations are required.
##Accessing Platform APIs
###Extending GraphQL ####Quick Reference Notes
- In Vue-Storefront / Lightswitch single integration has its own sort of software development kit (SDK) library. This library is named API-client and contains a set of functions.
- Each function is dedicated to one action, endpoint or a feature eg. getProduct, loadCart addToCart
- Each custom query lives in the middleware.config.js, so it's the place where we should define my-products-query.
- Every custom query is registered in the middleware.config.js file:
###Documentation
##Documentation https://documentation.bloomreach.com/sdks/bloomreach-discovery-sdk.html
###brX GraphQl Service https://documentation.bloomreach.com/14/library/solutions/commerce-starterstore/graphql-service/how-to-extend-the-graphql-service-using-apollo-federation.html
###Apollo GraphQl playground
- Navigate to the root folder via the terminal
- Execute command
node --require dotenv/config index.js
##Bloomreach Connector Object This is located in the file located at packages/theme/middleware.config.js