콘텐츠로 건너뛰기

비동기 메시지 통계 내보내기

exportMessagesStatistics는 메시지 기록 및 통계를 서버의 CSV 파일로 내보냅니다. messages:list가 처리할 수 없는 대규모 또는 전체 계정 데이터를 가져올 때 사용하세요.

messages:list 대신 export를 사용해야 하는 경우

Anchor link to

제한된 기간의 실시간 페이징 조회를 위해서는 messages:list를 사용하세요. 결과가 messages:list의 딥 페이징 제한(page × per_page > 100000)을 초과하거나, 페이징된 JSON 대신 다운로드 가능한 단일 파일을 목표로 할 때는 exportMessagesStatistics를 사용하세요. 내보내기는 결과를 하나의 응답에 보관하는 대신 디스크의 파일로 스트리밍하기 때문에 date_range나 행 수에 제한이 없습니다.

내보내기 흐름 작동 방식

Anchor link to
  1. messages:list와 동일한 필터로 export를 호출합니다. 응답은 파일이 생성되기 전에 즉시 uid 작업 식별자를 반환합니다.
  2. 해당 uidstatus를 폴링하여 STATUS_SUCCESS(또는 STATUS_FAILED)를 보고할 때까지 기다립니다.
  3. 동일한 uidresult를 호출하여 생성된 파일 이름을 가져옵니다.
  4. 이름으로 파일을 다운로드합니다.

애플리케이션의 최근 내보내기 작업을 조회하려면 lastTasks를 사용하고, 작업을 취소하거나 파일을 조기에 제거하려면 delete를 사용하세요.

내보내기 라이프사이클에는 5개의 메서드와 일반 다운로드 엔드포인트가 있습니다:

메서드설명
exportMessagesStatistics/export내보내기를 대기열에 추가하고 작업 uid를 반환합니다.
exportMessagesStatistics/status작업 진행 상황을 확인합니다.
exportMessagesStatistics/result작업이 완료되면 생성된 파일 이름을 반환합니다.
exportMessagesStatistics/lastTasks애플리케이션의 최근 내보내기 작업을 나열합니다.
exportMessagesStatistics/delete보존 기간이 만료되기 전에 작업을 취소하거나 파일을 제거합니다.
다운로드생성된 CSV 파일을 이름으로 다운로드합니다.

메시지 기록 내보내기를 대기열에 추가하고 즉시 작업 식별자를 반환합니다.

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/export

요청에는 서버 API 토큰이 필요합니다:

이름필수설명
Authorization서버 API 토큰. 다음 형식으로 제공해야 합니다: Authorization: Api <Server Key>.
요청 본문 매개변수
Anchor link to

요청 본문은 다음 필드를 허용합니다:

이름필수유형설명
typeString<code>"TASK_TYPE_EXPORT<wbr/>_MESSAGES_V2"</code>여야 합니다.
export_messages_v2Object내보내기 매개변수, 아래에 설명되어 있습니다.
export_messages_v2.application_code참고 참조StringPushwoosh 애플리케이션 코드. app_group_code가 설정되지 않은 경우 필수입니다.
export_messages_v2.app_group_code참고 참조String애플리케이션 그룹 코드, 그룹의 모든 앱에 걸쳐 내보냅니다. application_code가 설정되지 않은 경우 필수입니다.
export_messages_v2.search아니요String메시지 제목 및 내용에 대한 자유 텍스트 검색.
export_messages_v2.filters아니요Object메시지 필터, 아래에 설명되어 있습니다. 전체 계정 기록을 내보내려면 생략하세요.
export_messages_v2.properties아니요ArrayCSV에 포함할 열, 아래에 설명되어 있습니다.

export_messages_v2.filters는 다음을 허용합니다:

이름
유형설명
statusesArray포함할 메시지 상태.
가능한 값
  • ”MESSAGE_STATUS_CANCELED"
  • "MESSAGE_STATUS_CREATING"
  • "MESSAGE_STATUS_DONE"
  • "MESSAGE_STATUS_FAIL"
  • "MESSAGE_STATUS_PENDING"
  • "MESSAGE_STATUS_PROCESSING"
  • "MESSAGE_STATUS_WAITING”
