Перейти к содержимому

Overview

  • Version: 2.0.0
  • Servers: https://store.xsolla.com/api
  • Contact Us by Email
  • Contact URL: https://xsolla.com/
  • Required TLS version: 1.2

Shop Builder API provides a third-party solution for implementing the server side for your store interface. Use the endpoints to manage in-game items, in-game currencies, cart, player inventory, promotions, game library, etc.

Скачать описание OpenAPI
Языки
Серверы
Mock server
https://xsolla.redocly.app/_mock/ru/api/shop-builder/
https://store.xsolla.com/api/
Операции

Персонализированный каталог

Данный API позволяет задавать правила для пользовательских атрибутов. Если пользователь соответствует всем условиям для конкретного правила, будут показаны персонализированные товары.

Узнать о персонализированных акциях можно в подразделе "Скидки" раздела "Акции".

Чтобы передать атрибуты перед покупкой, вы можете использовать API Авторизации Иксолла или передать их в свойство user.attributes при генерации токена с помощью API Платежей Иксолла.

Операции
Операции
Операции

Корзина (на стороне клиента)

Операции

Корзина (на стороне сервера)

Операции

Оплата (на стороне клиента)

Операции

Оплата (на стороне сервера)

Операции
Операции
Операции
Операции
Операции
Операции

Catalog

Данный API позволяет получать продаваемые товары любого вида или конкретный товар.

Операции
Операции
Операции
Операции
Операции
Операции

Купоны

Этот API позволяет вам управлять купонами.

Операции

Промокоды

Этот API позволяет вам управлять промокодами.

Операции

Удаление акции с промокодамиServer-sideAdmin

Запрос

Удаляет акцию с промокодами. Удаленная акция:

  • Пропадет из списка акций, настроенных в вашем проекте.
  • Не будет применяться к каталогу товаров и к корзине. Пользователь не сможет получить бонусные товары или купить товары с применением этой акции.

После удаления акция не может быть восстановлена. Промокоды из удаленной акции могут быть добавлены в существующие акции.

Безопасность
basicAuth
Путь
project_idintegerобязательный

ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

Пример: 44056
external_idintegerобязательный

External ID акции. Уникальный идентификатор акции в рамках проекта.

Пример: coupon_44056_1
curl -i -X DELETE \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ru/api/shop-builder/v3/project/44056/admin/promocode/coupon_44056_1

Ответы

Акция с промокодом была успешно удалена.

Ответ
Нет содержимого

Получение акции с промокодамиServer-sideAdmin

Запрос

Получает указанную акцию с промокодами.

Безопасность
basicAuth
Путь
project_idintegerобязательный

ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

Пример: 44056
external_idintegerобязательный

External ID акции. Уникальный идентификатор акции в рамках проекта.

Пример: coupon_44056_1
curl -i -X GET \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ru/api/shop-builder/v3/project/44056/admin/promocode/coupon_44056_1

Ответы

Промокод успешно получен.

Телоapplication/json
attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(promotion_user-attribute_conditions_model-get)[ 1 .. 100 ] items

Условия для проверки атрибутов пользователя. Определяют доступность акции на основе соответствия атрибутов пользователя всем указанным условиям.

bonusArray of objects or null(Promotions_coupon_bonus)
discountobject or null
Пример: {"discount":{"percent":"10.99"}}
discounted_itemsArray of objects or null(Promotions_discounted_items)

Список товаров, на которые действует скидка по промокоду.

excluded_promotionsArray of integers(excluded_promotions)

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

Пример: [12,789]
external_idstring(Promotions_coupon-external_id)

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

По умолчанию "coupon_external_id"
Пример: "coupon_external_id"
is_enabledboolean(Promotions_coupon-is_enabled)
По умолчанию true
item_price_conditionsArray of objects or null(item_price_conditions_promocode)

Массив объектов с условиями, задающими ценовой диапазон применения акции для отдельных товаров в корзине.
Стоимость каждого товара в корзине пользователя сравнивается с заданным в условии ценовым диапазоном. Бонусы и скидки применяются только к тем товарам в корзине, цена которых удовлетворяет условию.
Если вы передаете этот массив, в массиве discounted_items передайте значение null.

nameobject(Promotions_coupon_name)

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

По умолчанию {"de-DE":"Gutscheintitel","en-US":"Coupon title"}
Пример: {"de-DE":"Gutscheintitel","en-US":"Coupon title"}
price_conditionsArray of objects or null(price_conditions_promocode)

Массив объектов с условиями, задающими ценовой диапазон применения акции для отдельных товаров в корзине.
Стоимость каждого товара в корзине пользователя сравнивается с заданным в условии ценовым диапазоном. Бонусы и скидки применяются только к тем товарам в корзине, цена которых удовлетворяет условию.
Если вы передаете этот массив, в массиве discounted_items передайте значение null.

promotion_periodsArray of objects(promotion_periods)

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

