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

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 позволяет вам управлять промокодами.

Операции

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

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

Операции

Скидки

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

Операции

Бонусы

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

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

Создание цепочки предложенийServer-sideAdmin

Запрос

Создает цепочку предложений.

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

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

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

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

date_endstring or null(date-time)(offer_chain_date_end)

Дата окончания срока действия цепочки предложений. Может быть null. Если date_end равен null, цепочка предложений будет бессрочной.

Пример: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)обязательный

Дата начала действия цепочки предложений.

Пример: "2020-04-15T18:16:00+05:00"
description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

One of:

Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

is_always_visibleboolean(chain_is_always_visible)

Отображается ли цепочка наград всем пользователям:

  • Если true — цепочка всегда отображается, независимо от авторизации пользователя и его атрибутов.
  • Если false — цепочка отображается, только если не найдено ни одной персонализированной цепочки. Например, если пользователь не авторизован или его атрибуты не соответствуют ни одной персонализированной цепочке.

Применяется только в контексте персонализации цепочек и используется, если массив attribute_conditions не передан.

По умолчанию true
Пример: true
is_enabledboolean(is_enabled)обязательный
Пример: true
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)обязательный

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

One of:

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

name.​arstring or null

Арабский

name.​bgstring or null

Болгарский

name.​cnstring or null

Китайский упрощенный

name.​csstring or null

Чешский

name.​destring or null

Немецкий

name.​enstring or null

Английский

name.​esstring or null

Spanish (Spain)

name.​frstring or null

Французский

name.​hestring or null

Иврит

name.​idstring or null

Индонезийский

name.​itstring or null

Итальянский

name.​jastring or null

Японский

name.​kmstring or null

Кхмерский

name.​kostring or null

Корейский

name.​lostring or null

Лаосский

name.​mystring or null

Бирманский

name.​nestring or null

Непальский

name.​phstring or null

Филиппинский

name.​plstring or null

Польский

name.​ptstring or null

Португальский

name.​rostring or null

Румынский

name.​rustring or null

Русский

name.​thstring or null

Тайский

name.​trstring or null

Турецкий

name.​twstring or null

Китайский традиционный

name.​vistring or null

Вьетнамский

orderinteger(order)

Определяет порядок расположения.

Пример: 1
recurrent_schedule(interval_type = еженедельно (object or null)) or (interval_type = ежемесячно (object or null)) or (interval_type = hourly (object or null))(offer_chain_recurrent_schedule_create_update)

Интервал сброса цепочки предложений.

One of:

Интервал сброса цепочки предложений.

stepsArray of objects(create-offer-chain-step-model)обязательный
steps[].​is_freeboolean(offer_chain_is_free)обязательный

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

steps[].​itemsArray of objects(modify-offer-chain-item-model)non-emptyобязательный
steps[].​items[].​orderinteger or null>= 0

Заказ на вознаграждение за уровень цепочки предложений.

steps[].​items[].​quantityinteger>= 1обязательный

Количество товаров в вознаграждении для этого уровня цепочки.

steps[].​items[].​skustring(sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$обязательный

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

Пример: "booster_mega_1"
steps[].​step_numberinteger(offer_chain_step_number)>= 1обязательный

Номер уровня.

Пример: 2
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ru/api/shop-builder/v2/project/44056/admin/offer_chain \
  -H 'Content-Type: application/json' \
  -d '{
    "date_end": null,
    "date_start": "2023-04-15T18:16:00+05:00",
    "description": {
      "de": "Eine kurze Beschreibung einer regulären Angebotskette",
      "en": "A short description of a regular offer chain",
      "fr": "Une brève description d'\''une chaîne d'\''offres régulière",
      "it": "Una breve descrizione di una catena di offerte regolare",
      "ru": "Краткое описание обычной цепочки предложений"
    },
    "is_always_visible": true,
    "is_enabled": true,
    "name": {
      "de": "Neue Angebotskette",
      "en": "New offer chain",
      "fr": "Nouvelle chaîne d'\''offres",
      "it": "Nuova catena di offerte",
      "ru": "Новая цепочка предложений"
    },
    "order": 4,
    "recurrent_schedule": null,
    "steps": [
      {
        "is_free": false,
        "items": [
          {
            "quantity": 2,
            "sku": "chain_step_1_paid_bundle_sku"
          }
        ],
        "step_number": 1
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_2_free_virtual_good_sku"
          }
        ],
        "step_number": 2
      },
      {
        "is_free": false,
        "items": [
          {
            "quantity": 5,
            "sku": "chain_step_3_paid_virtual_currency_package_sku"
          }
        ],
        "step_number": 3
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_4_free_bundle_sku"
          }
        ],
        "step_number": 4
      }
    ]
  }'

