Skip to content

Overview

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

Download OpenAPI description
Languages
Servers
Mock server
https://xsolla.redocly.app/_mock/api/shop-builder/
https://store.xsolla.com/api/
Operations

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.

Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Catalog

This API allows getting any kind of sellable items or specific item.

Operations
Operations
Operations
Operations
Operations
Operations

Coupons

This API allows to you to manage coupons.

Operations

Promo codes

This API allows to manage promo codes.

Operations

Unique catalog offers

This API allows to you to manage unique catalog offers.

Operations

Discounts

This API allows to you to manage discount promotions.

Operations

Bonuses

This API allows to manage bonus promotions.

Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Get current user's offer chainsClient-side

Request

Gets the current user’s offer chains.

Notice

All projects have a limit on the number of items that can be returned in a single response. The default and maximum value is 30 items per response. To get more data, use the limit and offset query parameters for pagination.
Security
XsollaLoginUserJWT
Path
project_idintegerrequired

Project ID. You can find this parameter in your Publisher Account next to the name of the project.

Example: 44056
Query
limitinteger>= 1

Limit for the number of elements on the page.

Example: limit=50
offsetinteger>= 0

Number of the element from which the list is generated (the count starts from 0).

Example: offset=0
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/api/shop-builder/v2/project/44056/user/offer_chain?limit=50&offset=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The list of offer chains was successfully received.

Bodyapplication/json
has_moreboolean

Indicates whether more pages are available.

Example: true
total_items_countinteger

Total number of offer chains available.

Example: 10
itemsArray of objects(client-offer-chain-model)
Response
application/json
{ "has_more": false, "total_items_count": 3, "items": [ {}, {}, {} ] }

Get current user's offer chain by IDClient-side

Request

Gets the current user’s offer chain by the offer chain's ID.

Security
XsollaLoginUserJWT
Path
project_idintegerrequired

Project ID. You can find this parameter in your Publisher Account next to the name of the project.

Example: 44056
offer_chain_idintegerrequired

Offer chain ID.

Example: 101
curl -i -X GET \
  https://xsolla.redocly.app/_mock/api/shop-builder/v2/project/44056/user/offer_chain/101 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The user’s offer chain was successfully retrieved.

Bodyapplication/json
idinteger

Offer chain ID.

Example: 9
namestring

Offer chain name.

Example: "Weekly quest"
descriptionstring or null

Offer chain description.

Example: "Major weekly quest"
orderinteger(order)

Defines arrangement order.

Example: 1
date_startstring(date-time)(offer_chain_date_start)

Date when the offer chain starts.

Example: "2020-04-15T18:16:00+05:00"
date_endstring or null(date-time)(offer_chain_date_end)

Date when the offer chain ends. Can be null. If date_end is null, the offer chain will not have a time limit.

Example: "2020-04-15T18:16:00+05:00"
stepsArray of objects(client-offer-chain-step-model)
recurrent_scheduleobject or null(offer_chain_recurrent_schedule_client_side)

Reset period of the offer chain.

next_step_numberinteger or null

Next offer chain step number. null if the offer chain is completed.

Example: 1
Response
application/json
{ "id": 4, "name": "Offer chain with bundles", "description": null, "date_start": "2010-04-15T18:16:00+05:00", "date_end": "2025-04-25T18:16:00+05:00", "order": 1, "recurrent_schedule": null, "steps": [ {}, {} ], "next_step_number": 1 }

Claim free offer chain stepClient-side

Request

Completes the current user’s progression through the offer chain step and grants the associated reward.

Notice

Use this call only for free steps in the offer chain. For steps that require payment in real currency, use the Create order for paid offer chain step call instead.
Security
XsollaLoginUserJWT
Path
project_idintegerrequired

Project ID. You can find this parameter in your Publisher Account next to the name of the project.

Example: 44056
offer_chain_idintegerrequired

Offer chain ID.

Example: 101
step_numberintegerrequired

Offer chain step number.

Example: 1
curl -i -X POST \
  https://xsolla.redocly.app/_mock/api/shop-builder/v2/project/44056/user/offer_chain/101/step/number/1/claim \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The free step was successfully claimed and the reward granted.

Bodyapplication/json
order_idinteger

Order ID.

Response
application/json
{ "order_id": 641 }
Operations
Operations
Operations
Operations
Operations