상태를 변경하려면 Token을 사용해야 합니다. 자세한 내용은 Token을 확인하세요.
이 장에서는 Advanced Performance Reporting API를 소개합니다.
데이터 업데이트 규칙:
- 시간별 데이터: 일반적으로 처리에 2-3시간이 걸립니다.
- 일별 데이터(T+1): 일반적으로 처리에 2-4시간이 걸립니다.
권장 조회 시간:
- 시간별 데이터: 대상 시간으로부터 2.5시간 후에 가져오는 것을 권장합니다.
- 일별 데이터: 다음 날 03:00 이후에 조회하는 것을 권장합니다.
예시:
- 1월 1일 10:00:00-10:59:59 데이터를 조회하는 경우 → 권장 시점: 1월 1일 12:30 이후.
- 1월 1일 전체 일별 데이터를 조회하는 경우 → 권장 시점: 1월 2일 03:00 이후.
dimension_option 파라미터를 조정하여 특정 차원을 조회할 수 있습니다. 이 인터페이스 호출은 두 단계로 나뉩니다.
1.1 요청 후 데이터가 생성될 때까지 기다려야 합니다. type = 1로 동일한 요청을 계속 보낼 수 있으며(Token은 업데이트해야 함), 이를 통해 데이터 생성 정보를 확인할 수 있습니다.
1.2 인터페이스가 code=200을 반환하면 데이터가 성공적으로 생성되었음을 의미합니다.
1.3 현재 날짜의 데이터를 조회하는 경우 데이터가 불완전할 수 있습니다. 데이터는 시간 단위로 업데이트되므로, 데이터가 준비될 때까지 n시간 기다린 뒤 type=1로 다시 요청하여 데이터를 업데이트하고 최신 데이터 생성 정보를 받은 다음, type=2를 사용해 데이터를 업데이트할지 판단할 수 있습니다.
1.4 데이터 생성 정보는 Response(type=1)를 참고하세요.
2.1 데이터가 아직 생성되지 않은 경우, type = 2 인터페이스 호출 시 200이 아닌 코드가 반환됩니다.
2.2 데이터가 생성된 경우, type = 2 인터페이스는 파일 바이트 스트림(Content-Type: application / octet-stream)을 직접 반환합니다.
2.3 데이터는 "\t"로 열이 구분되고 "\n"으로 행이 구분됩니다.
2.4 반환되는 데이터는 현재 요청의 전체 데이터이며, 증분 데이터만 반환하는 것이 아닙니다.
https://ss-api.mintegral.com/api/v2/reports/data
GET
GET /api/v2/reports/data?start_time=2024-06-01&end_time=2024-06-01&type=1&dimension_option=Offer
HTTP/1.1 Host: ss-api.mintegral.com
| Fields | Type | Explanations | Default Value | Examples |
|---|---|---|---|---|
timezone Optional |
string | 시간대 | "+8" | "+8" |
| start_time | string | 요청 데이터의 시작 시간입니다. 형식은 YYYY-mm-dd입니다. 최근 6개월 데이터만 조회할 수 있습니다. |
— | "2020-02-01" |
| end_time | string | 요청 데이터의 종료 시간입니다. 형식은 YYYY-mm-dd입니다. end_time과 start_time의 기간 차이는 7일을 초과할 수 없습니다. |
— | "2020-02-03" |
| dimension_option | string | 열거 필드: "Offer", "Campaign", "CampaignPackage", "Creative", "AdType", "Sub", "Package", "Location", "Endcard", "AdOutputType". 여러 필드는 쉼표로 구분합니다.dimension_option=> "Offer": Offer ID, Offer Name, UUID 기준으로 데이터를 세분화합니다.dimension_option=> "Campaign": Campaign ID 기준으로 데이터를 세분화합니다.dimension_option=> "CampaignPackage": Campaign Package Name 기준으로 데이터를 세분화합니다.dimension_option=> "Creative": Creative ID, Creative Name 기준으로 데이터를 세분화합니다.dimension_option=> "AdType": Ad Type 기준으로 데이터를 세분화합니다.dimension_option=> "Sub": mtgid(Sub ID, 퍼블리셔 고유 ID) 기준으로 데이터를 세분화합니다.dimension_option=> "Package": Sub Package Name 기준으로 데이터를 세분화합니다.dimension_option=> "Location": Location 기준으로 데이터를 세분화합니다.dimension_option=> "Endcard": Endcard ID, Endcard Name 기준으로 데이터를 세분화합니다.dimension_option=> "AdOutputType": Ad Output Type 기준으로 데이터를 세분화합니다.dimension_option=> "Dma": Dma Code 기준으로 데이터를 세분화합니다.dimension_option=> "State": State Code 기준으로 데이터를 세분화합니다.다음 조합의 데이터 요청은 지원하지 않습니다. Creative & Sub Creative & Package Creative & time_granularity = hourly Endcard & Sub Endcard & Package Endcard & time_granularity = hourly |
- | "Offer,Location" |
time_granularity Optional |
string | 시간 또는 날짜 기준으로 데이터를 세분화합니다. 열거 필드: "hourly", "daily" |
"daily" |
"hourly" |
type Optional |
int | type => 1: 데이터 요청을 보내 현재 요청 조건의 데이터 상태를 가져옵니다. type => 2: 데이터를 다운로드합니다. |
1 |
1 |
| headers (fields) | Type | Explanations | Examples |
|---|---|---|---|
| Date | int | 날짜 | 20220418 |
| Timestamp | int | 타임스탬프 time_granularity = "hourly"로 요청한 경우 |
1650270348 |
| Offer Id | int | Offer ID dimension_option에 "Offer"가 포함된 경우 |
73332 |
| Offer Uuid | string | 자동 생성된 고유 오퍼명 dimension_option에 "Offer"가 포함된 경우 |
ss_xxxx_US_AND_xxx_220112_MTG |
| Offer Name | string | 오퍼명 dimension_option에 "Offer"가 포함된 경우 |
xxxx_US_AND_xxx_220112_MTG |
| Campaign Id | int | Campaign ID dimension_option에 "Campaign"이 포함된 경우 |
1111 |
| Campaign Package | string | 캠페인의 Package name dimension_option에 "CampaignPackage"가 포함된 경우 |
com.xxx.yyy |
| Creative Id | bigint | Ad ID dimension_option에 "Creative "가 포함된 경우 |
2222 |
| Creative Name | string | Ad Name dimension_option에 "Creative"가 포함된 경우 |
220301-xxx-US-MTG01.png |
| Ad Type | string | AD Type dimension_option에 "AdType"이 포함된 경우 |
banner |
| Sub Id | string | 퍼블리셔의 App ID(mtgid) dimension_option에 "Sub"가 포함된 경우 |
mtg123456 |
| Package Name | string | 퍼블리셔 앱의 Package name dimension_option에 "Package"가 포함된 경우 |
com.aaa.bbb |
| Location | string | Location dimension_option에 "Location"이 포함된 경우 |
US |
| Endcard ID | bigint | Endcard ID dimension_option에 "Endcard"가 포함된 경우 |
3333 |
| Endcard Name | string | Endcard Name dimension_option에 "Endcard"가 포함된 경우 |
EC_PL_XXXX_X |
| Ad Output Type | string | Ad Output Type dimension_option에 "AdOutputType"이 포함된 경우 "standard":Standard, "dynamic":Dynamic Included, "playable":Playable Included |
standard |
| Dma Code | int | 지정 시장 지역 코드 dimension_option에 "Dma"가 포함된 경우 |
678 |
| State Code | string | 주 코드 dimension_option에 "State"가 포함된 경우 |
NY |
| Currency | string | 통화 유형, USD/CNY | USD |
| Impression | bigint | 노출 | 7777 |
| Click | bigint | 클릭 | 88888 |
| Conversion | bigint | 전환 | 9999 |
| Ecpm | Double | eCPM | 11.11 |
| Cpc | Double | CPC | 0.03 |
| Ctr | Double | CTR | 0.3 |
| Cvr | Double | CVR | 0.1 |
| Ivr | Double | IVR | 0.05 |
| Spend | Double | 지출 | 8888.8 |
| Fields | Type | Explanations |
|---|---|---|
| code | int | 200 => 데이터 생성이 완료되었으며 type = 2로 데이터를 가져올 수 있습니다. 201 => 요청이 정상적으로 수신되었고 데이터 생성을 기다리는 중입니다. 202 => 데이터가 생성 중입니다. 10000 => 파라미터 오류 또는 권한 부족입니다. |
| msg | string | 성공 시 해당 성공 메시지를 반환합니다. 실패 시 상세 오류 정보를 반환합니다. |
| data | json | 성공 시 데이터 생성 정보를 반환합니다. 실패 시 상세 오류 정보를 반환합니다. |
| hours | int | 현재 데이터에 포함된 시간 수입니다. 예를 들어 start_time = end_time = '2024-06-01'이고 2024-06-01 12:00에 요청한 경우, 현재 데이터가 0시부터 11시까지의 12시간 데이터를 포함하므로 hours=12가 반환될 수 있습니다. |
| is_complete | boolean | TRUE => 데이터가 완전합니다. FALSE => 데이터가 불완전합니다. 예를 들어 end_time이 현재 날짜보다 크거나 같은 경우 데이터가 불완전할 수 있습니다. |
| Fields | Type | Explanations |
|---|---|---|
| code | int | 203 => 동일 조건의 요청을 받지 못했습니다. type = 1을 사용해 데이터 생성 요청을 먼저 생성하세요. 204 => 데이터가 아직 생성되지 않았습니다. 데이터가 생성될 때까지 기다리세요. 205 => 데이터가 만료되었으며(생성된 데이터는 1개월 동안 보관) 다시 생성 중입니다. 10000 => 파라미터 오류 또는 권한 부족입니다. |
| msg | string | 오류 메시지 |
| data | json | 상세 오류 정보를 반환합니다. |
{
"code": 200,
"msg": "success",
"data": {
"hours": 24,
"is_complete": true
}
}