콘텐츠로 건너뛰기

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.

OpenAPI 설명 다운로드
언어
서버
Mock server
https://xsolla.redocly.app/_mock/ko/api/shop-builder/
https://store.xsolla.com/api/
작업

개인 맞춤형 카탈로그

이 API를 사용하여 사용자 특성에 대한 규칙을 지정할 수 있습니다. 사용자가 구체적인 규칙에 대한 모든 조건을 충족하면 개인 맞춤형 아이템이 표시됩니다.

개인 맞춤형 프로모션에 대한 내용은 프로모션 섹션을 참조하십시오.

구매 전에 특성을 전달하려면 엑솔라 로그인 API를 사용하거나 페이 스테이션 API를 사용하여 토큰을 생성하는 동안 user.attributes 특성으로 특성을 전달할 수 있습니다.

작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업

카탈로그

이 API를 사용하면 모든 종류의 판매할 수 있는 아이템 또는 특정 아이템을 가져올 수 있습니다.

작업
작업
작업
작업
작업
작업

쿠폰

이 API를 사용하여 쿠폰을 관리할 수 있습니다.

작업

프로모션 코드

이 API를 사용하여 프로모션 코드를 관리할 수 있습니다.

작업

장바구니에서 프로모션 코드 제거Client-side

요청

장바구니에서 프로모션 코드를 제거합니다. 프로모션 코드를 제거하면 프로모션 코드에서 제공하는 보너스 및 할인 혜택 없이 카트에 있는 모든 아이템의 총 가격을 다시 계산합니다.

보안
AuthForCart
경로
project_idinteger필수

프로젝트 ID입니다. 이 매개 변수는 관리자 페이지의 프로젝트 이름 옆에서 확인할 수 있습니다.

예제: 44056
본문application/json
cartobject or null
curl -i -X PUT \
  https://xsolla.redocly.app/_mock/ko/api/shop-builder/v2/project/44056/promocode/remove \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "cart": {
      "id": "current"
    }
  }'

응답

프로모션 코드를 성공적으로 취소했습니다.

본문application/json
cart_idstring

장바구니 ID입니다.

예제: "cart_id"
is_freeboolean(value-is_free)

true일 경우 아이템은 무료입니다.

기본값 false
예제: false
itemsArray of objects
예제: [{"attributes":[],"can_be_bought":true,"description":"Take it, take it all! All of Xsolla's riches in one Mega Booster.","groups":[{"external_id":"powerups","name":"Power Ups"}],"image_url":"https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png","is_free":false,"limits":{"per_user":{"available":3,"recurrent_schedule":{"interval_type":"weekly","reset_next_date":1746057600},"total":5}},"name":"Xsolla Booster Mega","periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"50.0000000000000000","amount_without_discount":"100.0000000000000000","currency":"USD"},"promotions":[{"bonus":[{"image_url":"https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png","name":"Xsolla Minigun","quantity":1,"sku":"com.xsolla.minigun_1","type":"virtual_good"}],"date_end":"2026-04-15T16:16:00+03:00","date_start":"2020-04-15T16:16:00+03:00","discount":{"percent":"50.00"},"name":"Bonus promotion"}],"quantity":123,"sku":"com.xsolla.booster_mega_1","type":"virtual_good","virtual_item_type":"consumable","virtual_prices":[],"vp_rewards":[{"amount":130,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","item_id":175232,"name":"Value point","sku":"com.xsolla.value_point_1"},{"amount":50,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","is_clan":true,"item_id":186321,"name":"Clan Reward VP 1","sku":"com.xsolla.clan_value_point_1"}]}]
priceobject or null

장바구니 가격입니다.

예제: {"amount":"6150.0000000000000000","amount_without_discount":"6150.0000000000000000","currency":"USD"}
응답
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {} ], "price": { "amount": "6150.0000000000000000", "amount_without_discount": "6150.0000000000000000", "currency": "USD" } }

프로모션 코드 프로모션의 목록 가져오기Server-sideAdmin

요청

프로젝트의 프로모션 코드 목록을 가져옵니다.

보안
basicAuth
경로
project_idinteger필수

프로젝트 ID입니다. 이 매개 변수는 관리자 페이지의 프로젝트 이름 옆에서 확인할 수 있습니다.

예제: 44056
쿼리
limitinteger>= 1

페이지 요소 개수 제한입니다.

예제: limit=50
offsetinteger>= 0

목록이 생성된 요소의 개수입니다(개수는 0부터 시작함).

예제: offset=0
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ko/api/shop-builder/v3/project/44056/admin/promocode?limit=50&offset=0'

응답

프로모션 코드 목록을 성공적으로 수신했습니다.

본문application/json
active_promotions_countinteger(active_promotions_count)

활성 프로모션의 수입니다.

inactive_promotions_countinteger(inactive_promotions_count)

비활성 프로모션의 수입니다.

itemsArray of objects(Promotions_200-get-promocode-promotion-model)
total_promotions_countinteger(total_promotions_count)

총 프로모션 개수입니다.

응답
application/json
{ "active_promotions_count": 2, "inactive_promotions_count": 0, "items": [ {}, {} ], "total_promotions_count": 2 }

