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

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.


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:

PUT https://wholesale.samita.io/api/v1/wholesale-pricings/1

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

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

  • 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

Bepaalt welke klanten in aanmerking komen voor deze prijsregel.

Structuur:

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

type

Geldige waarden:

  • all
  • logged
  • non-logged
  • customer-tags

tags

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

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

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

Andere velden zijn vereist, afhankelijk van het geselecteerde type:

  • product_ids → vereist als type == products
  • product_tags → vereist als type == product-tags
  • collection_ids → vereist als type == collections

apply_for_variants

  • Accepted values: true or false
  • Default value: false

Bepaalt welke producten van de regel worden uitgesloten.

Structuur:

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

Geldige typen:

  • none
  • products
  • collections

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

Elke variant bevat:

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

Regels voor discount_groups

  • Als apply_customer.type gelijk is aan all, logged of non-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:

  • 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"]

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

Regels:

  • type moet een van de volgende zijn:
    • percent
    • amount
    • fixed-amount
  • value
    • Moet groter zijn dan 0
    • Als het type percent is, moet de waarde kleiner zijn dan 100

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

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

Was dit nuttig?