• Home
  • Developer
  • English
    • ไทย
    • English
  • Home
  • Developer
  • English
    • ไทย
    • English
  • Getting Started
    • iOS
    • Android
    • Flutter
  • Api Usage Document
    • Best Practices
      • การใช้งานเข้าสู่ระบบสมาชิก
      • Request Help
      • History Redeem
      • Campaign
        • Campaign Detail
    • REST Buzzebees API reference
      • Overview
    • Developer Tool
      • REST API Explorer

    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
        Previous
        Campaign
        Next
        REST Buzzebees API reference
        • FAQ
        • Help
        • Privacy
        • Copyright 2022 Buzzebees Co.,Ltd. All Rights Reserved