Salta ai contenuti
Prova gratis per 14 giorni
Italiano
Apri in Claude Fai domande su questa paginaApri in ChatGPT Fai domande su questa pagina

Creare Wholesale Pricing tramite API

Crea una nuova regola Wholesale Pricing tramite l'API pubblica, con il riferimento completo del corpo della richiesta.

Questo documento spiega come creare una nuova regola Wholesale Pricing tramite l’API pubblica.


Per creare un nuovo record Wholesale Pricing, usa il seguente endpoint:

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

Tutte le richieste API devono includere le seguenti intestazioni obbligatorie:

Intestazione Descrizione Obbligatoria
X-SAMITA-API-KEY Chiave API fornita nell’app Wholesale Sì
X-SAMITA-SHOP-URL Dominio del negozio Shopify nel formato xxx.myshopify.com Sì
CONTENT-TYPE Deve essere application/json Sì

Se manca anche una sola intestazione obbligatoria, la richiesta viene rifiutata.


I dati usati per creare Wholesale Pricing devono essere inviati in formato JSON.
Un esempio di struttura JSON è riportato alla fine di questo documento.

Esempio di JSON della richiesta:

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

  • Il nome usato per identificare il record Wholesale Pricing
  • Deve essere una stringa
  • Lunghezza massima: 255 caratteri

  • Definisce se il record è attivo oppure no
  • Accetta solo i seguenti valori:
Valore Descrizione
true La regola di prezzo è attiva
false La regola di prezzo non è attiva

Definisce quali clienti possono usufruire di questa regola di prezzo.

Struttura:

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

type

Valori accettati (uno solo tra i seguenti):

  • all – Applica a tutta la clientela
  • logged – Applica solo a chi ha effettuato l’accesso
  • non-logged – Applica solo a chi acquista come ospite
  • customer-tags – Applica solo a chi ha tag specifici

tags

  • Obbligatorio solo quando type == customer-tags
  • Deve essere un array separato da virgole
  • Esempio: ["wholesale","b2b"]

Se type non è customer-tags, questo campo può essere ignorato.


Serve a escludere clienti specifici dalla regola di prezzo.

Struttura:

"exclude_customer": {
"type": "none",
"tags": []
}

type

  • Valore predefinito: none
  • Valori accettati:
Valore Descrizione
none Non escludere nessun cliente
customer-tags Escludi i clienti in base ai tag

tags

  • Obbligatorio solo quando type == customer-tags
  • Array separato da virgole
  • Esempio: ["vip","wholesale"]

Definisce a quali prodotti viene applicata la regola di prezzo.

Struttura:

"apply_product": {
"type": "all",
"product_ids": [],
"product_tags": [],
"collection_ids": [],
"apply_for_variants": false
}

type

Valori accettati:

  • all
  • products
  • collections
  • product-tags

product_ids

  • Obbligatorio solo quando type == products
  • Elenco di ID prodotto separati da virgole
  • Esempio: [1,2,3]

product_tags

  • Obbligatorio solo quando type == product-tags
  • Esempio: ["tag1","tag2"]

collection_ids

  • Obbligatorio solo quando type == collections
  • Esempio: [1,2,3]

apply_for_variants

  • Determina se gli sconti possono essere configurati per singola variante
  • Valori accettati: true o false
  • Valore predefinito: false

Definisce i prodotti da escludere dalla regola.

Struttura:

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

type

  • Predefinito: none
  • Valori accettati:
Valore Descrizione
none Non escludere nessun prodotto
products Escludi prodotti specifici
collections Escludi collezioni specifiche

Gli altri campi sono obbligatori solo in base al tipo selezionato.


Si usa quando gli sconti vengono applicati per singola variante.

  • Deve essere vuoto se apply_product.apply_for_variants == false
  • Obbligatorio quando apply_product.apply_for_variants == true

Esempio di struttura:

"discount_for_variants": [
{
"id": 8516448190631,
"variant_pricing": true,
"variants": [
{
"id": 46747346763943,
"discount_groups": [
{
"name": "all",
"type": "percent",
"value": "10"
}
]
}
]
}
]

Struttura:

  • Array di prodotti
  • Ogni prodotto contiene:
    • id – ID prodotto
    • variant_pricing – Deve essere true
    • variants – Array di varianti

Ogni variante include:

  • id – ID variante
  • discount_groups – Array di impostazioni di sconto

Regole di discount_groups

  • Se apply_customer.type è all, logged o non-logged:
    → nell’array è consentito un solo elemento
  • Se apply_customer.type == customer-tags:
    → è possibile fornire più gruppi di sconto

Campi all’interno di discount_groups:

Campo Descrizione
name Deve corrispondere al tipo di cliente o al tag cliente
type Tipo di sconto
value Valore dello sconto

Tipi di sconto accettati:

  • percent
  • amount
  • fixed-amount

Regole per il valore:

  • Deve essere un numero maggiore di 0
  • Se type è percent, il valore deve essere inferiore a 100

Definisce a quali mercati Shopify si applica la regola.

Struttura:

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

type

Valori accettati:

  • all
  • specific-market

handle

  • Obbligatorio solo quando type == specific-market
  • Elenco di handle dei mercati separati da virgole
  • Esempio: ["japan","us"]

Per trovare l’handle del mercato, procedi così:

  • Nell’amministrazione Shopify, vai alla sezione Mercati > fai clic su Altre azioni > scegli Modifica handle dei mercati > copia l’handle visualizzato:


Si usa quando lo sconto non è configurato per singola variante.

Obbligatorio quando:

  • apply_product.type non è products, OPPURE
  • apply_product.type == products E le varianti non sono applicate

Struttura:

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

Le regole sono le stesse descritte sopra per i tipi e i valori di sconto.


Serve a configurare l’ora di inizio e di fine della regola di prezzo.

Struttura:

"active_date": {
"types": ["start_date", "end_date"],
"start_at": "2026-01-15 10:00:00",
"end_at": "2026-01-15 10:00:00"
}

types

  • Facoltativo
  • Valori accettati: start_date, end_date
  • Può includerne uno o entrambi, separati da virgola
  • Esempio: ["start_date","end_date"]

start_at

  • Obbligatorio se types include start_date
  • Formato: YYYY-MM-DD HH:MM:SS

end_at

  • Obbligatorio se types include end_date
  • Formato: YYYY-MM-DD HH:MM:SS

401 – Unauthorized

Possibili motivi:

  • URL del negozio mancante
  • Chiave API mancante
  • URL del negozio non valido
  • Chiave API non valida
  • La chiave API non corrisponde al negozio

403 – This action is unauthorized

  • La chiave API non ha l’autorizzazione Create
  • Ogni chiave API può avere le autorizzazioni View, Create, Update e Delete
  • Questa API richiede l’autorizzazione Create
  • Viene restituito anche quando un ID fornito non esiste

429 – Too Many Requests

  • Limite di frequenza superato
  • Massimo consentito:
Limite Valore
Frequenza delle richieste 1 richiesta ogni 5 minuti
Limite giornaliero 50 richieste al giorno

200 – API Success

  • Record Wholesale Pricing creato correttamente
  • Risposta restituita in formato 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_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"
}

Questa pagina ti è stata utile?