콘텐츠로 건너뛰기

개요

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

카탈로그

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

작업

ID를 사용하여 판매 가능한 아이템 가져오기Client-side

요청

ID로 판매 가능한 아이템을 가져옵니다.

참고

권한 없이 액세스할 수 있는 이 끝점은 일반 데이터를 반환합니다. 그러나 권한 부여는 사용 가능한 사용자 제한 및 프로모션과 같은 개인화된 결과에 대한 사용자별 세부 정보로 응답을 강화합니다.
보안
XsollaLoginUserJWT
경로
project_idinteger필수

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

예제: 59080
item_idstring필수

아이템 ID입니다.

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

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

예제: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

사용자가 사용할 수 없는 사용기간 제한 아이템을 표시합니다. 해당 아이템의 사용기간이 아직 시작되지 않았거나 이미 만료되었습니다.

기본값 0
예제: show_inactive_time_limited_items=1
additional_fields[]Array of strings

추가 필드의 목록입니다. 이러한 필드는 요청에서 보내는 경우 응답에 포함됩니다.

항목 열거형"media_list""order""long_description""custom_attributes""item_order_in_group"
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/59080/items/id/259774?promo_code=WINTER2021&show_inactive_time_limited_items=1&additional_fields%5B%5D=media_list' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

응답

판매할 수 있는 아이템을 성공적으로 수신했습니다.

본문application/json
attributesArray of objects(Virtual-Items-Currency_client-attributes)

아이템에 해당하는 특성 및 해당 값의 목록입니다. 카탈로그 필터링에 사용할 수 있습니다.

기본값 []
예제: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7","value":"Strategy"},{"external_id":"genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8","value":"Mobile"}]}}
can_be_boughtboolean

true일 경우 사용자는 아이템을 구매할 수 있습니다.

예제: true
custom_attributesobject(json)(item-custom-attributes-response)

아이템 특성 및 값이 포함된 JSON 개체입니다.

descriptionstring

아이템 설명입니다.

예제: "Electric shield"
groupsArray of objects(items_client_groups_response)

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

기본값 []
예제: [{"external_id":"exclusive","name":"Exclusive"}]
image_urlstring

이미지 URL입니다.

예제: "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png"
is_freeboolean(value-is_free)

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

기본값 false
예제: false
item_idinteger

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

예제: 259774
limitsobject or null(Catalog_item_limits)

아이템 제한 사항입니다.

namestring

아이템 이름입니다.

예제: "Electric shield"
priceobject

아이템 가격입니다.

promotionsArray of objects(Catalog_item_promotions)

장바구니의 특정 아이템에 적용된 프로모션. 다음의 경우 배열이 반환됩니다.

  • 특정 아이템에 대한 할인 프로모션이 구성된 경우

  • 선택한 아이템 할인 설정이 있는 프로모션 코드가 적용된 경우

적용된 아이템 수준 프로모션이 없는 경우 빈 배열이 반환됩니다.

skustring

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

예제: "electric_shield"
typestring

아이템 유형: virtual_good/virtual_currency/bundle/game_key/physical_good.

열거형"virtual_good""virtual_currency""bundle""game_key""physical_good"
예제: "virtual_good"
virtual_item_typestring

가상 아이템의 유형입니다.

열거형 값설명
consumable

사용 후 인벤토리에서 사라지는 아이템입니다(예: 탄약).

non_consumable

무제한 기간 동안 인벤토리에 보관되는 아이템입니다.

non_renewing_subscription

제한된 기간 동안 서비스 또는 콘텐츠에 대한 액세스를 표시할 수 있는 사용 기간 제한 아이템입니다.

예제: "non-consumable"
virtual_pricesArray of objects

가상 가격입니다.

vp_rewardsArray of objects(client-item-value-point-reward)

가치 포인트 아이템 보상입니다.

응답
application/json
{ "attributes": [], "can_be_bought": true, "custom_attributes": { "attr": "value", "purchased": 0 }, "description": "Electric shield", "groups": [ {} ], "image_url": "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png", "is_free": false, "item_id": 259774, "limits": { "per_user": {} }, "name": "Electric shield", "price": { "amount": "9.99", "amount_without_discount": "9.99", "currency": "USD" }, "promotions": [ {} ], "sku": "com.xsolla.electric_shield_1", "type": "virtual_good", "virtual_item_type": "non_consumable", "virtual_prices": [ {}, {}, {} ], "vp_rewards": [ {}, {} ] }

