# Получение уникального предложения каталога

Получает указанное уникальное акционное предложение по каталогу.

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

## Path parameters:

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

  - `external_id` (integer, required)
    External ID акции. Уникальный идентификатор акции в рамках проекта.
    Example: "coupon_44056_1"

## Response 200 fields (application/json):

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

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

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

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

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

  - `items` (array)
    Список артикулов товаров, которые доступны после использования уникального предложения по каталогу.
    Example: ["booster_mega_1"]

  - `is_enabled` (boolean)

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

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

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

  - `total_limit_state` (object,null)
    Ограничения для каждого уникального кода купона.

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

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

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

## 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: 4001

  - `errorMessage` (string)
    Example: "[0401-9802]: Coupon not found"

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


