> 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/common-settings/report-api.md).

# 리포트 API 연동

## 매체 리포트 API 연동 <a href="#report-api" id="report-api"></a>

애드팝콘 매체의 리포트 정보를 조회할 수 있는 API를 안내해요.&#x20;

파트너스 페이지에서 발급받은 accessToken을 이용해 조회해요.

***

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

#### Access Token 발급 (필수)

Open API를 사용하려면 accessToken을 발급받아야 해요.&#x20;

파트너스 페이지의 리포트 API 설정 메뉴에서 토큰 활성화 시 발급 가능하며, 매체당 1개만 발급할 수 있어요.

#### White IP 등록 (권장)

리포트 정보를 요청하는 서버의 IP를 등록해야 해요.&#x20;

등록된 IP에서만 접근이 허용되며, 등록하지 않을 경우 모든 IP에서 접근이 가능해요.

> 복수의 IP를 등록할 때는 콤마(,)로 구분해 주세요. (예: 1.123.4.5, 128.0.0.1)

***

### 제공 API <a href="#api-list" id="api-list"></a>

<table><thead><tr><th width="248">API</th><th width="251">설명</th><th>최대 조회 기간</th></tr></thead><tbody><tr><td>기간별 매체 수익 조회</td><td>기간별 매체 수익 및 상품별 상세 지표 조회</td><td>45일</td></tr><tr><td>기간별 데일리 상세 수익 조회</td><td>기간별 캠페인 단위 상세 수익 조회</td><td>7일</td></tr></tbody></table>

***

### 1. 기간별 매체 수익 조회 API <a href="#media-revenue" id="media-revenue"></a>

#### API URL

```
GET https://reward-report.adpopcorn.com/v1/media/revenue?accessToken={accessToken}&startDate=yyyy-MM-dd&endDate=yyyy-MM-dd
```

#### Method

GET

#### Content-Type

application/json

#### 파라미터

| 파라미터        | 설명               | 필수 |
| ----------- | ---------------- | -- |
| accessToken | 발급받은 토큰          | 필수 |
| startDate   | 시작일 (yyyy-MM-dd) | 필수 |
| endDate     | 종료일 (yyyy-MM-dd) | 필수 |

> 조회 기간은 최대 45일이에요.

#### 응답

| 필드        | 자료형                | 설명         |
| --------- | ------------------ | ---------- |
| Result    | int                | 조회 결과      |
| ResultMsg | String             | 결과 메시지     |
| Data      | List\<ReportModel> | 리포트 정보 리스트 |

#### ReportModel

| 필드                       | 자료형    | 설명                                  |
| ------------------------ | ------ | ----------------------------------- |
| ReportDate               | String | 리포트 조회일                             |
| TotalRevenue             | double | 해당 일자 총 수익                          |
| Offerwall                | Object | 오퍼월                                 |
| Offerwall.OfferwallVisit | long   | 오퍼월 방문자 수                           |
| Offerwall.Conversion     | long   | 오퍼월 광고 완료 수                         |
| Offerwall.CVR            | double | 컨버전 Rate (광고 완료 수 / 참여 시도 수)        |
| Offerwall.Revenue        | double | 오퍼월 수익 (간편적립, 리워드 비디오, 클릭 적립 수익 제외) |
| RCPM                     | Object | 간편적립                                |
| RCPM.Impression          | long   | 간편적립 노출                             |
| RCPM.Click               | long   | 간편적립 클릭 (유효 클릭)                     |
| RCPM.CTR                 | double | 클릭률 (노출 대비 클릭률)                     |
| RCPM.eCPM                | double | 간편적립 eCPM (1000회 노출당 수익)            |
| RCPM.Revenue             | double | 간편적립 수익                             |
| ContentsClick            | Object | 컨텐츠 클릭형(클릭적립)                       |
| ContentsClick.Impression | long   | 컨텐츠 클릭형 페이지 노출                      |
| ContentsClick.Click      | long   | 컨텐츠 클릭형 유효 클릭 (완료)                  |
| ContentsClick.CVR        | double | 컨텐츠 클릭형 CVR                         |
| ContentsClick.Revenue    | double | 컨텐츠 클릭형 수익                          |
| RewardVideo              | Object | 리워드 비디오                             |
| RewardVideo.Impression   | long   | 리워드 비디오 노출 (재생)                     |
| RewardVideo.Click        | long   | 리워드 비디오 클릭                          |
| RewardVideo.CTR          | double | 리워드 비디오 클릭률                         |
| RewardVideo.eCPM         | double | 리워드 비디오 eCPM                        |
| RewardVideo.Revenue      | double | 리워드 비디오 수익                          |
| Benefit                  | Object | 혜택                                  |
| Benefit.Impression       | long   | 혜택 페이지 광고 노출                        |
| Benefit.Click            | long   | 혜택 페이지 광고 클릭                        |
| Benefit.CTR              | double | 혜택 페이지 CTR                          |
| Benefit.eCPM             | double | 혜택 페이지 eCPM                         |
| Benefit.Revenue          | double | 혜택 페이지 수익                           |

