Hoppa till innehållet

Reviews

Product reviews: read the approved ones, submit a new one. Submissions are anonymous-capable and go through moderation before they appear.

2 calls GET POST Base URL https://api.erp.fluit.cloud/ecom

Authentication, error codes, rate limits, idempotency and pagination apply to every call and are documented once under Getting started.

GET /catalog/products/{idOrSlug}/reviews

Get product reviews

Returns a page of approved reviews plus a rating summary (average and distribution) covering all approved reviews for the product on this channel.

Path parameters

Field Type
idOrSlug Required string

Query parameters

Field Type
page integer
pageSize integer
sort string

Responses

200 ProductReviewsResponse
Field Type
hasMore boolean
items ProductReview[] · nullable
page integer
pageSize integer
summary ProductReviewSummary
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Standard errors: 404 Errors

Examples

curl
curl "https://api.erp.fluit.cloud/ecom/catalog/products/{idOrSlug}/reviews" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Response 200
{
  "hasMore": true,
  "items": [
    {
      "author": "string",
      "date": "2026-06-11T09:24:13.418",
      "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "isVerifiedPurchase": true,
      "rating": 42,
      "text": "string",
      "title": "string"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "summary": {
    "averageRating": "299.00",
    "distribution": [
      42
    ],
    "totalCount": 137
  }
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

POST /catalog/products/{idOrSlug}/reviews

Submit product review

Submits a review for a product on the current channel. The review is always created as pending and is not visible until a moderator approves it.

Path parameters

Field Type
idOrSlug Required string

Body required

Field Type
authorEmail string · nullable
authorName string · nullable
body string · nullable
captchaToken string · nullable
formLoadedAtUnixMs integer · nullable
honeypot string · nullable
rating integer
title string · nullable

Responses

200 SubmitProductReviewResponse
Field Type
isVerifiedPurchase boolean
requiresModeration boolean
reviewId string(uuid)

Standard errors: 400 404 409 429 Errors

Examples

curl
curl -X POST "https://api.erp.fluit.cloud/ecom/catalog/products/{idOrSlug}/reviews" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web" \
  -H "Content-Type: application/json" \
  -d @body.json
Response 200
{
  "isVerifiedPurchase": true,
  "requiresModeration": true,
  "reviewId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44"
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

Schemas

The objects this group's calls refer to. The field tables above go one level deep and link here rather than repeating the same schema on every endpoint.

ProductReview

ProductReviewResponse
Field Type
author string · nullable
date string(date-time)
id string(uuid)
isVerifiedPurchase boolean
rating integer
text string · nullable
title string · nullable

ProductReviewSummary

ProductReviewSummaryResponse
Field Type
averageRating decimal · nullable
distribution integer[] · nullable
totalCount integer