• หน้าแรก
  • พัฒนา
  • ไทย
    • ไทย
    • English
  • หน้าแรก
  • พัฒนา
  • ไทย
    • ไทย
    • English
  • Getting Started
    • iOS
    • Android
    • Flutter
  • Best Practices
    • การใช้งานเข้าสู่ระบบสมาชิก
    • Request Help
    • ประวัติการแลกสิทธิพิเศษ
    • Campaign
      • Campaign Detail
  • REST Buzzebees API reference

Campaign Detail

ข้อมูลรายละเอียดต่างๆ ของ campaign ได้แก่ คะแนนที่ต้องใช้ในการแลกรางวัล วันหมดอายุคูปอง ชื่อ campaign รายละเอียดหรือ เงื่อนไขในการแลกรางวัล ประเภทของ campaign และอื่นๆ เป็นต้น โดยข้อมูลรายละเอียดดังกล่าวสามารถสร้างได้ใน BOF

Campaign Type

Campaign type แบ่งออกได้หลายประเภท เช่น free, draw, deal, buy, interface และอื่นๆ โดยมีวิธีการแสดงผลต่างๆ ดังตารางด้านล่าง

TypeIDรายละเอียดรูปแบบการ redeemหมายเหตุ
0DrawPopup redeem success-
1FreePopup Serialไม่มีเวลาหมดอายุ
2DealPopup Serial-
3BuyAdd to cartไม่ต้องเรียกใช้ API Redeem (เพิ่มเติม)
8Interfaceเปิดหน้า webView-

API Campaign detail

ข้อมูลรายละเอียดต่างๆของ campaign จะได้ตาม configuration ที่ตั้งต่าไว้ใน BOF

    Swift
    BzbsCampaignApis.detail(campaignId: {campaignId}) { (result) in
      if let error = result.error {
          fail(error)
          return
      }
      if result.isSuccess {
          success(result.campaign)
      }
    }
    Kotlin
    apiClient.campaignApi.campaignDetails(id = {CampaignID})

    ผลลัพธ์ที่ได้จะส่งค่ากลับมาเป็น CampaignDetailAPIResult ถ้า result success จะได้ข้อมูลที่เป็น BzbsCampaign model โดยข้อมูลที่จำเป็นต้องใช้ได้แก่ campaignType จะส่งมาเป็น enum => BzbsCampaignType และ ID เพื่อใช้ในการ redeem campaign ในขั้นตอนถัดไป

    Redeem campaign

    เงื่อนไขการ Redeem campaign
    • ก่อนการ redeem จะต้องทำการเช็คว่าผู้ใช้สามารถแลกสิทธิ์ campaign นั้นๆ ได้หรือไม่ ในกรณีที่ isConditionPass == false ให้เช็ค conditionAlertID เพื่อที่จะนำข้อมูลมาใช้ lock ปุ่ม redeem หรือ handle message บนปุ่ม ซึ่งแต่ละ ID จะมีความหมายดังตารางด้านล่าง
    conditionAlertIDรายละเอียด
    1มีผู้ใช้สิทธิ์เต็มจำนวนแล้ว
    2คุณได้แลกรับสิทธิ์นี้แล้ว
    3คุณได้แลกรับสิทธิ์นี้แล้ว
    1409สินค้านี้หมดอายุแล้ว
    1403เงื่อนไขไม่ตรงกับที่ระบุ

    สถานะดังกล่าว ถ้าไม่ได้มีการเช็คก่อน API จะทำการส่งค่า APIError กลับมาให้

    เมื่อได้รายละเอียดข้อมูล campaign และเช็คเงื่อนไขต่างๆ เรียบร้อยแล้ว เราอาจจะสร้างป๊อปอัพยืนการแลกรางวัล เพื่อทำการ verify user อีกครั้ง ก่อนการเรียก API Redeem campaign

    API Redeem campaign

    วิธีการแลกรางวัล campaign สามารถเรียก API redeem ได้จาก function ใน BzbsCampaign model

      Swift
      {BzbsCampaign}.redeem { (result) in
          if let error = result.error {
              showError(error: error)
              return
          }
          {BzbsPurchase} = result.purchase
          if let campaignInfo = result.campaignUpdateInfo {
              //TODO Update BzbsCampaign model
              {BzbsCampaign} = BzbsCampaign(dict: campaignInfo)
          }
          if result.actionAfterRedeem == .openWebsite {
              //TODO Open webView (in app)
          } else {
              //TODO Show Popup Serial
          }
      }
      Kotlin
      apiClient.campaignApi.redeem({CampaignID}) 

      เมื่อเรียก API Redeem campaign เสร็จแล้วจะได้ข้อมูลกลับมาเป็น BzbsHistoryAPIResult ให้ทำการอัพเดทข้อมูลของ campaign โดยเอาค่าจาก result.campaignUpdateInfo และ result.purchase เพื่อใช้ในการแสดงผลของ campaign แต่ละประเภท ดังตารางที่ได้กล่าวไปข้างต้น ซึ่งแต่ละ type จะนำข้อมูลเบื้องต้นดังนี้ไปใช้

      • Draw:
        expireDate = แสดงผลวันประกาศผลรางวัล
      • Free และ Deal:
        serial = รหัสแลกรางวัล
        expireIn = เวลาหมดอายุของรหัส
        redeemDate = วันที่แลกรางวัล
        defaultPrivilegeMessage = message เพื่อใช้สำหรับแสดงรายละเอียด ตาม configuration ใน BOF
        barcode = default tab ในการแสดง code สามารถตั้งค่าได้ใน BOF
      • Buy:
        Skip (เพิ่มเติม)
      • Interface:
        url จาก function ใน BzbsCampaign model {BzbsCampaign}.getInterfaceUrl(appScheme: "\({AppScheme})") สำหรับใช้ render ในหน้า webView
      ก่อนหน้า
      Campaign
      ถัดไป
      REST Buzzebees API reference
      • ถาม-ตอบ
      • ช่วยเหลือ
      • นโยบายความเป็นส่วนตัว
      • Copyright 2022 Buzzebees Co.,Ltd. All Rights Reserved