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

Mettre à jour ou modifier une tarification de gros avec les API

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

Ce document explique comment mettre à jour une règle de tarification de gros existante avec l’API publique.


Pour mettre à jour un enregistrement de tarification de gros existant, utilisez le point de terminaison suivant :

PUT https://wholesale.samita.io/api/v1/wholesale-pricings/{id}
  • {id} correspond à l’ID de l’enregistrement de tarification de gros
  • L’ID est disponible dans l’interface de l’application (sans le symbole « # »)
  • Exemple :

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

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 mettre à jour une tarification de gros doivent être envoyées au format JSON. Un exemple de structure JSON figure à la fin de ce document.

_ Seuls les champs à mettre à jour sont requis dans la requête. Il n’est pas obligatoire d’envoyer tous les champs, contrairement à la méthode de création.

_ Les champs non indiqués restent inchangés

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
  • Facultatif dans l’API de mise à jour
  • Doit être une chaîne de caractères
  • Longueur maximale : 255 caractères

  • Indique si l’enregistrement est actif ou non
  • Facultatif dans l’API de mise à jour
  • 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 :

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

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

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

Les autres champs sont obligatoires selon le type sélectionné :

  • product_ids → obligatoire si type == products
  • product_tags → obligatoire si type == product-tags
  • collection_ids → obligatoire si type == collections

apply_for_variants

  • 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": []
}

Types acceptés :

  • none
  • products
  • collections

Utilisé lorsque les réductions sont configurées 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 contient :

  • id – ID de la variante
  • discount_groups – Tableau de configurations de réduction

Règles de discount_groups

  • Si apply_customer.type vaut all, logged ou non-logged
    → Un seul élément est autorisé
  • 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"]

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

Règles :

  • type doit être l’une des valeurs suivantes :
    • percent
    • amount
    • fixed-amount
  • value
    • Doit être supérieur à 0
    • Si type vaut percent, la valeur doit être inférieure à 100

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

types

  • Facultatif
  • Valeurs acceptées : start_date, end_date
  • 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 Update
  • Chaque clé API peut avoir les autorisations View, Create, Update et Delete
  • Cette API nécessite l’autorisation Update
  • Également renvoyée lorsque l’ID indiqué n’existe pas

429 – Trop de requêtes

Limite de débit dépassée :

  • Maximum 1 requête toutes les 5 minutes
  • Maximum 50 requêtes par jour

200 – Succès de l’API

  • L’enregistrement de tarification de gros a bien été mis à jour
  • La réponse est renvoyée au format JSON

Exemple de JSON de réponse :

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

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