본문으로 건너뛰기
버전: SDK-5.11.0

UseCoupon

public BackendReturnObject UseCoupon(string couponCode);

파라미터

ValueTypeDescription
couponCodestring뒤끝 콘솔에서 발급된 쿠폰 코드

설명

콘솔에 등록한 쿠폰을 사용합니다.

  • 신규 쿠폰과 구버전 쿠폰을 모두 사용할 수 있습니다.

Example

동기

Backend.Coupon.UseCoupon("18c7c2e1d16e779b");

비동기

Backend.Coupon.UseCoupon("18c7c2e1d16e779b", (callback) =>
{
// 이후 처리
});

SendQueue

SendQueue.Enqueue(Backend.Coupon.UseCoupon, "18c7c2e1d16e779b", (callback) =>
{
// 이후 처리
});

ReturnCase

Success cases

아이템이 존재하지 않는 쿠폰을 사용한 경우
statusCode : 200
message : Success
returnValue : {"uuid":613}

아이템이 존재하는 신규 쿠폰을 사용한 경우
statusCode : 200
message : Success
returnValue : GetReturnValuetoJSON 신규 쿠폰 참조

아이템이 존재하는 구버전 쿠폰을 사용한 경우
statusCode : 200
message : Success
returnValue : GetReturnValuetoJSON 구버전 쿠폰 참조

Error cases

중복이 허용되지 않는 시리얼 쿠폰을 중복 사용한 경우
statusCode : 404
errorCode : NotFoundException
message : 이미 사용되었거나, 틀린 번호입니다. not found, 이미 사용되었거나, 틀린 번호입니다.을(를) 찾을 수 없습니다

단일 쿠폰의 회수율이 100%인 경우
statusCode : 404
errorCode : NotFoundException
message : 전부 사용된 쿠폰입니다. not found, 전부 사용된 쿠폰입니다.을(를) 찾을 수 없습니다

기간 만료된 쿠폰의 경우
statusCode : 404
errorCode : NotFoundException
message : 이미 사용되었거나, 틀린 번호입니다. not found, 이미 사용되었거나, 틀린 번호입니다.을(를) 찾을 수 없습니다

한 명의 게이머가 단일 쿠폰을 두 번 이상 사용 시도한 경우
statusCode : 404
errorCode : NotFoundException
message : 이미 사용하신 쿠폰입니다. not found, 이미 사용하신 쿠폰입니다.을(를) 찾을 수 없습니다

GetReturnValuetoJSON

// 신규 쿠폰
{
// 쿠폰 uuid
uuid: "400",
// 신규 쿠폰은 2개 이상의 아이템을 쿠폰에 등록할 수 있기 때문에,
// 리스트로 아이템이 리턴됩니다.
itemObject : [
{
item: {
// 차트 파일 이름
chartFileName: "chartExample.xlsx",
// 아이템 정보
itemID: "i101",
itemName: "아이템1",
hpPower: "1",
num: "1"
},
itemCount: "1" // 지급되는 아이템 개수
},
...
]
}

// 구버전 쿠폰
{
// 쿠폰 uuid
uuid: "628",
// 쿠폰에 등록한 아이템 정보
items:{
// 차트 파일 이름
chartFileName: "chartExample.xlsx",
// 아이템 정보
itemID: "i101",
itemName: "아이템1",
hpPower: "1",
num: "1"
},
itemCount: "1" // 지급되는 아이템 개수
}

Sample Code

// 뒤끝의 기본 제공 차트를 이용하면 만든 아이템입니다.  
// 업로드하신 차트의 컬럼명에 맞게 변수를 변경해주시기 바랍니다.
public class CouponItem
{
public string uuid;
public string chartFileName;
public string itemID;
public string itemName;
public int hpPower;
public int itemCount;
public override string ToString()
{
return $"itemID : {itemID}\n" +
$"itemName : {itemName}\n" +
$"hpPower : {hpPower}\n" +
$"itemCount : {itemCount}\n" +
$"chartFileName : {chartFileName}\n" +
$"uuid : {uuid}\n";
}
}

public void UseCouponTest()
{
string couponUUID = "2d64e2210493ca6cf5";

var bro = Backend.Coupon.UseCoupon(couponUUID);

if(!bro.IsSuccess())
{
Debug.LogError(bro.ToString());
return;
}

List<CouponItem> couponItemList = new List<CouponItem>();

LitJson.JsonData json = bro.GetReturnValuetoJSON();

for(int i = 0; i < json["itemObject"].Count; i++)
{
CouponItem couponItem = new CouponItem();

couponItem.uuid = json["uuid"].ToString();
couponItem.itemCount = int.Parse(json["itemObject"][i]["itemCount"].ToString());
couponItem.itemID = json["itemObject"][i]["item"]["itemID"].ToString();
couponItem.itemName = json["itemObject"][i]["item"]["itemName"].ToString();
couponItem.hpPower = int.Parse(json["itemObject"][i]["item"]["hpPower"].ToString());
couponItem.chartFileName = json["itemObject"][i]["item"]["chartFileName"].ToString();

couponItemList.Add(couponItem);
}

foreach(var couponItem in couponItemList)
{
Debug.Log(couponItem.ToString());
}
}