Groothandelsprijzen bijwerken of bewerken met API's
Werk een bestaande Wholesale Pricing-regel bij via de Public API, inclusief de volledige referentie voor de request body.
In dit document lees je hoe je een bestaande Wholesale Pricing-regel bijwerkt met de Public API.
1. Endpoint
Section titled “1. Endpoint”Gebruik het volgende endpoint om een bestaand Wholesale Pricing-record bij te werken:
PUT https://wholesale.samita.io/api/v1/wholesale-pricings/{id}{id}is de ID van het Wholesale Pricing-record- Je vindt de ID in de app-interface (zonder het teken “#”)
- Voorbeeld ter referentie:

Voorbeeld:
Section titled “Voorbeeld:”PUT https://wholesale.samita.io/api/v1/wholesale-pricings/12. Request-headers
Section titled “2. Request-headers”Alle API-verzoeken moeten de volgende vereiste headers bevatten:
| Header | Beschrijving | Vereist |
|---|---|---|
X-SAMITA-API-KEY |
API-sleutel uit de Wholesale-app | Ja |
X-SAMITA-SHOP-URL |
Shopify-shopdomein in de notatie xxx.myshopify.com | Ja |
CONTENT-TYPE |
Moet application/json zijn |
Ja |
Als een vereiste header ontbreekt, wordt het verzoek geweigerd.
3. Request body
Section titled “3. Request body”_ De gegevens voor het bijwerken van Wholesale Pricing moeten in JSON-indeling worden verzonden. Aan het einde van dit document vind je een voorbeeld van een JSON-structuur.
_ Alleen de velden die moeten worden bijgewerkt zijn vereist in het verzoek. Je hoeft niet alle velden te verzenden, zoals bij de Create-API-methode.
_ Velden die je niet opgeeft, blijven ongewijzigd
Voorbeeld van 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
Section titled “c. title”- De naam waarmee het Wholesale Pricing-record wordt geïdentificeerd
- Optioneel in de Update-API
- Moet een string zijn
- Maximale lengte: 255 tekens
d. status
Section titled “d. status”- Bepaalt of het record actief is of niet
- Optioneel in de Update-API
- Accepteert alleen de volgende waarden:
| Waarde | Beschrijving |
|---|---|
true |
Prijsregel is actief |
false |
Prijsregel is inactief |
e. apply_customer
Section titled “e. apply_customer”Bepaalt welke klanten in aanmerking komen voor deze prijsregel.
Structuur:
"apply_customer": { "type": "all", "tags": []}type
Geldige waarden:
allloggednon-loggedcustomer-tags
tags
- Alleen vereist wanneer
type == customer-tags - Moet een array met door komma’s gescheiden waarden zijn
- Voorbeeld:
["wholesale","b2b"]
f. exclude_customer
Section titled “f. exclude_customer”Wordt gebruikt om specifieke klanten uit te sluiten van de prijsregel.
Structuur:
"exclude_customer": { "type": "none", "tags": []}type
- Standaardwaarde:
none - Geldige waarden:
| Waarde | Beschrijving |
|---|---|
none |
Geen klanten uitsluiten |
customer-tags |
Klanten uitsluiten op basis van tags |
tags
- Alleen vereist wanneer
type == customer-tags - Voorbeeld:
["vip","wholesale"]
g. apply_product (vereist)
Section titled “g. apply_product (vereist)”Bepaalt op welke producten de prijsregel van toepassing is.
Structuur:
"apply_product": { "type": "all", "product_ids": [], "product_tags": [], "collection_ids": [], "apply_for_variants": false}type
Geldige waarden:
allproductscollectionsproduct-tags
Andere velden zijn vereist, afhankelijk van het geselecteerde type:
product_ids→ vereist alstype == productsproduct_tags→ vereist alstype == product-tagscollection_ids→ vereist alstype == collections
apply_for_variants
- Accepted values:
trueorfalse - Default value:
false
h. exclude_product
Section titled “h. exclude_product”Bepaalt welke producten van de regel worden uitgesloten.
Structuur:
"exclude_product": { "type": "none", "product_ids": [], "collection_ids": []}Geldige typen:
noneproductscollections
i. discount_for_variants
Section titled “i. discount_for_variants”Wordt gebruikt wanneer kortingen per variant zijn ingesteld.
- Moet leeg zijn als
apply_product.apply_for_variants == false - Vereist wanneer
apply_product.apply_for_variants == true
Voorbeeldstructuur:
"discount_for_variants": [
{
"id": 8516448190631,
"variant_pricing": true,
"variants": [
{
"id": 46747346763943,
"discount_groups": [
{
"name": "all",
"type": "percent",
"value": "10"
}
]
}
]
}
]
Structuur:
- Array van producten
- Elk product bevat:
id– Product-IDvariant_pricing– Moettruezijnvariants– Array van varianten
Elke variant bevat:
id– Variant-IDdiscount_groups– Array met kortingsconfiguraties
Regels voor discount_groups
- Als
apply_customer.typegelijk is aanall,loggedofnon-logged
→ Is slechts één item toegestaan - Als
apply_customer.type == customer-tags
→ Er mogen meerdere kortingsgroepen worden opgegeven
Velden binnen discount_groups:
| Veld | Beschrijving |
|---|---|
name |
Moet overeenkomen met het klanttype of de klanttag |
type |
Kortingstype |
value |
Kortingswaarde |
Geldige kortingstypen:
percentamountfixed-amount
Regels voor de waarde:
- Moet een getal groter dan 0 zijn
- Als het type
percentis, moet de waarde kleiner dan 100 zijn
j. apply_market (vereist)
Section titled “j. apply_market (vereist)”Bepaalt voor welke Shopify-markten de regel geldt.
Structuur:
"apply_market": { "type": "all", "handle": []}type
Geldige waarden:
allspecific-market
handle
- Alleen vereist wanneer
type == specific-market - Door komma’s gescheiden lijst met markt-handles
- Voorbeeld:
["japan","us"]
k. discount_group
Section titled “k. discount_group”Wordt gebruikt wanneer de korting niet per variant is ingesteld.
Vereist wanneer:
apply_product.typenietproductsis, OFapply_product.type == productsEN er geen varianten worden toegepast
Structuur:
"discount_group": { "type": "percent", "value": "10"}Regels:
typemoet een van de volgende zijn:percentamountfixed-amount
value- Moet groter zijn dan 0
- Als het type
percentis, moet de waarde kleiner zijn dan 100
l. active_date
Section titled “l. active_date”Wordt gebruikt om het start- en eindtijdstip van de prijsregel in te stellen.
Structuur:
"active_date": { "types": ["start_date", "end_date"], "start_at": "2026-01-15T10:00:00", "end_at": "2026-01-15T10:00:00"}types
- Optioneel
- Geldige waarden:
start_date,end_date - Voorbeeld:
["start_date","end_date"]
start_at
- Vereist als
typesstart_datebevat - Notatie:
YYYY-MM-DD HH:MM:SS
end_at
- Vereist als
typesend_datebevat - Notatie:
YYYY-MM-DD HH:MM:SS
4. API-respons
Section titled “4. API-respons”a. Foutresponsen
Section titled “a. Foutresponsen”401 – Unauthorized
Mogelijke oorzaken:
- Shop-URL ontbreekt
- API-sleutel ontbreekt
- Ongeldige shop-URL
- Ongeldige API-sleutel
- API-sleutel hoort niet bij de shop
403 – This action is unauthorized
- De API-sleutel heeft geen Update-recht
- Elke API-sleutel kan de rechten View, Create, Update en Delete hebben
- Voor deze API is het recht Update vereist
- Wordt ook teruggegeven wanneer de opgegeven ID niet bestaat
429 – Too Many Requests
Limiet voor aantal verzoeken overschreden:
- Maximaal 1 verzoek per 5 minuten
- Maximaal 50 verzoeken per dag
b. Succesrespons
Section titled “b. Succesrespons”200 – API Success
- Wholesale Pricing-record is bijgewerkt
- Respons wordt teruggegeven in JSON-indeling
Voorbeeld van respons-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"}