퍼블리셔 요약 API로 퍼포먼스 데이터 가져오기

  • 업데이트 시간

중요

다음 가이드는 API와 그 작동 방식을 이미 알고 있다는 것을 전제로 작성되었습니다. API 호출 방법을 모르는 경우 소프트웨어 엔지니어나 해당 작업을 대신 수행할 수 있는 다른 직원에게 도움을 요청하세요.

퍼블리셔 요약 API를 사용하여 퍼포먼스 데이터를 가져올 수 있습니다. 퍼포먼스 데이터 리포트를 생성하는 방법에 대해 알아보세요. 

 

1단계: 액세스 토큰을 사용하여 인증합니다.

퍼블리셔 요약 API를 사용하려면 액세스 토큰이 필요합니다. 액세스 토큰을 받으려면 몰로코 퍼블리셔 포털에 가입하기 위한 이메일 주소, 비밀번호, 플랫폼 ID를 준비해야 합니다. 

이메일 주소 및 비밀번호 준비

가입하면 몰로코로부터 계정 비밀번호를 생성하라는 이메일을 받게 됩니다. 계정 생성 시 사용한 이메일 주소의 받은 편지함에 이 이메일을 수신하지 못한 경우, 몰로코 담당자에게 지원을 요청하세요. 이메일의 안내에 따라 비밀번호를 생성하세요. 

 

몰로코 퍼블리셔 포털의 플랫폼 ID 찾기 및 복사

플랫폼 ID를 찾으려면 몰로코 퍼블리셔 포털에 로그인하고 왼쪽 사이드바에서 Publisher setting을 클릭합니다. 계정의 플랫폼 ID를 찾아 복사합니다. Screenshot 2024-08-20 at 4.57.54 PM.png

 

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": {
"start": "YYYY-MM-DD",
"end": "YYYY-MM-DD"
}
dimensions 배열 데이터를 그룹화하려는 기준인 차원입니다. 자세한 내용은 사용 가능한 차원을 참조하세요.
metrics 배열 지정한 차원을 기준으로 그룹화한 데이터 요약에 포함하려는 지표입니다. 자세한 내용은 사용 가능한 지표를 참조하세요.
dimension_filters 객체 배열

일부 데이터의 하위 집합만 검색하기 위해 데이터에 적용하려는 필터입니다. 다음 형식을 사용해야 합니다.

"dimension_filters": [
{
"dimension": "<DIMENSION_NAME>",
"values": ["string"]
}
]
order_by 객체 배열

검색된 데이터가 응답에 구성되는 방식을 결정합니다. 사용 가능한 차원 및 지표를 기준으로 데이터를 구성할 수 있습니다. 다음 형식을 사용해야 합니다.

"order_by": [
{
"dimension" | "metric": "<DIMENSION_NAME> | <METRIC_NAME>",
"is_descending": true|false
}
]

 

사용 가능한 지표

요청 본문에 다음 지표 중 하나 이상을 포함해야 합니다. 

지표 유형 설명
REVENUE 숫자 USD 단위의 추정 구매금액입니다.
IMPRESSIONS 숫자 광고 지면에 표시된 소재가 조회된 횟수를 나타내는 총 노출 횟수입니다. 
REQUESTS 숫자 중개 플랫폼 또는 입찰 레이어에서 몰로코에 요청한 총 입찰 요청 횟수입니다.
CLICKS 숫자 유저의 총 광고 클릭 횟수입니다.
ECPM 문자열 (구매금액x1000)/노출 횟수로 계산되는 eCPM입니다.
IMP_FILL_RATE 문자열 노출 횟수/요청 횟수로 계산되는 광고 필레이트입니다. 

 

사용 가능한 차원

요청 본문에 다음 차원 중 하나 이상을 포함해야 합니다.

차원 유형 설명
UTC_DATE 문자열

다음 형식의 날짜입니다.

YYYY-MM-DD HH:mm:SS +0000 UTC

예) 2023-06-30 00:00:00 +0000 UTC

PUBLISHER_APP_ID 문자열

몰로코에서 생성한 App Key이며, 몰로코 퍼블리셔 포털에서 Apps > 앱 > App Detail로 이동하여 찾을 수 있습니다.

