콘텐츠로 건너뛰기

개요

카탈로그 API를 통해 엑솔라 측 인게임 아이템에 대한 카탈로그를 구성하고 스토어 사용자에게 카탈로그를 표시합니다.

API를 통해 다음 카탈로그 엔터티를 관리할 수 있습니다:

  • 가상 아이템 - 무기, 스킨, 부스터와 같은 인게임 아이템.
  • 인게임 재화 - 가상 아이템을 구매하는 데 사용되는 가상 화폐.
  • 인게임 재화 패키지 - 사전 정의된 인게임 재화 번들.
  • 번들 - 가상 아이템, 통화 또는 단일 SKU로 판매되는 게임 키의 결합 패키지.
  • 게임 키 - Steam이나 기타 DRM 제공업체와 같은 플랫폼을 통해 배포되는 게임 및 DLC의 키.
  • 그룹 - 카탈로그 내 아이템을 정리하고 분류하기 위한 로직 그룹.

API 호출

API는 다음 그룹으로 구분됩니다:

  • Admin - 카탈로그 아이템 및 그룹 생성, 업데이트, 삭제 및 구성을 위한 호출. 상품 또는 프로젝트 자격 증명으로 기본 액세스 인증을 통해 인증됩니다. 스토어프런트 용도로 사용되지 않습니다.
  • Catalog - 아이템 검색 및 최종 사용자를 위한 맞춤형 스토어프론트 구축을 위한 호출. 높은 부하 시나리오를 처리하도록 설계되었습니다. 사용자별 한도나 진행 중인 프로모션과 같은 개인화된 데이터를 반환하기 위해 선택적 사용자 JWT 인증을 지원합니다.
OpenAPI 설명 다운로드
언어
서버
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/ko/api/catalog/
작업
작업
작업
작업
작업
작업

요청

게임 키 SKU로 코드를 업로드합니다.

보안
basicAuth
경로
project_idinteger필수

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

예제: 44056
item_skustring필수

아이템 SKU입니다.

예제: booster_mega_1
본문multipart/form-data필수
filestring(binary)필수

코드가 있는 파일입니다.

예제: "keys.txt"
region_idinteger

지역 ID입니다.

예제: 1
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/items/game/key/upload/sku/booster_mega_1 \
  -H 'Content-Type: multipart/form-data' \
  -F file=keys.txt \
  -F region_id=1

응답

세션 정보를 로드하는 코드를 성공적으로 수신했습니다.

본문application/json
count_skippedinteger
예제: 10
count_totalinteger
예제: 100
count_uploadedinteger
예제: 0
session_idstring
예제: "fc7105b6e8ee01339582970b37697242"
statusstring
예제: "processing"
응답
application/json
{ "count_skipped": 10, "count_total": 100, "count_uploaded": 0, "session_id": "fc7105b6e8ee01339582970b37697242", "status": "processing" }

요청

SKU로 프로젝트에 있는 게임을 삭제합니다.

보안
basicAuth
경로
project_idinteger필수

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

예제: 44056
item_skustring필수

아이템 SKU입니다.

예제: booster_mega_1
curl -i -X DELETE \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/items/game/sku/booster_mega_1

응답

게임을 성공적으로 삭제했습니다.

응답
콘텐츠 없음

요청

관리를 위해 게임을 가져옵니다. 게임은 사용자가 구매할 수 있는 게임 키로 구성되어 있습니다.

참고

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

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

예제: 44056
item_skustring필수

아이템 SKU입니다.

예제: booster_mega_1
쿼리
promo_codestring[ 1 .. 128 ] characters

고유한 대/소문자 구분 코드입니다. 문자와 숫자를 포함합니다.

예제: promo_code=WINTER2021
curl -i -X GET \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/project/44056/admin/items/game/sku/booster_mega_1?promo_code=WINTER2021'

응답

게임을 성공적으로 수신했습니다.

본문application/json
attributesArray of objects(Game-Keys_admin-attributes)

특성 목록입니다.

예제: [{"external_id":"attribute_external_id","name":{"de":"Attributname","en":"Attribute name"},"values":[{"external_id":"value_1","name":{"de":"wert 1","en":"value 1"}},{"external_id":"value_2","name":{"de":"wert 2","en":"value 2"}}]}]
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 objects

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

예제: [{"external_id":"horror","name":{"en":"Horror"}}]
image_urlstring

이미지 URL입니다.

예제: "https://image.example.com"
is_enabledboolean
is_freeboolean(value-is_free)

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

기본값 false
예제: false
is_show_in_storeboolean
item_idinteger

아이템 생성 시 제공되는 내부의 고유 아이템 ID입니다.

예제: 1
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

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

예제: [{"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

목록에서 게임의 주문 우선 순위입니다.

예제: 1
skustring

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

예제: "game_1"
typestring

아이템 유형입니다. 이 경우 항상 unit입니다.

예제: "unit"
unit_itemsArray of objects

다른 DRM용 게임 키입니다.

응답
application/json
{ "attributes": [ {} ], "description": { "en": "Example game 1" }, "groups": [ {} ], "image_url": "https://image.example.com", "is_enabled": true, "is_free": false, "is_show_in_store": false, "item_id": 1, "long_description": { "en": "Example game's long description" }, "media_list": [ {} ], "name": { "en": "Game 1" }, "order": 1, "sku": "com.xsolla.game_1", "type": "unit", "unit_items": [ {}, {} ] }
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업

카탈로그

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

작업
작업
작업