중요
다음 가이드는 API와 그 작동 방식을 이미 알고 있다는 것을 전제로 작성되었습니다. API 호출 방법을 모르는 경우 소프트웨어 엔지니어나 해당 작업을 대신 수행할 수 있는 다른 직원에게 도움을 요청하세요.
퍼블리셔 요약 API를 사용하여 퍼포먼스 데이터를 가져올 수 있습니다. 퍼포먼스 데이터 리포트를 생성하는 방법에 대해 알아보세요.
1단계: 액세스 토큰을 사용하여 인증합니다.
퍼블리셔 요약 API를 사용하려면 액세스 토큰이 필요합니다. 액세스 토큰을 받으려면 몰로코 퍼블리셔 포털에 가입하기 위한 이메일 주소, 비밀번호, 플랫폼 ID를 준비해야 합니다.
이메일 주소 및 비밀번호 준비
가입하면 몰로코로부터 계정 비밀번호를 생성하라는 이메일을 받게 됩니다. 계정 생성 시 사용한 이메일 주소의 받은 편지함에 이 이메일을 수신하지 못한 경우, 몰로코 담당자에게 지원을 요청하세요. 이메일의 안내에 따라 비밀번호를 생성하세요.
몰로코 퍼블리셔 포털의 플랫폼 ID 찾기 및 복사
플랫폼 ID를 찾으려면 몰로코 퍼블리셔 포털에 로그인하고 왼쪽 사이드바에서 Publisher setting을 클릭합니다. 계정의 플랫폼 ID를 찾아 복사합니다.
API를 요청하여 액세스 토큰 생성
이메일 주소, 비밀번호, 플랫폼 ID가 준비되면 API를 요청하여 액세스 토큰을 생성해야 합니다. 다음 요청 샘플에서 email
에 이메일 주소를, password
에 비밀번호를, workplace_id
에 플랫폼 ID를 입력해야 합니다.
curl --request POST \
--url https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/auth/tokens \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data @- <<EOF
{
"email": "<your-email-address-here>",
"password": "<your-password-here>",
"workplace_id": "<your-platform-id-here>"
}
EOF
반환되는 응답에는 퍼블리셔 요약 API 엔드포인트를 사용할 때 헤더에 포함해야 하는 토큰 ID가 있습니다. 이 토큰은 최대 60분 동안 유효하며 토큰이 만료된 후에는 새 API를 요청하여 새 액세스 토큰을 생성해야 합니다.
{
"token": "your-token-here"
}
토큰이 만료되기 전에 기존 토큰을 포함하여 다음 API 요청을 하면 갱신할 수 있으며, 응답에 새 토큰이 반환됩니다. 다음 요청 샘플에서 볼 수 있듯이 권한 부여가 필요한 API 요청을 할 때는 액세스 토큰을 베어러(Bearer) 토큰으로 포함해야 합니다.
curl --request PUT \
--url https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/auth/tokens \
--header 'Authorization: Bearer <your-token-here>' \
--header 'accept: application/json'
2단계: 퍼블리셔 요약 API 엔드포인트에 대한 API를 요청합니다.
다음 API 엔드포인트를 사용해야 합니다.
POST https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/sdk/summary
필수 속성
요청 본문에는 다음 속성이 포함되어야 합니다.
속성 | 유형 | 설명 |
publisher_id | 문자열 | 몰로코 퍼블리셔 포털에서 Publisher settings > Publisher info로 이동하여 복사할 수 있는 퍼블리셔 ID입니다. |
date_range | 객체 |
데이터를 가져올 날짜 범위입니다. 날짜 범위는 최대 31일까지 지정할 수 있습니다. 다음 형식으로 시작 날짜와 종료 날짜를 모두 지정해야 합니다. "date_range": { |
dimensions | 배열 | 데이터를 그룹화하려는 기준인 차원입니다. 자세한 내용은 사용 가능한 차원을 참조하세요. |
metrics | 배열 | 지정한 차원을 기준으로 그룹화한 데이터 요약에 포함하려는 지표입니다. 자세한 내용은 사용 가능한 지표를 참조하세요. |
dimension_filters | 객체 배열 |
일부 데이터의 하위 집합만 검색하기 위해 데이터에 적용하려는 필터입니다. 다음 형식을 사용해야 합니다. "dimension_filters": [ |
order_by | 객체 배열 |
검색된 데이터가 응답에 구성되는 방식을 결정합니다. 사용 가능한 차원 및 지표를 기준으로 데이터를 구성할 수 있습니다. 다음 형식을 사용해야 합니다. "order_by": [ |
사용 가능한 지표
요청 본문에 다음 지표 중 하나 이상을 포함해야 합니다.
지표 | 유형 | 설명 |
REVENUE | 숫자 | USD 단위의 추정 구매금액입니다. |
IMPRESSIONS | 숫자 | 광고 지면에 표시된 소재가 조회된 횟수를 나타내는 총 노출 횟수입니다. |
REQUESTS | 숫자 | 중개 플랫폼 또는 입찰 레이어에서 몰로코에 요청한 총 입찰 요청 횟수입니다. |
CLICKS | 숫자 | 유저의 총 광고 클릭 횟수입니다. |
ECPM | 문자열 | (구매금액x1000)/노출 횟수로 계산되는 eCPM입니다. |
IMP_FILL_RATE | 문자열 | 노출 횟수/요청 횟수로 계산되는 광고 필레이트입니다. |
사용 가능한 차원
요청 본문에 다음 차원 중 하나 이상을 포함해야 합니다.
차원 | 유형 | 설명 |
UTC_DATE | 문자열 |
다음 형식의 날짜입니다. YYYY-MM-DD HH:mm:SS +0000 UTC 예) |
PUBLISHER_APP_ID | 문자열 |
몰로코에서 생성한 App Key이며, 몰로코 퍼블리셔 포털에서 Apps > 앱 > App Detail로 이동하여 찾을 수 있습니다. 예) |
PUBLISHER_APP_TITLE | 문자열 |
앱에 지정한 이름입니다. 예) |
AD_UNIT_TITLE | 문자열 |
광고 단위에 지정한 이름입니다. 예) |
AD_UNIT_ID | 문자열 |
몰로코에서 생성한 Ad Unit ID이며, 몰로코 퍼블리셔 포털에서 Ad Units > 광고 단위 > Ad Unit Detail로 이동하여 찾을 수 있습니다. 예) |
DEVICE_OS | 열거형 |
앱의 OS 유형입니다. 허용되는 값은 |
GEO_COUNTRY | 문자열 |
유저의 IP 주소에서 얻은 ISO 3166 Alpha-3 코드입니다. 예) |
PUBLISHER_APP_STORE_ID | 문자열 |
앱의 스토어 ID(iOS인 경우) 또는 패키지 이름(안드로이드인 경우)입니다. 예) 스토어 ID: 패키지 이름: |
PUBLISHER_APP_PACKAGE_NAME | 문자열 |
안드로이드 앱의 패키지 이름입니다. 예) |
ADUNIT_AUCTION_METHOD | 열거형 | 광고 단위의 경매 방식 유형입니다. 허용되는 값은 IN_APP_BIDDING 및 WATERFALL 입니다. |
요청 본문
요청 본문은 다음과 같은 형식이어야 합니다.
{
"publisher_id": "<MOLOCO-PUBLISHER-ID>",
"date_range": {
"start": "YYYY-MM-DD",
"end": "YYYY-MM-DD"
},
"dimensions": ["<DIMENSION_NAME>"],
3
"metrics": ["<METRIC_NAME>"],
"dimension_filters": [
{
"dimension": "<DIMENSION_NAME>",
"values": ["string"]
}
],
"order_by": [
{
"dimension" | "metric": "<DIMENSION_NAME> | <METRIC_NAME>",
"is_descending": true|false
}
]
}
다음 요청 샘플은 2023년 6월 10일부터 2023년 6월 11일까지의 날짜를 기준으로 총 구매금액을 응답에 반환합니다.
curl --request POST \
--url https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/sdk/summary \
4
--header 'content-type: application/json' \
--header 'Authorization: Bearer <your-token-here>' \
--data @- <<EOF
{
"publisher_id": "<your-publisher-id>",
"date_range": {
"start": "2023-06-10",
"end": "2023-06-11"
},
"dimensions": ["UTC_DATE"],
"metrics": ["REVENUE"]
}
EOF
데이터 필터링
데이터에 필터를 적용하여 일부 데이터의 하위 집합만 검색할 수 있습니다. 다음 예시와 같이 사용 가능한 차원을 필터로 지정할 수 있습니다.
{
"publisher_id": "<your-publisher-id>",
"date_range": {
"start": "2023-06-10",
"end": "2023-06-15"
6
},
"dimensions": ["UTC_DATE", "AD_UNIT_ID"],
"metrics": ["REVENUE", "IMPRESSIONS"],
"dimension_filters":[
{
"dimension": "PUBLISHER_APP_ID",
"values": [ "<moloco-app-id>"]
},{
"dimension": "GEO_COUNTRY",
"values": ["USA", "CAN"]
}]
}
이 요청 샘플은 캐나다와 미국에서 2023년 6월 10일부터 2023년 6월 15일까지 앱 키가 <moloco-app-id>인 앱의 총 구매금액 및 총 노출 횟수를 날짜 및 광고 단위 ID를 기준으로 그룹화하여 응답에 반환합니다.
하나 이상의 차원 및/또는 지표를 기준으로 데이터 그룹화 및 정렬
사용 가능한 차원 및/또는 지표 중 하나 이상을 기준으로 데이터를 그룹화할 수 있습니다. 다음 요청 샘플은 날짜 및 앱 키를 기준으로 필레이트 및 총 클릭 횟수를 응답에 반환합니다. 날짜는 오래된 순에서 최근 순으로 표시되고, 필레이트는 높은 순에서 낮은 순으로 표시됩니다.
{
"publisher_id": "<your-publisher-id>",
"date_range": {
"start": "2023-06-10",
"end": "2023-06-11"
},
"dimensions": ["UTC_DATE", "PUBLISHER_APP_ID"],
"metrics": ["FILL_RATE", "CLICKS"],
"order_by": [{
"dimension": "TIME_BUCKET",
"is_descending": false
}, {
"metric": "FILL_RATE",
"is_descending": true
}]
}
응답 본문
API 요청으로 반환된 응답의 형식은 다음과 같습니다. API 요청에 지정한 차원 및/또는 지표만 응답에 반환됩니다.
{
"rows": [
{
"utc_time_bucket": "YYYY-MM-DD",
"app": {
"app_id": "<moloco-app-id-in-inventory-sheet>",
"app_title": "<pretty-app-name>"
},
"ad_unit": {
"ad_unit_id": "<moloco-ad-unit-id-in-inventory-sheet>",
"ad_unit_title": "<pretty-ad-unit-name>",
"inventory_type": "BANNER" | "INTERSTITIAL" | "REWARD_VIDEO",
"bidfloor": string
},
"device": {
"os": "IOS" | "ANDROID"
},
"geo": {
"country": "<ISO 3166-1 alpha-3 country code>"
},
"metric": {
"revenue": float64,
"impressions": int64,
"requests": int64,
"clicks": int64,
"ecpm": float64,
"fill_rate": float64
}
}
]
}
지표
지표 | 유형 | 설명 |
REVENUE | 숫자 |
USD 단위의 추정 구매금액입니다. 예)130.15
|
IMPRESSIONS | 숫자 |
광고 지면에 표시된 소재가 조회된 횟수를 나타내는 총 노출 횟수입니다. 예) |
REQUESTS | 숫자 |
중개 플랫폼 또는 입찰 레이어에서 몰로코에 요청한 총 입찰 요청 횟수입니다. 예) |
CLICKS | 숫자 |
유저의 총 광고 클릭 횟수입니다. 예) |
ECPM | 문자열 |
(구매금액x1000)/노출 횟수로 계산되는 eCPM입니다. 예) |
IMP_FILL_RATE | 문자열 |
노출 횟수/요청 횟수로 계산되는 광고 필레이트입니다. 예) |
차원
차원 | 유형 | 설명 |
UTC_DATE | 문자열 |
다음 형식의 날짜입니다. YYYY-MM-DD HH:mm:SS +0000 UTC 예) |
PUBLISHER_APP_ID | 문자열 |
몰로코에서 생성한 App Key이며, 몰로코 퍼블리셔 포털에서 Apps > 앱 > App Detail로 이동하여 찾을 수 있습니다. 예) |
PUBLISHER_APP_TITLE | 문자열 |
앱에 지정한 이름입니다. 예) |
AD_UNIT_TITLE | 문자열 |
광고 단위에 지정한 이름입니다. 예) |
AD_UNIT_ID | 문자열 |
몰로코에서 생성한 Ad Unit ID이며, 몰로코 퍼블리셔 포털에서 Ad Units > 광고 단위 > Ad Unit Detail로 이동하여 찾을 수 있습니다. 예) |
DEVICE_OS | 열거형 |
앱의 OS 유형입니다. 허용되는 값은 |
GEO_COUNTRY | 문자열 |
유저의 IP 주소에서 얻은 ISO 3166 Alpha-3 코드입니다. 예) |
PUBLISHER_APP_STORE_ID | 문자열 |
앱의 스토어 ID(iOS인 경우) 또는 패키지 이름(안드로이드인 경우)입니다. 예) 스토어 ID: 패키지 이름: |
PUBLISHER_APP_PACKAGE_NAME | 문자열 |
안드로이드 앱의 패키지 이름입니다. 예) |
ADUNIT_AUCTION_METHOD | 열거형 | 광고 단위의 경매 방식 유형입니다. 허용되는 값은 IN_APP_BIDDING 및 WATERFALL 입니다. |
다음은 날짜 및 OS 유형을 기준으로 2023년 6월 10일부터의 구매금액에 대한 요청 샘플입니다.
curl --request POST \
--url https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/sdk/summary \
--header 'content-type: application/json' \
--header 'Authorization: Bearer <your-token-here>' \
--data @- <<EOF
{
"publisher_id": "<your-publisher-id>",
"date_range": {
"start": "2023-06-10",
"end": "2023-06-10"
},
"dimensions": ["UTC_DATE", "DEVICE_OS"],
"metrics": ["REVENUE"]
}
EOF
반환된 응답에는 요청한 정보만 포함됩니다.
{
"rows": [
{
"utc_time_bucket": "2023-06-10 00:00:00 +0000 UTC",
"device": {
"os": "IOS"
},
"metric": {
"revenue": 100.01
}
}, {
"utc_time_bucket": "2023-06-10 00:00:00 +0000 UTC",
"device": {
"os": "ANDROID"
},
"metric": {
"revenue": 99.99
}
}
]
}
시간대 및 가용성
데이터 세트를 가져오고 표시할 때는 UTC 시간대를 사용합니다. 대부분의 데이터는 실시간으로 제공되지만, 일부 데이터는 제공하는 데 몇 시간이 걸릴 수 있습니다. 따라서 데이터가 기록된 날의 UTC 기준 자정 이후 최대 6시간이 지난 후에 하루치 데이터가 제공될 수 있습니다.
서비스 수준 계약
퍼블리셔가 제기한 문제에 대한 수정 사항은 문제가 처음 보고된 날로부터 영업일 기준 3일 이내에 제공됩니다.