Product GraphQL API Overview
Author:
Kirill Gaiduk
Changed on:
12 June 2025
Overview
This article is intended to provide technical users with information about the Product GraphQL API, describing its functionalities within the Fluent Platform.
Prerequisites
You should have knowledge of:
Key points
- GraphQL API for Product Management:
- Supersedes REST
- Supports creating, updating, and querying Products
- Permission-Driven Access: Type- and Retailer-specific ,
`CREATE`
, and`UPDATE`
Permissions are strictly enforced for all operations`VIEW`
- Type-Agnostic Updates: simplifies updates without needing Product Type, but correct Permissions and unique
`updateProduct`
+`ref`
are required.`catalogue`
What is the Product GraphQL API for?
The Product GraphQL API allows technical users to manage Products within the Fluent Platform:
- Create
- Update
- Get
- Search
Permissions
The following Permissions are required for different operations on Products:
Permission Group | Create | Update | View |
Type-specific:
|
|
|
|
Type-agnostic |
(used for accessing
|
Product Update Permission Handling
- Type-specific Permissions are required for the Product update operation.
`UPDATE`
- Type-specific Permissions are required to return the updated Product entity as part of the update operation response.
`VIEW`
Retailer-specific Permission Handling
To ensure your User has the correct rights for a particular Product-related operation, a Retailer-specific Product Permission Check is performed:
- Determine required Permissions for the target Product(s):
- Extract Retailers from the field of the Product Catalog
`retailerRefs`
- (Optional) Identify the Product Type
- Extract Retailers from the
- Determine the querying User’s access rights:
- Check the Retailer - Product Type combinations from the User’s Roles (within the relevant Contexts) that contain Product-related Permissions
- The permission check is successful when the User’s access rights match the required values.
Explanation through an example
- The following Product Catalogs are created:
- ProductCatalogue1 with field containing the RetailerRef1
`retailerRefs`
- ProductCatalogue2 with field containing the RetailerRef2
`retailerRefs`
- ProductCatalogue1 with
- User1 has been assigned the following User Roles:
- Standard Product Manager Role in the RetailerRef1 Context, with Permissions:
`STANDARDPRODUCT_UPDATE`
`STANDARDPRODUCT_VIEW`
- Variant Product Manager Role in the RetailerRef2 Context, with Permissions:
`VARIANTPRODUCT_UPDATE`
`VARIANTPRODUCT_VIEW`
- Standard Product Manager Role in the RetailerRef1 Context, with Permissions:
- As a result, User1:
- can update and query:
- Standard Products from the ProductCatalogue1
- Variant Products from the ProductCatalogue2
- and does not have access to:
- Variant Products from the ProductCatalogue1
- Standard Products from the ProductCatalogue2
- can update and query:
Features
The Product GraphQL API provides the following functionalities:
Mutations
Create Product
Update Product
`updateStandardProduct`
`updateVariantProduct`
`updateGroupProduct`
- Enables updates without being limited to a reference Product Type (,
`STANDARD`
, or`VARIANT`
).`GROUP`