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 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 }

Create order for paid offer chain stepClient-side

Request

Creates an order for the item associated with the specified paid offer chain step. The created order gets the new order status.

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

This method must be used on the client side. The user's IP address is used to determine the country, which affects the currency and available payment methods. Using this method from the server side may result in incorrect currency detection and affect payment methods in Pay Station.

Notice

Use this call only for paid offer chain steps. For free steps, use the Claim free 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/order \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Order was successfully created.

Bodyapplication/json
order_idinteger

Order ID.

tokenstring

Payment token.

Response
application/json
{ "order_id": 641, "token": "f4puMEFFDZcx9nv5HoNHIkPe9qghvBQo" }
Operations
Operations
Operations
Operations
Operations