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}"