# Lire la liste de toutes les promotions Récupère la liste des promotions d'un projet. Endpoint: GET /v3/project/{project_id}/admin/promotion 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 ## Query parameters: - `limit` (integer) Nombre maximal d'éléments sur une page. Example: 50 - `offset` (integer) Numéro de l'élément à partir duquel la liste est générée (le décompte commence à 0). - `enabled` (integer) Filtrer les éléments en fonction de l'indicateur is_enabled. ## Response 200 fields (application/json): - `active_promotions_count` (integer) Nombre de promotions actives. - `inactive_promotions_count` (integer) Nombre de promotions désactivées. - `promotions` (array) - `promotions.bonus` (array) - `promotions.bonus.item` (object) - `promotions.bonus.item.bundle_type` (string) Type de lot. Renvoyé si le type d'objet est un lot. Enum: "standard", "virtual_currency_package" - `promotions.bonus.item.content` (array) - `promotions.bonus.item.description` (string,null) Description de l'objet. Example: "Game description" - `promotions.bonus.item.image_url` (string,null) URL de l'image. Example: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png" - `promotions.bonus.item.name` (object) Nom de l'objet. Example: {"en":"Game name"} - `promotions.bonus.item.sku` (string) ID unique de l'objet. L'UGS ne peut comprendre que des caractères alphanumériques latins minuscules et majuscules, des points, des tirets et des traits bas. Example: "game_01" - `promotions.bonus.item.type` (string) Type d'objet : virtual_good/virtual_currency/bundle/physical_good/unit. Example: "unit" - `promotions.bonus.item.unit_items` (array) Si l'objet est de type unit, il inclut tous les objets dans l'unité. Dans la plupart des cas, l'utilisateur doit en choisir un comme bonus de coupon. - `promotions.bonus.item.unit_items.drm_name` (string) Nom du DRM. Example: "Steam" - `promotions.bonus.item.unit_items.drm_sku` (string) ID unique du DRM. L'UGS ne peut comprendre que des caractères alphanumériques latins minuscules et majuscules, des points, des tirets et des traits bas. Example: "steam" - `promotions.bonus.item.unit_items.is_free` (boolean) - `promotions.bonus.item.unit_items.type` (string) Type d'objet : game_key. Example: "game_key" - `promotions.bonus.quantity` (number) Quantité de l'objet. - `promotions.condition` (array,null) - `promotions.discount` (object,null) Example: {"discount":{"percent":"10.99"}} - `promotions.discount.percent` (string,null) Pourcentage de la remise. Le prix du panier sera réduit d'une valeur calculée à l'aide de ce pourcentage et arrondie à 2 décimales. Example: "10.00" - `promotions.id` (integer) ID de la promotion. Identifiant unique de la promotion au sein du projet. Example: 1 - `promotions.is_enabled` (boolean) - `promotions.limits` (object) Limites de la promotion. - `promotions.limits.per_item` (integer,null) Limites globales d'objets. Example: 10 - `promotions.limits.per_user` (object,null) Limites de la promotion pour un utilisateur spécifique. - `promotions.limits.per_user.total` (integer) Nombre total d'objets qu'un utilisateur peut acheter. Définissez ce nombre dans le Compte éditeur ou utilisez les endpoints administrateur pour les entités de Store (objet contenant des limites). Example: 5 - `promotions.limits.recurrent_schedule` (object,null) Délai d'actualisation des limites. - `promotions.limits.recurrent_schedule.per_user` (object) Délai d'actualisation des limites pour un utilisateur. - `promotions.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. - `promotions.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. - `promotions.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" - `promotions.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" - `promotions.limits.recurrent_schedule.per_user.interval_type` (string) Type de délai d'actualisation récurrent. Enum: "daily", "weekly", "monthly" - `promotions.limits.recurrent_schedule.per_user.reset_next_date` (integer) Date et heure d'actualisation des limites (horodatage Unix). Example: 1677553200 - `promotions.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" - `promotions.name` (object) 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: {"de-DE":"Gutscheintitel","en-US":"Coupon title"} - `promotions.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. - `promotions.promotion_periods.date_from` (string, required) Date de début de la promotion spécifiée. Example: "2020-08-11T10:00:00+03:00" - `promotions.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" - `promotions.type` (string) Type de promotion. Example: "item_discount" - `total_promotions_count` (integer) Nombre total de promotions. ## Response 401 fields (application/json): - `errorCode` (integer) Example: 1020 - `errorMessage` (string) Example: "[0401-1020]: Error in Authentication method occurred" - `statusCode` (integer) Example: 401