Skapa Wholesale Pricing med API:er
Skapa en ny Wholesale Pricing-regel via det publika API:et, med fullständig referens för request body.
Det här dokumentet förklarar hur du skapar en ny Wholesale Pricing-regel med det publika API:et.
1. Endpoint
Section titled “1. Endpoint”Använd följande endpoint för att skapa en ny Wholesale Pricing-post:
POST - https://wholesale.samita.io/api/v1/wholesale-pricings2. Request headers
Section titled “2. Request headers”Alla API-anrop måste innehålla följande obligatoriska headers:
| Header | Beskrivning | Obligatorisk |
|---|---|---|
X-SAMITA-API-KEY |
API-nyckel från Wholesale-appen | Ja |
X-SAMITA-SHOP-URL |
Shopify-butikens domän i formatet xxx.myshopify.com | Ja |
CONTENT-TYPE |
Måste vara application/json |
Ja |
Om en obligatorisk header saknas avvisas anropet.
3. Request body
Section titled “3. Request body”a. Allmänt format
Section titled “a. Allmänt format”Data för att skapa Wholesale Pricing måste skickas i JSON-format.
Ett exempel på JSON-struktur finns i slutet av det här dokumentet.
Exempel på 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" }}b. title (obligatoriskt)
Section titled “b. title (obligatoriskt)”- Namnet som identifierar Wholesale Pricing-posten
- Måste vara en sträng
- Maximal längd: 255 tecken
c. status (obligatoriskt)
Section titled “c. status (obligatoriskt)”- Anger om posten är aktiv eller inte
- Accepterar endast följande värden:
| Värde | Beskrivning |
|---|---|
true |
Prissättningsregeln är aktiv |
false |
Prissättningsregeln är inaktiv |
d. apply_customer (obligatoriskt)
Section titled “d. apply_customer (obligatoriskt)”Anger vilka kunder som omfattas av prissättningsregeln.
Struktur:
"apply_customer": { "type": "all", "tags": []}type
Accepterade värden (endast ett av följande):
all– gäller alla kunderlogged– gäller endast inloggade kundernon-logged– gäller endast gästkundercustomer-tags– gäller endast kunder med specifika taggar
tags
- Krävs endast när
type == customer-tags - Måste vara en array med kommaseparerade värden
- Exempel:
["wholesale","b2b"]
Om typen inte är customer-tags kan det här fältet ignoreras.
e. exclude_customer
Section titled “e. exclude_customer”Används för att utesluta vissa kunder från prissättningsregeln.
Struktur:
"exclude_customer": { "type": "none", "tags": []}type
- Standardvärde:
none - Accepterade värden:
| Värde | Beskrivning |
|---|---|
none |
Uteslut inga kunder |
customer-tags |
Uteslut kunder utifrån taggar |
tags
- Krävs endast när
type == customer-tags - Array med kommaseparerade värden
- Exempel:
["vip","wholesale"]
f. apply_product (obligatoriskt)
Section titled “f. apply_product (obligatoriskt)”Anger vilka produkter prissättningsregeln tillämpas på.
Struktur:
"apply_product": { "type": "all", "product_ids": [], "product_tags": [], "collection_ids": [], "apply_for_variants": false}type
Accepterade värden:
allproductscollectionsproduct-tags
product_ids
- Krävs endast när
type == products - Kommaseparerad lista med produkt-ID:n
- Exempel:
[1,2,3]
product_tags
- Krävs endast när
type == product-tags - Exempel:
["tag1","tag2"]
collection_ids
- Krävs endast när
type == collections - Exempel:
[1,2,3]
apply_for_variants
- Avgör om rabatter kan ställas in per variant
- Accepterade värden:
trueellerfalse - Standardvärde:
false
g. exclude_product
Section titled “g. exclude_product”Anger produkter som ska uteslutas från regeln.
Struktur:
"exclude_product": { "type": "none", "product_ids": [], "collection_ids": []}type
- Standard:
none - Accepterade värden:
| Värde | Beskrivning |
|---|---|
none |
Uteslut inga produkter |
products |
Uteslut specifika produkter |
collections |
Uteslut specifika kollektioner |
Övriga fält krävs endast beroende på vald typ.
h. discount_for_variants
Section titled “h. discount_for_variants”Används när rabatter tillämpas per variant.
- Måste vara tom om
apply_product.apply_for_variants == false - Krävs när
apply_product.apply_for_variants == true
Exempelstruktur:
"discount_for_variants": [ { "id": 8516448190631, "variant_pricing": true, "variants": [ { "id": 46747346763943, "discount_groups": [ { "name": "all", "type": "percent", "value": "10" } ] } ] }]Struktur:
- Array med produkter
- Varje produkt innehåller:
id– produkt-IDvariant_pricing– måste varatruevariants– array med varianter
Varje variant innehåller:
id– variant-IDdiscount_groups– array med rabattinställningar
Regler för discount_groups
- Om
apply_customer.typeärall,loggedellernon-logged:
→ Endast ett objekt tillåts i arrayen - Om
apply_customer.type == customer-tags:
→ Flera rabattgrupper kan anges
Fält i discount_groups:
| Fält | Beskrivning |
|---|---|
name |
Måste matcha kundtyp eller kundtagg |
type |
Rabattyp |
value |
Rabattvärde |
Accepterade rabattyper:
percentamountfixed-amount
Regler för värdet:
- Måste vara ett tal större än 0
- Om typen är
percentmåste värdet vara lägre än 100
i. apply_market (obligatoriskt)
Section titled “i. apply_market (obligatoriskt)”Anger vilka Shopify-marknader regeln gäller för.
Struktur:
"apply_market": { "type": "all", "handle": []}type
Accepterade värden:
allspecific-market
handle
- Krävs endast när
type == specific-market - Kommaseparerad lista med marknadshandles
- Exempel:
["japan","us"]
Så här hittar du marknadens handle:
- Gå till avsnittet Marknader i Shopify-admin > klicka på Fler åtgärder > välj Redigera marknadshandles > kopiera handlen som visas där:


