Aller au contenu
Essai gratuit de 14 jours
Français
Ouvrir dans Claude Poser des questions sur cette pageOuvrir dans ChatGPT Poser des questions sur cette page

Créer une tarification de gros avec les API

Créez une règle de tarification de gros via l'API publique, avec la référence complète du corps de la requête.

Ce document explique comment créer une règle de tarification de gros avec l’API publique.


Pour créer un enregistrement de tarification de gros, utilisez le point de terminaison suivant :

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

Toutes les requêtes API doivent inclure les en-têtes obligatoires suivants :

En-tête Description Obligatoire
X-SAMITA-API-KEY Clé API fournie dans l’application Wholesale Oui
X-SAMITA-SHOP-URL Domaine de la boutique Shopify au format xxx.myshopify.com Oui
CONTENT-TYPE Doit être application/json Oui

Si un en-tête obligatoire est manquant, la requête est rejetée.


Les données utilisées pour créer une tarification de gros doivent être envoyées au format JSON.
Un exemple de structure JSON figure à la fin de ce document.

Exemple de JSON de requête :

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

  • Le nom qui identifie l’enregistrement de tarification de gros
  • Doit être une chaîne de caractères
  • Longueur maximale : 255 caractères

  • Indique si l’enregistrement est actif ou non
  • Accepte uniquement les valeurs suivantes :
Valeur Description
true La règle de tarification est active
false La règle de tarification est inactive

Définit les clients concernés par cette règle de tarification.

Structure :

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

type

Valeurs acceptées (une seule parmi les suivantes) :

  • all – S’applique à tous les clients
  • logged – S’applique uniquement aux clients connectés
  • non-logged – S’applique uniquement aux clients non connectés
  • customer-tags – S’applique uniquement aux clients ayant des tags spécifiques

tags

  • Obligatoire uniquement lorsque type == customer-tags
  • Doit être un tableau dont les éléments sont séparés par des virgules
  • Exemple : ["wholesale","b2b"]

Si type n’est pas customer-tags, ce champ peut être ignoré.


Permet d’exclure certains clients de la règle de tarification.

Structure :

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

type

  • Valeur par défaut : none
  • Valeurs acceptées :
Valeur Description
none N’exclut aucun client
customer-tags Exclut les clients par tags

tags

  • Obligatoire uniquement lorsque type == customer-tags
  • Tableau dont les éléments sont séparés par des virgules
  • Exemple : ["vip","wholesale"]

Définit les produits auxquels la règle de tarification s’applique.

Structure :

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

type

Valeurs acceptées :

  • all
  • products
  • collections
  • product-tags

product_ids

  • Obligatoire uniquement lorsque type == products
  • Liste d’ID de produits séparés par des virgules
  • Exemple : [1,2,3]

product_tags

  • Obligatoire uniquement lorsque type == product-tags
  • Exemple : ["tag1","tag2"]

collection_ids

  • Obligatoire uniquement lorsque type == collections
  • Exemple : [1,2,3]

apply_for_variants

  • Détermine si les réductions peuvent être configurées par variante
  • Valeurs acceptées : true ou false
  • Valeur par défaut : false

Définit les produits exclus de la règle.

Structure :

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

type

  • Par défaut : none
  • Valeurs acceptées :
Valeur Description
none N’exclut aucun produit
products Exclut des produits spécifiques
collections Exclut des collections spécifiques

Les autres champs ne sont obligatoires que selon le type sélectionné.


Utilisé lorsque les réductions s’appliquent par variante.

  • Doit être vide si apply_product.apply_for_variants == false
  • Obligatoire lorsque apply_product.apply_for_variants == true

Exemple de structure :

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

Structure :

  • Tableau de produits
  • Chaque produit contient :
    • id – ID du produit
    • variant_pricing – Doit être true
    • variants – Tableau de variantes

Chaque variante comprend :

  • id – ID de la variante
  • discount_groups – Tableau de paramètres de réduction

Règles de discount_groups

  • Si apply_customer.type vaut all, logged ou non-logged :
    → Un seul élément est autorisé dans le tableau
  • Si apply_customer.type == customer-tags :
    → Plusieurs groupes de réduction peuvent être fournis

Champs de discount_groups :

Champ Description
name Doit correspondre au type de client ou au tag client
type Type de réduction
value Valeur de la réduction

Types de réduction acceptés :

  • percent
  • amount
  • fixed-amount

Règles pour la valeur :

  • Doit être un nombre supérieur à 0
  • Si type vaut percent, la valeur doit être inférieure à 100

Définit les marchés Shopify auxquels la règle s’applique.

Structure :

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

type

Valeurs acceptées :

  • all
  • specific-market

handle

  • Obligatoire uniquement lorsque type == specific-market
  • Liste de identifiants de marché séparés par des virgules
  • Exemple : ["japan","us"]

Pour obtenir l’identifiant du marché, procédez comme suit :

  • Dans l’admin Shopify, accédez à la section Marchés > cliquez sur Plus d’actions > choisissez Modifier les identifiants du marché > copiez l’identifiant affiché :


Utilisé lorsque la réduction n’est pas configurée par variante.

Obligatoire lorsque :

  • apply_product.type n’est pas products, OU
  • apply_product.type == products ET les variantes ne sont pas utilisées

Structure :

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

Les règles sont les mêmes que celles décrites plus haut pour les types et les valeurs de réduction.


Permet de configurer la date et l’heure de début et de fin de la règle de tarification.

Structure :

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

types

  • Facultatif
  • Valeurs acceptées : start_date, end_date
  • Peut contenir l’une des deux valeurs ou les deux, séparées par une virgule
  • Exemple : ["start_date","end_date"]

start_at

  • Obligatoire si types inclut start_date
  • Format : YYYY-MM-DD HH:MM:SS

end_at

  • Obligatoire si types inclut end_date
  • Format : YYYY-MM-DD HH:MM:SS

401 – Non autorisé

Causes possibles :

  • URL de la boutique manquante
  • Clé API manquante
  • URL de la boutique non valide
  • Clé API non valide
  • La clé API ne correspond pas à la boutique

403 – Cette action n’est pas autorisée

  • La clé API n’a pas l’autorisation Create
  • Chaque clé API peut avoir les autorisations View, Create, Update et Delete
  • Cette API nécessite l’autorisation Create
  • Également renvoyée lorsque l’ID indiqué n’existe pas

429 – Trop de requêtes

  • Limite de débit dépassée
  • Maximum autorisé :
Limite Valeur
Fréquence des requêtes 1 requête toutes les 5 minutes
Limite quotidienne 50 requêtes par jour

200 – Succès de l’API

  • L’enregistrement de tarification de gros a bien été créé
  • La réponse est renvoyée au format 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"
}

Cette page vous a-t-elle été utile ?