콘텐츠로 건너뛰기

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를 사용하여 프로모션 코드를 관리할 수 있습니다.

작업

고유 카탈로그 혜택

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

작업

할인

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

작업

보너스

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

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

요청

보상 체인 목록을 가져옵니다.

주의

모든 프로젝트에는 응답에서 얻을 수 있는 아이템 수에 제한이 있습니다. 기본값과 최대값은 응답당 10개 아이템입니다. 페이지별로 더 많은 데이터 페이지를 가져오려면 한계오프셋 필드를 사용합니다.
보안
basicAuth
경로
project_idinteger필수

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

예제: 44056
쿼리
limitinteger>= 1

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

예제: limit=50
offsetinteger>= 0

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

예제: offset=0
enabledinteger

is_enabled 플래그로 요소를 필터링합니다.

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

응답

보상 체인 목록을 성공적으로 수신했습니다.

본문application/json
has_moreboolean(Pagination_has-more)

페이지가 더 있다는 표시로 사용됩니다.

예제: true
itemsArray of admin-get-reward-chain-item-basic-model (object) or admin-get-reward-chain-item-clan-basic-model (object)
응답
application/json
{ "has_more": true, "items": [ {}, {} ] }

요청

보상 체인을 생성합니다.

보안
basicAuth
경로
project_idinteger필수

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

예제: 44056
본문application/json
One of:

보상 체인입니다.

attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(chain_user-attribute_conditions_model-post)[ 1 .. 100 ] items

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

description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

아이템 설명에 대한 현지화가 있는 개체입니다. 두 글자 소문자 언어 코드(예: en) 또는 다섯 글자 로케일 코드(예: en-US) 두 가지 형식 중 하나로 되어 있는 값을 허용합니다. 두 형식 모두 입력으로 허용되지만 응답은 두 글자 소문자 언어 코드를 반환합니다. 동일한 언어에 대한 두 옵션(예: enen-US)이 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

One of:

아이템 설명에 대한 현지화가 있는 개체입니다. 두 글자 소문자 언어 코드(예: en) 또는 다섯 글자 로케일 코드(예: en-US) 두 가지 형식 중 하나로 되어 있는 값을 허용합니다. 두 형식 모두 입력으로 허용되지만 응답은 두 글자 소문자 언어 코드를 반환합니다. 동일한 언어에 대한 두 옵션(예: enen-US)이 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

image_urlstring or null(image_url)

이미지 URL입니다.

예제: "https://image.example.com"
is_always_visibleboolean(chain_is_always_visible)

체인을 모든 사용자에게 표시할지 여부:

  • true인 경우, 사용자의 인증 상태나 특성에 관계없이 체인이 항상 표시됩니다.
  • false인 경우, 개인화된 체인을 찾을 수 없는 경우에만 체인이 표시됩니다. 예를 들어, 사용자가 인증되지 않았거나 특성이 개인화된 체인과 일치하지 않는 경우에 그러합니다.

개인화된 체인의 컨텍스트에서만 적용되며 attribute_conditions 배열이 전달되지 않은 경우에 사용됩니다.

기본값 true
예제: true
is_enabledboolean(is_enabled)필수
예제: true
is_reset_after_endboolean(is_reset_after_end)

종료 날짜 이후 리워드 체인 재설정 여부(모든 사용자의 밸류 포인트 및 진행 사항)

  • true인 경우, 리워드 체인은 종료 날짜 이후 재설정됩니다.
  • false인 경우, 리워드 체인은 종료 날짜 이후 재설정되지 않습니다.

주의

다음의 경우 true일 수 없음:
  • recurrent_schedule으로 재설정 기간이 설정된 경우.
  • periods.date_untilnull 값이 전달된 경우.
기본값 false
예제: false
long_description(two-letter (object or null)) or (five-letter (object or null))(long-description-localization-object)

아이템의 긴 설명에 대한 현지화가 있는 개체입니다. 두 글자 소문자 언어 코드(예: en) 또는 5자 로케일 코드(예 en-US: ) 두 가지 형식 중 하나로 값을 허용합니다. 두 형식 모두 입력으로 허용되지만 응답은 두 글자 소문자 언어 코드를 반환합니다. 동일한 언어에 대한 두 변수(예: enen-US)가 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

Any of:

