# Digital Distribution Hub # Введение Digital Distribution Hub — новое решение Иксоллы, которое соединяет электронные и физические платежи через технологию push-платежей и e-commerce. Данная документация включает в себя описание методов API для продуктов [Внутриигровой магазин](https://developers.xsolla.com/ru/doc/in-game-store/) и [Платежи](https://developers.xsolla.com/ru/doc/pay-station/). Используется два базовых URL-адреса: * `https://store.xsolla.com/api` для групп **Общие**, **Каталог**, **Корзина** и **Заказ**. * `https://ps.xsolla.com` для группы **Уведомления**. Использование методов API из группы **Каталог** не требует авторизации. Чтобы использовать методы API из групп **Корзина** и **Заказ**, вам необходимо [создать токен](https://developers.xsolla.com/ru/digital-distribution-hub/common/user-token/create-user-token).
Примечание

Данная документация не является полностью функциональным интерфейсом и представляет собой дизайн будущего API. В настоящее время вы можете использовать только методы из групп Каталог и Уведомления. Если вы хотите поделиться обратной связью, отправьте нам письмо по адресу techdoc@xsolla.com.
Version: 1.0.0 ## Servers ``` https://store.xsolla.com/api ``` ## Security ### AuthForClient Используйте метод [Создать токен пользователя](https://developers.xsolla.com\/ru/api/digital-distribution-hub/operation/create-user-token) для создания токена. Type: http Scheme: bearer ### basicAuth API Иксоллы использует базовую HTTP-аутентификацию. Все запросы к API должны содержать заголовок `Authorization: Basic `, где `your_authorization_basic_key` — это пара `distribution_hub_id:api_key`, закодированная по стандарту Base64. Обратитесь к аккаунт-менеджеру проекта, чтобы получить `distribution_hub_id` и `api_key`. Type: http Scheme: basic ## Download OpenAPI description [Digital Distribution Hub](https://developers.xsolla.com/_bundle/@l10n/ru/api/digital-distribution-hub/index.yaml) ## Корзина ### Получение корзины текущего пользователя - [GET /v2/project/{project_id}/cart](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/get-user-cart.md): Возвращает корзину текущего пользователя. ### Удаление всех предметов из текущей корзины - [PUT /v2/project/{project_id}/cart/clear](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/cart-clear.md): Удаляет все предметы из корзины. ### Наполнение корзины предметами - [PUT /v2/project/{project_id}/cart/fill](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/cart-fill.md): Наполняет корзину предметами. Если в корзине уже есть предмет с таким же артикулом, существующий предмет будет заменен. ### Удаление предмета из текущей корзины - [DELETE /v2/project/{project_id}/cart/item/{item_sku}](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/delete-item.md): Удаляет предмет из корзины. ### Обновление предмета из текущей корзины - [PUT /v2/project/{project_id}/cart/item/{item_sku}](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/put-item.md): Обновляет существующий или создает новый предмет в корзине. ### Получение корзины по идентификатору корзины - [GET /v2/project/{project_id}/cart/{cart_id}](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/get-cart-by-id.md): Возвращает корзину пользователя по идентификатору корзины. ### Удаление всех предметов из корзины по ID корзины - [PUT /v2/project/{project_id}/cart/{cart_id}/clear](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/cart-clear-by-id.md): Удаляет все предметы из корзины. ### Наполнение определенной корзины предметами - [PUT /v2/project/{project_id}/cart/{cart_id}/fill](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/cart-fill-by-id.md): Наполняет определенную корзину предметами. Если в корзине уже есть предмет с таким же артикулом, существующий предмет будет заменен. ### Удаление предмета из корзины по ID корзины - [DELETE /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/delete-item-by-cart-id.md): Удаляет предмет из корзины. ### Обновление предмета в корзине по ID корзины - [PUT /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://developers.xsolla.com/ru/api/digital-distribution-hub/cart/put-item-by-cart-id.md): Обновляет существующий или создает новый предмет в корзине. ## Игровые ключи ### Получение списка игр - [GET /v2/project/{project_id}/items/game](https://developers.xsolla.com/ru/api/digital-distribution-hub/game-keys/get-games-list.md): Получение списка игр для создания каталога. Обратите внимание. Все проекты имеют ограничение на количество предметов, которые вы можете получить в ответе. По умолчанию (максимальное значение) — 50 предметов в одном ответе. Чтобы получать больше данных постранично, используйте параметры limit и offset. ### Получение списка DRM - [GET /v2/project/{project_id}/items/game/drm](https://developers.xsolla.com/ru/api/digital-distribution-hub/game-keys/get-drm-list.md): Получение списка доступных DRM. ### Получение списка игр для указанной группы - [GET /v2/project/{project_id}/items/game/group/{external_id}](https://developers.xsolla.com/ru/api/digital-distribution-hub/game-keys/get-games-group.md): Получение списка игр из указанной группы для создания каталога. Обратите внимание. Все проекты имеют ограничение на количество предметов, которые вы можете получить в ответе. По умолчанию (максимальное значение) — 50 предметов в одном ответе. Чтобы получать больше данных постранично, используйте параметры limit и offset. ### Получение игр с привязкой к платформе для указанной группы - [GET /v2/project/{project_id}/items/game/key/group/{external_id}](https://developers.xsolla.com/ru/api/digital-distribution-hub/game-keys/get-game-keys-group.md): Получение списка игр из указанной группы с привязкой к платформе для построения каталога. Обратите внимание. Все проекты имеют ограничение на количество предметов, которые вы можете получить в ответе. По умолчанию (максимальное значение) — 50 предметов в одном ответе. Чтобы получать больше данных постранично, используйте параметры limit и offset. ### Получение игры на платформе для каталога - [GET /v2/project/{project_id}/items/game/key/sku/{item_sku}](https://developers.xsolla.com/ru/api/digital-distribution-hub/game-keys/get-game-key-by-sku.md): Получение игры на платформе для каталога. ### Получение игры для каталога - [GET /v2/project/{project_id}/items/game/sku/{item_sku}](https://developers.xsolla.com/ru/api/digital-distribution-hub/game-keys/get-game-by-sku.md): Получение игры для каталога. ## Виртуальные предметы и валюта ### Получение списка групп предметов - [GET /v2/project/{project_id}/items/groups](https://developers.xsolla.com/ru/api/digital-distribution-hub/virtual-items-and-currency/get-item-groups.md): Получение списка групп предметов для создания каталога. ### Получение списка виртуальных валют - [GET /v2/project/{project_id}/items/virtual_currency](https://developers.xsolla.com/ru/api/digital-distribution-hub/virtual-items-and-currency/get-virtual-currency.md): Получение списка виртуальных валют для создания каталога. Обратите внимание. Все проекты имеют ограничение на количество предметов, которые вы можете получить в ответе. По умолчанию (максимальное значение) — 50 предметов в одном ответе. Чтобы получать больше данных постранично, используйте параметры limit и offset. ### Получение списка пакетов виртуальной валюты - [GET /v2/project/{project_id}/items/virtual_currency/package](https://developers.xsolla.com/ru/api/digital-distribution-hub/virtual-items-and-currency/get-virtual-currency-package.md): Получение списка пакетов виртуальной валюты для создания каталога. Обратите внимание. Все проекты имеют ограничение на количество предметов, которые вы можете получить в ответе. По умолчанию (максимальное значение) — 50 предметов в одном ответе. Чтобы получать больше данных постранично, используйте параметры limit и offset. ### Получение списка виртуальных предметов - [GET /v2/project/{project_id}/items/virtual_items](https://developers.xsolla.com/ru/api/digital-distribution-hub/virtual-items-and-currency/get-virtual-items.md): Получение списка виртуальных предметов для создания каталога. Обратите внимание. Все проекты имеют ограничение на количество предметов, которые вы можете получить в ответе. По умолчанию (максимальное значение) — 50 предметов в одном ответе. Чтобы получать больше данных постранично, используйте параметры limit и offset. ### Получение списка предметов из указанной группы - [GET /v2/project/{project_id}/items/virtual_items/group/{external_id}](https://developers.xsolla.com/ru/api/digital-distribution-hub/virtual-items-and-currency/get-virtual-items-group.md): Получение списка предметов из указанной группы для создания каталога. Обратите внимание. Все проекты имеют ограничение на количество предметов, которые вы можете получить в ответе. По умолчанию (максимальное значение) — 50 предметов в одном ответе. Чтобы получать больше данных постранично, используйте параметры limit и offset. ## Бандлы ### Получение списка бандлов - [GET /v2/project/{project_id}/items/bundle](https://developers.xsolla.com/ru/api/digital-distribution-hub/bundles/get-bundle-list.md): Получение списка бандлов для создания каталога. Обратите внимание. Все проекты имеют ограничение на количество предметов, которые вы можете получить в ответе. По умолчанию (максимальное значение) — 50 предметов в одном ответе. ### Получение указанного бандла - [GET /v2/project/{project_id}/items/bundle/sku/{sku}](https://developers.xsolla.com/ru/api/digital-distribution-hub/bundles/get-bundle.md): Получение указанного бандла. ## Токен пользователя ### Создание токена пользователя - [POST /v2/project/{project_id}/distribution_hub/user/auth](https://developers.xsolla.com/ru/api/digital-distribution-hub/user-token/create-user-token.md): Проверяет существование пользователя в игре и создает токен с его данными. ## Уведомления ### Уведомление об отмене - [POST /push-payments/cancel](https://developers.xsolla.com/ru/api/digital-distribution-hub/notifications/cancel-notification.md): Отправьте уведомление об отмене платежа в следующих случаях: - платеж не был выполнен; - был оформлен возврат платежа. ### Уведомление об оплате - [POST /push-payments/pay](https://developers.xsolla.com/ru/api/digital-distribution-hub/notifications/pay-notification.md): Отправьте это уведомление после успешного списания средств пользователя. ## Заказ ### Получение заказа - [GET /v2/project/{project_id}/distribution_hub/order/{order_id}](https://developers.xsolla.com/ru/api/digital-distribution-hub/order/get-order.md): Получение указанного заказа. ### Создание заказа со всеми предметами из текущей корзины - [POST /v2/project/{project_id}/distribution_hub/payment/cart](https://developers.xsolla.com/ru/api/digital-distribution-hub/order/create-order.md): Создание заказа со всеми предметами из корзины. Созданному заказу присваивается статус new. ### Создание заказа со всеми предметами из определенной корзины - [POST /v2/project/{project_id}/distribution_hub/payment/cart/{cart_id}](https://developers.xsolla.com/ru/api/digital-distribution-hub/order/create-order-by-cart-id.md): Создание заказа со всеми предметами из указанной корзины. Созданному заказу присваивается статус new. ### Создание заказа с указанным предметом - [POST /v2/project/{project_id}/distribution_hub/payment/item/{item_sku}](https://developers.xsolla.com/ru/api/digital-distribution-hub/order/create-order-with-item.md): Создание заказа с указанным предметом. Созданному заказу присваивается статус new.