API: Sortiment
Produkte und Varianten über die REST-API lesen, anlegen und ändern, mit Preisen, Überverkauf und verfügbarem Bestand.
Rechte: catalog:read zum Lesen, catalog:write zum Anlegen und Ändern. Grundlagen zu Schlüssel und Antworten: API: Überblick und Zugang.
Endpunkte
| Methode | Pfad | Zweck |
|---|---|---|
| GET | /v1/products | Produkte mit Varianten auflisten |
| GET | /v1/products/{id} | Ein Produkt, per Produkt-ID oder SKU einer Variante |
| POST | /v1/products | Produkt anlegen, gleich mit Varianten |
| PATCH | /v1/products/{id} | Produkt ändern |
| POST | /v1/products/{id}/variants | Variante an ein Produkt hängen |
| GET | /v1/variants/{id} | Eine Variante, per Varianten-ID oder SKU |
| PATCH | /v1/variants/{id} | Variante ändern, per Varianten-ID oder SKU |
Produkte auflisten
GET /v1/products kennt diese Parameter:
| Parameter | Bedeutung |
|---|---|
search | Suche in Produkttitel, SKU und Variantentitel |
sku | Nur Produkte mit dieser SKU, mehrfach möglich (?sku=A&sku=B) |
status | ACTIVE, DRAFT oder ARCHIVED |
updated_since | Nur Produkte, deren Produkt- oder Variantendaten sich seitdem geändert haben |
limit, offset | Blättern, höchstens 100 je Seite (Standard 50) |
Der Bestand ändert updated_since nicht. Wer den Bestand abgleicht, liest die betroffenen SKUs regelmäßig ab (?sku=…).
Felder eines Produkts
| Feld | Inhalt |
|---|---|
id | ID in Trade Bridge NEO |
title | Titel (Pflicht beim Anlegen) |
status | ACTIVE, DRAFT oder ARCHIVED; neu angelegt ohne Angabe DRAFT |
vendor | Hersteller, nur aus der Herstellerliste |
productType | Produkttyp, nur aus der Liste der Produkttypen |
tags | Liste von Schlagwörtern |
descriptionHtml | Beschreibung als HTML |
seoTitle, seoDescription | Suchmaschinen-Titel und -Beschreibung |
images | Bilder mit url, alt, position (nur lesen) |
variants | Varianten (siehe unten) |
createdAt, updatedAt | Zeitpunkte (ISO 8601) |
Felder einer Variante
| Feld | Inhalt |
|---|---|
id, productId | IDs in Trade Bridge NEO |
sku | Artikelnummer, eindeutig (Pflicht beim Anlegen) |
title | Variantentitel (Pflicht beim Anlegen) |
price | Verkaufspreis brutto in EUR (Pflicht beim Anlegen) |
compareAtPrice | Streichpreis brutto |
purchasePriceNet | Kalkulations-Einkaufspreis netto |
barcode, gtin | Barcode und GTIN/EAN |
weight, weightUnit | Gewicht und Einheit |
allowOverselling | Überverkauf erlaubt: Bestellungen auch ohne Bestand |
trackInventory | Bestand wird geführt |
deliveryTime | Lieferzeit-Stufe wie in den Einstellungen |
countryOfOrigin, taric | Ursprungsland und Zolltarifnummer |
status | ACTIVE, DISCONTINUED oder ARCHIVED (nur lesen) |
available | Verfügbarer Bestand: Lagerbestand minus offene Bestellungen (nur lesen) |
Produkt anlegen
POST /v1/products
{
"title": "Strickpullover Merino",
"vendor": "Strickhaus",
"status": "DRAFT",
"tags": ["strick"],
"variants": [
{ "sku": "SH-KNIT-NAV-M", "title": "Navy / M", "price": 99.00, "allowOverselling": false },
{ "sku": "SH-KNIT-NAV-L", "title": "Navy / L", "price": 99.00 }
]
}Antwort 201 mit dem fertigen Produkt. Ist eine der SKUs schon vergeben, wird nichts angelegt (409). Unbekannte Felder lehnt die API ab (400), damit Tippfehler nicht unbemerkt bleiben.
Neue Produkte entstehen nur in Trade Bridge NEO. In die Shops kommen sie wie gewohnt über Trade Bridge NEO. Änderungen an Produkten und Varianten, die schon mit einem Shop verknüpft sind, gehen wie in der Oberfläche automatisch mit.
Ändern
PATCH ändert nur die mitgeschickten Felder:
PATCH /v1/variants/SH-KNIT-NAV-M
{ "price": 104.00, "allowOverselling": true }Löschen und Archivieren geht über die API bewusst nicht, nur in der Oberfläche.