Product GraphQL API Overview
Essential knowledge
Intended Audience:
Technical User
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.PrerequisitesYou 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`,`UPDATE`, and`VIEW`Permissions are strictly enforced for all operations - Type-Agnostic Updates:
`updateProduct`simplifies updates without needing Product Type, but correct Permissions and unique`ref`+`catalogue`are required.
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 | `PRODUCT_VIEW`(used for accessing `inventoryPosition.product` and `virtualPosition.product` sub-queries) |
Product Update Permission Handling
- Type-specific
`UPDATE`Permissions are required for the Product update operation. - Type-specific
`VIEW`Permissions are required to return the updated Product entity as part of the update operation response.
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
`retailerRefs`field of the Product Catalog - (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
`retailerRefs`field containing the RetailerRef1 - ProductCatalogue2 with
`retailerRefs`field containing the RetailerRef2
- 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``updateProductEnables updates without being limited to a reference Product Type (
``STANDARD`,`VARIANT`, or`GROUP`).
