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

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
daily_chain_idintegerобязательный

ID ежедневной награды.

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

Ответы

Ежедневная награда успешно удалена.

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

Получение ежедневной наградыServer-sideAdmin

Запрос

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

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

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

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

ID ежедневной награды.

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

Ответы

Данные о ежедневной награде успешно получены.

Телоapplication/json
date_startstring(date-time)(calendar_hard_date_start)

Дата, когда начнет действовать ежедневная награда.

Пример: "2020-04-15T18:16:00+05:00"
is_recurrentboolean(calendar_hard_is_recurrent)

Перезапускается ли ежедневная награда. Если передано значение true, ежедневная награда автоматически сбрасывается в конце периода ее действия. Следующие значения для параметров start_date и end_date рассчитываются исходя из количества уровней ежедневной награды и времени старта ежедневной награды, заданном в параметре start_date.

По умолчанию false
Пример: true
typestring

Тип ежедневной награды, который определяет, когда пользователи могут получать награды.

Перечисление ЗначениеОписание
calendar_hard

Разблокирует следующий уровень наград каждые 24 часа. Неполученные награды становятся недоступны, как только открывается награда за следующий уровень.

rolling_skippable

Разблокирует награду за следующий уровень каждые 24 часа, отсчет начинается со значения, указанного в параметре date_start. Прогресс последовательный: новая награда не откроется, пока не будет получена предыдущая. Если пользователь пропустил один или несколько дней, Если пользователь пропускает один или несколько дней, он продолжает с того уровня, где остановился; за пропущенные дни награды не полагаются.

rolling_unskippable

Разблокирует награду за следующий уровень каждые 24 часа, отсчет начинается со значения, указанного в параметре date_start. Прогресс последовательный: новая награда не откроется, пока не будет получена предыдущая. Если пользователь пропустил день, его прогресс сбрасывается и он начинает заново с первого уровня.

Дискриминатор
date_endstring or null(date-time)(daily_chain_date_end)

Дата окончания срока действия ежедневных наград. Может быть null. При установке типа calendar_hard эта дата будет автоматически рассчитана по количеству добавленных уровней, поэтому можно оставить значение null.

Пример: "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(daily_chain_id)

Уникальный ID ежеденевной награды.

Пример: 9
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), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

number_of_stepsinteger(daily_chain_number_of_step)

Количество уровней, заданных в ежедневной награде. Каждый уровень означает один день в ежедневной награде.

Пример: 3
orderinteger(order)

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

Пример: 1
stepsArray of objects(admin-daily-chain-step-model)
Ответ
application/json
{ "date_end": "2025-04-25T18:16:00+05:00", "date_start": "2023-04-15T18:16:00+05:00", "description": { "en": "Daily reward short description" }, "id": 3, "is_enabled": true, "is_recurrent": false, "name": { "en": "Daily reward", "ru": "Ежедневная награда" }, "number_of_steps": 3, "order": 1, "steps": [ {}, {}, {} ], "type": "calendar_hard" }

Обновление ежедневной наградыServer-sideAdmin

Запрос

Обновляет определенную ежедневную награду.

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

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

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

ID ежедневной награды.

Пример: 101
Телоapplication/json
One of:

Ежедневная награда с типом calendar_hard.

date_startstring(date-time)(calendar_hard_date_start)обязательный

Дата, когда начнет действовать ежедневная награда.

Пример: "2020-04-15T18:16:00+05:00"
is_recurrentboolean(calendar_hard_is_recurrent)

Перезапускается ли ежедневная награда. Если передано значение true, ежедневная награда автоматически сбрасывается в конце периода ее действия. Следующие значения для параметров start_date и end_date рассчитываются исходя из количества уровней ежедневной награды и времени старта ежедневной награды, заданном в параметре start_date.

По умолчанию false
Пример: true
typestringобязательный

Тип ежедневной награды, который определяет, когда пользователи могут получать награды.

Перечисление ЗначениеОписание
calendar_hard

Разблокирует следующий уровень наград каждые 24 часа. Неполученные награды становятся недоступны, как только открывается награда за следующий уровень.

rolling_skippable

Разблокирует награду за следующий уровень каждые 24 часа, отсчет начинается со значения, указанного в параметре date_start. Прогресс последовательный: новая награда не откроется, пока не будет получена предыдущая. Если пользователь пропустил один или несколько дней, Если пользователь пропускает один или несколько дней, он продолжает с того уровня, где остановился; за пропущенные дни награды не полагаются.

rolling_unskippable

Разблокирует награду за следующий уровень каждые 24 часа, отсчет начинается со значения, указанного в параметре date_start. Прогресс последовательный: новая награда не откроется, пока не будет получена предыдущая. Если пользователь пропустил день, его прогресс сбрасывается и он начинает заново с первого уровня.

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(daily_chain_id)

Уникальный ID ежеденевной награды.

Пример: 9
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
stepsArray of objects(modify-daily-chain-step-model)обязательный
steps[].​itemsArray of objects(modify-daily-chain-item-model)non-emptyобязательный
steps[].​items[].​quantityinteger>= 1обязательный

Количество уровней ежедневной награды для этого артикула

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

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

Пример: "booster_mega_1"
steps[].​step_idinteger or null(daily_chain_update_step_id)>= 1

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

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

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

Пример: 2
curl -i -X PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ru/api/shop-builder/v2/project/44056/admin/daily_chain/id/101 \
  -H 'Content-Type: application/json' \
  -d '{
    "date_start": "2023-04-15T18:16:00+05:00",
    "description": {
      "en": "Updated daily reward description"
    },
    "is_enabled": true,
    "name": {
      "en": "Updated daily reward",
      "ru": "Обновленная ежедневная награда"
    },
    "order": 4,
    "steps": [
      {
        "items": [
          {
            "quantity": 1,
            "sku": "vg_enabled_shown_in_store_1"
          }
        ],
        "step_number": 1
      },
      {
        "items": [
          {
            "quantity": 1,
            "sku": "vg_enabled_shown_in_store_2"
          }
        ],
        "step_number": 2
      },
      {
        "items": [
          {
            "quantity": 1,
            "sku": "vg_not_shown_in_store"
          }
        ],
        "step_id": 10,
        "step_number": 3
      },
      {
        "items": [
          {
            "quantity": 1,
            "sku": "bundle_enabled_shown_in_store_with_2_enabled_shown_in_store_vg"
          }
        ],
        "step_id": 8,
        "step_number": 4
      },
      {
        "items": [
          {
            "quantity": 1,
            "sku": "vcp_enabled_shown_in_store_1_of_10_vc_enabled_shown_in_store_1"
          }
        ],
        "step_number": 5
      }
    ],
    "type": "calendar_hard"
  }'

Ответы

Ежедневная награда успешно обновлена.

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