redeem_code_limitinteger or null(Promotions_redeem_code_limit)

Количество погашений по коду.

По умолчанию 10
Пример: 10
redeem_total_limitinteger or null(Promotions_coupon-redeem_total_limit)

Ограничивает общее количество купонов.

По умолчанию 10
Пример: 10
redeem_user_limitinteger or null(Promotions_coupon-redeem_user_limit)

Ограничивает общее количество купонов, погашаемых одним пользователем.

По умолчанию 10
Пример: 10
total_limit_stateobject or null(Promotions_promocode_total_limit_state)

Лимиты для каждого уникального промокода.

Ответ
application/json
{ "bonus": [ {} ], "discount": { "percent": "10.99" }, "discounted_items": null, "excluded_promotions": [ 23, 45 ], "external_id": "summer20221", "is_enabled": true, "name": { "en-US": "Coupon name", "ru-RU": "Название купона" }, "promotion_periods": [ {}, {} ], "redeem_code_limit": 1, "redeem_total_limit": 100, "redeem_user_limit": null, "total_limit_state": { "available": 50, "reserved": 10, "used": 40 } }

Обновление акции с промокодамиServer-sideAdmin

Запрос

Обновляет акцию с промокодами.

Безопасность
basicAuth
Путь
project_idintegerобязательный

ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

Пример: 44056
external_idintegerобязательный

External ID акции. Уникальный идентификатор акции в рамках проекта.

Пример: coupon_44056_1
Телоapplication/json
attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(promotion_user-attribute_conditions_model-post)[ 1 .. 100 ] items

Условия для проверки атрибутов пользователя. Определяют доступность акции на основе соответствия атрибутов пользователя всем указанным условиям.

bonusArray of objects or null(Promotions_coupon_bonus)
discountobject or null
Пример: {"percent":"10.10"}
discounted_itemsArray of objects or null(Promotions_discounted_items)

Список товаров, на которые действует скидка по промокоду.

excluded_promotionsArray of integers(excluded_promotions)

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

Пример: [12,789]
item_price_conditionsArray of objects or null(item_price_conditions_promocode)

Массив объектов с условиями, задающими ценовой диапазон применения акции для отдельных товаров в корзине.
Стоимость каждого товара в корзине пользователя сравнивается с заданным в условии ценовым диапазоном. Бонусы и скидки применяются только к тем товарам в корзине, цена которых удовлетворяет условию.
Если вы передаете этот массив, в массиве discounted_items передайте значение null.

nameobject(Promotions_coupon_name)обязательный

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

По умолчанию {"de-DE":"Gutscheintitel","en-US":"Coupon title"}
Пример: {"de-DE":"Gutscheintitel","en-US":"Coupon title"}
name.​property name*stringдополнительное свойство
price_conditionsArray of objects or null(price_conditions_promocode)

Массив объектов с условиями, задающими ценовой диапазон применения акции для отдельных товаров в корзине.
Стоимость каждого товара в корзине пользователя сравнивается с заданным в условии ценовым диапазоном. Бонусы и скидки применяются только к тем товарам в корзине, цена которых удовлетворяет условию.
Если вы передаете этот массив, в массиве discounted_items передайте значение null.

promotion_periodsArray of objects(promotion_periods)

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

redeem_code_limitinteger or null(Promotions_redeem_code_limit)

Количество погашений по коду.

По умолчанию 10
Пример: 10
redeem_total_limitinteger or null(Promotions_coupon-redeem_total_limit)

Ограничивает общее количество купонов.

По умолчанию 10
Пример: 10
redeem_user_limitinteger or null(Promotions_coupon-redeem_user_limit)

Ограничивает общее количество купонов, погашаемых одним пользователем.

По умолчанию 10
Пример: 10
curl -i -X PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ru/api/shop-builder/v3/project/44056/admin/promocode/coupon_44056_1 \
  -H 'Content-Type: application/json' \
  -d '{
    "attribute_conditions": [
      {
        "attribute": "account_status",
        "can_be_missing": false,
        "operator": "eq",
        "type": "string",
        "value": "golden"
      }
    ],
    "discount": {
      "percent": "10.10"
    },
    "name": {
      "de-DE": "Neujahrsrabatt",
      "en-US": "New Year Discount"
    },
    "promotion_periods": [
      {
        "date_from": "2020-04-15T18:16:00+05:00",
        "date_until": "2020-04-25T18:16:00+05:00"
      }
    ],
    "redeem_code_limit": 1,
    "redeem_total_limit": 100,
    "redeem_user_limit": 1
  }'

Ответы

Промокод успешно обновлен.

Ответ
Нет содержимого

Уникальный каталог предложений

Этот API позволяет вам управлять уникальными предложениями каталога.

Операции

Скидки

Этот API позволяет вам управлять скидочными акциями.

Операции

Бонусы

Этот API позволяет вам управлять бонусными акциями.

Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции