ข้อมูลประวัติรายการของแคมเปญ ทั้งหมดที่ได้ทำการแลกรางวัล (redeem) ไปแล้ว โดยข้อมูลที่ได้ จะมีรายการที่ใช้ไปแล้ว ยังไม่ได้ใช้ หมดอายุ เป็นต้น และรายการที่แสดงผลจะแตกต่างกันตาม campaign type ที่ได้กล่าวไปในหัวข้อรายละเอียดของแคมเปญ
รายการประวัติการแลกรางวัล
- ในการเรียกข้อมูลประวัติการแลกรางวัลสามารถเรียกได้จาก API Get History List
curl --location --request GET 'https://buzzebees-dev.azure-api.net/api/redeem/?skip=&byConfig=&config=&device_app_id=&app_id=&'
--header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8'
--header 'Ocp-Apim-Subscription-Key: {Subscription-Key}'
--header 'Ocp-Apim-Trace: 1 '
--header 'App-Id: {App-Id}'
--header 'Authorization: token {token}'
BzbsHistoryHelper.list(intSkip: {intSkip}) { (result) in
if let error = result.error {
fail(error)
return
}
if result.isSuccess {
success(result.redemptionList)
}
}
apiClient.historyApi.redeemHistoryList({ByConfig}, {Config}, {Skip}, {Top})
ผลลัพธ์ที่ได้จะส่งค่ากลับมาเป็น array ของแคมเปญ ทั้งหมดที่ผู้ใช้งานได้แลกรางวัลไป แต่ในส่วนของประวัติการแลกรางวัลจะมีสถานะต่างๆ เพิ่มขึ้นมา
เงื่อนไขของการแสดงผลของแต่ละ campaign type
- Draw:
แสดงสถานะการประกาศผลรางวัล แต่ไม่ต้องมีปุ่มดูรหัส และไม่สามารถกดเข้าดูรายละเอียดได้ - Free และ Deal:
กรณี หมดอายุ และใช้แล้ว แสดงสถานะ campaign แต่ไม่สามารถกดเข้าดูรายละเอียดได้กรณีที่ ยังไม่หมดอายุ และยังไม่ได้ใช้รางวัลที่ merchant
เปิด popup serial
serial
= รหัสแลกรางวัลexpireIn
= เวลาหมดอายุของรหัสredeemDate
= วันที่แลกรางวัลdefaultPrivilegeMessage
= message เพื่อใช้สำหรับแสดงรายละเอียด ตาม configuration ใน BOFbarcode
= default tab ในการแสดง code สามารถตั้งค่าได้ใน BOF - Interface:
แสดงสถานะรับสิทธิ์ แต่ไม่ต้องมีปุ่มดูรหัสurl
สำหรับใช้ render ในหน้า webView
รายละเอียดที่กล่าวไปข้างต้นสามารถดูได้จาก API Get History List
ใช้รางวัลในประวัติแคมเปญ
ก่อนการเปิดดูรายการของแต่ละแคมเปญ จะต้องเรียก API redeem use ก่อน เพื่อเป็นการอัพเดทข้อมูล serial
, expireIn
และ defaultPrivilegeMessage
และข้อมูลต่างๆ ที่จำเป็นต้องใช้ในการแสดงผล
curl --location --request POST 'https://buzzebees-dev.azure-api.net/api/redeem/{redeemkey}/use'
--header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8'
--header 'Ocp-Apim-Subscription-Key: {Subscription-Key}'
--header 'Ocp-Apim-Trace: 1 '
--header 'App-Id: {App-Id}'
--header 'Authorization: token {token}'
--form 'app_id="123456"'
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})
หลังจากนั้นก็จะได้ข้อมูลของแคมเปญอย่างครบถ้วนตามแต่ละประเภทของแคมเปญ