Hoppa till innehållet

Kanaler

The storefronts a tenant runs, and the home page each one presents. A channel owns its assortment, price list, currency and branding, so the same item can be published in two channels at different prices.

4 anrop PATCH POST 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.

PATCH /branding

Update channel custom CSS

Updates the custom CSS for the current channel's branding. Requires the X-Channel header and a valid X-Admin-Preview token for the same tenant and channel. The CSS is sanitised before it is stored, so the value in the response is what was actually saved and may differ from what was sent.

Body krävs

Fält Typ
customCss string · nullable

Svar

200 PatchChannelBrandingCssPatchBrandingCssResponse
Fält Typ Beskrivning
customCss string · nullable CSS:en som faktiskt lagrades, efter sanering.
success boolean Sant när CSS:en sparades.
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: 400 401 404 Felhantering

Exempel

curl
curl -X PATCH "https://api.erp.fluit.cloud/ecom/branding" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web" \
  -H "Content-Type: application/json" \
  -d @body.json
Svar 200
{
  "customCss": "string",
  "success": true
}

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

POST /branding/ai-suggest

Suggest branding CSS for an element

Proposes custom CSS for one element of the storefront, given the channel's current branding and a description of what to change, and streams the suggestion as server-sent events.

Visa hela beskrivningen

It only proposes — PATCH /ecom/branding is what stores anything. Part of the in-store admin overlay and gated by the same admin preview token, so it is not an endpoint a storefront calls on a visitor's behalf.

Body krävs

Fält Typ
brandingContext BrandingAiSuggestBrandingContextDto
currentCss string · nullable
prompt string · nullable
selectedElements BrandingAiSuggestElementInfoDto[] · nullable

Svar

200 Tom body.

Standardfel: 400 429 Felhantering

Exempel

curl
curl -X POST "https://api.erp.fluit.cloud/ecom/branding/ai-suggest" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web" \
  -H "Content-Type: application/json" \
  -d @body.json

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

GET /channels

List available channels

Returns a list of available channels from DomainMappings. No authentication or tenant context required.

Svar

200 ChannelInfoResponse[]
Fält Typ
code Krävs string · nullable
currency Krävs string · nullable
logoUrl string · nullable
name Krävs string · nullable
type Krävs string · nullable
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.

Exempel

curl
curl "https://api.erp.fluit.cloud/ecom/channels" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Svar 200
[
  {
    "code": "string",
    "currency": "string",
    "logoUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
    "name": "Acme AB",
    "type": "string"
  }
]

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

GET /homepage

Get home page configuration

Returns the channel's configured home page layout and visible sections, filtered by date for banners.

Svar

200 HomePageResponse
Fält Typ
fullWidth boolean
layout string · nullable
sections HomePageSection[] · nullable
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/homepage" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Svar 200
{
  "fullWidth": true,
  "layout": "string",
  "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"
    }
  ]
}

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.

BrandingAiSuggestBrandingContextDto

EcomBrandingAiSuggestBrandingContextDto
Fält Typ
accentColor string · nullable
borderRadius string · nullable
fontBody string · nullable
fontHeading string · nullable
primaryColor string · nullable

BrandingAiSuggestElementInfoDto

EcomBrandingAiSuggestElementInfoDto
Fält Typ
classNames string[] · nullable
computedStyles object · nullable
selector string · nullable
tagName string · nullable

HomePageSection

HomePageSectionResponse
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 PageSectionFeatureCard[] · nullable
galleryImages PageSectionImage[] · 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 PageSectionTestimonial[] · nullable
title string · nullable
type string · nullable
videoUrl string · nullable

PageSectionFeatureCard

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

PageSectionImage

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

PageSectionTestimonial

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