콘텐츠로 건너뛰기

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

Catalog API는 인게임 스토어 카탈로그를 관리하고 구매를 처리하기 위한 엔드포인트를 제공합니다. 엔드포인트를 사용하여 가상 아이템, 인게임 재화, 게임 키, 번들, 장바구니 및 결제 플로우, 아이템 속성을 구성하고 외부 소스에서 아이템을 가져올 수 있습니다.

OpenAPI 설명 다운로드
언어
서버
Mock server
https://xsolla.redocly.app/_mock/ko/api/catalog/
https://store.xsolla.com/api/
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업
작업

카탈로그

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

작업

지정한 그룹으로 판매할 수 있는 아이템 목록 가져오기Client-side

요청

카탈로그 작성을 위해 지정된 그룹에서 판매할 수 있는 아이템 목록을 가져옵니다.

주의

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

참고

일반적으로 아이템 카탈로그 API 호출은 권한이 없어도 사용할 수 있지만 인증 헤더에서 사용자 JWT를 전달한 경우에만 사용자 맞춤형 카탈로그를 가져올 수 있습니다.
보안
XsollaLoginUserJWT
경로
project_idinteger필수

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

예제: 59080
external_idstring필수

그룹 외부 ID입니다.

기본값 "armour"
쿼리
limitinteger>= 1

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

예제: limit=50
offsetinteger>= 0

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

예제: offset=0
localestring

응답 언어입니다. ISO 639-1에 따른 두 자리 소문자 언어 코드입니다.

기본값 "en"
additional_fields[]Array of strings

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

항목 열거형"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

ISO 3166-1 alpha-2에 따른 2자리 대문자 국가 코드입니다. 엑솔라에서 지원하는 국가국가 판별 프로세스에 대한 자세한 정보는 설명서를 확인하십시오.

예제: country=US
promo_codestring[ 1 .. 128 ] characters

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

예제: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

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

기본값 0
예제: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/ko/api/catalog/v2/project/59080/items/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

응답

지정한 그룹의 판매할 수 있는 아이템 목록을 성공적으로 수신했습니다.

본문application/json
has_moreboolean(Pagination_has-more)

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

