# Получение списка акций с промокодами

Получает список промокодов проекта.

Endpoint: GET /v3/project/{project_id}/admin/promocode
Version: 2.0.0
Security: basicAuth

## Path parameters:

  - `project_id` (integer, required)
    ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта, а также в адресной строке браузера при работе с проектом. URL-адрес имеет следующий формат: https://publisher.xsolla.com//projects/.
    Example: 44056

## Query parameters:

  - `limit` (integer)
    Лимит количества элементов на странице.
    Example: 50

  - `offset` (integer)
    Номер элемента, с которого выполняется вывод на странице (нумерация ведется с 0).

## Response 200 fields (application/json):

  - `items` (array)

  - `items.external_id` (string)
    Уникальный ID акции. external_id может содержать только строчные и заглавные латинские буквы, цифры, тире и подчеркивания.

  - `items.promotion_periods` (array)
    Периоды действия акции. Если указано больше одного периода, параметры date_from и date_until становятся обязательными.

  - `items.promotion_periods.date_from` (string, required)
    Дата начала действия указанной акции.
    Example: "2020-08-11T10:00:00+03:00"

  - `items.promotion_periods.date_until` (string,null)
    Дата окончания действия указанной акции. Если передано значение null, акция является бессрочной. Может быть null, только если указан один период действия.
    Example: "2020-08-11T20:00:00+03:00"

  - `items.name` (object)
    Название акции. Данный параметр должен содержать пары ключ/значение,
где ключ — это локаль в формате "^[a-z]{2}-[A-Z]{2}$", значение — строка.

  - `items.bonus` (array,null)

  - `items.bonus.sku` (string)
    Артикул товара.

  - `items.bonus.quantity` (number)
    Количество товаров.

  - `items.is_enabled` (boolean)

  - `items.redeem_total_limit` (integer,null)
    Ограничивает общее количество купонов.

  - `items.redeem_user_limit` (integer,null)
    Ограничивает общее количество купонов, погашаемых одним пользователем.

  - `items.redeem_code_limit` (integer,null)
    Количество погашений по коду.

  - `items.discount` (object,null)
    Example: {"discount":{"percent":"10.99"}}

  - `items.discount.percent` (string,null)
    Процент скидки.
Цена корзины будет уменьшена с использованием значения, рассчитанного с использованием этого процента, а затем округлена до 2 знаков после запятой.

  - `items.discounted_items` (array,null)
    Список товаров, на которые действует скидка по промокоду.

  - `items.discounted_items.sku` (string, required)
    Артикул товара.

  - `items.discounted_items.discount` (object, required)

  - `items.discounted_items.discount.percent` (string, required)
    Процент скидки.

Цена товара в корзине будет уменьшена с использованием значения,
рассчитанного с использованием этого процента, а затем округлена
до 2 знаков после запятой.

  - `items.total_limit_state` (object,null)
    Лимиты для каждого уникального промокода.

  - `items.total_limit_state.available` (integer)
    Оставшееся количество использований промокода.
    Example: 3

  - `items.total_limit_state.reserved` (integer)
    Зарезервированное количество промокодов.
    Example: 3

  - `items.total_limit_state.used` (integer)
    Сколько раз использовался промокод.
    Example: 5

  - `items.attribute_conditions` (array)
    Условия для проверки атрибутов пользователя.
Определяют доступность цепочки на основе соответствия атрибутов пользователя всем указанным условиям.

  - `items.price_conditions` (array,null)
    Массив объектов с условиями, задающими ценовой диапазон применения акции для отдельных товаров в корзине.
Стоимость каждого товара в корзине пользователя сравнивается с заданным в условии ценовым диапазоном. [Бонусы](/ru/api/shop-builder/operation/create-promo-code/#!path=bonus&t=request) и [скидки](/ru/api/shop-builder/operation/create-promo-code/#!path=discount&t=request) применяются только к тем товарам в корзине, цена которых удовлетворяет условию.
Если вы передаете этот массив, в массиве [discounted_items](/ru/api/shop-builder/operation/create-promo-code/#!path=discounted_items&t=request) передайте значение null.

  - `items.price_conditions.operator` (string, required)
    Оператор сравнения для задания ценового диапазона применения акции.

Возможные значения:
- ge — больше или равно
- gt — больше
- le — меньше или равно
- lt — меньше
- eq — равно
- ne — не равно
    Enum: "ge", "gt", "le", "lt", "eq", "ne"

  - `items.price_conditions.value` (string, required)
    Значение для определения ценового диапазона применения акции.

  - `items.item_price_conditions` (array,null)
    Массив объектов с условиями, задающими ценовой диапазон применения акции для отдельных товаров в корзине.
Стоимость каждого товара в корзине пользователя сравнивается с заданным в условии ценовым диапазоном. [Бонусы](/ru/api/shop-builder/operation/create-promo-code/#!path=bonus&t=request) и [скидки](/ru/api/shop-builder/operation/create-promo-code/#!path=discount&t=request) применяются только к тем товарам в корзине, цена которых удовлетворяет условию.
Если вы передаете этот массив, в массиве [discounted_items](/ru/api/shop-builder/operation/create-promo-code/#!path=discounted_items&t=request) передайте значение null.

  - `items.item_price_conditions.operator` (string, required)
    Оператор сравнения для задания ценового диапазона применения акции.

Возможные значения:
- ge — больше или равно
- gt — больше
- le — меньше или равно
- lt — меньше
- eq — равно
- ne — не равно
    Enum: "ge", "gt", "le", "lt", "eq", "ne"

  - `items.item_price_conditions.value` (string, required)
    Значение для определения ценового диапазона применения акции.

  - `items.excluded_promotions` (array)
    Список акций, которые исключаются при применении этой акции. Example: [12, 789]

  - `total_promotions_count` (integer)
    Общее количество акций.

  - `active_promotions_count` (integer)
    Количество активных акций.

  - `inactive_promotions_count` (integer)
    Количество отключенных акций.

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

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


