> For the complete documentation index, see [llms.txt](https://adpopcornssp.gitbook.io/offerwall/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adpopcornssp.gitbook.io/offerwall/publisher/app-s2s/s2s-api.md).

# S2S (API) 연동 개요

S2S 연동 방식의 개념과 연동에 필요한 API 흐름, 사전 준비 사항을 안내해요.

***

### S2S 연동이란? <a href="#s2s-api" id="s2s-api"></a>

S2S 연동은 SDK 대신 서버끼리 직접 통신하는 방식이에요. 매체사 서버가 애드팝콘 API를 호출해서 광고 목록을 가져오고, 직접 만든 UI에 보여주는 구조예요.

SDK 설치 없이 서버 API만으로 연동하기 때문에 웹, 앱 등 플랫폼에 구애받지 않아요.

<table><thead><tr><th width="140">관점</th><th>효과</th></tr></thead><tbody><tr><td>UI 자유도</td><td>오퍼월 UI를 앱 디자인에 맞게 직접 구현할 수 있어요.</td></tr><tr><td>서버 제어</td><td>광고 목록 캐싱, 필터링, 정렬 등을 매체사 서버에서 자유롭게 제어할 수 있어요.</td></tr><tr><td>플랫폼 독립</td><td>SDK 설치 없이 서버 API만으로 연동하기 때문에 웹, 앱 등 플랫폼에 구애받지 않아요.</td></tr></tbody></table>

***

### 사전 준비 <a href="#prerequisites" id="prerequisites"></a>

#### 계정·권한

* 파트너스 페이지에 매체가 등록되어 있어야 해요. → [**\[매체 등록\]**](/offerwall/publisher/partners-page/publisher-registration.md)
* 리워드 시스템 설정이 완료되어 있어야 해요. → [**\[리워드 시스템 설정\]**](/offerwall/publisher/partners-page/system-settings.md)
* 콜백 서버 URL이 등록되어 있어야 해요.

#### 개발 환경

* 서버에서 외부 API를 호출할 수 있는 환경이어야 해요.
* 공인 IP를 사용해야 해요. (사설 IP는 광고 조회가 차단돼요)

> 모든 API는 반드시 서버에서 호출해야 해요. 클라이언트(앱 코드)에서 직접 호출하면 보안 및 데이터 무결성을 보장할 수 없어요.

***

### API 흐름 <a href="#api-flow" id="api-flow"></a>

S2S 연동은 4개 API로 동작해요.

```
[1] 캠페인 정보 조회 API (GET /mediamix/meta)
    └── 5분마다 호출해서 최신 캠페인 목록 유지
        ↓
[2] 캠페인 참여 (GET /mediamix/Click + 파라미터)
    └── 유저 클릭 시 → LandingURL에 파라미터 추가하여 직접 랜딩
        ↓
[유저] 광고 완료
        ↓
[3] 설치형 캠페인 완료 API (POST /mediamix/completeoffer)
    └── 앱 설치 여부 확인 후 완료 처리 (설치형 캠페인만)
        ↓
[4] 리워드 지급 콜백 (애드팝콘 → 매체 서버)
    └── 광고 완료 확인되면 콜백으로 리워드 정보 전송
        ↓
[매체사] 콜백 수신 → 유저에게 리워드 지급
```

***

### 보안 주의사항 <a href="#notes" id="notes"></a>

<table><thead><tr><th width="170">항목</th><th>내용</th></tr></thead><tbody><tr><td>유저식별값(USN)</td><td>변하지 않는 고유값이어야 해요. 타임스탬프 등 변하는 값은 사용할 수 없어요.</td></tr><tr><td>공인 IP</td><td>사설 IP(192.168.x.x, 10.x.x.x)는 광고 조회가 차단돼요.</td></tr><tr><td>서버 간 통신</td><td>모든 API는 서버에서만 호출해야 해요. 클라이언트에서 직접 호출하면 안 돼요.</td></tr></tbody></table>

***

### 관련 가이드 <a href="#related-guides" id="related-guides"></a>

* 오퍼월 API 연동 → [**\[API 연동 (기본)\]**](/offerwall/publisher/app-s2s/api.md)
* 콘텐츠 API 연동 → [**\[콘텐츠 API 연동\]**](/offerwall/publisher/app-s2s/content-api.md)
* 간편적립 API 연동 → [**\[간편적립 API 연동\]**](/offerwall/publisher/app-s2s/easy-accumulation-api.md)
* CS 페이지 연동 → [**\[CS 페이지 연동\]**](/offerwall/publisher/app-s2s/cs.md)
* 리워드 콜백 서버 → [**\[리워드 콜백 서버 연동\]**](/offerwall/publisher/common-settings/callback.md)
* 기술 문의: <reward@adpopcorn.com>
