Wholesale Pricing über APIs aktualisieren/bearbeiten
Aktualisieren Sie über die Public API eine vorhandene Wholesale-Pricing-Regel, einschließlich der vollständigen Referenz zum Request-Body.
Dieses Dokument erklärt, wie Sie mit der Public API eine vorhandene Wholesale Pricing-Regel aktualisieren.
1. Endpunkt
Abschnitt betitelt „1. Endpunkt“Um einen vorhandenen Wholesale Pricing-Datensatz zu aktualisieren, verwenden Sie den folgenden Endpunkt:
PUT https://wholesale.samita.io/api/v1/wholesale-pricings/{id}{id}ist die ID des Wholesale Pricing-Datensatzes- Die ID finden Sie in der App-Oberfläche (ohne das Zeichen „#“)
- Beispiel:

Beispiel:
Abschnitt betitelt „Beispiel:“PUT https://wholesale.samita.io/api/v1/wholesale-pricings/12. Request-Header
Abschnitt betitelt „2. Request-Header“Alle API-Anfragen müssen die folgenden Pflicht-Header enthalten:
| Header | Beschreibung | Erforderlich |
|---|---|---|
X-SAMITA-API-KEY |
In der Wholesale-App bereitgestellter API-Schlüssel | Ja |
X-SAMITA-SHOP-URL |
Shopify-Shop-Domain im Format xxx.myshopify.com | Ja |
CONTENT-TYPE |
Muss application/json sein |
Ja |
Fehlt ein Pflicht-Header, wird die Anfrage abgelehnt.
3. Request-Body
Abschnitt betitelt „3. Request-Body“_ Die Daten zum Aktualisieren von Wholesale Pricing müssen im JSON-Format gesendet werden. Eine Beispielstruktur im JSON-Format finden Sie am Ende dieses Dokuments.
_ In der Anfrage sind nur die Felder erforderlich, die aktualisiert werden sollen. Anders als bei der Create-API-Methode müssen nicht alle Felder gesendet werden.
_ Nicht angegebene Felder bleiben unverändert
Beispiel-Request-JSON:
{ "title": "New Wholesale Pricing", "status": true, "apply_customer": { "type": "all", "tags": [] }, "exclude_customer": { "type": "none", "tags": [] }, "apply_product": { "type": "all", "product_ids": [], "product_tags": [], "collection_ids": [], "apply_for_variants": false }, "exclude_product": { "type": "none", "product_ids": [], "collection_ids": [] }, "discount_for_variants": [ { "id": 8516448190631, "variant_pricing": true, "variants": [ { "id": 46747346763943, "discount_groups": [ { "name": "all", "type": "percent", "value": "10" } ] } ] } ], "apply_market": { "type": "all", "handle": [] }, "discount_group": { "type": "percent", "value": "10" }, "active_date": { "types": ["start_date", "end_date"], "start_at": "2026-01-15 10:00:00", "end_at": "2026-01-15 10:00:00" }}c. title
Abschnitt betitelt „c. title“- Der Name zur Identifizierung des Wholesale Pricing-Datensatzes
- In der Update-API optional
- Muss ein String sein
- Maximale Länge: 255 Zeichen
d. status
Abschnitt betitelt „d. status“- Legt fest, ob der Datensatz aktiv ist oder nicht
- In der Update-API optional
- Akzeptiert nur die folgenden Werte:
| Wert | Beschreibung |
|---|---|
true |
Preisregel ist aktiv |
false |
Preisregel ist inaktiv |
e. apply_customer
Abschnitt betitelt „e. apply_customer“Legt fest, welche Kundschaft für diese Preisregel infrage kommt.
Struktur:
"apply_customer": { "type": "all", "tags": []}type
Akzeptierte Werte:
allloggednon-loggedcustomer-tags
tags
- Nur erforderlich, wenn
type == customer-tags - Muss ein Array mit kommagetrennten Werten sein
- Beispiel:
["wholesale","b2b"]
f. exclude_customer
Abschnitt betitelt „f. exclude_customer“Schließt bestimmte Kundschaft von der Preisregel aus.
Struktur:
"exclude_customer": { "type": "none", "tags": []}type
- Standardwert:
none - Akzeptierte Werte:
| Wert | Beschreibung |
|---|---|
none |
Keine Kundschaft ausschließen |
customer-tags |
Kundschaft nach Tags ausschließen |
tags
- Nur erforderlich, wenn
type == customer-tags - Beispiel:
["vip","wholesale"]
g. apply_product (erforderlich)
Abschnitt betitelt „g. apply_product (erforderlich)“Legt fest, auf welche Produkte die Preisregel angewendet wird.
Struktur:
"apply_product": { "type": "all", "product_ids": [], "product_tags": [], "collection_ids": [], "apply_for_variants": false}type
Akzeptierte Werte:
allproductscollectionsproduct-tags
Weitere Felder sind je nach gewähltem type erforderlich:
product_ids→ erforderlich, wenntype == productsproduct_tags→ erforderlich, wenntype == product-tagscollection_ids→ erforderlich, wenntype == collections
apply_for_variants
- Akzeptierte Werte:
trueoderfalse - Standardwert:
false
h. exclude_product
Abschnitt betitelt „h. exclude_product“Legt Produkte fest, die von der Regel ausgeschlossen werden.
Struktur:
"exclude_product": { "type": "none", "product_ids": [], "collection_ids": []}Akzeptierte Typen:
noneproductscollections
i. discount_for_variants
Abschnitt betitelt „i. discount_for_variants“Wird verwendet, wenn Rabatte pro Variante konfiguriert werden.
- Muss leer sein, wenn
apply_product.apply_for_variants == false - Erforderlich, wenn
apply_product.apply_for_variants == true
Beispielstruktur:
"discount_for_variants": [
{
"id": 8516448190631,
"variant_pricing": true,
"variants": [
{
"id": 46747346763943,
"discount_groups": [
{
"name": "all",
"type": "percent",
"value": "10"
}
]
}
]
}
]
Struktur:
- Array von Produkten
- Jedes Produkt enthält:
id– Produkt-IDvariant_pricing– musstrueseinvariants– Array von Varianten
Jede Variante enthält:
id– Varianten-IDdiscount_groups– Array mit Rabattkonfigurationen
Regeln für discount_groups
- Wenn
apply_customer.typeden Wertall,loggedodernon-loggedhat
→ Es ist nur ein Eintrag erlaubt - Wenn
apply_customer.type == customer-tags
→ Es können mehrere Rabattgruppen angegeben werden
Felder innerhalb von discount_groups:
| Feld | Beschreibung |
|---|---|
name |
Muss dem Kundentyp oder Kunden-Tag entsprechen |
type |
Rabattart |
value |
Rabattwert |
Akzeptierte Rabattarten:
percentamountfixed-amount
Regeln für den Wert:
- Muss eine Zahl größer als 0 sein
- Bei type
percentmuss der Wert kleiner als 100 sein
j. apply_market (erforderlich)
Abschnitt betitelt „j. apply_market (erforderlich)“Legt fest, für welche Shopify-Märkte die Regel gilt.
Struktur:
"apply_market": { "type": "all", "handle": []}type
Akzeptierte Werte:
allspecific-market
handle
- Nur erforderlich, wenn
type == specific-market - Kommagetrennte Liste von Markt-Handles
- Beispiel:
["japan","us"]
k. discount_group
Abschnitt betitelt „k. discount_group“Wird verwendet, wenn der Rabatt nicht pro Variante konfiguriert wird.
Erforderlich, wenn:
apply_product.typenichtproductsist, ODERapply_product.type == productsgilt UND keine Varianten angewendet werden
Struktur:
"discount_group": { "type": "percent", "value": "10"}Regeln:
typemuss einer der folgenden Werte sein:percentamountfixed-amount
value- Muss größer als 0 sein
- Bei type
percentmuss der Wert kleiner als 100 sein
l. active_date
Abschnitt betitelt „l. active_date“Legt Start- und Endzeitpunkt der Preisregel fest.
Struktur:
"active_date": { "types": ["start_date", "end_date"], "start_at": "2026-01-15T10:00:00", "end_at": "2026-01-15T10:00:00"}types
- Optional
- Akzeptierte Werte:
start_date,end_date - Beispiel:
["start_date","end_date"]
start_at
- Erforderlich, wenn
typesden Wertstart_dateenthält - Format:
YYYY-MM-DD HH:MM:SS
end_at
- Erforderlich, wenn
typesden Wertend_dateenthält - Format:
YYYY-MM-DD HH:MM:SS
4. API-Antwort
Abschnitt betitelt „4. API-Antwort“a. Fehlerantworten
Abschnitt betitelt „a. Fehlerantworten“401 – Unauthorized
Mögliche Gründe:
- Shop-URL fehlt
- API-Schlüssel fehlt
- Ungültige Shop-URL
- Ungültiger API-Schlüssel
- API-Schlüssel passt nicht zum Shop
403 – This action is unauthorized
- API-Schlüssel hat keine Berechtigung Update
- Jeder API-Schlüssel kann die Berechtigungen View, Create, Update und Delete haben
- Diese API erfordert die Berechtigung Update
- Wird auch zurückgegeben, wenn die angegebene ID nicht existiert
429 – Too Many Requests
Ratenlimit überschritten:
- Höchstens 1 Anfrage pro 5 Minuten
- Höchstens 50 Anfragen pro Tag
b. Erfolgsantwort
Abschnitt betitelt „b. Erfolgsantwort“200 – API Success
- Wholesale Pricing-Datensatz erfolgreich aktualisiert
- Antwort wird im JSON-Format zurückgegeben
Beispiel-Antwort-JSON:
{ "id": 1, "title": "New Wholesale Pricing", "status": true, "apply_customer": { "type": "all", "tags": [] }, "exclude_customer": { "type": "none", "tags": [] }, "apply_product": { "type": "all", "product_ids": [], "product_tags": [], "collection_ids": [], "apply_for_variants": false }, "exclude_product": { "type": "none", "product_ids": [], "collection_ids": [] }, "discount_for_variants": [ { "id": 8516448190631, "variant_pricing": true, "variants": [ { "id": 46747346763943, "discount_groups": [ { "name": "all", "type": "percent", "value": "10" } ] } ] } ], "apply_market": { "type": "all", "handle": [] }, "discount_group": { "type": "percent", "value": "10" }, "active_date": { "types": [], "start_at": "", "end_at": "" }, "created_at": "2026-01-15T10:00:00", "updated_at": "2026-01-15T10:00:00"}