platformsArraymessages:list에서 사용하는 플랫폼 이름 문자열이 아닌 플랫폼 코드 (숫자, 예: iOS의 경우 1).
sent_dateObject전송 날짜로 필터링된 보고 기간: {"date_from": "YYYY-MM-DD", "date_to": "YYYY-MM-DD"}.
created_dateObject메시지 생성 날짜로 필터링된 보고 기간, sent_date와 동일한 형식.
created_viaArray메시지 소스.
가능한 값
  • ”AB_TEST"
  • "API"
  • "AUTO_PUSH"
  • "CP"
  • "CSV"
  • "CUSTOMER_JOURNEY"
  • "EMAIL_API"
  • "EMAIL_CP"
  • "GEO_ZONE"
  • "PUSH_ON_EVENT"
  • "RSS"
  • "SYSTEM”
segmentsArray메시지가 전송된 필터 코드.
campaignsArray캠페인 코드. messages:list와 달리 단일 코드가 아닌 목록을 사용합니다.
message_idString (uint64)따옴표로 묶인 단일 숫자 메시지 ID. messages:list와 달리 내보내기는 배열이 아닌 하나의 ID를 사용합니다.
message_codeString단일 메시지 코드.

export_messages_v2.properties는 CSV에 포함될 열을 선택합니다.

가능한 값
  • "EXPORT_MESSAGE_PROPERTY_ID"
  • "EXPORT_MESSAGE_PROPERTY_TIMESTAMP"
  • "EXPORT_MESSAGE_PROPERTY_CONTENT"
  • "EXPORT_MESSAGE_PROPERTY_TITLE"
  • "EXPORT_MESSAGE_PROPERTY_APPLICATIONS"
  • "EXPORT_MESSAGE_PROPERTY_STATUS"
  • "EXPORT_MESSAGE_PROPERTY_PLATFORMS"
  • "EXPORT_MESSAGE_PROPERTY_SOURCE"
  • "EXPORT_MESSAGE_PROPERTY_FILTER"
  • "EXPORT_MESSAGE_PROPERTY_SUBSCRIPTION_SEGMENTS"
  • "EXPORT_MESSAGE_PROPERTY_SENT"
  • "EXPORT_MESSAGE_PROPERTY_OPENED"
  • "EXPORT_MESSAGE_PROPERTY_ERRORS"
  • "EXPORT_MESSAGE_PROPERTY_RECIPIENTS"
  • "EXPORT_MESSAGE_PROPERTY_DELIVERED"
  • "EXPORT_MESSAGE_PROPERTY_TOTAL_DELIVERED"
  • "EXPORT_MESSAGE_PROPERTY_TOTAL_OPENED"
  • "EXPORT_MESSAGE_PROPERTY_TOTAL_CLICKS"
  • "EXPORT_MESSAGE_PROPERTY_CLICKS"
  • "EXPORT_MESSAGE_PROPERTY_UNSUBSCRIBED"
요청 예시
Anchor link to
{
"type": "TASK_TYPE_EXPORT_MESSAGES_V2",
"export_messages_v2": {
"application_code": "XXXXX-XXXXX",
"filters": {
"created_date": {
"date_from": "2026-01-01",
"date_to": "2026-06-30"
},
"statuses": ["MESSAGE_STATUS_DONE"],
"platforms": [1, 3]
},
"properties": [
"EXPORT_MESSAGE_PROPERTY_ID",
"EXPORT_MESSAGE_PROPERTY_TIMESTAMP",
"EXPORT_MESSAGE_PROPERTY_STATUS",
"EXPORT_MESSAGE_PROPERTY_PLATFORMS",
"EXPORT_MESSAGE_PROPERTY_SENT",
"EXPORT_MESSAGE_PROPERTY_OPENED"
]
}
}
{
"uid": "177458"
}

내보내기 작업의 진행 상황을 반환합니다.

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/status

요청 본문 매개변수
Anchor link to

