Skip to main content

개요

본 가이드는 페어리 캐시백 웹 외부에서 캐시백 프로그램 정보를 노출하고, 사용자가 프로그램 상세 페이지로 쉽게 유입될 수 있도록 돕는 방법을 설명합니다. 본 가이드는 페어리 캐시백 웹 외부에서 캐시백 프로그램 정보를 노출하고, 사용자가 프로그램 상세 페이지로 쉽게 유입될 수 있도록 돕는 방법을 설명합니다.

Step 1) 캐시백 프로그램 목록 조회하기

Step 2) Callback 을 통해 결과 처리하기

  • listCashback 호출 후, 결과는 ListCashbackResultCallback의 onSuccess를 통해 전달됩니다.
  • 이곳에서 캐시백 프로그램 목록 (CashbackProgram) 데이터를 사용할 수 있습니다.

외부 노출 시 활용 가능한 주요 데이터

  • CashbackProgram 객체에는 외부 UI에서 활용할 수 있는 다양한 정보가 포함되어 있습니다.
    주요 필드는 다음과 같습니다.
    필드명설명예시
    businessId캐시백 프로그램을 운영하는 쇼핑몰의 고유 id
    businessName쇼핑몰의 노출용 이름
    businessImageUrl쇼핑몰의 로고 이미지
    products캐시백 프로그램의 대상 상품 목록
    products[index].comission캐시백 상품의 커미션 정보.

    - amount + unit 조합
    amount: “2.5”
    unit: PERCENTAGE_COMMISSION_UNIT
    Image

Step 3) 프로그램 상세 페이지로 이동시키기

  • 사용자가 특정 캐시백 프로그램을 클릭했을 때, 해당 프로그램의 상세 페이지로 바로 이동할 수 있습니다.
  • launchUI 호출 시 businessId를 전달하여 상세 페이지로 랜딩할 수 있습니다.
  • 구체적인 방법은 1. 캐시백 웹 내 특정 페이지를 바로 제공하기 를 참고하세요.

예시 코드

listCashback(object : ListCashbackResultCallback {
    override fun onSuccess(programs: List<CashbackProgram>) {
        // 프로그램 목록을 UI에 표시
        cashbackPrograms.forEach { program ->
          val businessId = program.businessId
          val name = program.businessName
          val logoUrl = program.businessImageUrl
          
          // 최대 N% 할인! 표기를 위해서는 productsList 내의 아이템 중 
          // commission 이 가장 높은 데이터를 찾아 제공할 수도 있습니다.
          val commission = program.productsList[0].commission

          showCashbackItem(businessId, name, logoUrl, commission) {
              momentSDK.launchUI(
                  config,
                  "/cashback/detail?business_id=$businessId",
                  callback
              )
          }
      }
    }
    override fun onFailure(error: Throwable) {
        // 에러 처리
        showError(error.message)
    }
})