SKU로 판매할 수 있는 아이템 가져오기Client-side

요청

카탈로그를 작성하기 위해 SKU별로 판매 가능한 항목을 가져옵니다.

참고

권한 없이 액세스할 수 있는 이 끝점은 일반 데이터를 반환합니다. 그러나 권한 부여는 사용 가능한 사용자 제한 및 프로모션과 같은 개인화된 결과에 대한 사용자별 세부 정보로 응답을 강화합니다.
보안
XsollaLoginUserJWT
경로
project_idinteger필수

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

예제: 59080
skustring필수

아이템 SKU입니다.

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

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

예제: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

사용자가 사용할 수 없는 사용기간 제한 아이템을 표시합니다. 해당 아이템의 사용기간이 아직 시작되지 않았거나 이미 만료되었습니다.

기본값 0
예제: show_inactive_time_limited_items=1
additional_fields[]Array of strings

추가 필드의 목록입니다. 이러한 필드는 요청에서 보내는 경우 응답에 포함됩니다.

항목 열거형"media_list""order""long_description""custom_attributes""item_order_in_group"
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/59080/items/sku/electric_shield?promo_code=WINTER2021&show_inactive_time_limited_items=1&additional_fields%5B%5D=media_list' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

응답

판매할 수 있는 아이템을 성공적으로 수신했습니다.

본문application/json
attributesArray of objects(Virtual-Items-Currency_client-attributes)

아이템에 해당하는 특성 및 해당 값의 목록입니다. 카탈로그 필터링에 사용할 수 있습니다.

기본값 []
예제: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7","value":"Strategy"},{"external_id":"genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8","value":"Mobile"}]}}
can_be_boughtboolean

true일 경우 사용자는 아이템을 구매할 수 있습니다.

예제: true
custom_attributesobject(json)(item-custom-attributes-response)

아이템 특성 및 값이 포함된 JSON 개체입니다.

descriptionstring

아이템 설명입니다.

예제: "Electric shield"
groupsArray of objects(items_client_groups_response)

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

기본값 []
예제: [{"external_id":"exclusive","name":"Exclusive"}]
image_urlstring

이미지 URL입니다.

예제: "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png"
is_freeboolean(value-is_free)

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

기본값 false
예제: false
item_idinteger

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

예제: 259774
limitsobject or null(Catalog_item_limits)

아이템 제한 사항입니다.

namestring

아이템 이름입니다.

예제: "Electric shield"
priceobject

아이템 가격입니다.

promotionsArray of objects(Catalog_item_promotions)

장바구니의 특정 아이템에 적용된 프로모션. 다음의 경우 배열이 반환됩니다.

  • 특정 아이템에 대한 할인 프로모션이 구성된 경우

  • 선택한 아이템 할인 설정이 있는 프로모션 코드가 적용된 경우

적용된 아이템 수준 프로모션이 없는 경우 빈 배열이 반환됩니다.

skustring

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

예제: "electric_shield"
typestring

아이템 유형: virtual_good/virtual_currency/bundle/game_key/physical_good.

열거형"virtual_good""virtual_currency""bundle""game_key""physical_good"
예제: "virtual_good"
virtual_item_typestring

가상 아이템의 유형입니다.

열거형 값설명
consumable

사용 후 인벤토리에서 사라지는 아이템입니다(예: 탄약).

non_consumable

무제한 기간 동안 인벤토리에 보관되는 아이템입니다.

non_renewing_subscription

제한된 기간 동안 서비스 또는 콘텐츠에 대한 액세스를 표시할 수 있는 사용 기간 제한 아이템입니다.

예제: "non-consumable"
virtual_pricesArray of objects

가상 가격입니다.

vp_rewardsArray of objects(client-item-value-point-reward)

가치 포인트 아이템 보상입니다.

응답
application/json
{ "attributes": [], "can_be_bought": true, "custom_attributes": { "attr": "value", "purchased": 0 }, "description": "Electric shield", "groups": [ {} ], "image_url": "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png", "is_free": false, "item_id": 259774, "limits": { "per_user": {} }, "name": "Electric shield", "price": { "amount": "9.99", "amount_without_discount": "9.99", "currency": "USD" }, "promotions": [ {} ], "sku": "com.xsolla.electric_shield_1", "type": "virtual_good", "virtual_item_type": "non_consumable", "virtual_prices": [ {}, {}, {} ], "vp_rewards": [ {}, {} ] }
작업
작업