> ## 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.

# API-Referenz Shop-Modi

> Über die Admin Interface API prüfen, ob ein Subshop alle Voraussetzungen für den Live-Modus erfüllt, bevor der Status final umgeschaltet wird.

Über den Endpunkt `shopStatus/` wird eine Schnittstelle bereitgestellt, mit der sich vor dem Live-Schalten eines Subshops überprüfen lässt, ob alle Voraussetzungen dafür erfüllt sind. Die eigentliche Statusänderung erfolgt nicht über diesen Endpunkt, sondern als regulärer Schreibzugriff auf die Konfiguration.

Eine fachliche Beschreibung der drei Modi und des Wechsels zwischen ihnen findet sich unter [Shop-Modi](https://dokumentation.websale.de/frontend/funktionsubersicht/inaktiv-seite).

***

## Unterstützte Methoden

Angabe aller unterstützten Methoden

| Befehl/Info          | Endpunkte                       | DELETE              | GET                   | POST                | PUT                 |
| -------------------- | ------------------------------- | ------------------- | --------------------- | ------------------- | ------------------- |
| Bereitschaftsprüfung | `shopStatus/goLive/{subshopId}` | <Icon icon="ban" /> | <Icon icon="check" /> | <Icon icon="ban" /> | <Icon icon="ban" /> |

## Methode für die Bereitschaftsprüfung

Mithilfe der folgenden Methode wird geprüft, ob ein Subshop in den Aktiv-Modus wechseln darf. Sie ist rein lesend und nimmt keine Änderungen vor. Es werden alle aktiven Online-Zahlungsarten geprüft. Befindet sich eine dieser Zahlungsarten noch im Sandbox-Modus, wird sie als Blocker gemeldet.

Für die Anwendung dieser Methode müssen entsprechende Berechtigungen zum Lesen von Konfigurationsdaten vorhanden sein.

### GET shopStatus/goLive/\{subshopId}

Prüft für den angegebenen Subshop, ob die Voraussetzungen für einen Wechsel in den Modus "Aktiv" erfüllt sind.

#### Beispiel

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
http://www.<ihr-shop>.de/admin/api/v1/shopStatus/goLive/deutsch
```

#### Antwort - Bereitschaft erfüllt

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

#### Antwort - Blocker gefunden (Zahlungsmethode PayPal im Sandbox-Modus)

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
    "allowed": false,
    "blockers": {
        "paypal": "sandbox"
    }
}
```

#### Antwortfelder

| Name       | Typ    | Bedeutung                                                                                                                                                     |
| ---------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed`  | bool   | `true`, wenn keine Blocker gefunden wurden und der Wechsel auf "Aktiv" zulässig ist.<br />`false`, wenn Blocker gefunden wurden.                              |
| `blockers` | object | Nur vorhanden, wenn `allowed = false`. <br />Schlüssel: technischer Bezeichner der blockierenden Zahlungsart.<br />Wert: Grund der Blockung (z.B. `sandbox`). |

#### Fehlercodes

| Fehler           | Typ | Grund                                                                                                                              |
| ---------------- | --- | ---------------------------------------------------------------------------------------------------------------------------------- |
| 401 Unauthorized |     | Nicht autorisiert. Sie sind nicht angemeldet oder verfügen nicht über die erforderlichen Rechte zum Lesen von Konfigurationsdaten. |

<Info>
  **Setzen des Status**\
  In dieser Schnittstelle gibt es keine eigene Methode zum Setzen des Status. Die Statusänderung erfolgt als regulärer Schreibzugriff auf den [Konfigurationsknoten](https://dokumentation.websale.de/konfiguration/general-allgemeine-shopeinstellungen#general-general-allgemeine-basiseinstellungen) mit dem Body `{ "data": { "status": "active" } }` . Siehe [API-Referenz Konfiguration](https://dokumentation.websale.de/schnittstellen/admin-interface-api/api-referenz-konfiguration#get-config/nodes//overwrites).
</Info>

<Warning>
  Beim Setzen des Status direkt über den Konfigurations-Endpunkt findet keine Bereitschaftsprüfung statt. Der Wechsel auf `active` wird auch dann übernommen, wenn aktive Online-Zahlungsarten noch im Sandbox-Modus laufen. Rufen Sie deshalb vor dem Setzen unbedingt die hier beschriebene GET-Methode auf, um die Prüfung nicht zu umgehen.
</Warning>
