메인 콘텐츠로 건너뛰기

소개

DARO Report API는 고객사가 DARO 대시보드 외부에서 프로그래밍 방식으로 광고 성과 데이터를 조회할 수 있는 REST API입니다. 이 API를 통해 수익, 노출, 클릭 등 주요 지표를 다양한 기준으로 그룹핑하여 조회할 수 있습니다.

인증

Report API를 사용하려면 먼저 Access Token을 발급받아야 합니다.

1. Secret Key 확인

DARO 대시보드에서 발급된 report_secret_key를 확인합니다.

2. Access Token 발급

POST https://api.daro.so/report/v1/auth
요청 본문:
{
  "secretKey": "YOUR_REPORT_SECRET_KEY"
}
응답:
{
  "accessToken": "eyJhbGciOiJIUzI1NiIs...",
  "expiresAt": "2025-01-01T01:00:00Z"
}
필드타입설명
accessTokenStringAPI 요청에 사용할 인증 토큰
expiresAtString토큰 만료 시간

3. API 요청 시 토큰 사용

발급받은 accessToken을 HTTP 헤더에 포함하여 API를 호출합니다.
Authorization: Bearer {accessToken}
요청 예시:
curl -X POST "https://api.daro.so/report/v1/auth" \
  -H "Content-Type: application/json" \
  -d '{"secretKey": "YOUR_REPORT_SECRET_KEY"}'
accessTokenexpiresAt에 명시된 시간이 지나면 만료됩니다. 만료된 경우 /report/v1/auth 엔드포인트를 통해 새로운 토큰을 발급받아야 합니다.

리포트 조회

GET https://api.daro.so/report/v1/metrics

요청 파라미터

모든 파라미터는 쿼리스트링으로 전달합니다.
파라미터타입설명예시
from (필수)String조회 시작 날짜 (YYYY-MM-DD)2025-01-01
to (필수)String조회 종료 날짜 (YYYY-MM-DD). from 이후 날짜여야 하며, 조회 기간은 최대 90일2025-01-31
group_by (필수)String데이터 그룹핑 기준 (콤마로 복수 지정 가능)date,app_key
app_keyString특정 앱으로 필터링your_app_key
ad_unit_idString특정 광고 단위로 필터링fa1c6d2f-5016-467d-b54c-672299c7db4c
ad_formatString광고 포맷으로 필터링banner
countryString국가 코드로 필터링KR
platformString플랫폼으로 필터링android
page_sizeInt페이지당 항목 수 (기본값: 10, 최대: 1000)20
page_numberInt페이지 번호 (기본값: 1)1

group_by 사용 가능한 값

설명
date날짜별 그룹핑
app_key앱별 그룹핑
ad_unit_id광고 단위별 그룹핑
ad_format광고 포맷별 그룹핑
country국가별 그룹핑
platform플랫폼별 그룹핑

요청 예시

curl -X GET "https://api.daro.so/report/v1/metrics?from=2025-01-01&to=2025-01-31&group_by=date,app_key&page_size=20&page_number=1" \
  -H "Authorization: Bearer {accessToken}"

응답

응답 필드

필드타입설명
dateString날짜
appKeyString앱 키 (group_byapp_key 포함 시 반환)
appNameString앱 이름 (group_byapp_key 포함 시 반환)
adUnitNameString광고 단위 이름 (group_byad_unit_id 포함 시 반환)
adFormatString광고 포맷 (group_byad_format 포함 시 반환)
countryString국가 코드 (group_bycountry 포함 시 반환)
platformString플랫폼 (group_byplatform 포함 시 반환)
revenueFloat수익 (USD)
adRequestInt광고 요청 수
matchedRequestInt매칭된 요청 수
impressionInt노출 수
clickInt클릭 수
matchRateFloat매칭률 (matchedRequest / adRequest)
showRateFloat노출률 (impression / matchedRequest)
ctrFloat클릭률 (click / impression)
ecpmFloateCPM (revenue / impression * 1000)

응답 예시

{
  "data": [
    {
      "date": "2025-01-01",
      "appKey": "your_app_key",
      "appName": "My App",
      "revenue": 123.45,
      "adRequest": 10000,
      "matchedRequest": 8500,
      "impression": 8000,
      "click": 160,
      "matchRate": 0.85,
      "showRate": 0.9412,
      "ctr": 0.02,
      "ecpm": 15.43
    },
    {
      "date": "2025-01-02",
      "appKey": "your_app_key",
      "appName": "My App",
      "revenue": 130.20,
      "adRequest": 11000,
      "matchedRequest": 9200,
      "impression": 8700,
      "click": 174,
      "matchRate": 0.8364,
      "showRate": 0.9457,
      "ctr": 0.02,
      "ecpm": 14.97
    }
  ],
  "page_size": 20,
  "page_number": 1,
  "total_count": 31
}
group_by에 포함되지 않은 차원의 필드는 응답에서 생략됩니다. 예를 들어 group_by=date로 요청하면 appKey, appName, adUnitName 등의 필드는 응답에 포함되지 않습니다.