# 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.