# Basket Update API

## 📝 Einleitung

Zur automatischen Bearbeitung von Warenkörben, bieten wir eine Webservice-API an. Diese ermöglicht die nachträgliche Anpassung bereits existierender Warenkörbe. Jeder Nutzer erhält für den Zugriff einen Access-Token und eine User-ID, die über das Frontend bereitgestellt werden.

---

## 🔐 Authentifizierung
Für den Zugriff sind folgende Header erforderlich:

| Header | Beschreibung | Typ |
| :--- | :--- | :--- |
| **Content-Type** | Der Content-Type des Requests | String |
| **X-Network-ID** | Netzwerk-ID: meist `-1` für mandantenübergreifende API | Integer |
| **X-Auth-Token** | Dein Access-Token (im Frontend sichtbar) | String |
| **X-Auth-ID** | Deine User-ID (im Frontend sichtbar) | Integer |

---

## 📩 Endpunkte

* **Admin:** `https://SUBDOMAIN.de/ws/V6/admin/JSON/Baskets`
* **Advertiser:** `https://SUBDOMAIN.de/ws/V6/advertiser/JSON/Baskets`

---

## 🧪 Beispiel (cURL)

```bash
curl -X PUT -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: AUTH-TOKEN" -H "X-Auth-ID: USER-ID" -d '[{"basket_item_id": 76041, "amount": 2, "status": "0", "additional": {"variable1": "text", "variable2": 1}}]' https://SUB.DOMAIN.DE/ws/V6/admin/JSON/Baskets
```

---

### 🧾 Body-Parameter

| Parameter | Beschreibung | Datentyp | Pflichtfeld |
| :--- | :--- | :--- | :--- |
| **basket_item_id** | Eindeutige ID des Warenkorbelements | Integer | ✅ Ja |
| **amount** | Anzahl der Warenkorbelemente | Integer | Nein |
| **price** | Nettopreis des Warenkorbelements | Float | ✅ Nein |
| **status** | Status der Order: `0` = offen, `1` = bestätigt, `2` = storniert | Integer | ✅ Ja |
| **turnover** | Bestellwert in Kampagnenwährung | Float | ✅ Ja |
| **additional** | Zusätzliche Informationen zum Basket-Item | JSON | Nein |

## Beispiel Request

**Headers**

```bash
Content-Type: application/json
X-Network-ID: -1
X-Auth-Token: ACCESS-TOKEN
X-Auth-ID: USER-ID
```

**Body**

```bash
[
    {
            "basket_item_id": 76041, 
            "amount": 1, 
            "status": "1", 
            "additional": {
                "variable1": "text", 
                "variable2": 1
            }

```
---