Skip to main content
Les remises sont gérées dans l’un des deux périmètres suivants :
  • Une remise d’établissement appartient à un seul restaurant.
  • Une remise d’organisation est un modèle affecté à un ou plusieurs établissements.
La liste d’un établissement renvoie les deux types afin d’afficher toutes les offres effectives pour ce restaurant. Les remises provenant de l’organisation sont en lecture seule sur les routes de mutation d’un établissement ; modifiez leur modèle ou leur affectation via les routes de l’organisation.

Endpoints

Remises d’établissement
Modèles d’organisation
Affectations aux établissements
Les écritures exigent discounts.write et les lectures discounts.read. Une clé d’organisation peut agir sur ses établissements enfants. Une clé limitée à un établissement ne peut pas agir sur les routes de l’organisation.

Créer une remise d’établissement

Utilisez les identifiants publics des produits et bundles du catalogue actif. Chataigne n’accepte et ne renvoie jamais ici les identifiants privés des SKU ou de la base de données.
Les bornes de date sont des dates calendaires inclusives évaluées dans le fuseau horaire de l’établissement. minimum_order.amount utilise des unités monétaires majeures entières ; les montants de remise fixe acceptent deux décimales. PATCH suit une sémantique de fusion : un champ omis reste inchangé ; null efface les champs nullable comme description, image_url, les dates et minimum_order. Le type d’avantage est immuable. Pour remplacer un pourcentage par un produit offert, créez une nouvelle remise puis désactivez l’ancienne avec PATCH { "enabled": false }.

Types d’avantage

required_items représente une condition d’éligibilité ; ce champ ne limite pas le pourcentage ou le montant fixe à ces lignes de commande.

Mappings d’organisation

Les identifiants produits peuvent différer entre les catalogues des restaurants. Les remises d’organisation liées à des produits portent donc leurs mappings de récompense et d’éligibilité sur chaque affectation d’établissement.
PUT remplace les deux tableaux de mapping pour cet établissement. La réponse expose mapping_status :
  • ready : chaque mapping requis est résolu dans le catalogue actif ;
  • unresolved : au moins un article est absent ou appartient à un autre catalogue ;
  • ambiguous : une référence stable correspond à plusieurs articles.
Une remise dont le mapping n’est pas prêt reste visible dans l’API de gestion, mais son application à une commande échoue de manière sûre. Les montants fixes et seuils minimum d’une organisation exigent une devise unique sur tous les établissements actifs ciblés. Un ensemble multidevise renvoie discount_target_currency_mismatch ; les montants spécifiques à chaque établissement ne font pas partie de la V1.

Désactivation et historique

L’API publique V1 n’expose aucune suppression destructive de remise. Désactivez une remise d’établissement ou un modèle d’organisation avec PATCH { "enabled": false } ; la ressource reste disponible dans l’historique et peut être réactivée avec PATCH { "enabled": true }, sauf si une opération interne l’a déjà retirée après une utilisation dans une commande terminée. Les affectations déjà retirées restent consultables avec status=retired.