The project "Experience API" it is primarily a intermediated layer between clients and enterprise services powered by GraphQL protocol and is tightly coupled to a specific user/touchpoint experience with fast and reliable access, it represents an implementation of Backend for Frontend design pattern (BFF).
- Use GraphQL protocol to leverage more selective and flexible control of resulting data retrieving from API;
- Fast and reliable indexed search thanks to integration with ES 7.x and single data source for indexed search and data storage (<= 300ms);
- Autonomy. Shared nothing with rest VC data infrastructure except index data source;
- Tracing and performance requests metrics.
- X-Catalog docs
- X-Purchase cart docs
- X-Purchase order docs
- X-UserProfile module (moved to a separate module)
- Recommendations Gateway API (prototype)
To explore the GraphQL API, you can use an interactive graphql-playground environment.
To open playground console open ui/playground
in the platform manager application.
http://localhost:10645/ui/playground
POST https://{platform-url}/graphql
It accepts POST requests with following fields in a JSON body:
query
- String - GraphQL query as a stringvariables
- Object - Optional - containing JSON object that defines variables for your queryoperationName
- String - Optional - the name of the operation, in case you defined several of them in the query
Here is an example of a GraphQL query:
$ curl -X POST http://localhost:10645/graphql \
-H "Content-Type:application/json" \
-H "Authorization:Bearer ..." \
-d '{"operationName":null,"variables":{},"query":"{ product(id: \"019e93d973cd4adab99b6f9cbb4ca97a\") { name }}"}'
Read this article...
Read this article...
Read this article...
The project has integration with Elastic Search 7.x and Azure Search Service providers for indexing search.
Lucene search provider not supported.