네이버SIS 연동 가이드
1. 플로우:시퀀스 다이어그램
유저가 매체 내의 네이버SIS 진입점을 클릭할 경우 버즈빌이 자체 제작한 네이버SIS 미션 페이지로 이동합니다. 이 때 버즈빌 클라이언트에서 버즈빌 서버로 광고 할당을 요청하고 응답하기 때문에, 광고 할당 연동은 생략됩니다.
유저가 미션 페이지 내에서 미션을 클릭할 경우 버즈빌에서 공급사 페이지로 리다이렉팅합니다. 유저가 미션에 참여를 완료했다면, 공급사에서 버즈빌로 전환 포스트백을 요청합니다. 버즈빌에선 퍼블리셔(매체사)로 포스트백을 요청하여 유저에게 리워드를 지급합니다.
2. 네이버SIS 연동
네이버SIS에 진입하기 위해선 버즈빌이 구축한 네이버SIS 미션 페이지 연동이 필요합니다. 이를 위해 버즈빌은 퍼블리셔(매체사)에게 네이버SIS의 URL을 사전에 공유합니다. 퍼블리셔는 공유받은 URL 내의 네이버 미션 참여에 필요한 정보를 버즈빌에 전달합니다.
2.1 URL
해당 URL은 네이버SIS에 진입하기 위한 URL입니다.
https://pointhub.buzzvil.com/buzzad/multi-action/sis/:publisher_path?pquery=[인코딩된_파라미터]&custom=[커스텀_파라미터]
publisher_path : 버즈빌과 사전 협의된 path를 입력합니다.
2.1 필수 파라미터
pquery 파라미터는 다음 정보를 포함한 JSON 객체를 URI 인코딩 후 Base64로 인코딩하여 생성합니다.
필수 파라미터
구분 | 유형 | 내용 | 예시 |
---|---|---|---|
app_id | Integer | 매체 앱 아이디
| 123234345 |
Unit_id | Integer | 매체 지면 아이디
| 1234567 |
ifa | String | 사용자의 광고식별자
| 예제) ab4ade35-1c8a-4405-acda-10ca1ad1abe1 |
user_id(PUID) | String | 사용자 고유 식별자
| 매체 협의 필요 |
client_id | String | 광고에 참여한 유저의 ip
| 예제) 123.123.123.123 |
2.2 권장 파라미터
구분 | 유형 | 내용 | 예시 |
---|---|---|---|
birthday 권장 | String | 유저의 생년월일
| 예제) 1993-01-09 ( O ) 19930109 ( X ) |
gender 권장 | String | 성별 타게팅을 위한 정보
|
|
platform 권장 | String | 기기의 OS 정보 |
|
권장 | String | 통신사 정보
|
|
권장 | String | 디바이스 모델명
| 예제) SHV-E250S,SHV-E275K,SM-G928L → SHV-E250S 또는 SHV-E275K 또는 SM-G928L 인 유저에게 타게팅 |
권장 | Float | 위도 와 경도
|
|
권장 | Float |
| |
권장 | String | User Agent.
|
|
3. 적립 포스트백 연동
사용자에게 보상을 지급하기 위해서 포스트백(Postback) 연동이 필요합니다. 포스트백 요청은 보안을 위해 서버 간 통신(Server-to-Server) 형태로 진행됩니다.
절차 요약
버즈빌의 포인트 적립 요청을 받을 수 있는 서버 endpoint 구축 (해당 endpoint 의 URL을
postback url
로 지칭)본 가이드에 따라 Server-to-Server 연동
버즈빌 기술지원 매니저에게 postback url 전달
Introduction
버즈빌을 통해 유저가 포인트를 지급받은 경우, 매체사에게 이 사실을 전달하여 적립 요청을 보내기 위한 API입니다.
항목 | 내용 | |
---|---|---|
1 | 요청 방향 | 버즈빌 → 매체사 |
2 | HTTP Request method | POST - application/x-www-form-urlencoded |
3 | HTTP Request URL | 매체사 서버의 endpoint |
4 | HTTP Request Parameters | 아래 |
5 | HTTP Response Code | 버즈빌 서버는 매체사 서버로 부터 전달받은 응답 코드(Response Code)를 바탕으로 적립 성공 여부를 판단합니다.
body에 오류 내용을 담더라도 응답 코드가 200인 경우 재시도하지 않으므로 주의해 주세요. |
HTTP Request Parameters
기능에 따라서 두 종류의 포스트백이 존재합니다. 각 타입에 관한 포스트백 파라미터 정보는 아래의 표를 참고하세요.
String 타입의 파라미터 필드 값이 한국어일 경우에는 유니코드로 인코딩되어 전달됩니다.
파라미터 필드(Field) | 타입 | 설명 |
---|---|---|
REQUIRED | String | 매체사에서 정의한 유저의 식별값 최대 65자까지만 전달 가능합니다. |
REQUIRED | String | 보상에 발급되는 ID. 각 보상을 식별하고 포인트 중복 지급을 방지하기 위해 사용
|
REQUIRED | Integer | 유저에게 지급해야하는 포인트 |
REQUIRED | Long | 광고가 노출된 지면의 ID 값 |
REQUIRED | String | 포인트가 지급된 방식에 설정된 이름
|
REQUIRED | Long (timestamp) | 포인트 지급 시점 (UNIX Timestamp 초단위)
|
OPTIONAL | String | 포인트를 지급 받기 위해 유저가 취한 액션 타입
|
OPTIONAL | String | 유저가 참여한 광고의 광고 유형
|
OPTIONAL | String | 파라미터를 추가해야할 경우, 해당 파라미터(JSON serialize 된 문자열 값)를 활용 |
OPTIONAL | Long | 유저가 참여한 캠페인(광고, 컨텐츠, 프로모션) 의 ID입니다. |
OPTIONAL | String | HTTP request parameter를 암호화 해서 전송하는 경우 사용되는 파라미터 |
OPTIONAL | String | HTTP request parameter에 Checksum을 전송하는 경우 사용되는 파라미터 |
OPTIONAL | String | 퍼블리셔 실시간 S2S API 제품 연동 매체사에서 지정하는 커스텀 파라미터
|
OPTIONAL | String | 퍼블리셔 실시간 S2S API 제품 연동 매체사에서 지정하는 커스텀 파라미터
|
OPTIONAL | String | 퍼블리셔 실시간 S2S API 제품 연동 매체사에서 지정하는 커스텀 파라미터
|
HTTP Request Parameter 포스트백 예제
다음은 HTTP Request Parameter의 포스트백 예제입니다.
{
"user_id": "12345",
"point": 1,
"transaction_id": "126905422_10000001",
"event_at": 1641452397,
"unit_id": 5539189976900000,
"action_type": "l",
"title": "타이틀",
"extra": "{}"
}
IP Whitelist 추가
버즈빌 서버에서 보내는 포인트 적립 요청을 받을 수 있도록 아래 IP에 대한 inbound 방화벽 예외 처리를 부탁 드립니다.
13.231.21.93
18.179.158.39
52.68.114.43
요청 파라미터 검증 OPTIONAL
버즈빌 서버에서 전달되는 포인트 적립 요청(포스트백)을 암호화 할 수 있습니다. 이 과정은 필수 적용 항목은 아니며, 필요한 경우 아래의 두 가지 방법을 제공합니다.
1. HTTP Request Parameter Encryption/Decryption
버즈빌 서버에서 매체사로 보내는 HTTP Request parameter를 암호화 하고 싶은 경우 사용합니다. 제공하는 암호화 방식은 고급 암호화 표준, AES(Advanded Encryption Standard)입니다. 제공되는 블록 암호화는 AES-256
이고, 사용하는 블록 암호화 모드(Block Cipher)는 CBC(Cipher Block Chaning) Mode와 PKCS7을 사용합니다.
2. Add Checksum Parameter
포스트백 데이터 검증을 위해 Request Parameter에 Checksum parameter를 추가하고자 하는 경우 사용합니다. 제공하는 데이터 검증 방식은 HMAC 인증이고, SHA-256
알고리즘을 사용합니다.