ZEPETO.Product
형식 | 설명 |
|---|---|
응답 클래스의 기본 클래스입니다. | |
응답 데이터로 제네릭 타입 TResponse를 받는 BaseRequest 클래스입니다. | |
ProductListResponse 클래스는 API 호출 결과와 가져온 상품 정보 목록을 제공합니다. | |
상품 관련 응답 클래스의 기본 클래스입니다. | |
ProductResponse 클래스는 API 호출 결과와 가져온 상품 정보를 제공합니다. | |
ProductResponse 클래스는 API 호출 결과와 구매 정보를 제공합니다. | |
CurrencyListResponse 클래스는 API 호출 결과와 재화 정보 목록을 제공합니다. | |
CurrencyResponse 클래스는 API 호출 결과와 재화 정보를 제공합니다. | |
상품 정보입니다. | |
재화 정보입니다. | |
아이템 상품 패키지에 포함된 개별 상품의 세부 정보입니다. | |
재화 상품 패키지에 포함된 개별 재화의 세부 정보입니다. | |
상품 유형을 나타내는 열거형입니다. | |
상품 구매 유형을 나타내는 열거형입니다. | |
상품 상태를 나타내는 열거형입니다. | |
재화 유형을 나타내는 열거형입니다. | |
ProductService는 World 내 상품과 관련된 작업을 관리합니다. 이 서비스를 통해 플레이어는 World 내 상품 정보에 접근하고 구매를 진행할 수 있습니다. | |
World 내 상품 구매 버튼의 기능을 관리하는 클래스입니다. | |
상품 관련 요청이 실패한 원인을 나타내는 오류 코드입니다. | |
ZEPETO 공식 재화(ZEM)의 잔액을 가져오기 위한 비동기 요청을 나타냅니다. |
BaseResponse
class
응답 클래스의 기본 클래스입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
isSuccess | boolean | 요청의 성공 여부를 나타냅니다. 정상적으로 완료되면 true로 설정됩니다. |
message | string | 요청 결과를 설명합니다. |
BaseRequest
class · extends BaseAPIRequest
응답 데이터로 제네릭 타입 TResponse를 받는 BaseRequest 클래스입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
responseData | TResponse | 제네릭 타입 TResponse의 응답 데이터입니다. |
ProductListResponse
class · extends ProductBaseResponse
ProductListResponse 클래스는 API 호출 결과와 가져온 상품 정보 목록을 제공합니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
products | 상품 정보 목록입니다. |
ProductBaseResponse
class · extends BaseResponse
상품 관련 응답 클래스의 기본 클래스입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
ErrorCode | 실패한 상품 요청의 오류 코드를 가져옵니다. |
ProductResponse
class · extends ProductBaseResponse
ProductResponse 클래스는 API 호출 결과와 가져온 상품 정보를 제공합니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
product | 상품 정보입니다. |
PurchaseResponse
class · extends ProductBaseResponse
ProductResponse 클래스는 API 호출 결과와 구매 정보를 제공합니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
userId | string | 구매를 진행한 플레이어의 사용자 ID입니다. |
productId | string | 구매한 World 내 상품의 ID입니다. |
price | number | 구매한 World 내 상품의 가격입니다. |
receiptId | string | 구매의 영수증 ID입니다. |
purchasedAt | Date | World 내 상품을 구매한 날짜와 시간입니다. |
CurrencyListResponse
class · extends ProductBaseResponse
CurrencyListResponse 클래스는 API 호출 결과와 재화 정보 목록을 제공합니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
currencies | 재화 정보 목록입니다. |
CurrencyResponse
class · extends ProductBaseResponse
CurrencyResponse 클래스는 API 호출 결과와 재화 정보를 제공합니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
currency | 재화 정보입니다. |
ProductRecord
class
상품 정보입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
productId | string | 상품 ID입니다. |
name | string | 상품 이름입니다. |
price | number | 상품 가격입니다. |
isPurchased | boolean | 사용자가 해당 상품을 구매했는지 여부를 나타냅니다. 비소모성 상품에만 적용됩니다. |
itemPackageUnits | ProductType이 ItemPackage인 경우 상품에 포함된 아이템입니다. | |
currencyPackageUnits | ProductType이 CurrencyPackage인 경우 상품에 포함된 재화입니다. | |
ProductType | 상품의 ProductType을(를) 반환합니다. | |
PurchaseType | 상품의 PurchaseType을(를) 반환합니다. | |
ProductStatus | 상품의 ProductStatus을(를) 반환합니다. | |
CurrencyType | 상품 구매에 사용되는 재화의 유형을 반환합니다. | |
currencyId | string | 상품 구매에 사용되는 재화의 ID를 반환합니다. |
currencyName | string | 상품 구매에 사용되는 재화의 이름을 반환합니다. |
메서드
GetCurrencySprite
GetCurrencySprite() → Sprite
상품 구매에 사용되는 재화의 이미지를 반환합니다.
반환값: Sprite
CurrencyRecord
class
재화 정보입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
currencyId | string | 재화 ID입니다. |
name | string | 재화 이름입니다. |
isOfficialCurrency | boolean | 해당 재화가 ZEPETO 공식 재화(ZEM)인지 World 내 재화인지를 나타냅니다. |
ItemPackageUnitRecord
class
아이템 상품 패키지에 포함된 개별 상품의 세부 정보입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
productId | string | 상품 ID입니다. |
itemName | string | 아이템 이름입니다. |
quantity | bigint | 아이템 수량입니다. |
CurrencyPackageUnitRecord
class
재화 상품 패키지에 포함된 개별 재화의 세부 정보입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
currencyId | string | 재화 ID입니다. |
currencyName | string | 재화 이름입니다. |
quantity | bigint | 재화 수량입니다. |
ProductType
enum
상품 유형을 나타내는 열거형입니다.
이름 | 값 | 설명 |
|---|---|---|
Item | 0 | 단일 아이템 상품입니다. |
ItemPackage | 1 | 여러 아이템을 포함하는 아이템 상품 패키지입니다. |
CurrencyPackage | 2 | 여러 재화를 포함하는 재화 상품 패키지입니다. |
PurchaseType
enum
상품 구매 유형을 나타내는 열거형입니다.
이름 | 값 | 설명 |
|---|---|---|
Consumable | 0 | 소모성 상품입니다. |
NonConsumable | 1 | 비소모성 상품입니다. |
ProductStatus
enum
상품 상태를 나타내는 열거형입니다.
이름 | 값 | 설명 |
|---|---|---|
Active | 0 | 활성 상태입니다. |
InActive | 1 | 비활성 상태입니다. |
Forbidden | 2 | 이용 기간 만료로 인해 금지된 상태입니다. |
CurrencyType
enum
재화 유형을 나타내는 열거형입니다.
이름 | 값 | 설명 |
|---|---|---|
OfficialCurrency | 0 | ZEPETO 공식 재화(ZEM) |
UserCurrency | 1 | World 내 재화입니다. |
ProductService
class
ProductService는 World 내 상품과 관련된 작업을 관리합니다. 이 서비스를 통해 플레이어는 World 내 상품 정보에 접근하고 구매를 진행할 수 있습니다.
이벤트
이름 | 형식 | 설명 |
|---|---|---|
OnPurchaseCompleted (static) | UnityEvent<ProductRecord, PurchaseResponse> | World 내 상품 구매에 성공했을 때 발생하는 이벤트입니다. 리스너를 추가할 수 있으며, ProductRecord(구매한 상품 정보)와 PurchaseResponse(구매 결과 정보) 인스턴스가 인자로 전달됩니다. |
OnPurchaseFailed (static) | UnityEvent<ProductRecord, ProductBaseResponse> | World 내 상품 구매에 실패했을 때 발생하는 이벤트입니다. 리스너를 추가할 수 있으며, ProductRecord(구매를 시도한 상품 정보)와 PurchaseResponse(실패한 구매 결과 정보) 인스턴스가 인자로 전달됩니다. |
메서드
GetProductsAsync
static GetProductsAsync(productIds: string[]) → BaseRequest<ProductListResponse>
전달된 상품 ID를 기준으로 World 내 상품 목록을 가져오는 비동기 메서드입니다.
매개변수 | 형식 | 설명 |
|---|---|---|
productIds | string[] | 가져올 상품들의 ID입니다. |
반환값: BaseRequest<ProductListResponse> — BaseRequest 객체입니다. 비동기 처리가 완료되면 responseData 속성을 통해 ProductListResponse 객체에 접근할 수 있습니다.
GetProductAsync
static GetProductAsync(productId: string) → BaseRequest<ProductResponse>
전달된 상품 ID를 기준으로 World 내 상품 정보를 가져오는 비동기 메서드입니다.
매개변수 | 형식 | 설명 |
|---|---|---|
productId | string | 가져올 상품의 ID입니다. |
반환값: BaseRequest<ProductResponse> — BaseRequest 객체입니다. 비동기 처리가 완료되면 responseData 속성을 통해 ProductResponse 객체에 접근할 수 있습니다.
PurchaseProductAsync
static PurchaseProductAsync(product: ProductRecord, reason?: string) → BaseRequest<PurchaseResponse>
전달된 상품 정보를 기준으로 World 내 상품을 구매하는 비동기 메서드입니다.
매개변수 | 형식 | 설명 |
|---|---|---|
product | 구매할 상품의 ProductRecord 인스턴스입니다. | |
reason (선택 사항) | string | 구매에 대한 설명입니다. |
반환값: BaseRequest<PurchaseResponse> — BaseRequest 객체입니다. 비동기 처리가 완료되면 responseData 속성을 통해 PurchaseResponse 객체에 접근할 수 있습니다.
PurchaseProductAsync
static PurchaseProductAsync(productId: string, reason?: string) → BaseRequest<PurchaseResponse>
전달된 상품 ID를 기준으로 World 내 상품을 구매하는 비동기 메서드입니다.
매개변수 | 형식 | 설명 |
|---|---|---|
productId | string | 구매할 상품의 ID입니다. |
reason (선택 사항) | string | 구매에 대한 설명입니다. |
반환값: BaseRequest<PurchaseResponse> — BaseRequest 객체입니다. 비동기 처리가 완료되면 responseData 속성을 통해 PurchaseResponse 객체에 접근할 수 있습니다.
GetCurrenciesAsync
static GetCurrenciesAsync() → BaseRequest<CurrencyListResponse>
재화 목록을 가져오는 비동기 메서드입니다. 처리가 완료되면 재화 목록을 얻을 수 있으며, responseData 속성을 통해 CurrencyListResponse 객체에 접근할 수 있습니다.
GetCurrencyAsync
static GetCurrencyAsync(currencyId: string) → BaseRequest<CurrencyResponse>
전달된 상품 ID를 기준으로 World 내 재화 정보를 가져오는 비동기 메서드입니다.
매개변수 | 형식 | 설명 |
|---|---|---|
currencyId | string | 가져올 재화의 ID입니다. |
반환값: BaseRequest<CurrencyResponse> — BaseRequest 객체입니다. 비동기 처리가 완료되면 responseData 속성을 통해 CurrencyResponse 객체에 접근할 수 있습니다.
OpenPurchaseUI
static OpenPurchaseUI(product: ProductRecord) → void
이 메서드는 World 내 상품 구매 UI를 엽니다.
매개변수 | 형식 | 설명 |
|---|---|---|
product | 구매할 상품의 ProductRecord 인스턴스입니다. |
ProductPurchaseButton
class
World 내 상품 구매 버튼의 기능을 관리하는 클래스입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
productId | string | 구매 가능한 World 내 상품의 ID를 가져옵니다. |
product | productId에 연결된 World 내 상품 정보를 가져옵니다. |
메서드
SetProductId
SetProductId(productId: string) → void
이 버튼으로 구매할 수 있는 World 내 상품의 ID를 설정합니다.
매개변수 | 형식 | 설명 |
|---|---|---|
productId | string | 상품 ID입니다. |
ProductError
enum
상품 관련 요청이 실패한 원인을 나타내는 오류 코드입니다.
이름 | 값 | 설명 |
|---|---|---|
Unknown | -1 | 오류: 알 수 없는 오류입니다. |
NetworkError | 0 | 오류: 연결 끊김이나 불안정한 연결 등 네트워크 문제와 관련된 오류입니다. |
UserCanceled | 1 | 오류: 사용자가 요청을 취소했습니다. |
ProductRefreshResponseError | 2 | 오류: 요청의 상품 메타데이터가 유효하지 않습니다. |
ItemPackageProductsResponseError | 3 | 오류: 아이템 상품 패키지 내 하나 이상의 아이템 정보를 가져오지 못했습니다. |
IAPCardError | 4 | 오류: 재화 상품 패키지 내 하나 이상의 재화 정보를 가져오지 못했습니다. |
ProductPriceChanged | 4001 | 오류: 상품 가격이 일치하지 않습니다. |
ProductAlreadyPurchased | 4002 | 오류: 이미 구매한 상품입니다. |
BalanceOfficialCurrencyNotEnough | 4003 | 오류: 구매에 필요한 ZEPETO 공식 재화(ZEM) 잔액이 부족합니다. |
BalanceUserCurrencyNotEnough | 4004 | 오류: 구매에 필요한 World 내 재화 잔액이 부족합니다. |
ProductNotActive | 4005 | 오류: 상품이 활성 상태가 아닙니다. |
InvalidCreator | 4006 | 오류: 플레이어의 사용자 ID가 World 크리에이터의 사용자 ID와 다릅니다. 이 오류는 Unity 에디터를 사용하는 개발 환경에서만 발생합니다. |
OfficialCurrencyBalanceRequest
class · extends BaseRequest<BalanceResponse>
ZEPETO 공식 재화(ZEM)의 잔액을 가져오기 위한 비동기 요청을 나타냅니다.