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

Введение

API каталога позволяет настраивать каталог внутриигровых товаров на стороне Xsolla и отображать каталог пользователям в вашем игровом магазине.

API позволяет вам управлять такими сущностями каталога, как:

  • Виртуальные предметы — внутриигровые предметы, например оружие, скины, бустеры.
  • Виртуальная валюта — виртуальные деньги, которые используются для приобретения виртуальных товаров. Пакеты виртуальной валюты — предустановленные наборы виртуальной валюты.
  • Бандлы — комбинированные наборы виртуальных предметов, валюты или игровых ключей, продаваемые как единый артикул.
  • Игровые ключи — ключи для игр и DLC, распространяемые через такие платформы, как Steam, или других DRM-провайдеров.
  • Группы — логические группировки для организации и сортировки товаров в каталоге.

Методы API

Методы API делятся на следующие группы:

  • Admin — методы для создания, обновления, удаления и настройки товаров и групп каталога. Для вызова требуется базовая HTTP-аутентификация с использованием учетных данных Личного кабинета. Не предназначены для построения витрин для конечных пользователей.
  • Catalog — методы для получения товаров и построения витрин для конечных пользователей. Поддерживают опциональную аутентификацию с использованием JWT пользователя для возврата персонализированных данных, таких как пользовательские лимиты и активные промоакции.
Скачать описание OpenAPI
Языки
Серверы
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/ru/api/catalog/
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции

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

Операции

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

Операции

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

Операции

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

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

Получение статуса импорта товаровServer-sideAdmin

Запрос

Возвращает информацию о прогрессе импорта товаров в проект. Метод возвращает данные по последнему импорту,  выполненному через API или Личный кабинет.

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

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

Пример: 44056
curl -i -X GET \
  -u <username>:<password> \
  https://connector.xsolla.com/v1/admin/projects/44056/connectors/import_items/import/status

Ответы

Статус импорта успешно получен.

Телоapplication/json
date_completedstring

Дата и время завершения операции импорта. Если импорт был прерван из-за ошибки и не было импортировано ни одного товара, будет передана пустая строка.

Пример: "2024-11-19T15:27:31+03:00"
date_createdstring

Дата и время создания операции импорта по часовому поясу GMT+3.

Пример: "2024-11-19T14:27:31+03:00"
date_updatedstring

Дата и время, когда импорт был прерван из-за возникшей ошибки по часовому поясу GMT+3.

Пример: "2024-11-19T15:27:31+03:00"
errorstring

Описание общей ошибки при импорте.

error_codestring

Код общей ошибки при импорте.

progressinteger

Прогресс выполнения импорта в процентах.

Пример: 100
resultobject

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

Пример: {"errors_by_sku":[{"error_code":4055,"error_message":"[0401-4055]: Item default price not set","sku":"com.xsolla.sword_1","type":"virtual_items"},{"error_code":1817,"error_message":"[0410-1817]: SKU can't be empty","sku":"","type":null}],"errors_count":2,"total_entities_count":10}
statusstring

Статус импорта.

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

Импорт успешно завершен.

error

Из-за ошибок импорт не был выполнен или был выполнен частично.

initialized

Импорт запущен.

process

Импорт в процессе.

Пример: "error"
Ответ
application/json
{ "date_completed": "2024-11-19T15:27:31+03:00", "date_created": "2024-11-19T14:27:31+03:00", "date_updated": "2024-11-19T15:27:31+03:00", "error": null, "error_code": null, "progress": 100, "result": { "errors_by_sku": [], "errors_count": 2, "total_entities_count": 10 }, "status": "error" }

Импорт товаров из JSON-файлаServer-sideAdmin

Запрос

Импортирует товары в магазин из JSON-файла по указанному URL-адресу. Подробная информация об импорте из JSON-файла приведена в документации.

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

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

Пример: 44056
Телоapplication/json
connector_external_idstringобязательный

Фиксированное значение, определяющее тип операции для импорта товаров.

Значение"import_items"
file_urlstringобязательный

URL-адрес файла с данными в формате JSON. Файл должен быть размещен на сервисе хранения данных в публичном доступе. Шаблон файла вы можете скачать в Личном кабинете в разделе Store > Виртуальные предметы > Управление каталогом > Импортировать товары (JSON).

Пример: "https://my-bucket.s3.amazonaws.com/items.json"
modestring

Действия при импорте:

По умолчанию "create_and_update"
Перечисление ЗначениеОписание
create

Добавить новые товары.

create_and_update

Добавить новые и обновить существующие товары.

sync

Добавить новые, обновить существующие и отключить недостающие товары.

curl -i -X POST \
  -u <username>:<password> \
  https://connector.xsolla.com/v1/projects/44056/import/from_external_file \
  -H 'Content-Type: application/json' \
  -d '{
    "connector_external_id": "import_items",
    "file_url": "https://my-bucket.s3.amazonaws.com/items.json",
    "mode": "create"
  }'

Ответы

Файл был успешно импортирован и находится в обработке.

Телоapplication/json
import_idstring

ID операции импорта. Если не удается импортировать JSON-файл, сообщите этот ID вашему персональному менеджеру или напишите на csm@xsolla.com.

Пример: "af9f3638a16e11ef880da2cd677d2d24"
Ответ
application/json
{ "import_id": "af9f3638a16e11ef880da2cd677d2d24" }
Операции
Операции
Операции

Catalog

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

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