아이템의 긴 설명에 대한 현지화가 있는 개체입니다. 두 글자 소문자 언어 코드(예: en) 또는 5자 로케일 코드(예 en-US: ) 두 가지 형식 중 하나로 값을 허용합니다. 두 형식 모두 입력으로 허용되지만 응답은 두 글자 소문자 언어 코드를 반환합니다. 동일한 언어에 대한 두 변수(예: enen-US)가 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)필수

아이템 이름에 대한 현지화가 있는 개체입니다. 두 글자 소문자 언어 코드(예: en) 또는 다섯 글자 언어 코드(예: en-US) 두 가지 형식 중 하나로 되어 있는 값을 허용합니다. 두 형식 모두 입력으로 허용되지만 응답은 두 글자 소문자 언어 코드를 반환합니다. 동일한 언어에 대한 두 옵션(예: enen-US)이 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

One of:

아이템 이름에 대한 현지화가 있는 개체입니다. 두 글자 소문자 언어 코드(예: en) 또는 다섯 글자 언어 코드(예: en-US) 두 가지 형식 중 하나로 되어 있는 값을 허용합니다. 두 형식 모두 입력으로 허용되지만 응답은 두 글자 소문자 언어 코드를 반환합니다. 동일한 언어에 대한 두 옵션(예: enen-US)이 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

name.​arstring or null

아랍어

name.​bgstring or null

불가리아어

name.​cnstring or null

중국어(간체)

name.​csstring or null

체코어

name.​destring or null

독일어

name.​enstring or null

영어

name.​esstring or null

스페인어(스페인)

name.​frstring or null

프랑스어

name.​hestring or null

히브리어

name.​idstring or null

인도네시아어

name.​itstring or null

이탈리아어

name.​jastring or null

일본어

name.​kmstring or null

크메르어

name.​kostring or null

한국어

name.​lostring or null

라오스어

name.​mystring or null

버마어

name.​nestring or null

네팔어

name.​phstring or null

필리핀어

name.​plstring or null

폴란드어

name.​ptstring or null

포르투칼어

name.​rostring or null

로마니아어

name.​rustring or null

러시아어

name.​thstring or null

태국어

name.​trstring or null

터키어

name.​twstring or null

중국어(번체)

name.​vistring or null

베트남어

orderinteger(order)

배열 순서를 정의합니다.

예제: 1
periodsArray of objects(periods)필수

리워드 체인의 유효 기간. 기간이 여러 개 지정된 경우 date_fromdate_until가 모두 필요합니다.

periods[].​date_fromstring(date-time)필수

지정된 리워드 체인의 시작 날짜.

예제: "2020-08-11T10:00:00+03:00"
periods[].​date_untilstring or null(date-time)

지정된 리워드 체인의 종료 날짜. 단일 유효 기간이 지정된 경우에만 null일 수 있습니다.

예제: "2020-08-11T20:00:00+03:00"
recurrent_schedule(interval_type = 주간 (object or null)) or (interval_type = 월간 (object or null)) or (interval_type = 시간 (object or null))(recurrent_schedule_create_update)

보상 체인의 반복 재설정 기간입니다.

One of:

보상 체인의 반복 재설정 기간입니다.

stepsArray of objects(create_reward_step)필수
steps[].​image_urlstring or null(image_url)

이미지 URL입니다.

예제: "https://image.example.com"
steps[].​name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)필수

아이템 이름에 대한 현지화가 있는 개체입니다. 두 글자 소문자 언어 코드(예: en) 또는 다섯 글자 언어 코드(예: en-US) 두 가지 형식 중 하나로 되어 있는 값을 허용합니다. 두 형식 모두 입력으로 허용되지만 응답은 두 글자 소문자 언어 코드를 반환합니다. 동일한 언어에 대한 두 옵션(예: enen-US)이 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

One of:

아이템 이름에 대한 현지화가 있는 개체입니다. 두 글자 소문자 언어 코드(예: en) 또는 다섯 글자 언어 코드(예: en-US) 두 가지 형식 중 하나로 되어 있는 값을 허용합니다. 두 형식 모두 입력으로 허용되지만 응답은 두 글자 소문자 언어 코드를 반환합니다. 동일한 언어에 대한 두 옵션(예: enen-US)이 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

steps[].​name.​arstring or null

아랍어

steps[].​name.​bgstring or null

불가리아어

steps[].​name.​cnstring or null

중국어(간체)

steps[].​name.​csstring or null

체코어

steps[].​name.​destring or null

독일어

steps[].​name.​enstring or null

영어

steps[].​name.​esstring or null

스페인어(스페인)

steps[].​name.​frstring or null

프랑스어

steps[].​name.​hestring or null

히브리어

