# Obtener toda la lista de promociones Obtiene la lista de promociones de un proyecto. Endpoint: GET /v3/project/{project_id}/admin/promotion Version: 2.0.0 Security: basicAuth ## 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 ## Query parameters: - `limit` (integer) Límite para el número de elementos presentes en la página. Example: 50 - `offset` (integer) Número del elemento a partir del cual se genera la lista (el conteo empieza desde el 0). - `enabled` (integer) Filtrar elementos por la marca is_enabled. ## Response 200 fields (application/json): - `active_promotions_count` (integer) Número de promociones activas. - `inactive_promotions_count` (integer) Número de promociones desactivadas. - `promotions` (array) - `promotions.bonus` (array) - `promotions.bonus.item` (object) - `promotions.bonus.item.bundle_type` (string) Tipo de lote. Se devuelve si el tipo de artículo es un lote. Enum: "standard", "virtual_currency_package" - `promotions.bonus.item.content` (array) - `promotions.bonus.item.description` (string,null) Descripción del artículo. Example: "Game description" - `promotions.bonus.item.image_url` (string,null) URL de la imagen. Example: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png" - `promotions.bonus.item.name` (object) Nombre del artículo. Example: {"en":"Game name"} - `promotions.bonus.item.sku` (string) ID único del artículo. El SKU solo puede contener caracteres alfanuméricos latinos en minúsculas y mayúsculas, puntos, guiones y guiones bajos. Example: "game_01" - `promotions.bonus.item.type` (string) Tipo de artículo: virtual_good/virtual_currency/bundle/physical_good/unit. Example: "unit" - `promotions.bonus.item.unit_items` (array) Si el artículo tiene el tipo de unidad, incluye todos los artículos de la unidad. En la mayoría de los casos, el usuario debe elegir uno de ellos como bonificación del cupón. - `promotions.bonus.item.unit_items.drm_name` (string) Nombre del DRM (gestión de derechos digitales). Example: "Steam" - `promotions.bonus.item.unit_items.drm_sku` (string) ID único de DRM. El SKU solo puede contener caracteres alfanuméricos latinos en minúsculas y mayúsculas, puntos, guiones y guiones bajos. Example: "steam" - `promotions.bonus.item.unit_items.is_free` (boolean) - `promotions.bonus.item.unit_items.type` (string) Tipo de artículo: game_key. Example: "game_key" - `promotions.bonus.quantity` (number) Cantidad del artículo. - `promotions.condition` (array,null) - `promotions.discount` (object,null) Example: {"discount":{"percent":"10.99"}} - `promotions.discount.percent` (string,null) Porcentaje de descuento. El precio de la cesta se reducirá utilizando un valor calculado utilizando este porcentaje y luego se redondeará al segundo decimal. Example: "10.00" - `promotions.id` (integer) ID de promoción. Identificador único de la promoción en el proyecto. Example: 1 - `promotions.is_enabled` (boolean) - `promotions.limits` (object) Límites de la promoción. - `promotions.limits.per_item` (integer,null) Limitación global de artículos. Example: 10 - `promotions.limits.per_user` (object,null) Limitaciones de la promoción para un usuario independiente. - `promotions.limits.per_user.total` (integer) Número total de artículos que un usuario puede comprar. Puede establecer este número en Cuenta del editor o utilizar los puntos finales de administrador para las entidades de la tienda (objeto de límites). Example: 5 - `promotions.limits.recurrent_schedule` (object,null) Periodo de actualización del límite. - `promotions.limits.recurrent_schedule.per_user` (object) Periodo de actualización del límite del usuario. - `promotions.limits.recurrent_schedule.per_user.day_of_month` (integer,null) Día del mes en que se actualizan los límites. Si no hay ningún día del mes seleccionado porque el mes es más corto, la actualización se producirá el último día del mes. No null solamente para el tipo de periodo de actualización del límite monthly. - `promotions.limits.recurrent_schedule.per_user.day_of_week` (integer,null) Día de la semana en que se actualizan los límites. En el cual 1 es lunes y 7 es domingo. No null solo para el tipo de periodo de actualización del límite weekly. - `promotions.limits.recurrent_schedule.per_user.displayable_reset_next_date` (string) Fecha y hora en que deben restablecerse los límites (ISO 8601). Example: "2023-02-28T11:00:00+08:00" - `promotions.limits.recurrent_schedule.per_user.displayable_reset_start_date` (string) Fecha y hora de la primera actualización del límite (ISO 8601). Example: "2023-02-28T11:00:00+08:00" - `promotions.limits.recurrent_schedule.per_user.interval_type` (string) Tipo de periodo de actualización recurrente. Enum: "daily", "weekly", "monthly" - `promotions.limits.recurrent_schedule.per_user.reset_next_date` (integer) Fecha y hora de actualización de los límites (Marca de tiempo Unix). Example: 1677553200 - `promotions.limits.recurrent_schedule.per_user.time` (string) Hora de actualización del límite en la zona horaria deseada (redondeo a horas). Example: "11:00:00+03:00" - `promotions.name` (object) Nombre de la promoción. Debe contener pares clave/valor en los cuales la clave es una configuración regional con el formato "^[a-z]{2}-[A-Z]{2}$", el valor es una cadena (string). Example: {"de-DE":"Gutscheintitel","en-US":"Coupon title"} - `promotions.promotion_periods` (array) Periodos de validez de la promoción. Si se especifican varios periodos, es necesario tanto date_from como date_until. - `promotions.promotion_periods.date_from` (string, required) Fecha de inicio de la promoción especificada. Example: "2020-08-11T10:00:00+03:00" - `promotions.promotion_periods.date_until` (string,null) Fecha de finalización de la promoción especificada. Si se establece como null, la promoción es indefinida. Puede ser null solamente si se especifica un único periodo de validez. Example: "2020-08-11T20:00:00+03:00" - `promotions.type` (string) Tipo de promoción. Example: "item_discount" - `total_promotions_count` (integer) Número total de promociones. ## Response 401 fields (application/json): - `errorCode` (integer) Example: 1020 - `errorMessage` (string) Example: "[0401-1020]: Error in Authentication method occurred" - `statusCode` (integer) Example: 401