Hoppa till innehållet

Innehållssidor

CMS pages: the navigable list and a page by slug, with its sections. Used for terms, about, delivery information and anything else the tenant edits without a deploy.

2 anrop GET Bas-URL https://api.erp.fluit.cloud/ecom

Autentisering, felkoder, rate limits, idempotens och paginering gäller alla anrop och står samlade under Kom igång.

GET /pages

Get published content pages for navigation

Returns every published page in the channel as a flat list, in the tenant's own sort order. Each entry carries parentPageId and showInNavigation, so a storefront can build a nested menu from one call and still know which pages exist without appearing in it. Read the page body itself with GET /ecom/pages/{slug}.

Stödjer ETag

Svar

200 ContentPageNavResponse[]
Fält Typ
parentPageId string(uuid) · nullable
showInNavigation boolean
slug string · nullable
sortOrder integer
title string · nullable
304 Tom body.
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.

Standardfel: 404 Felhantering

Exempel

curl
curl "https://api.erp.fluit.cloud/ecom/pages" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Svar 200
[
  {
    "parentPageId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
    "showInNavigation": true,
    "slug": "string",
    "sortOrder": 42,
    "title": "string"
  }
]

Bas-URL https://api.erp.fluit.cloud/ecom. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

GET /pages/{slug}

Get a published content page by slug

Returns a published page with its SEO fields and its sections in display order. Sections are typed — text, image, testimonial, feature cards — and a storefront renders each kind its own way, so treat an unfamiliar section type as something to skip rather than fail on.

Visa hela beskrivningen

An unpublished or missing page both return 404; the two are deliberately indistinguishable.

Stödjer ETag

Sökvägsparametrar

Fält Typ
slug Krävs string

Svar

200 ContentPageDetailResponse
Fält Typ
authorName string · nullable
excerpt string · nullable
featuredImageUrl string · nullable
fullWidth boolean
layout string · nullable
metaDescription string · nullable
pageType string · nullable
publishDate string(date-time) · nullable
sections ContentPageSection[] · nullable
slug string · nullable
tags string[] · nullable
title string · nullable
304 Tom body.
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.

Standardfel: 404 Felhantering

Exempel

curl
curl "https://api.erp.fluit.cloud/ecom/pages/{slug}" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Svar 200
{
  "authorName": "Acme AB",
  "excerpt": "string",
  "featuredImageUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
  "fullWidth": true,
  "layout": "string",
  "metaDescription": "string",
  "pageType": "string",
  "publishDate": "2026-06-11T09:24:13.418",
  "sections": [
    {
      "articleLinkText": "string",
      "articleType": "string",
      "bannerImageUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
      "bannerLinkUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
      "categoryId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "categoryIds": [
        "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44"
      ],
      "cssClass": "string",
      "featureCards": [
        {
          "iconName": "Width",
          "linkText": "string",
          "linkUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
          "text": "string",
          "title": "string"
        }
      ],
      "galleryImages": [
        {
          "altText": "string",
          "caption": "string",
          "imageUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
          "linkUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg"
        }
      ],
      "heroCtaText": "string",
      "heroCtaUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
      "heroImageUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
      "heroTextColor": "string",
      "heroVideoPosterUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
      "heroVideoUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
      "htmlContent": "string",
      "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "itemGroupId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "maxBrands": 42,
      "maxProducts": 42,
      "parentCategoryId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "productColumns": 42,
      "productIds": [
        "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44"
      ],
      "productSort": "string",
      "sortOrder": 42,
      "subtitle": "string",
      "supplierIds": [
        "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44"
      ],
      "testimonials": [
        {
          "author": "string",
          "avatarUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
          "quote": "string",
          "rating": 42,
          "role": "string"
        }
      ],
      "title": "string",
      "type": "string",
      "videoUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg"
    }
  ],
  "slug": "string",
  "tags": [
    "string"
  ],
  "title": "string"
}

Bas-URL https://api.erp.fluit.cloud/ecom. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

Scheman

Objekten som gruppens anrop refererar till. Fälttabellerna ovan går ett steg djupt och länkar hit i stället för att upprepa samma schema på varje endpoint.

ContentPageSection

ContentPageSectionResponse
Fält Typ
articleLinkText string · nullable
articleType string · nullable
bannerImageUrl string · nullable
bannerLinkUrl string · nullable
categoryId string(uuid) · nullable
categoryIds string(uuid)[] · nullable
cssClass string · nullable
featureCards ContentPageSectionFeatureCard[] · nullable
galleryImages ContentPageSectionImage[] · nullable
heroCtaText string · nullable
heroCtaUrl string · nullable
heroImageUrl string · nullable
heroTextColor string · nullable
heroVideoPosterUrl string · nullable
heroVideoUrl string · nullable
htmlContent string · nullable
id string(uuid)
itemGroupId string(uuid) · nullable
maxBrands integer
maxProducts integer
parentCategoryId string(uuid) · nullable
productColumns integer
productIds string(uuid)[] · nullable
productSort string · nullable
sortOrder integer
subtitle string · nullable
supplierIds string(uuid)[] · nullable
testimonials ContentPageSectionTestimonial[] · nullable
title string · nullable
type string · nullable
videoUrl string · nullable

ContentPageSectionFeatureCard

ContentPageSectionFeatureCardResponse
Fält Typ
iconName string · nullable
linkText string · nullable
linkUrl string · nullable
text string · nullable
title string · nullable

ContentPageSectionImage

ContentPageSectionImageResponse
Fält Typ
altText string · nullable
caption string · nullable
imageUrl string · nullable
linkUrl string · nullable

ContentPageSectionTestimonial

ContentPageSectionTestimonialResponse
Fält Typ
author string · nullable
avatarUrl string · nullable
quote string · nullable
rating integer · nullable
role string · nullable