예) xadq345a142134

PUBLISHER_APP_TITLE 문자열

앱에 지정한 이름입니다.

예) Sample_app1

AD_UNIT_TITLE 문자열

광고 단위에 지정한 이름입니다.

예) Sample_app1-RV-$10

AD_UNIT_ID 문자열

몰로코에서 생성한 Ad Unit ID이며, 몰로코 퍼블리셔 포털에서 Ad Units > 광고 단위 > Ad Unit Detail로 이동하여 찾을 수 있습니다. 

예) xadar35cq43411ad

DEVICE_OS 열거형

앱의 OS 유형입니다. 허용되는 값은 ANDROIDIOS입니다. 

GEO_COUNTRY 문자열

유저의 IP 주소에서 얻은 ISO 3166 Alpha-3 코드입니다.

예) KOR

PUBLISHER_APP_STORE_ID 문자열

앱의 스토어 ID(iOS인 경우) 또는 패키지 이름(안드로이드인 경우)입니다.

예) 스토어 ID: 123456789,

패키지 이름: com.sample.app

PUBLISHER_APP_PACKAGE_NAME 문자열

안드로이드 앱의 패키지 이름입니다.

예) com.sample.app

ADUNIT_AUCTION_METHOD 열거형 광고 단위의 경매 방식 유형입니다. 허용되는 값은 IN_APP_BIDDINGWATERFALL입니다. 

 

요청 본문

요청 본문은 다음과 같은 형식이어야 합니다.

{
"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 숫자

광고 지면에 표시된 소재가 조회된 횟수를 나타내는 총 노출 횟수입니다. 

예) 810,000

REQUESTS 숫자

중개 플랫폼 또는 입찰 레이어에서 몰로코에 요청한 총 입찰 요청 횟수입니다.

예) 15,000,131

CLICKS 숫자

유저의 총 광고 클릭 횟수입니다.

예) 75,187

ECPM 문자열

(구매금액x1000)/노출 횟수로 계산되는 eCPM입니다.

예) $1.25

IMP_FILL_RATE 문자열

노출 횟수/요청 횟수로 계산되는 광고 필레이트입니다. 

예) 10.51%

 

차원

차원 유형 설명
UTC_DATE 문자열

다음 형식의 날짜입니다.

YYYY-MM-DD HH:mm:SS +0000 UTC

예) 2023-06-30 00:00:00 +0000 UTC

PUBLISHER_APP_ID 문자열

몰로코에서 생성한 App Key이며, 몰로코 퍼블리셔 포털에서 Apps > 앱 > App Detail로 이동하여 찾을 수 있습니다.

예) xadq345a142134

PUBLISHER_APP_TITLE 문자열

앱에 지정한 이름입니다.

예) Sample_app1

AD_UNIT_TITLE 문자열

광고 단위에 지정한 이름입니다.

예) Sample_app1-RV-$10

AD_UNIT_ID 문자열

몰로코에서 생성한 Ad Unit ID이며, 몰로코 퍼블리셔 포털에서 Ad Units > 광고 단위 > Ad Unit Detail로 이동하여 찾을 수 있습니다. 

예) xadar35cq43411ad

DEVICE_OS 열거형

앱의 OS 유형입니다. 허용되는 값은 ANDROIDIOS입니다. 

GEO_COUNTRY 문자열

유저의 IP 주소에서 얻은 ISO 3166 Alpha-3 코드입니다.

예) KOR

PUBLISHER_APP_STORE_ID 문자열

앱의 스토어 ID(iOS인 경우) 또는 패키지 이름(안드로이드인 경우)입니다.

예) 스토어 ID: 123456789,

패키지 이름: com.sample.app

PUBLISHER_APP_PACKAGE_NAME 문자열

안드로이드 앱의 패키지 이름입니다.

예) com.sample.app

ADUNIT_AUCTION_METHOD 열거형 광고 단위의 경매 방식 유형입니다. 허용되는 값은 IN_APP_BIDDINGWATERFALL입니다. 

 

다음은 날짜 및 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일 이내에 제공됩니다. 

도움이 되었습니까?

0명 중 0명이 도움이 되었다고 했습니다.

또 다른 질문이 있으십니까? 문의 등록