쿠폰 연동 관련 제어
소스라이브에서 제공하는 쿠폰 기능을 고객사의 쿠폰 시스템과 연동하기 위한 가이드입니다. 아래의 UI 는 방송 등록 / 라이브콘솔에서 관리가능합니다. 쿠폰 설정 시의 '클릭 이벤트' 항목이 쿠폰 다운로드나 사용자 정의인 경우에는 브릿지를 사용할 수 있는 환경에서만 쿠폰 기능을 사용할 수 있습니다.

링크 이동

쿠폰 브릿지 에서 변수로 사용가능한 linkUrl 을 입력 가능합니다.
사용 예시
case "sauceflexMoveCoupon":
// 쿠폰 버튼 클릭시 링크 이동
const link=jsonData.params.linkUrl
const couponType =jsonData.params.couponType
if(link && couponType ==='link' ){
window.location.href = link
}
break;
링크 이동 (새창)

위와 동일하나 사용가능한 linkUrl 이 새창으로 열리는 방식으로 사용 가능합니다.
사용 예시
case "sauceflexMoveCoupon":
// 쿠폰 버튼 클릭시 링크 새창
const link = jsonData.params.linkUrl
const couponType =jsonData.params.couponType
if(link && couponType ==='newWindow' ){
window.open(link)
}
break;
쿠폰 다운로드

고객사의 API 를 통해서 링크 다운로드 기능을 구현할수 있습니다. 위의 쿠폰 연동 가이드 예시나 아래 코드를 참고해주세요
사용 예시 ( 기본 예시이며 아래 코드는 동작하지 않습니다.)
case "sauceflexMoveCoupon": // 쿠폰 버튼 클릭 시 다운로드
const couponCode = jsonData.params.couponCode;
const couponType = jsonData.params.couponType;
// API 서버를 직접 운영하고 있는 경우
if (YOUR_COUPON_API) {
fetch(`${YOUR_COUPON_API}/${couponCode}`)
.then((res) => res.json())
.then((res) => {
// 쿠폰 다운로드 처리 결과를 success에 담아 반환한 경우
if (res.success) {
window.alert(`${res.percent}% 쿠폰을 다운로드 받았습니다.`);
} else {
window.alert("쿠폰이 모두 소진되었습니다.");
}
})
.catch(() => {
window.alert("쿠폰 다운로드 중 오류가 발생했습니다.");
});
} else {
location.href = `https://COUPON_DOWNLOAD_PAGE/${couponCode}`;
}
break;
사용자 정의

개별 JSON 등으로 임의 값을 여러가지 저장하여 사용하는 방식입니다.
사용 예시 ( 기본 예시이며 아래 코드는 동작하지 않습니다.)
case "sauceflexMoveCoupon": // 쿠폰 버튼 클릭 시 다운로드 혹은 별도 저장된 값을 통한 링크 이동 처리등 가능
const metadata=jsonData.params.metadata;
// 테스트용 값 "{\"couponId\": \"1\",\"title\":\"쿠폰1\",\"discount\": \"0\"}"
const parsedMetadata = JSON.parse(metadata)
const couponId = parsedMetadata.couponId
const title = parsedMetadata.discount
const discount = parsedMetadata.discount
// API 서버를 직접 운영하고 있는 경우
if (YOUR_COUPON_API) {
fetch(`${YOUR_COUPON_API}/${couponId}`,{ param:{ discount } } )
.then((res) => res.json())
.then((res) => {
// 쿠폰 다운로드 처리 결과를 success에 담아 반환한 경우
if (res.success) {
window.alert(`${res.discount}% ${title} 쿠폰을 다운로드 받았습니다. `);
} else {
window.alert("쿠폰이 모두 소진되었습니다.");
}
})
.catch(() => {
window.alert("쿠폰 다운로드 중 오류가 발생했습니다.");
});
} else {
location.href = `https://COUPON_DOWNLOAD_PAGE/${couponId}`;
}
break;
Updated about 9 hours ago