Ответы

Цепочка предложений успешно создана.

Телоapplication/json
offer_chain_idinteger
Пример: 10
Ответ
application/json
{ "offer_chain_id": 10 }

Удаление цепочки предложенийServer-sideAdmin

Запрос

Удаляет конкретную цепочку предложений.

После удаления цепочки:

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

Удаление цепочки необратимо и не сохраняет прогресс пользователя, в отличие от временного отключения цепочки с помощью метода Переключение цепочки предложений.

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

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

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

ID цепочки предложений.

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

Ответы

Цепочка предложений успешно удалена.

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

Получение цепочки предложенийServer-sideAdmin

Запрос

Возвращает конкретную цепочку предложений для администрирования.

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

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

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

ID цепочки предложений.

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

Ответы

Данные цепочки предложений успешно получены.

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

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

date_endstring or null(date-time)(offer_chain_date_end)

Дата окончания срока действия цепочки предложений. Может быть null. Если date_end равен null, цепочка предложений будет бессрочной.

Пример: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)

Дата начала действия цепочки предложений.

Пример: "2020-04-15T18:16:00+05:00"
description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

One of:

Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

idinteger(offer_chain_id)

Уникальный ID цепочки предложений.

Пример: 9
is_always_visibleboolean(chain_is_always_visible)

Отображается ли цепочка наград всем пользователям:

  • Если true — цепочка всегда отображается, независимо от авторизации пользователя и его атрибутов.
  • Если false — цепочка отображается, только если не найдено ни одной персонализированной цепочки. Например, если пользователь не авторизован или его атрибуты не соответствуют ни одной персонализированной цепочке.

Применяется только в контексте персонализации цепочек и используется, если массив attribute_conditions не передан.

По умолчанию true
Пример: true
is_enabledboolean(is_enabled)
Пример: true
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

One of:

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

orderinteger(order)

Определяет порядок расположения.

Пример: 1
recurrent_schedule(interval_type = еженедельно (object or null)) or (interval_type = ежемесячно (object or null)) or (interval_type = hourly (object or null))(offer_chain_recurrent_schedule)

Интервал повторяющегося сброса цепочки предложений.

One of:

Интервал повторяющегося сброса цепочки предложений.

stepsArray of objects(admin-offer-chain-step-model)
Ответ
application/json
{ "attribute_conditions": [ {}, {}, {} ], "date_end": "2025-04-25T18:16:00+05:00", "date_start": "2023-04-15T18:16:00+05:00", "description": { "de": "Personalisierte Angebotskette mit Benutzerattributbedingungen - für Elfen der Stufe 10 und höher, die Stufe 10 spätestens am 2026-01-01 00:00:00 erreicht haben, einschließlich", "en": "Personalized offer chain with user attribute conditions - for level 10 and above elves who reached level 10 no later than 2026-01-01 00:00:00, inclusive", "fr": "Chaîne d'offres personnalisée avec des conditions d'attribut utilisateur - pour les elfes de niveau 10 et plus qui ont atteint le niveau 10 au plus tard le 2026-01-01 00:00:00, inclus", "it": "Catena di offerte personalizzata con condizioni di attributo utente - per elfi di livello 10 e superiore che hanno raggiunto il livello 10 non più tardi del 2026-01-01 00:00:00, inclusi", "ru": "Персонализированная цепочка предложений - для эльфов 10 уровня и выше, достигших 10 уровня не позднее 2026-01-01 00:00:00 включительно" }, "id": 3, "is_always_visible": false, "is_enabled": true, "name": { "de": "Angebotskette", "en": "Offer chain", "fr": "Chaîne d'offres", "it": "Catena di offerte", "ru": "Цепочка" }, "order": 1, "recurrent_schedule": null, "steps": [ {}, {}, {} ] }
Операции
Операции
Операции
Операции
Операции
Операции