This API allows getting any kind of sellable items or specific item.
- Redeem game code by client
Shop Builder API (2.0.0)
- Version: 2.0.0
- Servers:
https://store.xsolla.com/api - Contact Us by Email
- Contact URL: https://xsolla.com/
- Required TLS version: 1.2
Shop Builder API provides a third-party solution for implementing the server side for your store interface. Use the endpoints to manage in-game items, in-game currencies, cart, player inventory, promotions, game library, etc.
Personalized catalog
This API allows to specify rules for user attributes. If the user meets all conditions for a concrete rule, personalized items will be shown.
For personalized promotions see Promotions section.
To pass attributes before a purchase, you can use Xsolla Login API or pass them into user.attributes property while generating token using Pay Station API.
Request
Get the list of games owned by the user. The response will contain an array of games owned by a particular user.
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.
Project ID. You can find this parameter in your Publisher Account next to the name of the project.
Number of the element from which the list is generated (the count starts from 0).
What type of entitlements should be returned. If the parameter is set to 1, the entitlements received by the user in the sandbox mode only are returned. If the parameter isn't passed or is set to 0, the entitlements received by the user in the live mode only are returned.
- Mock serverhttps://xsolla.redocly.app/_mock/api/shop-builder/v2/project/{project_id}/entitlement
- https://store.xsolla.com/api/v2/project/{project_id}/entitlement
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://xsolla.redocly.app/_mock/api/shop-builder/v2/project/44056/entitlement?limit=50&offset=0&sandbox=0&additional_fields%5B%5D=string' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "has_more": false, "total_items_count": 1, "items": [ { … } ] }
Project ID. You can find this parameter in your Publisher Account next to the name of the project.
- Mock serverhttps://xsolla.redocly.app/_mock/api/shop-builder/v2/project/{project_id}/entitlement/redeem
- https://store.xsolla.com/api/v2/project/{project_id}/entitlement/redeem
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://xsolla.redocly.app/_mock/api/shop-builder/v2/project/44056/entitlement/redeem \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"code": "AAAA-BBBB-CCCC-DDDD",
"sandbox": false
}'Project ID. You can find this parameter in your Publisher Account next to the name of the project.
Object with game properties.
Object with DRM properties.
What type of entitlements should be granted. If the parameter is set to sandbox, the entitlement will be granted to the user in the sandbox mode. If the parameter is set to default, the entitlement will be granted to the user in the live mode.
- Mock serverhttps://xsolla.redocly.app/_mock/api/shop-builder/v2/project/{project_id}/admin/entitlement/grant
- https://store.xsolla.com/api/v2/project/{project_id}/admin/entitlement/grant
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
https://xsolla.redocly.app/_mock/api/shop-builder/v2/project/44056/admin/entitlement/grant \
-H 'Content-Type: application/json' \
-d '{
"user_external_id": "user-external-id",
"game": {
"sku": "com.xsolla.game_1"
},
"drm": {
"sku": "com.xsolla.key_1"
},
"code": "AAAA-BBBB-CCCC-DDDD",
"mode": "default",
"user_country": "US"
}'