# Создание бандла

Создает бандл — набор товаров, который продается как единое целое. В состав бандла можно добавить виртуальные предметы, пакеты виртуальной валюты, игровые ключи и другие бандлы. Подробная информация о работе с бандлами приведена в разделе Бандлы.

Внимание. Все товары, перечисленные в массиве content, должны быть созданы в вашем проекте заранее. Если указанный артикул не существует, система вернет ошибку.

Endpoint: POST /v2/project/{project_id}/admin/items/bundle
Version: 2.0.0
Security: basicAuth

## Path parameters:

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

## Request fields (application/json):

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

  - `name` (object,null, required)
    Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в [документации](/ru/doc/shop-builder/references/supported-languages/).

  - `groups` (array)
    Группы, к которым принадлежит товар.

Примечание. Строковое значение относится к группе external_id.

  - `attributes` (array)
    Список атрибутов.

Внимание. Для товара невозможно указать более 20 атрибутов. Любые попытки превысить данное ограничение вызовут ошибку.

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

  - `attributes.name` (object)
    Объект с локализациями для названия атрибута. Ключи для обозначения стран указаны в стандарте ISO 3166-1.

  - `attributes.values` (array, required)
    Внимание. Невозможно создать более 6 значений для каждого атрибута. Любые попытки превысить данное ограничение вызовут ошибку.
    Example: [{"external_id":"strategy","value":{"en":"Strategy","de":"Strategie"}},{"external_id":"action","value":{"en":"Action","de":"Aktion"}}]

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

  - `attributes.values.value` (object, required)
    Объект с локализациями для названия значения. Ключи для обозначения стран указаны в стандарте ISO 3166-1.

  - `description` (object,null, required)
    Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в [документации](/ru/doc/shop-builder/references/supported-languages/).

  - `long_description` (object,null)
    Объект с локализованными длинными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в [документации](/ru/doc/shop-builder/references/supported-languages/).

  - `image_url` (string,null)
    URL-адрес изображения. Для корректного отображения и быстрой загрузки изображения в платежном интерфейсе проверьте требования к файлу и ссылке:Поддерживаемые форматы: WebP (рекомендуется), PNG, JPG.Размер файла: ≤ 50 КБ (для WebP) или ≤ 150 КБ (для PNG и JPG).Размер изображения: 280 x 280 px.Цветовое пространство: sRGB.Протокол передачи данных: HTTPS с долгосрочным кэшированием версионированных URL-адресов.

  - `prices` (array)
    Цены в реальных валютах.

  - `prices.amount` (string, required)
    Цена товара.

  - `prices.currency` (string, required)
    Валюта, в которой указана цена товара. Трехбуквенный код в соответствии со стандартом [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).

  - `prices.is_default` (boolean, required)
    Цена по умолчанию используется для построения каталога, если цена в валюте пользователя не указана.

  - `prices.is_enabled` (boolean, required)
    Цена включена.

  - `prices.country_iso` (string,null)
    Страна, где доступна эта цена. Двухбуквенный код в соответствии с [ISO 3166-1 alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
    Example: "US"

  - `vc_prices` (any)

  - `bundle_type` (string)
    Тип бандла. Используйте standard, чтобы создать бандл с товарами и указать артикулы товаров, которые содержатся в бандле.
Используйте partner_side_content, чтобы создать пустой бандл и добавить в него товары на своей стороне с помощью [вебхука](https://developers.xsolla.com/ru/webhooks/operation/personalized-partner-catalog/). Используется только для [персонализации каталога товаров на стороне партнера](https://developers.xsolla.com/ru/doc/shop-builder/features/personalization/#guides_personalization_on_partner_side).
    Enum: "standard", "partner_side_content"

  - `content` (array)
    Массив товаров, входящих в состав бандла. Товары должны быть созданы в проекте заранее. Если указанный артикул не существует, система вернет ошибку.
    Example: [{"sku":"com.xsolla.kg_1","quantity":1}]

  - `content.sku` (string, required)
    Артикул товара, который входит в состав бандла. Товар должен уже существовать в каталоге проекта. Если указанный артикул не существует, система вернет ошибку. Допустимые символы: a–z, A–Z, 0–9, точка (.), дефис (-), подчеркивание (_).
    Example: "com.xsolla.kg_1"

  - `content.quantity` (integer)
    Количество выбранных товаров в бандле.
    Example: 1

  - `is_free` (boolean)
    Является ли товар бесплатным.

  - `is_paid_randomized_reward` (boolean)
    Является ли товар случайной платной наградой, например лутбоксом.

  - `is_enabled` (boolean)
    Если этот параметр отключен, товар не может быть найден и приобретен.

  - `is_show_in_store` (boolean)
    Товар доступен для покупки.

  - `media_list` (any)

  - `order` (integer)
    Приоритет заказа бандла в списке.

  - `regions` (array)

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

  - `limits` (object)
    Ограничения на продажу товара.

  - `limits.per_user` (any)
    Ограничение количества товара для отдельного пользователя.

  - `limits.per_item` (integer,null)
    Глобальное ограничение товара.

  - `limits.recurrent_schedule` (object,null)
    Период обновления установленный ограничений.

  - `limits.recurrent_schedule.per_user` (any)
    Сброс лимитов на покупку товара, выполняемый через временной интервал, заданный в часах.

  - `periods` (array,null)
    Период продажи товара.

  - `periods.date_from` (string)
    Дата, когда указанный товар будет доступен для продажи.
    Example: "2020-08-11T10:00:00+03:00"

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

  - `custom_attributes` (object)
    JSON-объект, содержащий атрибуты товара и их значения. Атрибуты позволяют добавить дополнительную информацию к товарам. Например, указать уровень игрока, на котором ему станет доступен этот товар. Атрибуты дополняют внутреннюю логику игры и могут быть получены через GET-методы и вебхуки.

## Response 201 fields (application/json):

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

## 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)


