Ga naar inhoud
14 dagen gratis proberen
Nederlands
Openen in Claude Stel vragen over deze paginaOpenen in ChatGPT Stel vragen over deze pagina

Groothandelsprijzen aanmaken met API's

Maak een nieuwe Wholesale Pricing-regel aan via de Public API, inclusief de volledige referentie voor de request body.

In dit document lees je hoe je een nieuwe Wholesale Pricing-regel aanmaakt met de Public API.


Gebruik het volgende endpoint om een nieuw Wholesale Pricing-record aan te maken:

POST - https://wholesale.samita.io/api/v1/wholesale-pricings

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.


De gegevens voor het aanmaken van Wholesale Pricing moeten in JSON-indeling worden verzonden.
Aan het einde van dit document vind je een voorbeeld van een JSON-structuur.

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"
}
}

  • De naam waarmee het Wholesale Pricing-record wordt geïdentificeerd
  • Moet een string zijn
  • Maximale lengte: 255 tekens

  • Bepaalt of het record actief is of niet
  • Accepteert alleen de volgende waarden:
Waarde Beschrijving
true Prijsregel is actief
false Prijsregel is inactief

Bepaalt welke klanten in aanmerking komen voor deze prijsregel.

Structuur:

"apply_customer": {
"type": "all",
"tags": []
}

type

Geldige waarden (kies er één):

  • all – Toepassen op alle klanten
  • logged – Alleen toepassen op ingelogde klanten
  • non-logged – Alleen toepassen op gastklanten
  • customer-tags – Alleen toepassen op klanten met specifieke tags

tags

  • Alleen vereist wanneer type == customer-tags
  • Moet een array met door komma’s gescheiden waarden zijn
  • Voorbeeld: ["wholesale","b2b"]

Als het type niet customer-tags is, kun je dit veld negeren.


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
  • Array met door komma’s gescheiden waarden
  • Voorbeeld: ["vip","wholesale"]

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:

  • all
  • products
  • collections
  • product-tags

product_ids

  • Alleen vereist wanneer type == products
  • Door komma’s gescheiden lijst met product-ID’s
  • Voorbeeld: [1,2,3]

product_tags

  • Alleen vereist wanneer type == product-tags
  • Voorbeeld: ["tag1","tag2"]

collection_ids

  • Alleen vereist wanneer type == collections
  • Voorbeeld: [1,2,3]

apply_for_variants

  • Bepaalt of kortingen per variant kunnen worden ingesteld
  • Geldige waarden: true of false
  • Standaardwaarde: false

Bepaalt welke producten van de regel worden uitgesloten.

Structuur:

"exclude_product": {
"type": "none",
"product_ids": [],
"collection_ids": []
}

type

  • Standaard: none
  • Geldige waarden:
Waarde Beschrijving
none Geen producten uitsluiten
products Specifieke producten uitsluiten
collections Specifieke collecties uitsluiten

Andere velden zijn alleen vereist, afhankelijk van het geselecteerde type.


Wordt gebruikt wanneer kortingen per variant worden toegepast.

  • 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-ID
    • variant_pricing – Moet true zijn
    • variants – Array van varianten

Elke variant bevat:

  • id – Variant-ID
  • discount_groups – Array met kortingsinstellingen

Regels voor discount_groups

  • Als apply_customer.type gelijk is aan all, logged of non-logged:
    → Is slechts één item toegestaan in de array
  • 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:

  • percent
  • amount
  • fixed-amount

Regels voor de waarde:

  • Moet een getal groter dan 0 zijn
  • Als het type percent is, moet de waarde kleiner dan 100 zijn

Bepaalt voor welke Shopify-markten de regel geldt.

Structuur:

"apply_market": {
"type": "all",
"handle": []
}

type

Geldige waarden:

  • all
  • specific-market

handle

  • Alleen vereist wanneer type == specific-market
  • Door komma’s gescheiden lijst met markt-handles
  • Voorbeeld: ["japan","us"]

Zo vind je de markt-handle:

  • Ga in het Shopify-beheer naar Markten > klik op Meer acties > kies Markt-handles bewerken > kopieer de handle die daar staat:


Wordt gebruikt wanneer de korting niet per variant is ingesteld.

Vereist wanneer:

  • apply_product.type niet products is, OF
  • apply_product.type == products EN er geen varianten worden toegepast

Structuur:

"discount_group": {
"type": "percent",
"value": "10"
}

Dezelfde regels als hierboven voor kortingstypen en waarden gelden.


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-15 10:00:00",
"end_at": "2026-01-15 10:00:00"
}

types

  • Optioneel
  • Geldige waarden: start_date, end_date
  • Kan één of beide waarden bevatten, gescheiden door een komma
  • Voorbeeld: ["start_date","end_date"]

start_at

  • Vereist als types start_date bevat
  • Notatie: YYYY-MM-DD HH:MM:SS

end_at

  • Vereist als types end_date bevat
  • Notatie: YYYY-MM-DD HH:MM:SS

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 Create-recht
  • Elke API-sleutel kan de rechten View, Create, Update en Delete hebben
  • Voor deze API is het recht Create vereist
  • Wordt ook teruggegeven wanneer een opgegeven ID niet bestaat

429 – Too Many Requests

  • Limiet voor aantal verzoeken overschreden
  • Maximaal toegestaan:
Limiet Waarde
Frequentie 1 verzoek per 5 minuten
Daglimiet 50 verzoeken per dag

200 – API Success

  • Wholesale Pricing-record is aangemaakt
  • Respons wordt teruggegeven in JSON-indeling
{
"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_date", "end_date"],
"start_at": "2026-01-15 10:00:00",
"end_at": "2026-01-15 10:00:00"
},
"created_at": "2026-01-15T10:00:00",
"updated_at": "2026-01-15T10:00:00"
}

Was dit nuttig?