포스트백 연동
사용자가 광고 활동(CPA, 미션, 퀴즈 등)을 완료하면 마이비 애드체인 서버에서 파트너 서버로 실시간 콜백을 전송합니다. 파트너사는 포스트백으로 유저에게 포인트를 지급해야합니다.
API 명세
요청 정보
Method
POST
Content-Type
application/json
Endpoint
파트너사가 제공한 포스트백 수신 URL
요청 본문 (Request Body)
{
"callback_id": "b6fcca4e-e7b8-4a70-94fd-810b1b6a256b",
"type": "campaign",
"revenue_type": "cpa",
"user_id": "ab0da900-7465-4231-8657-1ef40944a8a2",
"amount": "100",
"campaign_key": "12352221",
"campaign_name": "[초간단] 이마트 24 구독하기",
"signed_value": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
"app_key": "100000001",
"os": "android",
"ifa": "9ee20401-14bf-4569-a8d3-dc577be8d07f"
}필드 설명
callback_id
String
✅
고유 트랜잭션 ID (UUID). 중복 지급 방지용
b6fcca4e-e7b8-...
type
String
✅
콘텐츠/활동 유형 (campaign, mission, quiz)
campaign
revenue_type
String
✅
수익화 모델 (cpa, cpq, cps, cpx, cpi, none)
cpa
user_id
String
✅
파트너사 유저 식별값
ab0da900-7465-...
amount
String
✅
사용자 보상 금액
100
campaign_key
String
✅
캠페인 고유 키 (퀴즈의 경우 이벤트 ID)
12352221
signed_value
String
✅
HMAC-MD5 서명값. 데이터 무결성 검증용
a1b2c3d4e5f6...
campaign_name
String
캠페인 명칭
[초간단] 이마트 24 구독하기
app_key
String
앱 식별자. 멀티 앱 구분용
100000001
os
String
운영체제 타입 (android, ios)
android
ifa
String
광고 식별값 (Android: GAID, iOS: IDFA)
9ee20401-14bf-...
응답 처리
응답 형식 (필수)
모든 응답은 반드시 다음 필드를 포함해야 합니다:
success
Boolean
✅
처리 성공 여부 (true/false)
message
String
✅
응답 메시지 (빈 문자열 "" 가능)
성공 응답
실패 응답
보안 및 검증
서명 검증 (Signature Validation)
데이터 무결성과 보안을 위해 모든 포스트백에는 signed_value 필드가 포함됩니다. 파트너사는 이 값을 검증하여 요청이 마이비 애드체인으로부터 온 유효한 요청인지 확인해야 합니다.
서명 생성 방식
서명 대상 문자열 생성:
HMAC-MD5 해시 생성:
알고리즘: HMAC-MD5
Secret Key: 마이비 애드체인에서 발급한
app_secret(OS 또는 app_key 별로 구분)결과: 32자리 16진수 문자열 (소문자)
Secret Key 관리
파트너사는 app_key와 os 중에 선택하여 다른 app_secret을 사용해야 합니다.
App Key 기반 구분 (권장)
OS 기반 구분
검증 구현 예제
주의사항
app_secret 보안: app_secret은 절대 외부에 노출되어서는 안 됩니다
검증 필수: 모든 포스트백 요청에 대해 서명 검증을 반드시 수행해야 합니다
검증 실패 시: 서명 검증이 실패한 요청은 반드시 거부해야 합니다 (HTTP 401 응답)
문자열 순서: 서명 생성 시 필드 순서가 중요합니다 (
callback_id→user_id→amount→campaign_key)Secret 관리: OS별 또는 앱별로 다른 secret을 사용하므로 환경변수 등을 통해 안전하게 관리해야 합니다
우선순위: app_key가 제공된 경우 해당 앱의 secret을 우선 사용하고, 없으면 OS별 기본 secret을 사용합니다
구현 가이드
중복 처리 방지 (필수)
사용자 보상이 직접적으로 연결되어 있기 때문에, 중복 처리 방지 로직을 반드시 구현해야 합니다.
핵심 구현 요구사항
고유 식별자 관리
callback_id는 각 트랜잭션의 고유 식별자(UUID)입니다동일한
callback_id가 여러 번 수신될 경우, 반드시 첫 번째 요청만 처리하고 이후 요청은 무시해야 합니다
구현 예시
푸시 알림 구성 가이드
사용자에게 리워드 지급 푸시 알림을 보낼 때는 campaign_name과 amount 필드를 활용하여 메시지를 구성하는 것을 권장합니다.
푸시 메시지 예시
구현 예시
데이터 타입별 예시
1. CPA 광고 캠페인 (일반 참여형)
2. 미션 완료 보상
3. 퀴즈 참여 보상
테스트 가이드
테스트 환경 구성
실제 서비스 적용 전 마이비 애드체인 개발팀과 함께 테스트를 진행해 주세요.
테스트 포스트백을 받기 위한 Endpoint를 알려주시면 테스트 진행을 도와드리겠습니다.
테스트 시나리오
기본 포스트백 수신 테스트: 정상적인 포스트백 처리 확인
중복 처리 테스트: 동일한
callback_id로 반복 테스트가 필요하신 경우, 개발팀에 요청해 주시면 중복 포스트백을 보내드립니다서명 검증 테스트: 올바른 서명과 잘못된 서명 처리 확인
에러 처리 테스트: 잘못된 데이터 형식 처리 확인
보안 고려사항
HTTPS 필수: 모든 포스트백 전송은 HTTPS 프로토콜을 사용합니다
서명 검증 필수: 모든 포스트백 요청에 대해
signed_value검증을 반드시 수행해야 합니다Secret Key 관리: OS별/앱별
app_secret을 환경변수나 보안 저장소에 안전하게 분리 보관해야 합니다
문의사항
연동 관련 문의사항이 있으시면 아래 채널로 연락 주시기 바랍니다:
기술 지원: [email protected]
Last updated