Notification > Notification Hub > API v1.0 사용 가이드 > 통계
통계 이벤트를 이벤트가 발생한 시간 기준으로 조회합니다.
요청
GET /stats/v1.0/stats
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
요청 파라미터
| 이름 | 구분 | 타입 | 필수 | 설명 |
|---|---|---|---|---|
| X-NC-APP-KEY | Header | String | Y | 앱키 |
| X-NHN-Authorization | Header | String | Y | 액세스 토큰 |
| eventCategory | Query | V1x0EventCategory | Y | 이벤트 카테고리 |
| messageChannel | Query | V1x0MessageChannel | N | 메시지 채널입니다. 설정하지 않으면 메시지 채널 전체에 대해 통계 데이터가 조회되며, 이벤트 카테고리는 메시지 발송(MESSAGE_SEND)만 설정할 수 있습니다. |
| statsKeyId | Query | String | N | 통계 키 아이디입니다. |
| messageId | Query | String | N | 메시지 아이디입니다. |
| templateId | Query | String | N | 템플릿 아이디입니다. |
| eventDateTimeFrom | Query | Date | N | 통계 이벤트 조회 시작 일시(포함)입니다. 연월일시분까지 적용됩니다. 초와 밀리초는 사용되지 않습니다. 예로, \"2023-12-31T00:00:30.999+09:00\"는 \"2023-12-31T00:00:00.000+09:00\"으로 처리됩니다. |
| eventDateTimeTo | Query | Date | N | 통계 이벤트 조회 종료 일시(미포함)입니다. 연월일시분까지 적용됩니다. 초와 밀리초는 사용되지 않습니다. 예로, \"2024-01-01T00:00:30.999+09:00\"는 \"2024-01-01T00:00:00.000+09:00\"으로 처리됩니다. |
| statsType | Query | V1x0StatsType | N | 통계 유형 - MINUTELY: 0분 ~ 59분 사이 그룹핑 - HOURLY: 0시 ~ 23시 사이 그룹핑 - DAILY: 0일 ~ 30일 사이 그룹핑 - BY_DAY_OF_WEEK: 월화수목금토일 그룹핑 예: timeGrouping을 BY_DAY_OF_WEEK로 설정하면, 30일치를 조회하더라도 요일(월~일) 기준으로 데이터가 그룹화됩니다. |
| timeZone | Query | String | N | 통계 조회 타임존(시간대)입니다. 예: Asia/Seoul, UTC, America/New_York 통계 조회 시 데이터를 받을 때 원하는 시간대로 설정해서 받을 수 있습니다. 일반적으로 조회하는 클라이언트/브라우저의 시간대를 설정하면 됩니다. 예를 들어, 요일별로 그룹핑된 통계 데이터를 한국이 아닌 다른 곳에서 조회한 경우 시간대가 다르기 때문에 원하는 데이터가 조회되지 않을 수 있습니다. |
| statsCriteria | Query | List | N | 조회 기준입니다. 설정된 이벤트 카테고리에 따라 설정할 수 있는 조회 기준이 달라집니다. |
| extra1 | Query | String | N | 추가 수집되는 데이터입니다. |
| extra2 | Query | String | N | 추가 수집되는 데이터입니다. |
| extra3 | Query | String | N | 추가 수집되는 데이터입니다. |
메시지 채널에 따라 설정할 수 있는 이벤트 카테고리가 달라집니다.
| 메시지 채널 | 이벤트 카테고리 |
|---|---|
| SMS | MESSAGE_SEND, INTERNATIONAL_MESSAGE_SEND |
| ALIMTALK, FRIENDTALK, RCS, EMAIL, PUSH | MESSAGE_SEND |
| * 조회 시작 일시는 조회 기간에 포함이 되며, 조회 종료 일시는 조회 기간에 포함되지 않습니다. | |
| * 예: 2025년 1월 1일 하루 데이터를 조회하기 위해서는 eventDateTimeFrom을 2025-01-01T00:00:00.000+09:00로 설정하고 eventDateTimeTo를 2025-01-02T00:00:00.000+09:00로 설정해야 합니다. | |
| * 이벤트 외 추가로 데이터를 수집해 총 3개(extra1, extra2, extra3)의 추가 필드를 제공합니다. | |
| 설정된 이벤트 카테고리에 따라 추가 수집되는 데이터의 종류가 다릅니다. |
| 이벤트 카테고리 | 추가 데이터 1 | 추가 데이터 2 | 추가 데이터 3 |
|---|---|---|---|
| MESSAGE_SEND | 발송 유형(SMS, LMS, MMS 등) | 발송 목적(NORMAL, AUTH, AD) | 발신 정보(발신 번호, 발신 도메인 등) |
| INTERNATIONAL_MESSAGE_SEND | 발송 유형(SMS, LMS, MMS 등) | 발송 목적(NORMAL, AUTH, AD) | 발신 정보(발신 번호, 발신 도메인 등) |
요청 본문
이 API는 요청 본문을 요구하지 않습니다.
응답 본문
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "SUCCESS"
},
"stats" : {
"columns" : [ {
"name" : "EVENT_DATE_TIME"
}, {
"name" : "REQUESTED"
}, {
"name" : "SENT"
}, {
"name" : "SEND_FAILED"
}, {
"name" : "DELIVERED"
}, {
"name" : "DELIVERY_FAILED"
}, {
"name" : "OPENED"
} ],
"rows" : [ {
"EVENT_DATE_TIME" : "2023-12-31T00:00:00.000+09:00",
"REQUESTED" : 10,
"SENT" : 10,
"SEND_FAILED" : 1,
"DELIVERED" : 7,
"DELIVERY_FAILED" : 1,
"OPENED" : 1
} ]
}
}
| 경로 | 타입 | 설명 |
|---|---|---|
| header | Object | |
| header.isSuccessful | Boolean | 요청이 성공했는지 여부를 나타냅니다. 기본값: true |
| header.resultCode | Integer | 요청의 결과 코드입니다. 기본값: 0 |
| header.resultMessage | String | 요청의 결과 메시지입니다. 기본값: SUCCESS |
| stats | Object | |
| stats.columns | Array | 이벤트 카테고리에 대한 이벤트가 칼럼으로 응답됩니다. EVENT_DATE_TIME 칼럼은 이벤트 발생 일시를 나타냅니다. |
| stats.rows | Array | EVENT_DATE_TIME 필드을 제외한 나머지 필드은 이벤트 카테고리에 따라 응답됩니다. |
요청 예시
### 통계 조회
GET {{endpoint}}/stats/v1.0/stats?eventCategory={{eventCategory}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
curl -X GET "${endpoint}/stats/v1.0/stats?eventCategory=${eventCategory}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"