ข้อมูลประวัติรายการของ campaign ทั้งหมดที่ได้ทำการ redeem ไปแล้ว โดยข้อมูลที่ได้ จะมีรายการที่ใช้ไปแล้ว ยังไม่ได้ใช้ หมดอายุ เป็นต้น และรายการที่แสดงผลจะแตกต่างกันตาม campaign type

History List
- ในการเรียกข้อมูลประวัติการแลกรางวัลสามารถเรียกได้จาก API
ผลลัพธ์ที่ได้จะส่งค่ากลับมาเป็น array ของ campaign ทั้งหมดที่ผู้ใช้งานได้แลกรางวัลไป โดยปกติใน campaign แต่ละ type จะเปิดดูข้อมูลรายละเอียดต่างกันจากที่ได้กล่าวไปแล้วส่วนของ Campaign Detail แต่ในส่วนของประวัติการแลกรางวัลจะมีสถานะต่างๆ เพิ่มขึ้นมา
เงื่อนไขของการแสดงผลของแต่ละ campaign type
- Draw:
แสดงสถานะการประกาศผลรางวัล แต่ไม่ต้องมีปุ่มดูรหัส และไม่สามารถกดเข้าดูรายละเอียดได้ - Free และ Deal:
กรณี หมดอายุ และใช้แล้ว แสดงสถานะ campaign แต่ไม่สามารถกดเข้าดูรายละเอียดได้
กรณีที่ ยังไม่หมดอายุ และยังไม่ได้ใช้รางวัลที่ merchant
เปิด popup serial
serial= รหัสแลกรางวัลexpireIn= เวลาหมดอายุของรหัสredeemDate= วันที่แลกรางวัลdefaultPrivilegeMessage= message เพื่อใช้สำหรับแสดงรายละเอียด ตาม configuration ใน BOFbarcode= default tab ในการแสดง code สามารถตั้งค่าได้ใน BOF - Interface:
แสดงสถานะรับสิทธิ์ แต่ไม่ต้องมีปุ่มดูรหัสurlจาก function ในBzbsCampaignmodel{BzbsCampaign}.getInterfaceUrl(appScheme: "\({AppScheme})")สำหรับใช้ render ในหน้า webView
Use Campaign History
ก่อนการเปิดดูรายการของแต่ละ campaign จะต้องเรียก API redeem use ก่อน เพื่อเป็นการอัพเดทข้อมูล serial, expireIn และ defaultPrivilegeMessage และข้อมูลต่างๆ ที่จำเป็น
BzbsHistoryHelper.use(redeemKey: {redeemKey}) { result in
if let error = result.error {
fail(error)
return
}
if result.isSuccess {
self.redeemPurchase = result.purchase
if let campaignInfo = result.campaignUpdateInfo {
self.campaignDetail = BzbsCampaign(dict: campaignInfo)
}
if result.actionAfterRedeem == .openWebsite {
self.redeemOpenWebsite()
} else {
self.redeemSuccessCallback?()
}
}
}
apiClient.historyApi.use({RedeemKey})
หลังจากนั้นก็จะได้ข้อมูลของ Campaign อย่างครบถ้วน