콘텐츠로 건너뛰기

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

작업
작업

가상 아이템 목록 가져오기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/v2/project/44056/admin/items/virtual_items?limit=50&offset=0'

응답

가상 아이템 목록을 성공적으로 수신했습니다.

본문application/json
itemsArray of objects(Virtual-Items-Currency_admin-virtual-item)
응답
application/json
{ "items": [ {}, {}, {}, {}, {} ] }

요청

가상 아이템을 생성합니다.

보안
basicAuth
경로
project_idinteger필수

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

예제: 44056
본문application/json
attributesArray of objects(Virtual-Items-Currency_admin-post-put-attributes)<= 20 items

특성 목록입니다.

주의. 아이템에 20개 이상의 특성을 지정할 수 없습니다. 제한을 초과하려고 하면 오류가 발생합니다.
custom_attributesobject(json)(item-custom-attributes)<= 500 characters

아이템 특성과 값이 포함된 JSON 개체입니다. 특성을 사용하면 아이템을 사용할 수 있는 플레이어의 레벨과 같은 추가 정보를 아이템에 추가할 수 있습니다. 특성은 게임의 내부 논리를 강화하며 전용 GET 메소드와 웹훅을 통해 이용할 수 있습니다.

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)이 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

groupsArray of strings(Virtual-Items-Currency_admin-groups-create)

아이템이 속한 그룹입니다.

메모. 문자열 값은 그룹 `external_id`을 참조합니다.
image_urlstring(Virtual-Items-Currency_schemas-admin-image_url)

이미지 URL입니다.

예제: "https://image.example.com"
is_deletedboolean(Virtual-Items-Currency_is_deleted)
is_enabledboolean(Virtual-Items-Currency_is_enabled)
is_freeboolean(value-is_free)

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

기본값 false
예제: false
is_show_in_storeboolean(Virtual-Items-Currency_is_show_in_store)
limitsobject(Virtual-Item-item-limit)

아이템 제한 사항입니다.

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)가 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

media_listArray of objects(Virtual-Items-Currency_admin-media_list)

스크린샷, 게임 플레이 동영상 등과 같은 아이템의 추가 자산입니다.

예제: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
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)이 모두 제공되면 마지막으로 제공된 값이 저장됩니다. 지원되는 언어의 전체 목록은 문서에서 확인할 수 있습니다.

orderinteger(Virtual-Items-Currency_order)

배열 순서를 정의합니다.

예제: 1
periodsArray of objects or null(item-periods)

아이템 판매 기간입니다.

pre_orderobject(Virtual-Items-Currency_admin-pre_order)
pricesArray of objects(Virtual-Items_admin-prices)
예제: [{"amount":10.5,"currency":"USD","is_default":true,"is_enabled":true}]
regionsArray of objects(Virtual-Items-Currency_admin-regions)
skustring(Virtual-Items-Currency_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$

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

예제: "booster_mega_1"
vc_pricesArray of objects(Virtual-Items-Currency_admin-create-vc_prices)
예제: [{"amount":10,"is_default":true,"is_enabled":true,"sku":"com.xsolla.gold_1"}]
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ko/api/shop-builder/v2/project/44056/admin/items/virtual_items \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "external_id": "craft-materials",
        "name": {
          "en": "Craft materials"
        },
        "values": [
          {
            "external_id": "steel",
            "value": {
              "en-US": "5"
            }
          },
          {
            "external_id": "leather",
            "value": {
              "en-US": "1"
            }
          }
        ]
      }
    ],
    "custom_attributes": {
      "attr": "value",
      "purchased": 0
    },
    "description": {
      "de": "Ein Schwert ist eine Nahkampfwaffe mit Klinge, die zum Schneiden oder Stechen bestimmt ist, länger als ein Messer oder Dolch ist und aus einer langen Klinge besteht, die an einem Griff befestigt ist.",
      "en": "A sword is a bladed melee weapon intended for cutting or thrusting that is longer than a knife or dagger, consisting of a long blade attached to a hilt."
    },
    "groups": [
      "weapons"
    ],
    "is_enabled": true,
    "is_free": false,
    "is_show_in_store": true,
    "limits": {
      "per_item": 100,
      "per_user": 5
    },
    "name": {
      "de": "Schwert",
      "en": "Sword"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2020-08-11T10:00:00+03:00",
        "date_until": "2020-08-11T20:00:00+03:00"
      }
    ],
    "prices": [
      {
        "amount": 100,
        "currency": "USD",
        "is_default": true,
        "is_enabled": true
      },
      {
        "amount": 200,
        "country_iso": "CZ",
        "currency": "CZK",
        "is_default": true,
        "is_enabled": false
      }
    ],
    "sku": "com.xsolla.sword_1",
    "vc_prices": []
  }'

응답

가상 아이템을 성공적으로 생성했습니다.

본문application/json
skustring
예제: "com.xsolla.item_1"
응답
application/json
{ "sku": "com.xsolla.item_1" }

지정한 그룹 외부 ID로 가상 아이템 목록 가져오기Server-sideAdmin

요청

관리를 위해 그룹 내부의 가상 아이템 목록을 가져옵니다.

참고

스토어 카탈로그를 빌드하기 위해 이 엔드포인트를 사용해선 안 됩니다.
보안
basicAuth
경로
project_idinteger필수

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

예제: 44056
external_idstring필수

그룹 외부 ID입니다.

기본값 "all"
쿼리
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/v2/project/44056/admin/items/virtual_items/group/external_id/{external_id}?limit=50&offset=0'

응답

가상 아이템 목록을 성공적으로 수신했습니다.

본문application/json
itemsArray of objects(Virtual-Items-Currency_admin-virtual-item)
응답
application/json
{ "items": [ {}, {}, {}, {} ] }
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업