프로모션 코드 프로모션 생성하기Server-sideAdmin

요청

프로모션 코드 프로모션을 생성합니다.

보안
basicAuth
경로
project_idinteger필수

프로젝트 ID입니다. 이 매개 변수는 관리자 페이지의 프로젝트 이름 옆에서 확인할 수 있습니다.

예제: 44056
본문application/json
attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(promotion_user-attribute_conditions_model-post)[ 1 .. 100 ] items

사용자 특성 검증 조건. 사용자 특성이 지정된 모든 조건과 일치하는지 여부에 따라 프로모션의 가용성을 결정합니다.

bonusArray of objects or null(Promotions_coupon_bonus)
discountobject or null
예제: {"percent":"10.10"}
discounted_itemsArray of objects or null(Promotions_discounted_items)

프로모션 코드로 할인한 아이템의 목록입니다.

excluded_promotionsArray of integers(excluded_promotions)

이 프로모션을 적용할 때 제외할 프로모션 ID 목록입니다.
Example: [12, 789]

예제: [12,789]
external_idstring(Promotions_coupon-external_id)필수

고유 프로모션 ID입니다. external_id는 소문자 및 대문자 라틴 영숫자, 마침표, 대시 및 밑줄만 포함할 수 있습니다.

기본값 "coupon_external_id"
예제: "coupon_external_id"
item_price_conditionsArray of objects or null(item_price_conditions_promocode)

장바구니의 특정 아이템에 프로모션을 적용하기 위한 가격 범위를 설정하는 조건을 가진 개체 배열입니다.
사용자 장바구니에 있는 각 아이템의 가격은 조건에 지정된 가격 범위와 비교됩니다.보너스할인은 가격이 조건을 충족하는 장바구니에 있는 아이템에만 적용됩니다.
이 배열을 전달하면 discounted_items 배열의 값이 null로 설정됩니다.

nameobject(Promotions_coupon_name)필수

프로모션의 이름입니다. 키가 "^[a-z]{2}-[A-Z]{2}$" 형식의 로케일인 키/값 쌍을 포함해야 하며 값은 문자열입니다.

기본값 {"de-DE":"Gutscheintitel","en-US":"Coupon title"}
예제: {"de-DE":"Gutscheintitel","en-US":"Coupon title"}
name.​property name*string추가 속성
price_conditionsArray of objects or null(price_conditions_promocode)

프로모션을 전체 카트에 적용하기 위한 가격 범위를 설정하는 조건을 가진 개체 배열입니다.
사용자 장바구니에 있는 모든 아이템의 총 가격을 조건에 지정된 가격 범위와 비교합니다.보너스할인은 장바구니의 가격이 지정된 조건을 충족할 경우 장바구니의 모든 아이템에 적용됩니다.
이 배열을 전달할 경우 discounted_items 배열의 값이 null로 설정됩니다.

promotion_periodsArray of objects(promotion_periods)

프로모션의 유효 기간. 기간이 여러 개 지정된 경우 date_fromdate_until가 모두 필요합니다.

redeem_code_limitinteger or null(Promotions_redeem_code_limit)

코드당 사용 횟수입니다.

기본값 10
예제: 10
redeem_total_limitinteger or null(Promotions_coupon-redeem_total_limit)

총 쿠폰 수를 제한합니다.

기본값 10
예제: 10
redeem_user_limitinteger or null(Promotions_coupon-redeem_user_limit)

단일 사용자가 사용한 총 쿠폰 수를 제한합니다.

기본값 10
예제: 10
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ko/api/shop-builder/v3/project/44056/admin/promocode \
  -H 'Content-Type: application/json' \
  -d '{
    "attribute_conditions": [
      {
        "attribute": "account_status",
        "can_be_missing": false,
        "operator": "eq",
        "type": "string",
        "value": "golden"
      }
    ],
    "discount": {
      "percent": "10.10"
    },
    "external_id": "coupon_external_id",
    "name": {
      "de-DE": "Neujahrsrabatt",
      "en-US": "New Year Discount"
    },
    "promotion_periods": [
      {
        "date_from": "2020-04-15T18:16:00+05:00",
        "date_until": "2020-04-25T18:16:00+05:00"
      }
    ],
    "redeem_code_limit": 1,
    "redeem_total_limit": 100,
    "redeem_user_limit": 1
  }'

응답

프로모션 코드를 성공적으로 생성했습니다.

본문application/json
external_idstring(Promotions_coupon-external_id)

고유 프로모션 ID입니다. external_id는 소문자 및 대문자 라틴 영숫자, 마침표, 대시 및 밑줄만 포함할 수 있습니다.

기본값 "coupon_external_id"
예제: "coupon_external_id"
응답
application/json
{ "external_id": "coupon_external_id" }

고유 카탈로그 혜택

이 API를 사용하여 고유 카탈로그 혜택을 관리할 수 있습니다.

작업

할인

이 API를 사용하여 할인 프로모션을 관리할 수 있습니다.

작업

보너스

이 API를 사용하여 보너스 프로모션을 관리할 수 있습니다.

작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업