프로모션
서비스 소개와 콘솔 설정 방법은 프로모션 소개 문서를 참고해 주세요.
게임 미니앱
별도의 서버 연동 없이도 게임 미니앱 내에서 유저에게 토스 포인트를 지급하고, 혜택탭에 노출할 수 있어요.
SDK 함수: grantPromotionRewardForGame
이 함수는 게임 카테고리 미니앱에서만 호출할 수 있어요. 비게임 카테고리에서 실행하면 오류가 발생해요.
시그니처
파라미터
params · 필수 ·
{ params: { promotionCode: string; amount: number } }포인트를 지급하기 위해 필요한 정보예요.
params.promotionCode · 필수 ·
string프로모션 코드예요.
params.amount · 필수 ·
number지급할 포인트 금액이에요.
반환 값
Promise<{ key: string } | { errorCode: string; message: string } | 'ERROR' | undefined>
포인트 지급 결과를 반환해요.
{ key: string }: 포인트 지급에 성공했어요. key는 리워드 키를 의미해요.{ errorCode: string, message: string }: 포인트 지급에 실패했어요. 에러 코드를 확인해 주세요.
에러 코드
프로모션 함수 사용 중 발생할 수 있는 에러 코드 목록이에요. 응답 코드나 메시지를 참고해 적절한 예외 처리 로직을 적용해 주세요.
40000
게임이 아닌 미니앱에서 호출한 경우
4100
프로모션 정보를 찾을 수 없어요
콘솔에 등록되지 않은 프로모션 키로 호출한 경우
4109
프로모션이 실행중이 아니에요
콘솔에서 프로모션을 시작하지 않았거나, 예산이 모두 소진되어 자동 종료된 경우
4110
리워드를 지급/회수할 수 없어요
내부 시스템 오류 발생한 경우로, 재지급 로직을 적용해 주세요.
4111
리워드 지급내역을 찾을 수 없어요
존재하지 않은 지급 내역을 조회한 경우
4112
프로모션 머니가 부족해요
예산 부족으로 지급이 실패한 경우로, 콘솔에서 예산 증액 또는 비즈월렛 충전 필요
4114
1회 지급 금액을 초과했어요
4116
최대 지급 금액이 예산을 초과했어요
ERROR
알 수 없는 오류가 발생했어요.
undefined
앱 버전이 최소 지원 버전보다 낮아요.
예제
비게임 미니앱
비게임 카테고리 미니앱에서 프로모션을 통해 유저에게 토스 포인트를 지급하는 방법은 두 가지예요.
서버 없이 지급: 별도의 서버 연동 없이 SDK 함수 호출만으로 포인트를 지급해요.
서버를 통해 지급: 파트너사 서버에서 API를 직접 호출해 포인트를 지급해요. 요청 위변조 방지 등 무결성이 중요한 경우에 사용해요.
서버 없이 프로모션 포인트 지급하기
SDK 함수: grantPromotionReward
별도의 서버 연동 없이도 비게임 미니앱 내에서 유저에게 토스 포인트를 지급하고, 혜택탭에 노출할 수 있어요.
시그니처
파라미터
params · 필수 ·
{ params: { promotionCode: string; amount: number } }포인트를 지급하기 위해 필요한 정보예요.
params.promotionCode · 필수 ·
string프로모션 코드예요.
params.amount · 필수 ·
number지급할 포인트 금액이에요.
반환 값
Promise<{ key: string } | { errorCode: string; message: string } | 'ERROR' | undefined>
포인트 지급 결과를 반환해요.
{ key: string }: 포인트 지급에 성공했어요. key는 리워드 키를 의미해요.{ errorCode: string, message: string }: 포인트 지급에 실패했어요. 에러 코드를 확인해 주세요.
에러 코드
프로모션 함수 사용 중 발생할 수 있는 에러 코드 목록이에요. 응답 코드나 메시지를 참고해 적절한 예외 처리 로직을 적용해 주세요.
4100
프로모션 정보를 찾을 수 없어요
콘솔에 등록되지 않은 프로모션 키로 호출한 경우
4109
프로모션이 실행중이 아니에요
콘솔에서 프로모션을 시작하지 않았거나, 예산이 모두 소진되어 자동 종료된 경우
4110
리워드를 지급/회수할 수 없어요
내부 시스템 오류 발생한 경우로, 재지급 로직을 적용해 주세요.
4111
리워드 지급내역을 찾을 수 없어요
존재하지 않은 지급 내역을 조회한 경우
4112
프로모션 머니가 부족해요
예산 부족으로 지급이 실패한 경우로, 콘솔에서 예산 증액 또는 비즈월렛 충전 필요
4114
1회 지급 금액을 초과했어요
4116
최대 지급 금액이 예산을 초과했어요
ERROR
알 수 없는 오류가 발생했어요.
undefined
앱 버전이 최소 지원 버전보다 낮아요.
예제
서버를 통해 프로모션 포인트 지급하기
파트너사 서버에서 직접 API를 호출해 유저에게 토스 포인트를 지급하는 방식이에요.
프로모션 대상 사용자 식별하기
프로모션 API는 아래 2가지 방법 중 하나로 프로모션 대상을 식별해요. 두 값을 동시에 전달하지 말고 하나만 선택해 주세요.
x-toss-user-key
토스 로그인으로 받은 userKey 값이에요.
x-anon-key
사용자 식별키 발급으로 받은 hash 값이에요.
목적에 따라 선택해 주세요.
이미 토스 로그인을 연동했거나, 이름·이메일 같은 회원 정보와 묶어 통합 관리하려면 토스 로그인을 사용해요.
로그인 연동 없이 가볍게 사용자만 식별하려면 사용자 식별키 발급 기능을 사용해요.
x-anon-key(hash)가 유효한 값인지 미리 확인하고 싶다면 식별키 검증하기 API를 사용해 주세요.
기본 정보
Base URL
https://apps-in-toss-api.toss.im
서버 인증
mTLS (클라이언트 인증서)
Content-Type
application/json
① 프로모션 리워드 지급 Key 생성하기
프로모션 지급을 위한 Key를 발급해요. 이 Key를 사용해 유저에게 리워드를 지급할 수 있어요.
Content-type: application/json
Method:
POSTEndpoint:
/api-partner/v1/apps-in-toss/promotion/execute-promotion/get-key
요청 헤더
프로모션 대상을 식별하는 헤더는 아래 2가지 중 하나를 사용해요. 두 헤더를 동시에 전달하지 마세요.
응답 파라미터
key
String
프로모션 지급을 위한 key 값 (base64 인코딩된 값)
② 프로모션 리워드 지급하기
발급받은 key로 프로모션 리워드 지급을 실행해요. 지급 시 프로모션 예산에서 차감되며, 실제 지급까지는 약간의 지연이 발생할 수 있어요.
Content-type: application/json
Method:
POSTEndpoint:
/api-partner/v1/apps-in-toss/promotion/execute-promotion
요청 헤더
프로모션 대상을 식별하는 헤더는 아래 2가지 중 하나를 사용해요. 두 헤더를 동시에 전달하지 마세요.
요청 파라미터
promotionCode
String
Y
콘솔에서 생성한 프로모션 코드 ID
key
String
Y
프로모션 지급을 위해 발급받은 KEY
amount
Integer
Y
프로모션 지급 금액
응답 파라미터
key
String
프로모션 지급을 위해 발급받은 KEY
③ 프로모션 지급 결과 조회하기
지급 요청 이후의 프로모션 지급 상태를 조회해요.
Content-type: application/json
Method:
POSTEndpoint:
/api-partner/v1/apps-in-toss/promotion/execution-result
요청 헤더
프로모션 대상을 식별하는 헤더는 아래 2가지 중 하나를 사용해요. 두 헤더를 동시에 전달하지 마세요.
요청 파라미터
promotionCode
String
Y
콘솔에서 생성한 프로모션 코드 ID
key
String
Y
프로모션 지급을 위해 발급받은 KEY
응답 파라미터
success
String
프로모션 지급 결과 (SUCCESS / PENDING / FAILED)
에러 코드
프로모션 API 사용 중 발생할 수 있는 에러 코드 목록이에요. 응답 코드나 메시지를 참고해 적절한 예외 처리 로직을 적용해 주세요.
4100
프로모션 정보를 찾을 수 없어요
콘솔에 등록되지 않은 프로모션 키로 호출한 경우
4109
프로모션이 실행중이 아니에요
콘솔에서 프로모션을 시작하지 않았거나, 예산이 모두 소진되어 자동 종료된 경우
4110
리워드를 지급/회수할 수 없어요
내부 시스템 오류 발생한 경우로, 재지급 로직을 적용해 주세요.
4111
리워드 지급내역을 찾을 수 없어요
존재하지 않은 지급 내역을 조회한 경우
4112
프로모션 머니가 부족해요
예산 부족으로 지급이 실패한 경우로, 콘솔에서 예산 증액 또는 비즈월렛 충전 필요
4113
이미 지급/회수된 내역이에요
동일한 Key로 중복 지급할 경우로, 새로운 Key를 발급해 재시도해 주세요.
4114
1회 지급 금액을 초과했어요
4116
최대 지급 금액이 예산을 초과했어요
마지막 업데이트
도움이 되었나요?