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

# Shop-SKUs

> Shop-SKUs über die Management API anlegen, lesen, aktualisieren und löschen

# Shop-SKUs

Eine Shop-SKU verknüpft eine SKU mit einem Shop (und einem Shop-Produkt). Preise sind in **Euro-Cent**.

**Leseberechtigung:** `product:read`\
**Schreibberechtigung:** `product:write`

## Shop-SKUs auflisten

```bash theme={null}
GET /v1/management/shop-skus
```

<ParamField query="page" type="integer" default="0">
  Seitennummer (0-indexiert)
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Anzahl der Shop-SKUs pro Seite
</ParamField>

<ParamField query="shop_uid" type="string">
  Filter auf einen einzelnen Shop
</ParamField>

<ParamField query="search" type="string">
  Präfixsuche nach Shop-Varianten-ID oder externer Shop-SKU
</ParamField>

```bash theme={null}
curl -X GET "https://api.rxscale.com/v1/management/shop-skus?shop_uid=shop-001" \
  -H "X-API-Key: your-api-key-here"
```

## Shop-SKU anlegen

```bash theme={null}
POST /v1/management/shop-skus
```

Pflichtfelder: `shop_uid`, `shop_product_uid`, `price`. Optional: `sku_uid`, `shop_sku`, `shop_variation_id`, `image_url`, `last_synced_stock`.

```bash theme={null}
curl -X POST "https://api.rxscale.com/v1/management/shop-skus" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "shop_uid": "shop-001",
    "shop_product_uid": "sp-345",
    "sku_uid": "sku-456",
    "shop_sku": "shopify-variant-123",
    "shop_variation_id": "gid://shopify/ProductVariant/123",
    "price": 1299
  }'
```

Gibt HTTP 201 zurück. `shop_product_uid` muss zum angegebenen `shop_uid` gehören. Das Anlegen eines zweiten Shop-SKU für eine `sku_uid` oder `shop_variation_id`, die bereits mit demselben `shop_uid` verknüpft ist, gibt HTTP 409 zurück.

Pro Shop genau ein Shop-SKU je SKU und je Variations-ID: Hat der Shop bereits ein aktives
Shop-SKU mit dieser `sku_uid` oder dieser `shop_variation_id`, wird die Anfrage mit
HTTP 409 abgelehnt und nichts angelegt. Eine zweite Zuordnung ergänzt keine Listung —
sie macht mehrdeutig, welcher Preis und welches SKU für eine eingehende Bestellung gilt.
Aktualisieren Sie stattdessen das vorhandene Shop-SKU oder löschen Sie es zuerst. Zwei
verschiedene Shops dürfen dieselbe SKU und dieselbe Variations-ID selbstverständlich führen.

## Shop-SKU abrufen / aktualisieren / löschen

```bash theme={null}
GET    /v1/management/shop-skus/{shop_sku_uid}
PATCH  /v1/management/shop-skus/{shop_sku_uid}
DELETE /v1/management/shop-skus/{shop_sku_uid}
```

Aktualisierbare Felder: `sku_uid`, `shop_sku`, `shop_variation_id`, `price`, `image_url`, `last_synced_stock`. Löschen gibt HTTP 204 zurück.

Eine `sku_uid` oder `shop_variation_id`, die ein anderes aktives Shop-SKU desselben Shops
bereits trägt, wird aus dem oben genannten Grund mit HTTP 409 abgelehnt. Die eigenen
aktuellen Werte erneut zu senden, ist immer erlaubt.