j. discount_group
Section titled “j. discount_group”Används när rabatten inte ställs in per variant.
Krävs när:
apply_product.typeinte ärproducts, ELLERapply_product.type == productsOCH varianter inte tillämpas
Struktur:
"discount_group": { "type": "percent", "value": "10"}Reglerna är desamma som ovan för rabattyper och värden.
k. active_date
Section titled “k. active_date”Används för att ställa in start- och sluttid för prissättningsregeln.
Struktur:
"active_date": { "types": ["start_date", "end_date"], "start_at": "2026-01-15 10:00:00", "end_at": "2026-01-15 10:00:00"}types
- Valfritt
- Accepterade värden:
start_date,end_date - Kan innehålla ett eller båda värdena, separerade med kommatecken
- Exempel:
["start_date","end_date"]
start_at
- Krävs om
typesinnehållerstart_date - Format:
YYYY-MM-DD HH:MM:SS
end_at
- Krävs om
typesinnehållerend_date - Format:
YYYY-MM-DD HH:MM:SS
4. API-svar
Section titled “4. API-svar”a. Felsvar
Section titled “a. Felsvar”401 – Unauthorized
Möjliga orsaker:
- Butikens URL saknas
- API-nyckel saknas
- Ogiltig butiks-URL
- Ogiltig API-nyckel
- API-nyckeln matchar inte butiken
403 – This action is unauthorized
- API-nyckeln saknar behörigheten Create
- Varje API-nyckel kan ha behörigheterna View, Create, Update och Delete
- Det här API:et kräver behörigheten Create
- Returneras även när ett angivet ID inte finns
429 – Too Many Requests
- Gränsen för antal anrop har överskridits
- Högsta tillåtna:
| Gräns | Värde |
|---|---|
| Anropsfrekvens | 1 anrop per 5 minuter |
| Dagsgräns | 50 anrop per dag |
b. Lyckat svar
Section titled “b. Lyckat svar”200 – API Success
- Wholesale Pricing-posten skapades
- Svaret returneras i JSON-format
{ "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"}