steps[].​name.​idstring or null

인도네시아어

steps[].​name.​itstring or null

이탈리아어

steps[].​name.​jastring or null

일본어

steps[].​name.​kmstring or null

크메르어

steps[].​name.​kostring or null

한국어

steps[].​name.​lostring or null

라오스어

steps[].​name.​mystring or null

버마어

steps[].​name.​nestring or null

네팔어

steps[].​name.​phstring or null

필리핀어

steps[].​name.​plstring or null

폴란드어

steps[].​name.​ptstring or null

포르투칼어

steps[].​name.​rostring or null

로마니아어

steps[].​name.​rustring or null

러시아어

steps[].​name.​thstring or null

태국어

steps[].​name.​trstring or null

터키어

steps[].​name.​twstring or null

중국어(번체)

steps[].​name.​vistring or null

베트남어

steps[].​priceobject(reward_step_price)필수
steps[].​price.​amountinteger(step_price_amount)필수

가치 포인트의 단계 가격입니다.

예제: 100
steps[].​rewardArray of objects필수
steps[].​reward[].​attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(reward-chain-step-reward_user-attribute_conditions_model-post)[ 1 .. 100 ] items

사용자 특성 검증 조건. 사용자 특성이 지정된 모든 조건과 일치하는지 여부에 따라 리워드 체인 단계의 리워드 가용성을 결정합니다.

steps[].​reward[].​quantityinteger(reward_item_quantity)필수

아이템 수량입니다.

예제: 2
steps[].​reward[].​skustring(sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$필수

고유 아이템 ID입니다. SKU는 소문자 및 대문자 라틴 영숫자, 마침표, 대시 및 밑줄만 포함할 수 있습니다.

예제: "booster_mega_1"
value_pointobject필수
value_point.​skustring(sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$필수

고유 아이템 ID입니다. SKU는 소문자 및 대문자 라틴 영숫자, 마침표, 대시 및 밑줄만 포함할 수 있습니다.

예제: "booster_mega_1"
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ko/api/shop-builder/v3/project/44056/admin/reward_chain \
  -H 'Content-Type: application/json' \
  -d '{
    "clan_type": "guild",
    "description": {
      "en": "Clan reward chain description."
    },
    "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
    "is_enabled": true,
    "long_description": {
      "en": "Clan reward chain long description."
    },
    "name": {
      "en": "Clan reward chain"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2026-01-01T01:00:00+05:00",
        "date_until": "2026-01-31T23:59:59+05:00"
      },
      {
        "date_from": "2026-02-01T01:00:00+05:00",
        "date_until": "2026-02-28T23:59:59+05:00"
      }
    ],
    "popup_header": {
      "en": "How to unlock rewards"
    },
    "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
    "popup_instruction": {
      "en": "You must be a clan member to get clan rewards. You join a clan when a clan member invites you to the clan, and you accept the invite. You can also create your own clan."
    },
    "recurrent_schedule": {
      "day_of_week": 1,
      "interval_type": "weekly",
      "time": "01:00:00+08:00"
    },
    "steps": [
      {
        "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
        "name": {
          "en": "First step of the reward chain"
        },
        "price": {
          "amount": 10
        },
        "reward": [
          {
            "quantity": 5,
            "sku": "com.xsolla.item_1"
          },
          {
            "quantity": 1,
            "sku": "com.xsolla.item_2"
          }
        ]
      },
      {
        "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
        "name": {
          "en": "Second step of the reward chain"
        },
        "price": {
          "amount": 15
        },
        "reward": [
          {
            "quantity": 5,
            "sku": "com.xsolla.item_3"
          },
          {
            "quantity": 1,
            "sku": "com.xsolla.item_4"
          }
        ]
      }
    ],
    "value_point": {
      "sku": "com.xsolla.clan_value_point_1"
    }
  }'

응답

보상 체인을 성공적으로 생성했습니다.

본문application/json
reward_chain_idinteger
예제: 10
응답
application/json
{ "reward_chain_id": 10 }

요청

특정 보상 체인을 삭제합니다.

보안
basicAuth
경로
project_idinteger필수

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

예제: 44056
reward_chain_idinteger필수

보상 체인 ID입니다.

예제: 101
curl -i -X DELETE \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ko/api/shop-builder/v3/project/44056/admin/reward_chain/id/101

응답

보상 체인을 성공적으로 삭제했습니다.

본문
응답
콘텐츠 없음
작업
작업
작업
작업
작업
작업
작업
작업
작업