# Lire une promotion par bonus

Récupère des informations sur une promotion par bonus.

La promotion ajoute des objets bonus gratuits à l'achat effectué par l'utilisateur.
La promotion peut être appliquée à chaque achat au sein d'un projet ou à un achat comprenant des objets particuliers.

Endpoint: GET /v3/project/{project_id}/admin/promotion/{promotion_id}/bonus
Version: 2.0.0
Security: basicAuth

## Path parameters:

  - `project_id` (integer, required)
    ID du projet. Vous trouverez ce paramètre dans le Compte éditeur, à côté du nom du projet, ainsi que dans l'URL affichée dans la barre d'adresse du navigateur lorsque vous utilisez ce projet. L'URL présente le format suivant : https://publisher.xsolla.com//projects/.
    Example: 44056

  - `promotion_id` (integer, required)
    ID de la promotion. Identifiant unique de la promotion au sein du projet.
    Example: 111425

## Response 200 fields (application/json):

  - `id` (integer)
    ID de la promotion. Identifiant unique de la promotion au sein du projet.

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

  - `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: {"en-US":"Summer season bonus","de-DE":"Sommersaison Bonus"}

  - `is_enabled` (boolean)

  - `condition` (array,null)
    Ensemble d'objets devant être inclus dans l'achat pour l'application d'une promotion. Si ce paramètre est défini sur null, la promotion s'applique à tous les achats effectués dans au sein du projet.

  - `condition.sku` (string)
    UGS de l'objet.

  - `bonus` (array,null)

  - `bonus.sku` (string)
    UGS de l'objet.

  - `bonus.quantity` (number)
    Quantité de l'objet.

  - `attribute_conditions` (array)
    Conditions de validation des attributs utilisateur.
Détermine la disponibilité de la promotion selon que les attributs utilisateur correspondent à toutes les conditions spécifiées.

  - `limits` (object)
    Limites de la promotion.

  - `limits.per_user` (object,null)
    Limites de la promotion pour un utilisateur spécifique.

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

  - `limits.per_item` (integer,null)
    Limites globales d'objets.
    Example: 10

  - `limits.recurrent_schedule` (object,null)
    Délai d'actualisation des limites.

  - `limits.recurrent_schedule.per_user` (any)
    Délai d'actualisation des limites pour un utilisateur.

  - `excluded_promotions` (array)
    Liste des ID de promotion à exclure lors de l'application de cette promotion. Example: [12, 789]

  - `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 [condition](/fr/api/shop-builder/operation/create-bonus-promotion/#!path=condition&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.

Valeurs possibles :
- ge — Supérieur ou égal à
- gt — Supérieur à
- le — Inférieur ou égal à
- lt — Inférieur à
- eq — Égal à
- ne — Différent de
    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.

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

  - `errorMessage` (string)
    Example: "[0401-1020]: Error in Authentication method occurred"

## Response 404 fields (application/json):

  - `statusCode` (integer)
    Example: 404

  - `errorCode` (integer)
    Example: 9502

  - `errorMessage` (string)
    Example: "[0401-9502]: Can not find promotion with ID = 111425 in project 59080"