export에서 반환된 작업 식별자를 전달합니다:

이름필수유형설명
uidString (int64)export 응답의 작업 식별자, 예: "177458".
요청 예시
Anchor link to
{
"uid": "177458"
}
{
"status": "STATUS_SUCCESS",
"progress": 1
}

status"STATUS_PENDING", "STATUS_SUCCESS" 또는 "STATUS_FAILED" 중 하나입니다. progress01 사이의 분수입니다. result를 호출하기 전에 status"STATUS_SUCCESS"에 도달할 때까지 폴링하세요.

작업이 완료되면 생성된 파일 이름을 반환합니다.

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/result

요청 본문 매개변수
Anchor link to

export에서 반환된 동일한 작업 식별자를 전달합니다:

이름필수유형설명
uidString (int64)export 응답의 작업 식별자, 예: "177458".
요청 예시
Anchor link to
{
"uid": "177458"
}
{
"export_messages_v2_result": {
"file": "Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv"
}
}

status"STATUS_SUCCESS"를 보고하기 전에 result를 호출하면 빈 결과가 반환됩니다. file 값을 그대로 다운로드 엔드포인트에 전달하세요.

애플리케이션의 최근 내보내기 작업을 최신순으로 나열합니다.

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/lastTasks

요청 본문 매개변수
Anchor link to

모든 매개변수는 선택적 필터입니다. 토큰이 액세스할 수 있는 모든 작업을 나열하려면 모두 생략하세요:

이름필수유형설명
application아니요StringPushwoosh 애플리케이션 코드. 토큰이 액세스할 수 있는 모든 애플리케이션의 작업을 나열하려면 생략하세요.
types아니요Array특정 작업 유형으로 제한합니다. 메시지 내보내기만 보려면 [“TASK_TYPE_EXPORT_MESSAGES_V2”]를 사용하세요.
campaign아니요String캠페인 코드로 필터링합니다.
message_id아니요String (uint64)따옴표로 묶인 단일 숫자 메시지 ID로 필터링합니다.
message_code아니요String단일 메시지 코드로 필터링합니다.
limit아니요Integer반환할 최대 작업 수.
timestamp_from아니요String이 타임스탬프(RFC 3339) 이후에 생성된 작업만 반환합니다.
요청 예시
Anchor link to
{
"application": "XXXXX-XXXXX",
"types": ["TASK_TYPE_EXPORT_MESSAGES_V2"],
"limit": 10
}
{
"tasks": [
{
"id": "177458",
"timestamp": "2026-08-13T12:00:00Z",
"status": "STATUS_SUCCESS",
"requested_by_user": "user@example.com",
"export_messages_v2": {
"application_code": "XXXXX-XXXXX"
},
"export_messages_v2_result": {
"file": "Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv"
}
}
]
}

7일 보존 기간이 만료되기 전에 작업과 해당 파일을 삭제합니다.

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/delete

요청 본문 매개변수
Anchor link to

export에서 반환된 작업 식별자를 전달합니다:

이름필수유형설명
uidString (int64)export 응답의 작업 식별자, 예: "177458".
요청 예시
Anchor link to
{
"uid": "177458"
}
{}

다운로드

Anchor link to

result에서 생성된 CSV 파일을 이름으로 다운로드합니다.

GET https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/download/<file>

다른 메서드와 동일한 방식으로 인증하거나 활성 Control Panel 세션에 의존합니다:

이름필수설명
Authorization서버 API 토큰, 다른 exportMessagesStatistics 메서드와 동일한 형식: Authorization: Api <Server Key> (Api 스킴은 대소문자를 구분하지 않습니다). Authorization 헤더가 없고 로그인된 Control Panel 세션이 없는 요청은 401 Unauthorized를 받습니다.

<file>result 응답의 정확한 file 값으로 바꾸세요. 예:

https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/download/Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv

파일은 properties에서 선택한 열을 포함하는 CSV입니다. 내보내기가 완료된 후 7일 동안 사용할 수 있으며, 그 후 정리 작업이 파일을 제거하고 URL은 더 이상 확인되지 않습니다.