# Créer une promotion par réduction pour un objet Crée une promotion par réduction pour un objet. Les promotions offrent une remise (%) sur les objets. La remise s'applique à tous les prix des objets spécifiés. Endpoint: POST /v3/project/{project_id}/admin/promotion/item Version: 2.0.0 Security: basicAuth ## Path parameters: - `project_id` (integer, required) ID de projet. Ce paramètre se trouve dans le Compte éditeur à côté du nom du projet. Example: 44056 ## Request fields (application/json): - `attribute_conditions` (array) Conditions de validation des attributs utilisateur. Déterminez la disponibilité de la promotion selon la correspondance des attributs utilisateur avec l'ensemble des conditions définies. - `discount` (object, required) - `discount.percent` (string, required) Pourcentage de la remise. Le prix de l'objet sera réduit d'une valeur calculée à l'aide de ce pourcentage et arrondie à 2 décimales. Example: 10 - `excluded_promotions` (array) Liste des ID de promotion à exclure lors de l'application de cette promotion. Example: [12, 789] Example: [12,789] - `is_enabled` (boolean) Si la promotion est activée ou non. Example: true - `items` (array, required) - `items.sku` (string, required) UGS de l'objet. - `limits` (object) Limites de la promotion. - `limits.per_user` (integer,null) Limites de la promotion pour un utilisateur spécifique. - `limits.recurrent_schedule` (object,null) Délai d'actualisation des limites. - `limits.recurrent_schedule.per_user` (object) Délai d'actualisation des limites pour un utilisateur. - `limits.recurrent_schedule.per_user.day_of_month` (integer,null) Jour du mois où les limites sont actualisées. Si aucun jour du mois n'est sélectionné en raison d'un mois plus court, l'actualisation aura lieu le dernier jour du mois. Ne prend pas la valeur null. Uniquement pour le type de délai d'actualisation de limites monthly. - `limits.recurrent_schedule.per_user.day_of_week` (integer,null) Jour de la semaine où les limites sont actualisées. Où 1 correspond au lundi et 7 au dimanche. Ne prend pas la valeur null. Uniquement pour le type de délai d'actualisation de limites weekly. - `limits.recurrent_schedule.per_user.displayable_reset_next_date` (string) Date et heure de réinitialisation des limites (ISO 8601). Example: "2023-02-28T11:00:00+08:00" - `limits.recurrent_schedule.per_user.displayable_reset_start_date` (string) Date et heure de la première actualisation des limites (ISO 8601). Example: "2023-02-28T11:00:00+08:00" - `limits.recurrent_schedule.per_user.interval_type` (string) Type de délai d'actualisation récurrent. Enum: "daily", "weekly", "monthly" - `limits.recurrent_schedule.per_user.reset_next_date` (integer) Date et heure d'actualisation des limites (horodatage Unix). Example: 1677553200 - `limits.recurrent_schedule.per_user.time` (string) Heure d'actualisation des limites dans le fuseau horaire souhaité (arrondie en heures). Example: "11:00:00+03:00" - `name` (object, required) Nom de la promotion. Doit comprendre des paires clé/valeur, où la clé est une région au format "^[a-z]{2}-[A-Z]{2}$", la valeur est une chaîne. Example: {"en-US":"Promotion","ru-RU":"Акция"} - `price_conditions` (array,null) Tableau d'objets avec des conditions définissant la fourchette de prix pour l'application de la promotion. La promotion ne s'applique qu'aux biens dont le prix répond à toutes les conditions du tableau. Si vous passez ce tableau, définissez la valeur de l'objet [items](/fr/api/shop-builder/operation/create-item-promotion/#!path=items&t=request) sur null. - `price_conditions.operator` (string, required) Opérateur de comparaison pour définir la fourchette de prix pour l'application de la promotion. Enum: "ge", "gt", "le", "lt", "eq", "ne" - `price_conditions.value` (string, required) Valeur permettant de déterminer la fourchette de prix pour l'application de la promotion. - `promotion_periods` (array) Périodes de validité de la promotion. Si plusieurs périodes sont spécifiées, les paramètres date_from et date_until sont tous deux requis. - `promotion_periods.date_from` (string, required) Date de début de la promotion spécifiée. Example: "2020-08-11T10:00:00+03:00" - `promotion_periods.date_until` (string,null) Date de fin de la promotion. Si la valeur est null, la promotion est illimitée. null n'est autorisé que si une seule période de validité est définie. Example: "2020-08-11T20:00:00+03:00" ## Response 201 fields (application/json): - `promotion_id` (integer) ID de la promotion. Identifiant unique de la promotion au sein du projet. ## Response 401 fields (application/json): - `errorCode` (integer) Example: 1020 - `errorMessage` (string) Example: "[0401-1020]: Error in Authentication method occurred" - `statusCode` (integer) Example: 401 ## Response 422 fields (application/json): - `errorCode` (integer) Example: 1102 - `errorMessage` (string) Example: "[0401-1102]: Unprocessable Entity. The property `items` is required" - `statusCode` (integer) Example: 422 - `transactionId` (string) Example: "x-x-x-x-transactionId-mock-x-x-x"