` is the user token. The token identifies the user and provides access to personalized data.
Alternatively, you can use a [token for opening the payment UI](/fr/api/pay-station/token/create-token).
2. **Simplified mode without Authorization header.** This mode is used only for unauthorized users and can be applied only for [game key sales](/fr/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Instead of a token, the request must include the following headers:
- `x-unauthorized-id` with a request ID
- `x-user` with the user's email address encoded in Base64
## Useful links
- [API calls by interaction model](https://developers.xsolla.com/fr/api/catalog/)
- [Endpoint types](https://developers.xsolla.com/fr/api/catalog/)
- [Errors handling](https://developers.xsolla.com/fr/api/catalog/)
- [API keys](https://developers.xsolla.com/fr/api/catalog/)
# Core entity structure
Items of all types (virtual items, bundles, virtual currency, and keys) use a similar data structure. Understanding the basic structure simplifies working with the API and helps you navigate the documentation more easily.
Note
Some calls may include additional fields but they don't change the basic structure.
**Identification**
- `merchant_id` — company ID in [Publisher Account](https://publisher.xsolla.com/)
- `project_id` — project ID in Publisher Account
- `sku` — item SKU, unique within the project
**Store display**
- `name` — item name
- `description` — item description
- `image_url` — image URL
- `is_enabled` — item availability
- `is_show_in_store` — whether the item is displayed in the catalog
For more information about managing item availability in the catalog, see the [documentation](/fr/items-catalog/catalog-features/items-availability/).
**Organization**
- `type` — item type, for example, a virtual item (`virtual_item`) or bundle (`bundle`)
- `groups` — groups the item belongs to
- `order` — display order in the catalog
**Sale conditions**
- `prices` — prices in real or virtual currency
- `limits` — purchase limits
- `periods` — availability periods
- `regions` — regional restrictions
**Example of core entity structure:**
```json
{
"attributes": [],
"bundle_type": "virtual_currency_package",
"content": [
{
"description": {
"en": "Main in-game currency"
},
"image_url": "https://.../image.png",
"name": {
"en": "Crystals",
"de": "Kristalle"
},
"quantity": 500,
"sku": "com.xsolla.crystal_2",
"type": "virtual_currency"
}
],
"description": {
"en": "Crystals x500"
},
"groups": [],
"image_url": "https://.../image.png",
"is_enabled": true,
"is_free": false,
"is_show_in_store": true,
"limits": {
"per_item": null,
"per_user": null,
"recurrent_schedule": null
},
"long_description": null,
"media_list": [],
"name": {
"en": "Medium crystal pack"
},
"order": 1,
"periods": [
{
"date_from": null,
"date_until": "2020-08-11T20:00:00+03:00"
}
],
"prices": [
{
"amount": 20,
"country_iso": "US",
"currency": "USD",
"is_default": true,
"is_enabled": true
}
],
"regions": [],
"sku": "com.xsolla.crystal_pack_2",
"type": "bundle",
"vc_prices": []
}
```
# Basic purchase flow
The Xsolla API allows you to implement in-game store logic, including retrieving the item catalog, managing the cart, creating orders, and tracking their status. Depending on the integration scenario, API calls are divided into **Admin** and **Catalog** subsections, which use different [authentication schemes](/fr/api/catalog/section/authentication).
The following example shows a basic flow for setting up and operating a store, from item creation to purchase.
## Create items and groups (Admin)
Create an item catalog for your store, such as virtual items, bundles, or virtual currency.
Example API calls:
- [Create virtual item](/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-item)
- [Create bundle](/fr/api/catalog/bundles-admin/admin-create-bundle)
- [Create virtual currency](/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency)
## Set up promotions, chains, and limits (Admin)
Configure user acquisition and monetization tools, such as discounts, bonuses, daily rewards, or offer chains.
Example API calls:
- [Create bonus promotion](/fr/api/liveops/promotions-bonuses/create-bonus-promotion)
- [Create daily reward](/fr/api/liveops/daily-chain-admin/admin-create-daily-chain)
- [Create unique catalog offer promotion](/fr/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer)
## Get item information (Client)
Configure item display in your application.
Notice
Do not use API calls from the Admin subsection to build a user catalog. These API calls have
rate limits and aren't intended for user traffic.
Example API calls:
- [Get virtual items list](/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items)
- [Get item group list](/fr/api/catalog/virtual-items-currency-catalog/get-item-groups)
- [Get list of bundles](/fr/api/catalog/bundles-catalog/get-bundle-list)
- [Get sellable items list](/fr/api/catalog/common-catalog/get-sellable-items)
Note
By default, catalog API calls return items that are currently available in the store at the time of the request. To retrieve items that are not yet available or are no longer available, include the parameter "show_inactive_time_limited_items": 1 in the catalog request.
## Sell items
You can sell items using the following methods:
- Fast purchase — sell one SKU multiple times.
- Cart purchase — the user adds items to the cart, removes items, and updates quantities within a single order.
If an item is purchased using virtual currency instead of real money, use the [Create order with specified item purchased by virtual currency](/fr/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency) API call. The payment UI is not required, as the charge is processed when the API call is executed.
For free item purchase, use the [Create order with specified free item](/fr/api/catalog/free-item/create-free-order-with-item) API call or the [Create order with free cart](/fr/api/catalog/free-item/create-free-order) API call. The payment UI is not required — the order is immediately set to the done status.
### Fast purchase
Use the client-side API call to [create an order with a specified item](/fr/api/catalog/payment-client-side/create-order-with-item). The call returns a token used to open the payment UI.
Note
Discount information is available to the user only in the payment UI. Promo codes are not supported.
### Cart purchase
Cart setup and purchase can be performed on the client or on the server side.
**Set up and purchase a cart on the client**
Implement the logic of adding and removing items by yourself. Before calling the API for setting up a cart, you will not have information about which promotions will be applied to the purchase. This means that the total cost and details of the added bonus items will not be known.
Implement the following cart logic:
1. After the player has filled a cart, use the [Fill cart with items](/fr/api/shop-builder/operation/cart-fill/) API call. The call returns the current information about the selected items (prices before and after discounts, bonus items).
2. Update the cart contents based on user actions:
- To add an item or change item quantity, use the [Update cart item by cart ID](/fr/api/shop-builder/operation/put-item-by-cart-id/) API call.
- To remove an item, use the [Delete cart item by cart ID](/fr/api/shop-builder/operation/delete-item-by-cart-id/) API call.
Note
To get the current status of the cart, use the Get current user's cart API call.
3. Use the [Create order with all items from current cart](/fr/api/shop-builder/operation/create-order/) API call. The call returns the order ID and payment token. The newly created order is set to new status by default.
**Set up and purchase a cart on the server**
This setup option may take longer for setting the cart up, since each change to the cart must be accompanied by API calls.
Implement the following cart logic:
1. After the player has filled a cart, use the [Fill cart with items](/fr/api/catalog/cart-server-side) API call. The call returns current information about the selected items (prices before and after discounts, bonus items).
2. Use the [Create order with all items from current cart](/fr/api/shop-builder/operation/create-order/) API call. The call returns the order ID and payment token. The newly created order is set to new status by default.
## Open payment UI
Use the returned token to open the payment UI in a new window. Other ways to open the payment UI are described in the [documentation](/fr/payment-ui-and-flow/payment-ui/how-to-open-payment-ui/#open_payment_ui).
| Action | Endpoint |
|:--------------------------------|:--------------------------------------------------------------------------|
| Open in production environment. | https://secure.xsolla.com/paystation4/?token={token} |
| Open in sandbox mode. | https://sandbox-secure.xsolla.com/paystation4/?token={token} |
Note
Use sandbox mode during development and testing. Test purchases don't charge real accounts. You can use
test bank cards.
After the first real payment is made, a strict sandbox payment policy takes effect. A payment in sandbox mode is available only to users specified in [Publisher Account > Company settings > Users](https://publisher.xsolla.com/0/settings/users).
Buying virtual currency and items for real currency is possible only after signing a license agreement with Xsolla. To do this, in [Publisher Account](https://publisher.xsolla.com/), go to **Agreements & Taxes > Agreements**, complete the agreement form, and wait for confirmation. It may take up to 3 business days to review the agreement.
To enable or disable sandbox mode, change the value of the `sandbox` parameter in the request for fast purchase and cart purchase. Sandbox mode is off by default.
Possible order statuses:
- `new` — order created
- `paid` — payment received
- `done` — item delivered
- `canceled` — order canceled
- `expired` — order expired
Track order status using one of the following methods:
- [webhooks configured on your server](/fr/virtual-goods/own-ui/server-side-token-generation/set-up-order-tracking/#payments_integration_order_tracking)
- [short-polling](/fr/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_short_polling)
- [WebSocket API](/fr/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_websocket_api)
## Useful links
- Authentication
- [API calls by interaction model](/fr/api/catalog/section/authentication)
- [Payment testing](/fr/dev-resources/testing/general-info/#general_overview)
- [Set up order status tracking](/fr/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?link=200-api#payments_integration_order_tracking)
- [Webhooks](/fr/webhooks/overview)
- [Rate limits](/fr/api/login/rate-limits)
- [Errors handling](/fr/api/getting-started/#api_errors_handling)
- [API keys](/fr/api/getting-started/#api_keys_overview)
# Pagination
API calls that return large sets of records (for example, when building a catalog) return data in pages. Pagination is a mechanism that limits the number of items returned in a single API response and allows you to retrieve subsequent pages sequentially.
Use the following parameters to control the number of returned items:
- `limit` — number of items per page
- `offset` — index of the first item on the page (numbering starts from 0)
- `has_more` — indicates whether another page is available
- `total_items_count` — total number of items
Example request:
```
GET /items?limit=20&offset=40
```
Response example:
```json
{
"items": [...],
"has_more": true,
"total_items_count": 135
}
```
It is recommended to send subsequent requests until the response returns `has_more = false`.
# Date and time format
Dates and time values are passed in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
The following are supported:
- UTC offset
- `null` value when there is no time restriction for displaying an item
- [Unix timestamp](https://www.unixtimestamp.com/) (in seconds) used in some fields
Format: `YYYY-MM-DDTHH:MM:SS±HH:MM`
Example: `2026-03-16T10:00:00+03:00`
# Localization
Xsolla supports localization of user-facing fields such as item name and description. Localized values are passed as an object where the language code is used as the key. The full list of supported languages is available in the [documentation](/fr/doc/shop-builder/references/supported-languages/).
**Supported fields**
Localization can be specified for the following parameters:
- `name`
- `description`
- `long_description`
**Locale format**
The locale key can be specified in one of the following formats:
- Two-letter language code: `en`, `ru`
- Five-letter language code: `en-US`, `ru-RU`, `de-DE`
**Examples**
Example with a two-letter language code:
```json
{
"name": {
"en": "Starter Pack",
"ru": "Стартовый набор"
}
}
```
Example with a five-letter language code:
```json
{
"description": {
"en-US": "Premium bundle",
"de-DE": "Premium-Paket"
}
}
```
# Error response format
If an error occurs, the API returns an HTTP status and a JSON response body. The full list of store-related errors is available in the [documentation](/fr/dev-resources/references/errors/store-errors/).
**Response example:**
```json
{
"errorCode": 1102,
"errorMessage": "Validation error",
"statusCode": 422,
"transactionId": "c9e1a..."
}
```
- `errorCode` — error code.
- `errorMessage` — short error description.
- `statusCode` — HTTP response status.
- `transactionId` — request ID. Returned only in some cases.
- `errorMessageExtended` — additional error details, such as request parameters. Returned only in some cases.
**Extended response example:**
```json
{
"errorCode": 7001,
"errorMessage": "Chain not found",
"errorMessageExtended": {
"chain_id": "test_chain_id",
"project_id": "test_project_id",
"step_number": 2
},
"statusCode": 404
}
```
**Common HTTP status codes**
- `400` — invalid request
- `401` — authentication error
- `403` — insufficient permissions
- `404` — resource not found
- `422` — validation error
- `429` — rate limit exceeded
**Recommendations**
- Handle the HTTP status and the response body together.
- Use `errorCode` to process errors related to application logic.
- Use `transactionId` to identify requests more quickly when analyzing errors.
Version: 2.0.0
## Servers
```
https://store.xsolla.com/api
```
## Security
### basicAuth
Server-side calls use the `basicAuth` authentication scheme. All requests to API must
contain the `Authorization: Basic `
header, where `your_authorization_basic_key` is the `project_id:api_key`
pair encoded according to the Base64 standard.
You can use `merchant_id` instead of `project_id` if you need. It doesn't affect functionality.
Go to [Publisher Account](https://publisher.xsolla.com/) to find values of the parameters:
* `merchant_id` is shown:
* In the **Company settings > Company** section
* In the URL in the browser address bar on any Publisher Account page. The URL has the following format: `https://publisher.xsolla.com/`.
* `api_key` is shown in Publisher Account only once when it is created and must be stored on your side. You can create a new key in the following section:
* [Company settings > API keys](https://publisher.xsolla.com/0/settings/api_key)
* [Project settings > API keys](https://publisher.xsolla.com/0/projects/0/edit/api_key)
{% html name="div" attrs={"class": "notice"} %}
**Notice**
If a required API call doesn't include the `project_id` path parameter, use an API key that is valid across all company projects for authorization.
{% /html %}
* `project_id` is shown:
* In Publisher Account next to the name of the project.
* In the URL in the browser address bar when working on project in Publisher Account. The URL has the following format: `https://publisher.xsolla.com//projects/`.
For more information about working with API keys, see the [API reference](https://developers.xsolla.com/fr/api/getting-started/#api_keys_overview).
Type: http
Scheme: basic
### XsollaLoginUserJWT
Client-side calls use the `XsollaLoginUserJWT` authentication scheme. The request must include the user's JWT in the `Authorization` header in the following format: Bearer ``. The token identifies the user and provides access to personalized data. For details on how to create a token, refer to the [Xsolla Login API documentation](/fr/api/login/authentication-schemes#getting-user-token).
Alternatively, you can use a [token for opening the payment UI](/fr/api/pay-station/token/create-token).
Type: http
Scheme: bearer
Bearer Format: JWT
### AuthForCart
The `AuthForCart` authentication scheme is used for cart purchases and supports two modes:
1. Authentication with a user's JWT. The token is passed in the Authorization header in the following format: `Authorization: Bearer `, where `` is the user token. The token identifies the user and provides access to personalized data.
Alternatively, you can use a [token for opening the payment UI](/fr/api/pay-station/token/create-token).
2. Simplified mode without `Authorization` header. This mode is used only for unauthorized users and can be applied only for [selling game keys](/fr/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Instead of a token, the request must include the following headers:
* `x-unauthorized-id` with a request ID
* `x-user` with the user’s email address encoded in Base64.
Type: http
Scheme: bearer
### basicMerchantAuth
Server-side calls use the `basicMerchantAuth` authentication scheme. All requests to API must
contain the `Authorization: Basic `
header, where `your_authorization_basic_key` is the `merchant_id:api_key`
pair encoded according to the Base64 standard.
Go to [Publisher Account](https://publisher.xsolla.com/) to find values of the parameters:
* `merchant_id` is shown:
* In the **Company settings > Company** section
* In the URL in the browser address bar on any Publisher Account page. The URL has the following format: `https://publisher.xsolla.com/`
* `api_key` is shown in Publisher Account only once when it is created and must be stored on your side. You can create a new key in the [Company settings > API keys](https://publisher.xsolla.com/0/settings/api_key) section.
For more information about working with API keys, see the [API reference](https://developers.xsolla.com/fr/api/getting-started/#api_keys_overview).
Type: http
Scheme: basic
## Download OpenAPI description
[Catalog API](https://developers.xsolla.com/_bundle/@l10n/fr/api/catalog/index.yaml)
## Administrateur
### Lire la liste des objets virtuels
- [GET /v2/project/{project_id}/admin/items/virtual_items](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list.md): Gets the list of virtual items within a project for administration.
NoteDo not use this endpoint for building a store catalog.
### Créer un objet virtuel
- [POST /v2/project/{project_id}/admin/items/virtual_items](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-item.md): Crée un objet virtuel.
### Lire la liste des objets virtuels par external ID d'un groupe spécifique
- [GET /v2/project/{project_id}/admin/items/virtual_items/group/external_id/{external_id}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-external-id.md): Gets the list of virtual items within a group for administration.
NoteDo not use this endpoint for building a store catalog.
### Lire la liste des objets virtuels par ID d'un groupe spécifique
- [GET /v2/project/{project_id}/admin/items/virtual_items/group/id/{group_id}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-id.md): Gets the list of virtual items within a group for administration.
NoteDo not use this endpoint for building a store catalog.
### Lire un objet virtuel
- [GET /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-item.md): Gets the virtual item within a project for administration.
NoteDo not use this endpoint for building a store catalog.
### Mettre à jour un objet virtuel
- [PUT /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-update-virtual-item.md): Met à jour un objet virtuel.
### Supprimer un objet virtuel
- [DELETE /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-delete-virtual-item.md): Supprime un objet virtuel.
### Lire la liste des monnaies virtuelles
- [GET /v2/project/{project_id}/admin/items/virtual_currency](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-currencies-list.md): Gets the list of virtual currencies within a project for administration.
NoteDo not use this endpoint for building a store catalog.
### Créer une monnaie virtuelle
- [POST /v2/project/{project_id}/admin/items/virtual_currency](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency.md): Crée une monnaie virtuelle.
### Lire une monnaie virtuelle
- [GET /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency.md): Gets the virtual currency within a project for administration.
NoteDo not use this endpoint for building a store catalog.
### Mettre à jour une monnaie virtuelle
- [PUT /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency.md): Met à jour une monnaie virtuelle.
### Supprimer une monnaie virtuelle
- [DELETE /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency.md): Supprime une monnaie virtuelle.
### Lire la liste des packages de monnaie virtuelle (administrateur)
- [GET /v2/project/{project_id}/admin/items/virtual_currency/package](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-packages-list.md): Gets the list of virtual currency packages within a project for administration.
NoteDo not use this endpoint for building a store catalog.
### Créer un package de monnaie virtuelle
- [POST /v2/project/{project_id}/admin/items/virtual_currency/package](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency-package.md): Crée un package de monnaie virtuelle.
### Mettre à jour un package de monnaie virtuelle
- [PUT /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency-package.md): Met à jour un package de monnaie virtuelle.
### Supprimer un package de monnaie virtuelle
- [DELETE /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency-package.md): Supprime un package de monnaie virtuelle.
### Lire un package de monnaie virtuelle
- [GET /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-package.md): Gets the virtual currency package within a project for administration.
NoteDo not use this endpoint for building a store catalog.
## Catalogue
### Lire une liste d'objets virtuels
- [GET /v2/project/{project_id}/items/virtual_items](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items.md): Gets a virtual items list for building a catalog.
Notice
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
See also: The Get all virtual items list API call for client-side search or indexing.
### Lire un objet virtuel par UGS
- [GET /v2/project/{project_id}/items/virtual_items/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items-sku.md): Gets a virtual item by SKU for building a catalog.
Notice
This API call returns generic item
catalog data when used without authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire la liste de tous les objets virtuels
- [GET /v2/project/{project_id}/items/virtual_items/all](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-catalog/get-all-virtual-items.md): Gets a list of all virtual items for searching on client-side.
Notice
Returns only item SKU, name, groups and description.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
See also: The Get virtual items list API call for retrieving detailed item data with pagination.
### Lire une liste de monnaies virtuelles
- [GET /v2/project/{project_id}/items/virtual_currency](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency.md): Gets a virtual currency list for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire une monnaie virtuelle par UGS
- [GET /v2/project/{project_id}/items/virtual_currency/sku/{virtual_currency_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency-sku.md): Gets a virtual currency by SKU for building a catalog.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire une liste de packages de monnaie virtuelle
- [GET /v2/project/{project_id}/items/virtual_currency/package](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package.md): Gets a virtual currency packages list for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire un package de monnaie virtuelle par UGS
- [GET /v2/project/{project_id}/items/virtual_currency/package/sku/{virtual_currency_package_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package-sku.md): Gets a virtual currency packages by SKU for building a catalog.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire une liste d'objets par groupe spécifique
- [GET /v2/project/{project_id}/items/virtual_items/group/{external_id}](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items-group.md): Gets an items list from the specified group for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
## Paiement virtuel
### Créer une commande à partir d'un objet spécifique en monnaie virtuelle
- [POST /v2/project/{project_id}/payment/item/{item_sku}/virtual/{virtual_currency_sku}](https://developers.xsolla.com/fr/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency.md): Creates item purchase using virtual currency.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
## Catalogue
### Lire une liste de jeux
- [GET /v2/project/{project_id}/items/game](https://developers.xsolla.com/fr/api/catalog/game-keys-catalog/get-games-list.md): Gets a games list for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire une liste de jeux par groupe spécifique
- [GET /v2/project/{project_id}/items/game/group/{external_id}](https://developers.xsolla.com/fr/api/catalog/game-keys-catalog/get-games-group.md): Gets a games list from the specified group for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire un jeu pour le catalogue
- [GET /v2/project/{project_id}/items/game/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/game-keys-catalog/get-game-by-sku.md): Gets a game for the catalog.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire une clé de jeu pour le catalogue
- [GET /v2/project/{project_id}/items/game/key/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/game-keys-catalog/get-game-key-by-sku.md): Gets a game key for the catalog.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire une liste de clés de jeu par groupe spécifique
- [GET /v2/project/{project_id}/items/game/key/group/{external_id}](https://developers.xsolla.com/fr/api/catalog/game-keys-catalog/get-game-keys-group.md): Gets a game key list from the specified group for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire la liste des DRM
- [GET /v2/project/{project_id}/items/game/drm](https://developers.xsolla.com/fr/api/catalog/game-keys-catalog/get-drm-list.md): Récupère la liste des DRM disponibles.
## Droit
### Lire la liste des jeux qu'un utilisateur détient
- [GET /v2/project/{project_id}/entitlement](https://developers.xsolla.com/fr/api/catalog/game-keys-entitlement/get-user-games.md): Get the list of games owned by the user. The response will contain an array of games owned by a particular user.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Échanger un code de jeu côté client
- [POST /v2/project/{project_id}/entitlement/redeem](https://developers.xsolla.com/fr/api/catalog/game-keys-entitlement/redeem-game-pin-code.md): Grants entitlement by a provided game code.
Notice
You can redeem codes only for the DRM-free platform.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Accorder un droit (administrateur)
- [POST /v2/project/{project_id}/admin/entitlement/grant](https://developers.xsolla.com/fr/api/catalog/game-keys-entitlement/grant-entitlement-admin.md): Grants entitlement to user.
AttentionGame codes or games for DRM free platform can be granted only.
### Révoquer un droit (administrateur)
- [POST /v2/project/{project_id}/admin/entitlement/revoke](https://developers.xsolla.com/fr/api/catalog/game-keys-entitlement/revoke-entitlement-admin.md): Revokes entitlement of user.
AttentionGame codes or games for DRM free platform can be revoked only.
## Administrateur
### Créer un jeu
- [POST /v2/project/{project_id}/admin/items/game](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-create-game.md): Crée un jeu dans le projet.
### Lire la liste des jeux (administrateur)
- [GET /v2/project/{project_id}/admin/items/game](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-get-game-list.md): Gets the list of games within a project for administration.
Game consists of game keys which could be purchased by a user.
NoteDo not use this endpoint for building a store catalog.
### Lire un jeu (administrateur)
- [GET /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-get-game-by-sku.md): Gets a game for administration.
Game consists of game keys which could be purchased by a user.
NoteDo not use this endpoint for building a store catalog.
### Mettre à jour un jeu par UGS
- [PUT /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-update-game-by-sku.md): Met à jour les informations d'un jeu dans le projet par UGS.
### Supprimer un jeu par UGS
- [DELETE /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-delete-game-by-sku.md): Supprime un jeu dans le projet par UGS.
### Lire un jeu par ID (administrateur)
- [GET /v2/project/{project_id}/admin/items/game/id/{item_id}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-get-game-by-id.md): Gets a game for administration.
Game consists of game keys which could be purchased by a user.
NoteDo not use this endpoint for building a store catalog.
### Mettre à jour un jeu par ID
- [PUT /v2/project/{project_id}/admin/items/game/id/{item_id}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-update-game-by-id.md): Met à jour les informations d'un jeu dans le projet par son ID.
### Supprimer un jeu par ID
- [DELETE /v2/project/{project_id}/admin/items/game/id/{item_id}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-delete-game-by-id.md): Supprime un jeu du projet par son ID.
### Télécharger des codes
- [POST /v2/project/{project_id}/admin/items/game/key/upload/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-upload-codes-by-sku.md): Télécharge des codes par UGS de clé de jeu.
### Télécharger des codes par ID
- [POST /v2/project/{project_id}/admin/items/game/key/upload/id/{item_id}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-upload-codes-by-id.md): Télécharge des codes par ID de clé de jeu.
### Lire des informations sur la session de chargement des codes
- [GET /v2/project/{project_id}/admin/items/game/key/upload/session/{session_id}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-get-codes-session.md): Récupère des informations sur la session de chargement des codes.
### Lire des codes
- [GET /v2/project/{project_id}/admin/items/game/key/request/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-get-codes-by-sku.md): Récupère un certain nombre de codes par UGS de clé de jeu.
### Lire des codes par ID
- [GET /v2/project/{project_id}/admin/items/game/key/request/id/{item_id}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-get-codes-by-id.md): Récupère un certain nombre de codes par ID de clé de jeu.
### Supprimer les codes
- [DELETE /v2/project/{project_id}/admin/items/game/key/delete/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-delete-codes-by-sku.md): Supprime tous les codes par UGS de clé de jeu.
### Supprimer des codes par ID
- [DELETE /v2/project/{project_id}/admin/items/game/key/delete/id/{item_id}](https://developers.xsolla.com/fr/api/catalog/game-keys-admin/admin-delete-codes-by-id.md): Supprime tous les codes par ID de clé de jeu.
## Administrateur
### Lire une liste de lots
- [GET /v2/project/{project_id}/admin/items/bundle](https://developers.xsolla.com/fr/api/catalog/bundles-admin/admin-get-bundle-list.md): Gets the list of bundles within a project for administration.
NoteDo not use this endpoint for building a store catalog.
### Créer un lot
- [POST /v2/project/{project_id}/admin/items/bundle](https://developers.xsolla.com/fr/api/catalog/bundles-admin/admin-create-bundle.md): Crée un lot.
### Lire la liste des lots par ID d'un groupe spécifique
- [GET /v2/project/{project_id}/admin/items/bundle/group/id/{group_id}](https://developers.xsolla.com/fr/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-id.md): Gets the list of bundles within a group for administration.
NoteDo not use this endpoint for building a store catalog.
### Lire la liste des lots par external ID d'un groupe spécifique
- [GET /v2/project/{project_id}/admin/items/bundle/group/external_id/{external_id}](https://developers.xsolla.com/fr/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-external-id.md): Gets the list of bundles within a group for administration.
NoteDo not use this endpoint for building a store catalog.
### Mettre à jour un lot
- [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://developers.xsolla.com/fr/api/catalog/bundles-admin/admin-update-bundle.md): Met à jour un lot.
### Supprimer un lot
- [DELETE /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://developers.xsolla.com/fr/api/catalog/bundles-admin/admin-delete-bundle.md): Supprime un lot.
### Lire un lot
- [GET /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://developers.xsolla.com/fr/api/catalog/bundles-admin/admin-get-bundle.md): Gets the bundle within a project for administration.
NoteDo not use this endpoint for building a store catalog.
### Afficher un lot dans le catalogue
- [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/show](https://developers.xsolla.com/fr/api/catalog/bundles-admin/admin-show-bundle.md): Affiche un lot dans un catalogue.
### Masquer un lot dans le catalogue
- [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/hide](https://developers.xsolla.com/fr/api/catalog/bundles-admin/admin-hide-bundle.md): Masque un lot dans un catalogue.
## Catalogue
### Lire une liste de lots
- [GET /v2/project/{project_id}/items/bundle](https://developers.xsolla.com/fr/api/catalog/bundles-catalog/get-bundle-list.md): Gets a list of bundles for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire un lot spécifique
- [GET /v2/project/{project_id}/items/bundle/sku/{sku}](https://developers.xsolla.com/fr/api/catalog/bundles-catalog/get-bundle.md): Gets a specified bundle.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire une liste de lots par groupe spécifique
- [GET /v2/project/{project_id}/items/bundle/group/{external_id}](https://developers.xsolla.com/fr/api/catalog/bundles-catalog/get-bundle-list-in-group.md): Gets a list of bundles within a group for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
## Panier (côté client)
Use calls from this section to manage the cart on the client side.
### Lire le panier par ID de panier
- [GET /v2/project/{project_id}/cart/{cart_id}](https://developers.xsolla.com/fr/api/catalog/cart-client-side/get-cart-by-id.md): Renvoie le panier de l'utilisateur par son ID de panier.
### Lire le panier de l'utilisateur actuel
- [GET /v2/project/{project_id}/cart](https://developers.xsolla.com/fr/api/catalog/cart-client-side/get-user-cart.md): Renvoie le panier de l'utilisateur actuel.
### Supprimer tous les objets du panier par ID de panier
- [PUT /v2/project/{project_id}/cart/{cart_id}/clear](https://developers.xsolla.com/fr/api/catalog/cart-client-side/cart-clear-by-id.md): Supprime tous les objets du panier.
### Supprimer tous les objets du panier actuel
- [PUT /v2/project/{project_id}/cart/clear](https://developers.xsolla.com/fr/api/catalog/cart-client-side/cart-clear.md): Supprime tous les objets du panier.
### Remplir le panier d'objets
- [PUT /v2/project/{project_id}/cart/fill](https://developers.xsolla.com/fr/api/catalog/cart-client-side/cart-fill.md): Remplit d'objets le panier. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.
### Remplir un panier spécifique d'objets
- [PUT /v2/project/{project_id}/cart/{cart_id}/fill](https://developers.xsolla.com/fr/api/catalog/cart-client-side/cart-fill-by-id.md): Remplit d'objets un panier spécifique. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.
### Mettre à jour un objet du panier par ID de panier
- [PUT /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://developers.xsolla.com/fr/api/catalog/cart-client-side/put-item-by-cart-id.md): Met à jour un objet de panier existant ou en crée un nouveau dans le panier.
### Supprimer un objet du panier par ID de panier
- [DELETE /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://developers.xsolla.com/fr/api/catalog/cart-client-side/delete-item-by-cart-id.md): Supprime un objet du panier.
### Mettre à jour un objet du panier actuel
- [PUT /v2/project/{project_id}/cart/item/{item_sku}](https://developers.xsolla.com/fr/api/catalog/cart-client-side/put-item.md): Met à jour un objet de panier existant ou en crée un nouveau dans le panier.
### Supprimer un objet du panier actuel
- [DELETE /v2/project/{project_id}/cart/item/{item_sku}](https://developers.xsolla.com/fr/api/catalog/cart-client-side/delete-item.md): Supprime un objet du panier.
## Panier (côté serveur)
Use calls from this section to manage the cart on the server side.
### Remplir le panier d'objets
- [PUT /v2/admin/project/{project_id}/cart/fill](https://developers.xsolla.com/fr/api/catalog/cart-server-side/admin-cart-fill.md): Remplit d'objets le panier actuel. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.
### Remplir le panier d'objets par ID de panier
- [PUT /v2/admin/project/{project_id}/cart/{cart_id}/fill](https://developers.xsolla.com/fr/api/catalog/cart-server-side/admin-fill-cart-by-id.md): Remplit d'objets le panier par son ID. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.
## Paiement (côté client)
Use calls from this section to create a payment token on the client side.
### Créer une commande à partir de tous les objets d'un panier spécifique
- [POST /v2/project/{project_id}/payment/cart/{cart_id}](https://developers.xsolla.com/fr/api/catalog/payment-client-side/create-order-by-cart-id.md): Used for client-to-server integration. Creates an order with all items from the particular cart and generates a payment token for it. The created order gets the new order status.
The client IP is used to determine the user’s country, which is then used to apply the corresponding currency and available payment methods for the order.
To open the payment UI in a new window, use the following link: https://secure.xsolla.com/paystation4/?token={token}, where {token} is the received token.
For testing purposes, use this URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.
Notice As this method uses the IP to determine the user’s country and select a currency for the order, it is important to only use this method from the client side and not from the server side. Using this method from the server side may cause incorrect currency determination and affect payment methods in Pay Station.
### Créer une commande à partir de tous les objets du panier actuel
- [POST /v2/project/{project_id}/payment/cart](https://developers.xsolla.com/fr/api/catalog/payment-client-side/create-order.md): Used for client-to-server integration. Creates an order with all items from the cart and generates a payment token for it. The created order gets the new order status.
The client IP is used to determine the user’s country, which is then used to apply the corresponding currency and available payment methods for the order.
To open the payment UI in a new window, use the following link: https://secure.xsolla.com/paystation4/?token={token}, where {token} is the received token.
For testing purposes, use this URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.
Notice As this method uses the IP to determine the user’s country and select a currency for the order, it is important to only use this method from the client side and not from the server side. Using this method from the server side may cause incorrect currency determination and affect payment methods in Pay Station.
### Créer une commande à partir d'un objet spécifique
- [POST /v2/project/{project_id}/payment/item/{item_sku}](https://developers.xsolla.com/fr/api/catalog/payment-client-side/create-order-with-item.md): Used for client-to-server integration. Creates an order with a specified item and generates a payment token for it. The created order gets the new order status.
The client IP is used to determine the user’s country, which is then used to apply the corresponding currency and available payment methods for the order.
To open the payment UI in a new window, use the following link: https://secure.xsolla.com/paystation4/?token={token}, where {token} is the received token.
For testing purposes, use this URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.
Notice As this method uses the IP to determine the user’s country and select a currency for the order, it is important to only use this method from the client side and not from the server side. Using this method from the server side may cause incorrect currency determination and affect payment methods in Pay Station.
Notice
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
## Paiement (côté serveur)
Use calls from this section to create a payment token on the server side.
### Créer un jeton de paiement pour un achat
- [POST /v3/project/{project_id}/admin/payment/token](https://developers.xsolla.com/fr/api/catalog/payment-server-side/admin-create-payment-token.md): Generates an order and a payment token for it. The order is generated based on the items passed in the request body.
To open the payment UI in a new window, use the following link: https://secure.xsolla.com/paystation4/?token={token}, where {token} is the received token.
For testing purposes, use this URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.
Notice
user.country.value parameter is used to select a currency for the order. If user's country is unknown,
providing the user's IP in X-User-Ip header is an alternative option. One of these two options is required for the correct work of this method. The selected currency is used for payment methods at Pay Station.
## Commande
Use calls from this section to get information about orders.
### Lire une commande
- [GET /v2/project/{project_id}/order/{order_id}](https://developers.xsolla.com/fr/api/catalog/order/get-order.md): Récupère des informations sur une commande spécifique.
### Lire la liste des commandes pour la période spécifiée
- [POST /v3/project/{project_id}/admin/order/search](https://developers.xsolla.com/fr/api/catalog/order/admin-order-search.md): Récupère la liste des commandes, triées par date de création dans un ordre croissant.
## Biens gratuits
Use calls from this section to grant free items to users.
### Créer une commande à partir d'un panier gratuit
- [POST /v2/project/{project_id}/free/cart](https://developers.xsolla.com/fr/api/catalog/free-item/create-free-order.md): Crée une commande à partir de tous les objets d'un panier gratuit. La commande créée aura le statut done.
### Créer une commande à partir d'un panier gratuit spécifique
- [POST /v2/project/{project_id}/free/cart/{cart_id}](https://developers.xsolla.com/fr/api/catalog/free-item/create-free-order-by-cart-id.md): Crée une commande à partir de tous les biens d'un panier gratuit spécifique. La commande créée aura le statut done.
### Créer une commande à partir d'un bien gratuit spécifique
- [POST /v2/project/{project_id}/free/item/{item_sku}](https://developers.xsolla.com/fr/api/catalog/free-item/create-free-order-with-item.md): Creates an order with a specified free item. The created order will get a done order status.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
## Gestion
### Actualiser toutes les limites d'achat pour un utilisateur spécifique
- [DELETE /v2/project/{project_id}/admin/user/limit/item/all](https://developers.xsolla.com/fr/api/catalog/user-limits-admin/reset-all-user-items-limit.md): Refreshes all purchase limits across all items for a specified user so they can purchase these items again.
User limit API allows you to sell an item in a limited quantity. To configure the purchase limits, go to the Admin section of the desired item type module:
* Game Keys
* Virtual Items & Currency
* Bundles
### Actualiser la limite d'achat
- [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}/all](https://developers.xsolla.com/fr/api/catalog/user-limits-admin/reset-user-item-limit.md): Refreshes the purchase limit for an item so a user can buy it again. If the user parameter is null, this call refreshes this limit for all users.
User limit API allows you to sell an item in a limited quantity. To configure the purchase limits, go to the Admin section of the desired item type module:
* Game Keys
* Virtual Items & Currency
* Bundles
### Lire le nombre d'objets offerts pour un utilisateur spécifique
- [GET /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/user-limits-admin/get-user-item-limit.md): Gets the remaining number of items available to the specified user within the limit applied.
User limit API allows you to sell an item in a limited quantity. To configure the purchase limits, go to the Admin section of the desired item type module:
* Game Keys
* Virtual Items & Currency
* Bundles
### Augmenter le nombre d'objets offerts pour un utilisateur spécifique
- [POST /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/user-limits-admin/add-user-item-limit.md): Increases the remaining number of items available to the specified user within the limit applied.
User limit API allows you to sell an item in a limited quantity. To configure the purchase limits, go to the Admin section of the desired item type module:
* Game Keys
* Virtual Items & Currency
* Bundles
### Définir le nombre d'objets offerts pour un utilisateur spécifique
- [PUT /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/user-limits-admin/set-user-item-limit.md): Sets the number of items the specified user can buy within the limit applied after it was increased or decreased.
User limit API allows you to sell an item in a limited quantity. To configure the purchase limits, go to the Admin section of the desired item type module:
* Game Keys
* Virtual Items & Currency
* Bundles
### Réduire le nombre d'objets offerts pour un utilisateur spécifique
- [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/user-limits-admin/remove-user-item-limit.md): Decreases the remaining number of items available to the specified user within the limit applied.
User limit API allows you to sell an item in a limited quantity. To configure the purchase limits, go to the Admin section of the desired item type module:
* Game Keys
* Virtual Items & Currency
* Bundles
## Administrateur
### Importer des objets via un fichier JSON
- [POST /v1/projects/{project_id}/import/from_external_file](https://developers.xsolla.com/fr/api/catalog/connector-admin/import-items-from-external-file.md): Importe des objets dans le magasin à partir d'un fichier JSON via l'URL spécifiée. Pour plus d'informations, consultez la documentation.
### Lire le statut de l'importation d'objets
- [GET /v1/admin/projects/{project_id}/connectors/import_items/import/status](https://developers.xsolla.com/fr/api/catalog/connector-admin/get-items-import-status.md): Récupère des informations sur la progression de l'importation d'objets dans le projet. Cet appel API récupère des données sur la dernière importation effectuée par le biais de l'API ou du Compte éditeur.
## Pré-commandes
### Lire des informations sur la limite de pré-commande d'un objet
- [GET /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/common-pre-orders/get-pre-order-limit.md): Get pre-order limit of the item.
Pre-Order limit API allows you to sell an item in a limited quantity. For configuring the pre-order itself, go to the Admin section of the desired item module:
* Game Keys
* Virtual Items & Currency
* Bundles
Aliases for this endpoint:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}
### Ajouter une quantité à la limite de pré-commande pour un objet
- [POST /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/common-pre-orders/add-pre-order-limit.md): Add quantity to pre-order limit of the item.
Pre-Order limit API allows you to sell an item in a limited quantity. For configuring the pre-order itself, go to the Admin section of the desired item module:
* Game Keys
* Virtual Items & Currency
* Bundles
Aliases for this endpoint:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}
### Définir une quantité de la limite de pré-commande pour un objet
- [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/common-pre-orders/set-pre-order-limit.md): Set quantity of pre-order limit of the item.
Pre-Order limit API allows you to sell an item in a limited quantity. For configuring the pre-order itself, go to the Admin section of the desired item module:
* Game Keys
* Virtual Items & Currency
* Bundles
Aliases for this endpoint:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}
### Supprimer une quantité de la limite de pré-commande pour un objet
- [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://developers.xsolla.com/fr/api/catalog/common-pre-orders/remove-pre-order-limit.md): Remove quantity of pre-order limit of the item.
Pre-Order limit API allows you to sell an item in a limited quantity. For configuring the pre-order itself, go to the Admin section of the desired item module:
* Game Keys
* Virtual Items & Currency
* Bundles
Aliases for this endpoint:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}
### Basculer la limite de pré-commande pour un objet
- [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/toggle](https://developers.xsolla.com/fr/api/catalog/common-pre-orders/toggle-pre-order-limit.md): Enable/disable pre-order limit of the item.
Pre-Order limit API allows you to sell an item in a limited quantity. For configuring the pre-order itself, go to the admin section of the desired item module:
* Game Keys
* Virtual Items & Currency
* Bundles
Aliases for this endpoint:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}/toggle
### Supprimer toute la quantité de la limite de pré-commande pour un objet
- [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/all](https://developers.xsolla.com/fr/api/catalog/common-pre-orders/remove-all-pre-order-limit.md): Remove all quantity of pre-order limit of the item.
Pre-Order limit API allows you to sell an item in a limited quantity. For configuring the pre-order itself, go to the admin section of the desired item module:
* Game Keys
* Virtual Items & Currency
* Bundles
Aliases for this endpoint:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}/all
## Commerçant
### Lire les projets
- [GET /v2/merchant/{merchant_id}/projects](https://developers.xsolla.com/fr/api/catalog/common-merchant/get-projects.md): Gets the list of merchant's projects.
NoticeThis API call does not contain the project_id path parameter, so you need to use the API key that is valid in all the company’s projects to set up authorization.
## Catalogue
Cette API permet de récupérer tout type d'objet vendable ou tout objet spécifique.
### Lire une liste d'objets vendables
- [GET /v2/project/{project_id}/items](https://developers.xsolla.com/fr/api/catalog/common-catalog/get-sellable-items.md): Gets a sellable items list for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire un objet vendable par ID
- [GET /v2/project/{project_id}/items/id/{item_id}](https://developers.xsolla.com/fr/api/catalog/common-catalog/get-sellable-item-by-id.md): Gets a sellable item by its ID.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire un objet vendable par UGS
- [GET /v2/project/{project_id}/items/sku/{sku}](https://developers.xsolla.com/fr/api/catalog/common-catalog/get-sellable-item-by-sku.md): Gets a sellable item by SKU for building a catalog.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
### Lire une liste d'objets vendables par groupe spécifique
- [GET /v2/project/{project_id}/items/group/{external_id}](https://developers.xsolla.com/fr/api/catalog/common-catalog/get-sellable-items-group.md): Gets a sellable items list from the specified group for building a catalog.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call returns generic item catalog data when used without
authorization. Use authorization to retrieve
personalized
user data, such as limits and promotions associated with the item.
To do this, pass the user JWT in the Authorization header.
For more information about user JWT, see the Security block
for this call.
## Régions communes
### Lire la liste des régions
- [GET /v2/project/{project_id}/admin/region](https://developers.xsolla.com/fr/api/catalog/common-regions/admin-get-regions.md): Gets list of regions.
You can use a region for managing your regional restrictions.
### Créer une région
- [POST /v2/project/{project_id}/admin/region](https://developers.xsolla.com/fr/api/catalog/common-regions/admin-create-region.md): Creates region.
You can use a region for managing your regional restrictions.
### Lire une région
- [GET /v2/project/{project_id}/admin/region/{region_id}](https://developers.xsolla.com/fr/api/catalog/common-regions/admin-get-region.md): Gets particular region.
You can use a region for managing your regional restrictions.
### Mettre à jour une région
- [PUT /v2/project/{project_id}/admin/region/{region_id}](https://developers.xsolla.com/fr/api/catalog/common-regions/admin-update-region.md): Updates particular region.
You can use a region for managing your regional restrictions.
### Supprimer une région
- [DELETE /v2/project/{project_id}/admin/region/{region_id}](https://developers.xsolla.com/fr/api/catalog/common-regions/admin-delete-region.md): Supprime une région spécifique.
## Administrateur
### Lire la liste des attributs (administrateur)
- [GET /v2/project/{project_id}/admin/attribute](https://developers.xsolla.com/fr/api/catalog/attribute-admin/admin-get-attribute-list.md): Récupère la liste des attributs au sein d'un projet à des fins d'administration.
### Créer un attribut
- [POST /v2/project/{project_id}/admin/attribute](https://developers.xsolla.com/fr/api/catalog/attribute-admin/admin-create-attribute.md): Crée un attribut.
### Mettre à jour un attribut
- [PUT /v2/project/{project_id}/admin/attribute/{external_id}](https://developers.xsolla.com/fr/api/catalog/attribute-admin/admin-update-attribute.md): Met à jour un attribut.
### Lire un attribut spécifique
- [GET /v2/project/{project_id}/admin/attribute/{external_id}](https://developers.xsolla.com/fr/api/catalog/attribute-admin/admin-get-attribute.md): Récupère des informations sur un attribut spécifique.
### Supprimer un attribut
- [DELETE /v2/project/{project_id}/admin/attribute/{external_id}](https://developers.xsolla.com/fr/api/catalog/attribute-admin/delete-attribute.md): Deletes an attribute.
NoticeIf you delete an item attribute, all its data and connections with items will be lost.
### Créer une valeur d'attribut
- [POST /v2/project/{project_id}/admin/attribute/{external_id}/value](https://developers.xsolla.com/fr/api/catalog/attribute-admin/admin-create-attribute-value.md): Creates an attribute value.
AttentionAll projects have the limitation to the number of attribute values. The default and maximum value is 20 values per attribute.
### Supprimer toutes les valeurs d'un attribut
- [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value](https://developers.xsolla.com/fr/api/catalog/attribute-admin/admin-delete-all-attribute-value.md): Deletes all values of the attribute.
NoticeIf you delete an attribute's value, all connections between the attribute and items will be lost. To change the attribute value for an item, use the Update attribute value API call instead of deleting the value and creating a new one.
### Mettre à jour une valeur d'attribut
- [PUT /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://developers.xsolla.com/fr/api/catalog/attribute-admin/admin-update-attribute-value.md): Met à jour les valeurs d'un attribut.
### Supprimer une valeur d'attribut
- [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://developers.xsolla.com/fr/api/catalog/attribute-admin/admin-delete-attribute-value.md): Deletes an attribute value.
NoticeIf you delete an attribute's value, all connections between the attribute and items will be lost. To change the attribute value for an item, use the Update attribute value API call instead of deleting the value and creating a new one.
## Administrateur
### Lire la liste des groupes d'objets
- [GET /v2/project/{project_id}/admin/items/groups](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-get-item-group-list.md): Retrieves the full list of item groups within a project without pagination. For administrative purposes.
NoteDo not use this endpoint for building a store catalog. Use the Get item group list client-side endpoint instead.
### Create item group
- [POST /v2/project/{project_id}/admin/items/groups](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-create-item-group.md): Creates an item group within a project.
To retrieve item groups for building a catalog, use the Get item group list client-side endpoint.
### Get item group by external ID
- [GET /v2/project/{project_id}/admin/items/groups/{external_id}](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-get-item-group.md): Retrieves an item group by its external ID for administrative purposes.
NoteDo not use this endpoint for building a store catalog. Use the Get item group list client-side endpoint instead.
### Update item group
- [PUT /v2/project/{project_id}/admin/items/groups/{external_id}](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-update-item-group.md): Updates an item group by its external ID.
### Delete item group
- [DELETE /v2/project/{project_id}/admin/items/groups/{external_id}](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-delete-item-group.md): Deletes an item group by its external ID.
### Get item group list filtered by item type
- [GET /v2/project/{project_id}/admin/items/{item_type}/groups](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-get-item-group-list-by-item-type.md): Retrieves item group list with filtering by item type. Only items of the specified type are counted for the group. This is similar to the Get item group list endpoint, with additional filtering of items by type when counting them.
### Get item group by external ID filtered by item type
- [GET /v2/project/{project_id}/admin/items/{item_type}/groups/{external_id}](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-get-item-group-by-item-type.md): Retrieves an item group by external ID. Only items of the specified type are counted for the group. This is similar to the Get item group by external ID endpoint, with additional filtering of items by type when counting them.
### Reorder item groups
- [PUT /v2/project/{project_id}/admin/group/order](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-reorder-item-groups.md): Sets the display order for item groups within a project. Pass an array of groups with their new order values.
### Reorder items within a group (by external ID)
- [PUT /v2/project/{project_id}/admin/group/{external_id}/order/item](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-reorder-items-in-group.md): Sets the display order of items within a group identified by its external ID. Pass an array of items with their new order values.
### Reorder items within a group (by ID)
- [PUT /v2/project/{project_id}/admin/group/id/{id}/order/item](https://developers.xsolla.com/fr/api/catalog/item-groups-admin/admin-reorder-items-in-group-by-id.md): Sets the display order of items within a group identified by its internal numeric ID. Pass an array of items with their new order values.
## Catalogue
### Lire la liste des groupes d'objets
- [GET /v2/project/{project_id}/items/groups](https://developers.xsolla.com/fr/api/catalog/item-groups-catalog/get-item-groups.md): Retrieves an item group list for building a catalog without pagination.
NoteThe use of the item catalog API calls is available without authorization, but to get a personalized catalog, you must pass the user JWT in the Authorization header.