Zum Inhalt

Shops & Produkte

Shops auflisten

GET /api/v2/public/orgs/{orgId}/shops
Authorization: Bearer {token}

Bereich: products.read

Antwort

{
  "data": [
    { "shop_id": "shop1", "name": "Demo Shop DEV", "is_active": true }
  ]
}

shop_id-Werte in Produktkatalog- und Bestellaufrufen verwenden.


Shop-Produkte auflisten

GET /api/v2/public/orgs/{orgId}/products?shop_id=shop1&limit=50&page=1
Authorization: Bearer {token}

Bereich: products.read

Query Pflicht Standard Beschreibung
shop_id Ja Shop der Organisation
limit Nein 50 Seitengröße
page Nein 1 Seitennummer

Einzelnes Produkt abrufen

GET /api/v2/public/orgs/{orgId}/products/{p1Id}?shop_id=shop1
Authorization: Bearer {token}

Bereich: products.read

{
  "p1_id": "12345",
  "name": "Product name",
  "slug": "product-slug",
  "category": "Blüten",
  "price": 8.99,
  "stock_quantity": 100,
  "shop_id": "shop1"
}

Produkt zum Org-Bestand hinzufügen

Fügt ein globales Katalogprodukt zum Organisationsbestand hinzu (Voraussetzung für Shop-Zuordnung).

POST /api/v2/public/orgs/{orgId}/products/add-to-inventory
Authorization: Bearer {token}
Content-Type: application/json

{
  "p1_id": "12345",
  "initial_stock": 10,
  "price": 8.99
}

Bereich: products.write

Feld Pflicht Beschreibung
p1_id Ja Katalog-Produkt-ID
initial_stock Nein Standard 1
price Nein Org-spezifischer Preis

Produkt aktualisieren

PUT /api/v2/public/orgs/{orgId}/products/{p1Id}
Authorization: Bearer {token}
Content-Type: application/json

{
  "name": "Updated name",
  "price": 9.99,
  "available": true
}

Bereich: products.write

Produkt muss im Org-Bestand existieren. Optionale Felder: name, slug, description, category, price, THC/CBD, Verfügbarkeit.


Shop-Zuordnung

Siehe auch Bestand & Lager für Bestandsvoraussetzungen.

Produkt einem Shop zuweisen

Produkt muss Bestand > 0 im Org-Bestand haben. shop_id muss zu {orgId} gehören.

POST /api/v2/public/orgs/{orgId}/shops/attach-product
Authorization: Bearer {token}
Content-Type: application/json

{
  "shop_id": "shop1",
  "p1_id": "12345",
  "overrides": {},
  "mode": "merge"
}

Bereich: products.write

Produkt vom Shop entfernen

POST /api/v2/public/orgs/{orgId}/shops/detach-product
Authorization: Bearer {token}
Content-Type: application/json

{ "shop_id": "shop1", "p1_id": "12345" }

Shop-Produkt-Overrides setzen

POST /api/v2/public/orgs/{orgId}/shops/product-overrides
Authorization: Bearer {token}
Content-Type: application/json

{
  "shop_id": "shop1",
  "p1_id": "12345",
  "overrides": { "price": 9.99 },
  "mode": "merge"
}
mode Verhalten
merge Overrides tief zusammenführen (Standard)
replace Gesamtes Overrides-Objekt ersetzen