#### 응답 예시

```json
{
    "Result": true,
    "ResultCode": 1,
    "ResultMsg": "조회에 성공하였습니다.",
    "Data": [
        {
            "ReportDate": "20240901",
            "TotalRevenue": 291457.0,
            "Offerwall": {
                "OfferwallVisit": 9806,
                "Conversion": 12213,
                "CVR": 124.55,
                "Revenue": 174022.0
            },
            "RCPM": {
                "Impression": 51168,
                "Click": 28121,
                "CTR": 54.96,
                "eCPM": 1749.75,
                "Revenue": 89531.0
            },
            "ContentsClick": {
                "Impression": 0,
                "Click": 0,
                "CVR": 0.0,
                "Revenue": 0.0
            },
            "RewardVideo": {
                "Impression": 5711,
                "Click": 1323,
                "CTR": 23.17,
                "eCPM": 4886.01,
                "Revenue": 27904.0
            },
            "Benefit": {
                "Impression": 0,
                "Click": 0,
                "CTR": 0.0,
                "eCPM": 0.0,
                "Revenue": 0.0
            }
        }
    ]
}
```

***

### 2. 기간별 데일리 상세 수익 조회 API <a href="#daily-revenue" id="daily-revenue"></a>

#### API URL

```
GET https://reward-report.adpopcorn.com/v1/media/revenue/CampaignDailyDetailReport?accessToken={accessToken}&startDate=yyyy-MM-dd&endDate=yyyy-MM-dd
```

#### Method

GET

#### Content-Type

application/json

#### 파라미터

| 파라미터        | 설명               | 필수 |
| ----------- | ---------------- | -- |
| accessToken | 발급받은 토큰          | 필수 |
| startDate   | 시작일 (yyyy-MM-dd) | 필수 |
| endDate     | 종료일 (yyyy-MM-dd) | 필수 |

> 조회 기간은 최대 7일이에요.

#### 응답

| 필드        | 자료형                  | 설명         |
| --------- | -------------------- | ---------- |
| Result    | int                  | 조회 결과      |
| ResultMsg | String               | 결과 메시지     |
| Data      | List\<CampaignModel> | 리포트 정보 리스트 |

#### CampaignModel

| 필드                             | 자료형    | 설명              |
| ------------------------------ | ------ | --------------- |
| ReportDate                     | String | 리포트 조회일         |
| TotalRevenue                   | double | 해당 기간 총 수익      |
| TotalComplete                  | long   | 해당 기간 전체 완료 수   |
| Campaigns                      | List   | 캠페인 정보          |
| Campaigns.CampaignName         | string | 캠페인명            |
| Campaigns.Revenue              | double | 캠페인 수익          |
| Campaigns.Complete             | long   | 캠페인 완료 수        |
| Campaigns.ParticipationType    | int    | 캠페인 참여 타입       |
| Campaigns.ParticipationSubType | int    | 캠페인 참여 타입 서브 정보 |

#### 응답 예시