예제: true
itemsArray of objects
예제: [{"attributes":[],"can_be_bought":true,"description":"Electric shield","groups":[{"external_id":"armour","name":"Armour"}],"image_url":"https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png","is_free":false,"item_id":259774,"limits":{"per_user":{"available":3,"limit_exceeded_visibility":"show","recurrent_schedule":{"interval_type":"weekly","reset_next_date":1746057600},"total":5}},"name":"Electric shield","price":{"amount":"9.99","amount_without_discount":"9.99","currency":"USD"},"promotions":[{"bonus":[{"image_url":"https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png","name":"Xsolla Minigun","quantity":1,"sku":"com.xsolla.minigun_1","type":"virtual_good"}],"date_end":"2026-04-15T16:16:00+03:00","date_start":"2020-04-15T16:16:00+03:00","discount":{"percent":"50.00"},"name":"Bonus promotion"}],"sku":"com.xsolla.electric_shield_1","type":"virtual_good","virtual_item_type":"non_consumable","virtual_prices":[{"amount":10,"amount_without_discount":10,"calculated_price":{"amount":"10.00","amount_without_discount":"10.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/e2e9ce8b00eb0190c161c4258b899101.png","is_default":true,"item_id":259765,"name":"Gold","sku":"com.xsolla.gold_1","type":"virtual_currency"},{"amount":20,"amount_without_discount":20,"calculated_price":{"amount":"20.00","amount_without_discount":"20.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/015e4f4ea4deb1e2c92d5c21a4d58309.png","is_default":false,"item_id":259766,"name":"Silver","sku":"com.xsolla.silver_1","type":"virtual_currency"},{"amount":200,"amount_without_discount":200,"calculated_price":{"amount":"200.00","amount_without_discount":"200.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/b0beedd5763b612bd3a5631e6cb1d1ff.png","is_default":false,"item_id":259767,"name":"Bronze","sku":"com.xsolla.bronze_1","type":"virtual_currency"}],"vp_rewards":[{"amount":130,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","item_id":175232,"name":"Value point","sku":"com.xsolla.value_point_1"},{"amount":50,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","is_clan":true,"item_id":186321,"name":"Clan Reward VP 1","sku":"clan_value_point_sku_1"}]},{"attributes":[],"can_be_bought":true,"description":"Royal shield","groups":[{"external_id":"armour","name":"Armour"}],"image_url":"https://cdn3.xsolla.com/img/misc/images/ed417975312a52efeeab8b039ff25cb1.png","is_free":false,"item_id":259775,"name":"Royal shield","price":{"amount":"19.99","amount_without_discount":"19.99","currency":"USD"},"promotions":[],"sku":"com.xsolla.royal_shield_1","type":"virtual_good","virtual_item_type":"non_consumable","virtual_prices":[{"amount":20,"amount_without_discount":20,"calculated_price":{"amount":"20.00","amount_without_discount":"20.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/e2e9ce8b00eb0190c161c4258b899101.png","is_default":true,"item_id":259765,"name":"Gold","sku":"com.xsolla.gold_2","type":"virtual_currency"},{"amount":40,"amount_without_discount":40,"calculated_price":{"amount":"40.00","amount_without_discount":"40.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/015e4f4ea4deb1e2c92d5c21a4d58309.png","is_default":false,"item_id":259766,"name":"Silver","sku":"com.xsolla.silver_2","type":"virtual_currency"},{"amount":400,"amount_without_discount":400,"calculated_price":{"amount":"400.00","amount_without_discount":"400.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/b0beedd5763b612bd3a5631e6cb1d1ff.png","is_default":false,"item_id":259767,"name":"Bronze","sku":"com.xsolla.bronze_2","type":"virtual_currency"}],"vp_rewards":[]},{"attributes":[],"can_be_bought":true,"description":"Ancient helmet","groups":[{"external_id":"armour","name":"Armour"}],"image_url":"https://cdn3.xsolla.com/img/misc/images/e70e16d9626f435e519fc8e1cc1e7176.png","is_free":false,"item_id":259776,"name":"Ancient helmet","price":{"amount":"1.99","amount_without_discount":"1.99","currency":"USD"},"promotions":[{"bonus":[{"image_url":"https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png","name":"Xsolla Minigun","quantity":1,"sku":"com.xsolla.minigun_1","type":"virtual_good"}],"date_end":"2026-04-15T16:16:00+03:00","date_start":"2020-04-15T16:16:00+03:00","discount":{"percent":"50.00"},"name":"Bonus promotion"}],"sku":"com.xsolla.ancient_helmet_1","type":"virtual_good","virtual_item_type":"non_consumable","virtual_prices":[{"amount":2,"amount_without_discount":2,"calculated_price":{"amount":"2.00","amount_without_discount":"2.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/e2e9ce8b00eb0190c161c4258b899101.png","is_default":true,"item_id":259765,"name":"Gold","sku":"com.xsolla.gold_3","type":"virtual_currency"},{"amount":4,"amount_without_discount":4,"calculated_price":{"amount":"4.00","amount_without_discount":"4.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/015e4f4ea4deb1e2c92d5c21a4d58309.png","is_default":false,"item_id":259766,"name":"Silver","sku":"com.xsolla.silver_3","type":"virtual_currency"},{"amount":40,"amount_without_discount":40,"calculated_price":{"amount":"40.00","amount_without_discount":"40.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/b0beedd5763b612bd3a5631e6cb1d1ff.png","is_default":false,"item_id":259767,"name":"Bronze","sku":"com.xsolla.bronze_3","type":"virtual_currency"}],"vp_rewards":[]},{"attributes":[],"can_be_bought":true,"description":"Wooden helmet","groups":[{"external_id":"armour","name":"Armour"}],"image_url":"https://cdn3.xsolla.com/img/misc/images/40d2812e52ad9d988ac20fc842fc66f0.png","is_free":false,"item_id":259777,"name":"Wooden helmet","price":{"amount":"0.99","amount_without_discount":"0.99","currency":"USD"},"promotions":[],"sku":"com.xsolla.wooden_helmet_1","type":"virtual_good","virtual_item_type":"non_consumable","virtual_prices":[{"amount":1,"amount_without_discount":1,"calculated_price":{"amount":"1.00","amount_without_discount":"1.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/e2e9ce8b00eb0190c161c4258b899101.png","is_default":true,"item_id":259765,"name":"Gold","sku":"com.xsolla.gold_4","type":"virtual_currency"},{"amount":2,"amount_without_discount":2,"calculated_price":{"amount":"2.00","amount_without_discount":"2.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/015e4f4ea4deb1e2c92d5c21a4d58309.png","is_default":false,"item_id":259766,"name":"Silver","sku":"com.xsolla.silver_4","type":"virtual_currency"},{"amount":20,"amount_without_discount":20,"calculated_price":{"amount":"20.00","amount_without_discount":"20.00"},"description":null,"image_url":"https://cdn3.xsolla.com/img/misc/images/b0beedd5763b612bd3a5631e6cb1d1ff.png","is_default":false,"item_id":259767,"name":"Bronze","sku":"com.xsolla.bronze_4","type":"virtual_currency"}],"vp_rewards":[]}]
응답
application/json
{ "has_more": true, "items": [ {}, {}, {}, {} ] }

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://xsolla.redocly.app/_mock/ko/api/catalog/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://xsolla.redocly.app/_mock/ko/api/catalog/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": [ {}, {} ] }
작업
작업