> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# storefrontApi - Storefront-API

> Der storefrontApi-Knoten bündelt alle Konfigurationsmöglichkeiten der Storefront-API im WEBSALE Shopsystem für die Anbindung externer Frontends.

export const KonfigDeeplink = ({node}) => <>
    Die Einstellung kann über folgenden Link direkt im Admin-Interface geöffnet werden:{" "}
    <code>{`https://<shop-domain>/admin/config/${node}`}</code>{" "}
    (<a href="/konfiguration/konfigurations-deeplinks">Deeplink-Übersicht</a>)
  </>;

Der Knoten `storefrontApi` bündelt die Konfigurationsmöglichkeiten für die Storefront-API.

***

## `storefrontApi*` - Grundstruktur

Nachfolgend der Grundaufbau des Knotens `storefrontApi`

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "storefrontApi": {
    "redirects": {},
    "catalogApiSettings": {}
  }
}
```

#### Parameterbeschreibung

| **Parameter**        | **Beschreibung**                                                                        |
| -------------------- | --------------------------------------------------------------------------------------- |
| `redirects`          | Definiert Template-Weiterleitungen (`identifier` → Ziel-Template).                      |
| `catalogApiSettings` | Steuert die Katalog-Endpunkte der Storefront-API und die darüber auslieferbaren Felder. |

***

## `storefrontApi.redirects` - Template-Weiterleitung

Der Knoten `storefrontApi.redirects` definiert, welcher Name (`identifier`) auf welches Template im Shop verweist.

<KonfigDeeplink node="storefrontApi.redirects" />

#### Beispielkonfiguration

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "identifier": "checkout",
  "targetTemplateName": "checkout.htm"
}
```

#### Parameterbeschreibung

| **Parameter**        | **Typ** | **Beschreibung**                                                                                                                                                                                            |
| -------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `identifier`         | string  | Freier Name der Weiterleitung, wird als `viewIdentifier` im API-Aufruf verwendet.      <br />Mehr dazu:   [Storefront API Session-Handling](/schnittstellen/storefront-api/storefront-api-session-handling) |
| `targetTemplateName` | string  | Pfad/Name der Ziel-Template-Datei (z.B. `checkout.htm`)                                                                                                                                                     |

***

## `storefrontApi.catalogApiSettings` - Steuerung der Katalog-Endpunkte

Der Knoten `storefrontApi.catalogApiSettings` steuert, welche Katalog-Endpunkte in der Storefront-API verfügbar sind und welche Felder darüber ausgeliefert werden dürfen.

<KonfigDeeplink node="storefrontApi.catalogApiSettings" />

#### Beispielkonfiguration

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "categoryFieldWhitelist": null,
  "enableCategoryDataEndpoint": true,
  "enableCategoryWhitelist": false,
  "enableProductDataEndpoint": true,
  "enableProductWhitelist": false,
  "productFieldWhitelist": null
}
```

#### Parameterbeschreibung

| **Parameter**                | **Typ**    | **Beschreibung**                                                                                                                                                        |
| ---------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enableProductDataEndpoint`  | bool       | Aktiviert/deaktiviert den Produkt-Endpunkt der Storefront-API.                                                                                                          |
| `enableCategoryDataEndpoint` | bool       | Aktiviert/deaktiviert den Kategorien-Endpunkt der Storefront-API.                                                                                                       |
| `enableProductWhitelist`     | bool       | Schaltet eine Whitelist für auslieferbare Produktfelder ein. <br />Wenn `true`, werden nur Felder aus `productFieldWhitelist` zurückgegeben.  <br />Default: `false`    |
| `enableCategoryWhitelist`    | bool       | Schaltet eine Whitelist für auslieferbare Kategoriefelder ein. <br />Wenn `true`, werden nur Felder aus `categoryFieldWhitelist` zurückgegeben.  <br />Default: `false` |
| `productFieldWhitelist`      | multiAssoc | Liste erlaubter Produktfelder aus `content.productField` und/oder `content.customProductField`.  <br />Wirkt nur, wenn `enableProductWhitelist = true`.                 |
| `categoryFieldWhitelist`     | multiAssoc | Liste erlaubter Kategoriefelder aus `content.categoryField` und/oder `content.customCategoryField`.  <br />Wirkt nur, wenn `enableCategoryWhitelist = true`.            |
