# Mettre à jour un lot

Mettre à jour un lot. Cet appel remplace entièrement le lot : passez tous les champs requis dans le corps de la requête, pas uniquement ceux à modifier. Pour en savoir plus, consultez la section Lots.

RemarqueTous les objets dans le tableau content doivent être créés à l'avance dans le projet. Le système renvoie une erreur si l'UGS spécifiée n'existe pas.

Endpoint: PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}
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

  - `sku` (string, required)
    UGS du lot.
    Example: "kg_1"

## Request fields (application/json):

  - `sku` (string, required)
    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.

  - `name` (object,null, required)
    Conteneur objet contenant les localisations du nom de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la [documentation](/fr/doc/shop-builder/references/supported-languages/) pour la liste complète des langues prises en charge.

  - `groups` (array)
    Groupes auxquels l'objet appartient.

Note. La valeur de la chaîne correspond à l'external_id du groupe.

  - `attributes` (array)
    Liste des attributs.

Attention. La création de plus de 20 attributs pour un objet n'est pas autorisée. Toute tentative de dépassement entraîne une erreur.

  - `attributes.external_id` (string, required)
    ID unique de l'attribut. Le external_id ne peut comprendre que des caractères alphanumériques latins minuscules et majuscules, des tirets et des traits bas.

  - `attributes.name` (object)
    Objet contenant des versions localisées du nom de l'attribut. Les clés sont spécifiées selon la norme ISO 3166-1.

  - `attributes.values` (array, required)
    Attention. La création de plus de 6 valeurs pour un attribut n'est pas autorisée. Toute tentative de dépassement entraînera une erreur.
    Example: [{"external_id":"strategy","value":{"en":"Strategy","de":"Strategie"}},{"external_id":"action","value":{"en":"Action","de":"Aktion"}}]

  - `attributes.values.external_id` (string, required)
    ID unique de la valeur d'un attribut. Le external_id ne peut comprendre que des caractères alphanumériques latins minuscules, des tirets et des tirets bas.
    Example: "value_external_id"

  - `attributes.values.value` (object, required)
    Objet contenant des versions localisées du nom de la valeur. Les clés sont spécifiées selon la norme ISO 3166-1.

  - `description` (object,null, required)
    Conteneur objet contenant les localisations de la description de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la [documentation](/fr/doc/shop-builder/references/supported-languages/) pour la liste complète des langues prises en charge.

  - `long_description` (object,null)
    Conteneur objet contenant les localisations de la description complète de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la [documentation](/fr/doc/shop-builder/references/supported-languages/) pour la liste complète des langues prises en charge.

  - `image_url` (string,null)
    URL de l'image. Pour garantir un affichage correct et un chargement rapide dans l'interface de paiement, consultez les recommandations suivantes pour les images et les URL :Formats pris en charge : WebP (recommandé), PNG, JPG.Taille du fichier : ≤ 50 Kb (WebP) ou ≤ 150 Kb (PNG et JPG).Dimensions : 280 x 280 px.Espace colorimétrique : sRGB.Protocole : HTTPS avec mise en cache longue durée pour les URL versionnées.

  - `prices` (array)
    Prix en devises réelles.

  - `prices.amount` (string, required)
    Prix de l'objet.

  - `prices.currency` (string, required)
    Devise du prix de l'objet. Code à trois lettres selon [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).

  - `prices.is_default` (boolean, required)
    Le prix par défaut est utilisé pour constituer le catalogue si aucun prix n'est spécifié dans la devise de l'utilisateur.

  - `prices.is_enabled` (boolean, required)
    Le prix est activé.

  - `prices.country_iso` (string,null)
    Pays où ce prix est disponible. Code à deux lettres selon la norme [ISO 3166-1 alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
    Example: "US"

  - `vc_prices` (any)

  - `bundle_type` (string)
    Type de lot. Utilisez standard pour créer un lot contenant des objets et spécifiez les UGS des objet inclus.
Utilisez partner_side_content pour créer un lot vide auquel vous ajouterez des objets de votre côté via un [webhook](https://developers.xsolla.com/fr/webhooks/operation/personalized-partner-catalog/). Ce type est réservé à la [Personnalisation du catalogue côté partenaire](https://developers.xsolla.com/fr/doc/shop-builder/features/personalization/#guides_personalization_on_partner_side).
    Enum: "standard", "partner_side_content"

  - `content` (array)
    Tableau des objets inclus dans le lot. Chaque entrée indique l'UGS de l'objet et sa quantité. Tous les objets doivent être créés au préalable dans le projet. Une erreur est renvoyée si l'UGS spécifié n'existe pas.
    Example: [{"sku":"com.xsolla.kg_1","quantity":1}]

  - `content.sku` (string, required)
    UGS d'un objet à inclure dans le lot. L'objet doit être créé au préalable dans le projet. Une erreur est renvoyée si l'UGS spécifié n'existe pas. Caractères autorisés : a-z, A-Z, 0-9, point (.), tiret (-), tiret bas (_).
    Example: "com.xsolla.kg_1"

  - `content.quantity` (integer)
    Quantité des objets sélectionnés dans le lot.
    Example: 1

  - `is_free` (boolean)
    Détermine la gratuité de l'objet.

  - `is_paid_randomized_reward` (boolean)
    Si l’objet est une récompense payante aléatoire (par exemple, une boîte à butin).

  - `is_enabled` (boolean)
    Si ce paramètre est désactivé, l'objet ne peut pas être trouvé ni acheté.

  - `is_show_in_store` (boolean)
    L'objet est disponible à l'achat.

  - `media_list` (any)

  - `order` (integer)
    Ordre de priorité des lots dans la liste.

  - `regions` (array)

  - `regions.id` (integer)
    Example: 1

  - `limits` (object)
    Limites d'objets.

  - `limits.per_user` (any)
    Limites d'objets pour un utilisateur spécifique.

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

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

  - `limits.recurrent_schedule.per_user` (any)
    Réinitialisation des limites d'achat effectuée selon l'intervalle de temps spécifié, en heures.

  - `periods` (array,null)
    Période de vente d'objets.

  - `periods.date_from` (string)
    Date de mise en vente de l'objet spécifié.
    Example: "2020-08-11T10:00:00+03:00"

  - `periods.date_until` (string,null)
    Date de retrait de la vente de l'objet spécifié. Peut prendre la valeur null.
    Example: "2020-08-11T20:00:00+03:00"

  - `custom_attributes` (object)
    Un JSON contenant les attributs de l'objet et leurs valeurs. Les attributs permettent d'ajouter des informations supplémentaires aux objets, telles que le niveau requis du joueur pour utiliser l'objet. Les attributs enrichissent la logique interne de votre jeu et sont accessibles via des méthodes GET et des webhooks spécifiques.

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

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

## Response 422 fields (application/json):

  - `statusCode` (integer)
    Example: 422

  - `errorCode` (integer)
    Example: 1102

  - `errorMessage` (string)
    Example: "[0401-1102]: Unprocessable Entity. The property `property_name` is required"

  - `transactionId` (string)
    Example: "x-x-x-x-transactionId-mock-x-x-x"

  - `errorMessageExtended` (array)


## Response 204 fields
