UseCoupon
public BackendReturnObject UseCoupon(string couponCode);
파라미터
Value | Type | Description |
---|---|---|
couponCode | string | 뒤끝 콘솔에서 발급된 쿠폰 코드 |
설명
콘솔에 등록한 쿠폰을 사용합니다.
- 신규 쿠폰과 구버전 쿠폰을 모두 사용할 수 있습니다.
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());
}
}