# Eliminar código promocional de la cesta Elimina un código promocional de una cesta. Una vez eliminado el código promocional, el precio total de todos los artículos de la cesta se volverá a calcular sin bonificaciones ni descuentos proporcionados por un código promocional. Endpoint: PUT /v2/project/{project_id}/promocode/remove Version: 2.0.0 Security: AuthForCart ## Path parameters: - `project_id` (integer, required) ID del proyecto. Encontrará este parámetro en su Cuenta del editor junto al nombre del proyecto. Example: 44056 ## Request fields (application/json): - `cart` (object,null) - `cart.id` (string, required) ID de la cesta. ## Response 200 fields (application/json): - `cart_id` (string) ID de la cesta. Example: "cart_id" - `is_free` (boolean) Si es true, el artículo es gratuito. - `items` (array) Example: [{"attributes":[],"can_be_bought":true,"description":"Take it, take it all! All of Xsolla's riches in one Mega Booster.","groups":[{"external_id":"powerups","name":"Power Ups"}],"image_url":"https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png","is_free":false,"limits":{"per_user":{"available":3,"recurrent_schedule":{"interval_type":"weekly","reset_next_date":1746057600},"total":5}},"name":"Xsolla Booster Mega","periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"50.0000000000000000","amount_without_discount":"100.0000000000000000","currency":"USD"},"promotions":[{"bonus":[{"image_url":"https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png","name":"Xsolla Minigun","quantity":1,"sku":"com.xsolla.minigun_1","type":"virtual_good"}],"date_end":"2026-04-15T16:16:00+03:00","date_start":"2020-04-15T16:16:00+03:00","discount":{"percent":"50.00"},"name":"Bonus promotion"}],"quantity":123,"sku":"com.xsolla.booster_mega_1","type":"virtual_good","virtual_item_type":"consumable","virtual_prices":[],"vp_rewards":[{"amount":130,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","item_id":175232,"name":"Value point","sku":"com.xsolla.value_point_1"},{"amount":50,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","is_clan":true,"item_id":186321,"name":"Clan Reward VP 1","sku":"com.xsolla.clan_value_point_1"}]}] - `items.attributes` (array) Lista de atributos y sus valores correspondientes al artículo. Puede utilizarse para filtrar el catálogo. Example: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7","value":"Strategy"},{"external_id":"genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8","value":"Mobile"}]}} - `items.attributes.external_id` (string) ID único del atributo. external_id solo puede contener caracteres alfanuméricos latinos en minúsculas y mayúsculas, guiones y guiones bajos. Example: "attribute_1" - `items.attributes.name` (string) Nombre del atributo. Example: "Genre" - `items.attributes.values` (array) - `items.attributes.values.external_id` (string) ID del valor único para un atributo. external_id solo puede contener caracteres alfanuméricos latinos en minúsculas, guiones y guiones bajos. Example: "attribute_value" - `items.attributes.values.value` (string) Valor del atributo. Example: "Strategy" - `items.can_be_bought` (boolean) Si es true, el usuario puede comprar un artículo. Example: true - `items.description` (string) - `items.groups` (array) - `items.groups.external_id` (string) - `items.groups.name` (string) - `items.image_url` (string) - `items.limits` (object,null) Límites del artículo. - `items.limits.per_item` (object,null) Límites de artículos para un artículo. - `items.limits.per_item.available` (integer) Número restante de artículos que todos los usuarios pueden comprar. Example: 3 - `items.limits.per_item.total` (integer) Número máximo de artículos que pueden comprar todos los usuarios. Example: 5 - `items.limits.per_user` (object,null) Límites de artículos para un usuario. - `items.limits.per_user.available` (integer) Número restante de artículos que el usuario actual puede comprar. Example: 3 - `items.limits.per_user.limit_exceeded_visibility` (string) Determina la visibilidad del artículo en el catálogo tras alcanzar el límite de compra, hasta el siguiente restablecimiento del límite. Se aplica a los artículos para los que se han configurado restablecimientos periódicos del límite en la matriz recurrent_schedule. Si no se han configurado restablecimientos de límite, el artículo no aparecerá en el catálogo una vez alcanzado el límite de compra, independientemente del valor de limit_exceeded_visibility. Enum: "show", "hide" - `items.limits.per_user.recurrent_schedule` (object) Periodo de actualización recurrente de los límites del artículo para un usuario. - `items.limits.per_user.recurrent_schedule.interval_type` (string) Tipo de periodo de actualización recurrente. Enum: "daily", "weekly", "monthly", "hourly" - `items.limits.per_user.recurrent_schedule.reset_next_date` (integer) Fecha y hora en que se restablecen los límites (Marca de tiempo Unix). Example: 1677553200 - `items.limits.per_user.total` (integer) Número máximo de artículos que un mismo usuario puede comprar. Example: 5 - `items.periods` (array,null) Periodo de venta del artículo. - `items.periods.date_from` (string) Fecha en la que el artículo especificado estará disponible para la venta. Example: "2020-08-11T10:00:00+03:00" - `items.periods.date_until` (string,null) Fecha en la que el artículo especificado dejará de estar disponible para la venta. Puede ser null. Example: "2020-08-11T20:00:00+03:00" - `items.price` (object,null) Precios de artículos. - `items.price.amount` (string) Precio del artículo con descuento. Example: "2.9900" - `items.price.amount_without_discount` (string) Precio del artículo. Example: "2.9900" - `items.price.currency` (string) Divisa del precio del artículo. Código de tres letras según [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). Example: "USD" - `items.promotions` (array) Promociones aplicadas para artículos específicos de la cesta. La matriz se devuelve en los siguientes casos: * Se configura un descuento promocional para un artículo específico. * Se aplica un código promocional con el parámetro Descuento en artículos seleccionados. Si no se aplican promociones a nivel de artículo, se devuelve una matriz vacía. - `items.promotions.bonus` (array) - `items.promotions.bonus.bundle_type` (string) Tipo de artículo del lote de bonificación. Disponible solo para el tipo de artículo de bonificación bundle. Enum: "standard", "virtual_currency_package" - `items.promotions.bonus.image_url` (string) URL de la imagen del artículo de bonificación. No disponible para el tipo de artículo de bonificación physical_good. - `items.promotions.bonus.name` (string) Nombre del artículo de bonificación. No disponible para el tipo de artículo de bonificación physical_good. - `items.promotions.bonus.quantity` (integer) - `items.promotions.bonus.sku` (string) - `items.promotions.bonus.type` (string) Tipo de artículo de bonificación. Enum: "virtual_good", "virtual_currency", "bundle", "physical_good", "game_key", "nft" - `items.promotions.date_end` (string,null) - `items.promotions.date_start` (string,null) - `items.promotions.discount` (object,null) - `items.promotions.discount.percent` (string,null) - `items.promotions.discount.value` (string,null) - `items.promotions.limits` (object) - `items.promotions.limits.per_user` (object) - `items.promotions.limits.per_user.available` (integer) - `items.promotions.limits.per_user.total` (integer) - `items.type` (string) - `items.virtual_item_type` (string) Tipo de artículo virtual. Enum: "consumable", "non_consumable", "non_renewing_subscription" - `items.virtual_prices` (array) - `items.vp_rewards` (array) Recompensa de artículo del punto de valor. - `items.vp_rewards.amount` (integer) Cantidad de puntos de valor. - `items.vp_rewards.image_url` (string) URL de la imagen. Example: "https://image.example.com" - `items.vp_rewards.is_clan` (boolean) Si el punto de valor se utiliza en las cadenas de recompensas de clanes. Example: true - `items.vp_rewards.item_id` (integer) ID único interno del artículo. Example: 1 - `items.vp_rewards.name` (string) Nombre del punto de valor. - `items.vp_rewards.sku` (string) ID único del punto de valor. - `price` (object,null) Precio de la cesta. Example: {"amount":"6150.0000000000000000","amount_without_discount":"6150.0000000000000000","currency":"USD"} - `price.amount` (string) Example: "6150.0000000000000000" - `price.amount_without_discount` (string) Example: "6150.0000000000000000" - `price.currency` (string) Example: "USD" ## Response 401 fields (application/json): - `errorCode` (integer) Example: 1501 - `errorMessage` (string) Example: "[0401-1501]: Authorization failed: Provide authorization" - `statusCode` (integer) Example: 401 ## Response 403 fields (application/json): - `errorCode` (integer) - `errorMessage` (string) Example: "Authorization header not sent." - `statusCode` (integer) Example: 403 - `transactionId` (string) Example: "x-x-x-x-transactionId-mock-x-x-x" ## Response 422 fields (application/json): - `errorCode` (integer) Example: 1102 - `errorMessage` (string) Example: "[0401-1102]: Unprocessable Entity. The property `id` is required" - `statusCode` (integer) Example: 422 - `transactionId` (string) Example: "x-x-x-x-transactionId-mock-x-x-x"