Fluent Commerce Logo
Docs
Essential knowledge

Intended Audience:

Technical User

Author:

Kirill Gaiduk

Changed on:

20 Feb 2025

Overview

The `comments` Query retrieves Comments based on various filter criteria.
Prerequisites
  • `COMMENT_VIEW` Permission is required for retrieving Comments

Key points

  • Use the `comments` Query to retrieve existing Comments
  • Manage the Comment Permissions at the Account or Retailer level
  • Apply the "Retailer-specific Comment Permission Check" validation logic with the `fc.graphql.comment.access` Setting (`retailer` value)

Inputs

The Input arguments for retrieving Comments:
ArgumentTypeDescriptionNotes
`entityType`[String!]Type of the EntityFor example:
  • `ORDER`
  • `FULFILMENT`
  • `ORDER_ITEM`
  • `PRODUCT_CATALOGUE`
`entityId`[ID]Id of the Entity
`entityRef`[String]Reference of the Entity
`text`[String!]Comment text
`createdOn`DateRangeDate range for Comments creation
`updatedOn`DateRangeDate range for Comments last update
`first`IntReturns the first n elements from the list
`last`IntReturns the last n elements from the list
`before`StringReturns the elements in the list that come before the specified global IdThis is a cursor (the value is used for pagination)
`after`StringReturns the elements in the list that come after the specified global IdThis is a cursor (the value is used for pagination)

Validation

Comment Permissions could be managed at the Account or Retailer level, which is controlled via the `fc.graphql.comment.access` SettingThe `retailer` Setting value enables the Retailer-specific access management, so the validation logic is applied to verify that your User has the correct rights to execute the `comments` Query - "Retailer-specific Comment Permission Check":
  • Comments are searched by the given Input Arguments
  • A Comment Entity `retailerId` field stores a Retailer of the associated Entity
  • For all the found Comments, the Comment `retailerId` is compared to the querying User `retailerId` (defined with the User Role Context Id)
  • The list of the retrieved Comments contains:
    • The Comments for which the mentioned (User and Comment) `retailerId`-s matches
    • The Comments with empty `retailerId`

Response

The response consists of the details of the Comment:
FieldTypeDescriptionNotes
`id`ID!Id of the Comment
`entityType`String!Type of the EntityFor example:
  • `ORDER`
  • `FULFILMENT`
  • `ORDER_ITEM`
  • `PRODUCT_CATALOGUE`
`entityId`IDId of the Entity
`entityRef`StringReference of the Entity
`text`String! Comment textMax character limit: 200
`createdOn`DateTimeTime of the Comment creation
`updatedOn`DateTimeTime of the Comment last update
`user`UserThe author of the Comment
  • Filled in upon the Comment creation
  • Updated upon the Comment update
  • `USER_VIEW` Permission is required

Sample Payload

1query comments($createdOn: DateRange) {
2    comments(createdOn: $createdOn) {
3        edges {
4            node {
5                id
6                entityId
7                entityRef
8                entityType
9                text
10                createdOn
11                updatedOn
12            }
13            cursor
14        }
15    }
16}
1{
2    "createdOn": {
3        "from": "2024-11-16T00:32:28.935Z",
4        "to": "2024-11-16T23:40:28.935Z"
5    }
6}