```json
{
    "Result": true,
    "ResultCode": 1,
    "ResultMsg": "조회에 성공하였습니다.",
    "Data": [
        {
            "ReportDate": "20240901",
            "TotalRevenue": 291457.0,
            "TotalComplete": 69092,
            "Campaigns": [
                {
                    "CampaignName": "간편적립",
                    "Revenue": 89531.0,
                    "Complete": 51168,
                    "ParticipationType": 43,
                    "ParticipationSubType": 0
                },
                {
                    "CampaignName": "[퀴즈] 선착순 간단 퀴즈 (중복 참여 가능)",
                    "Revenue": 36910.0,
                    "Complete": 3691,
                    "ParticipationType": 59,
                    "ParticipationSubType": 0
                },
                {
                    "CampaignName": "[퀴즈] 선착순 간단 퀴즈 (중복 참여 가능)",
                    "Revenue": 30910.0,
                    "Complete": 3091,
                    "ParticipationType": 59,
                    "ParticipationSubType": 0
                },
                {
                    "CampaignName": "동영상적립",
                    "Revenue": 27904.0,
                    "Complete": 5711,
                    "ParticipationType": 74,
                    "ParticipationSubType": 0
                }                          
            ]
        },
        {
            "ReportDate": "20240902",
            "TotalRevenue": 291457.0,
            "TotalComplete": 69092,
            "Campaigns": [
                {
                    "CampaignName": "간편적립",
                    "Revenue": 89531.0,
                    "Complete": 51168,
                    "ParticipationType": 43,
                    "ParticipationSubType": 0
                },
                {
                    "CampaignName": "[퀴즈] 선착순 간단 퀴즈 (중복 참여 가능)",
                    "Revenue": 36910.0,
                    "Complete": 3691,
                    "ParticipationType": 59,
                    "ParticipationSubType": 0
                }                       
            ]
        }
    ]
}
```

***

### 캠페인 타입 <a href="#campaign-type" id="campaign-type"></a>

> SDK 연동 기준으로 세분화되어 있으며, S2S로 연동한 매체의 경우 캠페인 리스트 조회 시 받는 코드와 다를 수 있어요.

| 코드     | 캠페인 타입명        |
| ------ | -------------- |
| 1      | 클릭형            |
| 2      | 회원가입형          |
| 6      | 실행형            |
| 7      | 설치형            |
| 18     | 달성형            |
| 31     | 페이스북 좋아요       |
| 32     | 인스타그램 팔로우      |
| 33     | 유튜브 구독형        |
| 34     | 사전예약형          |
| 35     | 구매형            |
| 36     | 네이버 구독형        |
| 37     | 카카오톡 채널 구독형    |
| 38     | 네이버카페 구독형      |
| 39     | 네이버스토어찜 구독형    |
| 40     | 네이버 쇼핑 라이브     |
| 41     | 네이버 TV 구독형     |
| 42     | 네이버 포스트 팔로우    |
| 43     | 간편적립           |
| 44     | 틱톡 팔로우         |
| 45     | 유튜브 시청형        |
| 46     | 뉴스 적립          |
| 47     | DAUM 뉴스 구독     |
| 48     | 간편적립 CPC       |
| 50     | 네이버 플레이스 저장    |
| 51, 60 | 20초 랜딩형        |
| 52     | 콘텐츠 클릭형        |
| 53     | 웹툰 적립          |
| 54     | 네이버 쇼핑 퀴즈형     |
| 55     | 네이버 플레이스 검색&저장 |
| 56     | 앱 사전 예약        |
| 57     | 인스타그램 좋아요      |
| 58     | 유튜브 좋아요&구독     |
| 59     | 퀴즈형            |
| 61\~73 | 멀티형            |
| 74     | 리워드 비디오        |
| 75     | RCPC 클릭형       |
| 77     | 동영상 시청&페이지 방문  |

***

### 캠페인 하위 타입 <a href="#campaign-subtype" id="campaign-subtype"></a>

> 회원가입형, 달성형, 퀴즈형일 때만 아래 기준으로 세분화돼요. 나머지 타입은 기본값(0)이에요.

| 코드 | 하위 타입명 |
| -- | ------ |
| 0  | 기본     |
| 1  | 웹 회원가입 |
| 2  | 계좌 개설  |
| 3  | 보험     |
| 4  | 구매     |
| 5  | 게임     |
| 6  | DB 수집  |
| 7  | 앱 회원가입 |
| 8  | 인 앱 게임 |
| 9  | 퀴즈형    |
| 10 | 플레이스형  |

***

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

* 파트너스 운영 관리 → [**\[파트너스 운영 관리\]**](/offerwall/publisher/partners-page/operation.md)
* 기술 문의: <reward@adpopcorn.com>
