콘텐츠로 건너뛰기

개요

카탈로그 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/
작업
작업
작업
작업
작업

요청

사용자에게 권한을 부여합니다.

주의

DRM Free 플랫폼용 게임 코드 또는 게임에만 권한을 부여할 수 있습니다.
보안
basicAuth
경로
project_idinteger필수

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

예제: 44056
본문application/json필수
codestring or null

게임의 게임 코드입니다.

예제: "AAAA-BBBB-CCCC-DDDD"
drmobject필수

DRM 특성이 있는 개체입니다.

예제: {"sku":"com.xsolla.key_1"}
drm.​skustring(Game-Keys_drm_sku)필수

고유 DRM ID입니다.

열거형"steam""playstation""xbox""uplay""origin""drmfree""gog""epicgames""nintendo_eshop""discord_game_store"
예제: "steam"
gameobject필수

게임 특성이 있는 개체입니다.

예제: {"sku":"com.xsolla.game_1"}
game.​skustring(Game-Keys_game_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$필수

고유 키 패키지 ID입니다.

예제: "theGreatestGameSku"
modestring필수

부여해야 하는 권한 유형입니다. 매개 변수를 sandbox로 설정하면 샌드박스 모드의 사용자에게 권한이 부여됩니다. 매개 변수를 default로 설정하면 라이브 모드의 사용자에게 권한이 부여됩니다.

열거형"default""sandbox"
예제: "default"
user_countrystring or null

사용자의 국가입니다.

예제: "US"
user_external_idstring필수

고유 사용자 식별자입니다.

예제: "user-external-id"
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/entitlement/grant \
  -H 'Content-Type: application/json' \
  -d '{
    "code": "AAAA-BBBB-CCCC-DDDD",
    "drm": {
      "sku": "com.xsolla.key_1"
    },
    "game": {
      "sku": "com.xsolla.game_1"
    },
    "mode": "default",
    "user_country": "US",
    "user_external_id": "user-external-id"
  }'

응답

권한이 부여되었습니다.

응답
콘텐츠 없음

요청

사용자의 권한을 취소합니다.

주의

DRM Free 플랫폼용 게임 코드 또는 게임만 취소할 수 있습니다.
보안
basicAuth
경로
project_idinteger필수

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

예제: 44056
본문application/json필수
drmobject필수

DRM 특성이 있는 개체입니다.

예제: {"sku":"com.xsolla.key_1"}
drm.​skustring(Game-Keys_drm_sku)필수

고유 DRM ID입니다.

열거형"steam""playstation""xbox""uplay""origin""drmfree""gog""epicgames""nintendo_eshop""discord_game_store"
예제: "steam"
gameobject필수

게임 특성이 있는 개체입니다.

예제: {"sku":"com.xsolla.game_1"}
game.​skustring(Game-Keys_game_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$필수

고유 키 패키지 ID입니다.

예제: "theGreatestGameSku"
modestring필수

취소해야 하는 권한 유형입니다. 매개 변수를 sandbox로 설정하면 샌드박스 모드의 사용자 권한이 취소됩니다. 매개 변수를 default로 설정하면 라이브 모드의 사용자 권한이 취소됩니다.

열거형"default""sandbox"
예제: "default"
user_external_idstring필수

고유 사용자 식별자입니다.

예제: "user-external-id"
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/entitlement/revoke \
  -H 'Content-Type: application/json' \
  -d '{
    "drm": {
      "sku": "com.xsolla.key_1"
    },
    "game": {
      "sku": "com.xsolla.game_1"
    },
    "mode": "default",
    "user_external_id": "user-external-id"
  }'

응답

성공적으로 취소했습니다.

응답
콘텐츠 없음

사용자가 소유한 게임 목록 가져오기Client-side

요청

사용자가 소유한 게임 목록을 가져옵니다. 응답에 특정 사용자가 소유한 게임 배열이 포함됩니다.

주의

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

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

예제: 44056
쿼리
limitinteger>= 1

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

예제: limit=50
offsetinteger>= 0

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

예제: offset=0
sandboxinteger

반환해야 하는 자격 유형입니다. 매개 변수를 1로 설정하면 사용자가 샌드박스 모드에서 받은 권한만 반환됩니다. 매개 변수가 전달되지 않거나 0으로 설정된 경우 사용자가 라이브 모드에서 받은 권한만 반환됩니다.

기본값 0
additional_fields[]Array of strings

추가 필드 목록입니다. 이러한 필드는 요청에서 보내는 경우 응답에 포함됩니다. 사용할 수 있는 필드는 attributes입니다.

curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/entitlement?limit=50&offset=0&sandbox=0&additional_fields%5B%5D=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

응답

사용자가 소유한 게임 키 목록을 성공적으로 수신했습니다.

본문application/json
has_moreboolean(Pagination_has-more)

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

예제: true
itemsArray of objects(Game-Keys_entitlement_item)
total_items_countinteger(Pagination_total-items-count)

시스템에 있는 아이템의 총 수량입니다.

예제: 10
응답
application/json
{ "has_more": false, "items": [ {} ], "total_items_count": 1 }
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업

카탈로그

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

작업
작업
작업