메시지 통계
messages:list
Anchor link to전송된 메시지 목록을 표시합니다.
POST https://api.pushwoosh.com/api/v2/messages:list
| 이름 | 필수 | 설명 |
|---|---|---|
Authorization | 예 | 서버 API 토큰. Authorization: Api <Server Key> 형식으로 제공해야 합니다. |
요청 본문 매개변수
Anchor link to| 이름 | 필수 | 타입 | 설명 |
|---|---|---|---|
platforms | 아니요 | Array | 메시지 플랫폼. 가능한 값: "IOS", "ANDROID", "OSX", "WINDOWS", "AMAZON", "SAFARI", "CHROME", "FIREFOX", "IE", "EMAIL", "HUAWEI_ANDROID", "SMS". |
date_range | 아니요 | Object | 메시지 생성 날짜를 기준으로 필터링된 보고 기간. date_from 및 date_to는 YYYY-MM-DD 형식을 따라야 합니다 (예: "2000-01-01"). 두 날짜 모두 포함되므로, date_from과 date_to를 같은 날짜로 설정하면 해당 날짜 전체가 반환됩니다. |
campaign | 아니요 | String | 캠페인 코드 |
filters | 예 | Object | 메시지 필터. |
source | 아니요 | String | 메시지 소스. 예: AB_TEST, API, AUTO_PUSH, CP, CSV, CUSTOMER_JOURNEY, EMAIL_API, EMAIL_CP, GEO_ZONE, PUSH_ON_EVENT, RSS. |
messages_codes | 아니요 | Array | /createMessage API 응답에서 얻은 [메시지 코드](/ko/developer/api-reference/api-identifiers/#message-code). |
messages_ids | 아니요 | Array | 메시지 기록에서 얻은 메시지 ID |
params | 아니요 | Object | 메시지 세부 정보와 메트릭을 표시할지 여부를 지정합니다. 응답에 "details" 객체를 포함하려면 with_details: true를, "metrics" 객체를 포함하려면 with_metrics: true를 설정합니다. |
application | 예 | String | Pushwoosh 애플리케이션 코드. |
per_page | 아니요 | Integer | 페이지당 결과 수, 1에서 499까지. 기본 페이지 크기인 500개 결과를 얻으려면 매개변수를 생략하세요. 500 이상을 명시적으로 전달하면 400으로 거부됩니다. |
page | 아니요 | Integer | 페이지네이션을 위한 0부터 시작하는 페이지 번호. 아래의 딥 페이지네이션 제한을 참조하세요. |
요청 예시
Anchor link to{ "filters": { "platforms": [], // IOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, HUAWEI_ANDROID, SMS "date_range": { "date_from": "string", // 필수 형식: 2000-01-01 "date_to": "string" // 필수 형식: 2000-01-01 }, "source": "API", // AB_TEST, API, AUTO_PUSH, CP, CSV, CUSTOMER_JOURNEY, EMAIL_API, EMAIL_CP, GEO_ZONE, PUSH_ON_EVENT, RSS "campaign": "string", // 캠페인 코드 "messages_ids": [], // 메시지 ID "messages_codes": [], // 메시지 코드 "application": "string" // Pushwoosh 애플리케이션 코드 }, "params": { "with_details": true, // 응답에 메시지 세부 정보 추가 ("details" 객체) "with_metrics": true // 응답에 메시지 메트릭 추가 ("metrics" 객체) }, "per_page": 20, // <= 499 "page": 0}응답 코드 및 예시
{ "total": 0, "items": [{ "id": 0, "code": "string", "created_date": "string", "send_date": "string", "status": "string", "platforms": [], "source": "string", "push_info": { "details": { "title": "string", "filter_name": "string", "filter_code": "string", "content": { "key": "value" }, "platform_parameters": { "android_header": "string", "android_root_params": { "key": "value" }, "ios_title": "string", "ios_subtitle": "string", "ios_root_params": { "key": "value" }, "chrome_header": "string", "chrome_root_params": { "key": "value" }, "firefox_header": "string", "firefox_root_params": { "key": "value" }, "conditions": [ // 태그 조건 (/developer/api-reference/messages-api/#tag-conditions 참조) TAG_CONDITION1, TAG_CONDITION2, ..., TAG_CONDITIONN ], "conditions_operator": "AND", // 조건 배열에 대한 논리 연산자; 가능한 값: AND, OR "data": { "key": "value" } }, "follow_user_timezone": true }, "metrics": [{ "sends": 0, "opens": 0, "deliveries": 0, "inbox_opens": 0, "unshowable_sends": 0, "errors": 0, "platform": 0 }] }, "email_info": { "details": { "template": "string", "filter_name": "string", "filter_code": "string", "subject": { "key": "value" }, "from_name": "string", "from_email": "string", "reply_name": "string", "reply_email": "string", "follow_user_timezone": true, "conditions": [ // 태그 조건 (Messages-api - tag-conditions 참조) TAG_CONDITION1, TAG_CONDITION2, ..., TAG_CONDITIONN ], "conditions_operator": "AND" // 조건 배열에 대한 논리 연산자; 가능한 값: AND, OR }, "metrics": [{ "sends": 0, "opens": 0, "deliveries": 0, "hard_bounces": 0, "soft_bounces": 0, "rejects": 0, "confirmed_sends": 0, "unsubs": 0, "complaints": 0, "errors": 0 }] } }]}date_range가 30일을 초과합니다:
{ "error": "exceeded the maximum date interval. Max interval: 30 days"}page × per_page가 딥 페이지네이션 제한을 초과합니다:
{ "error": "requested result window is too large, narrow the date range"}{ "error": "account not found"}totalsByIntervals
Anchor link to메시지 코드를 기반으로 시간별로 집계된 메트릭 및 전환 데이터를 반환합니다.
POST https://api.pushwoosh.com/api/v2/statistics/messages/totalsByIntervals
인증은 요청 헤더의 API 액세스 토큰을 통해 처리됩니다.
요청 본문 매개변수
Anchor link to| 매개변수 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
message_code | string | /createMessage API 응답에서 얻은 [메시지 코드](/ko/developer/api-reference/api-identifiers/#message-code). | 예 |
platforms | [int] | 플랫폼 | 아니요 |
요청 예시
Anchor link to{ "message_code": "XXXXX-XXXXXXXXX-XXXXXXXX", // 필수. 고유 메시지 식별자 "platforms": [1, 3, 7, 10, 11, 12] // 선택 사항. 플랫폼 코드 목록}응답 필드
Anchor link to| 이름 | 타입 | 설명 |
|---|---|---|
metrics | array | 메시지 메트릭 배열을 포함합니다 |
timestamp | string | 메트릭의 시간. |
platform | int | 플랫폼 코드 (예: iOS, Android). |
sends | string | 전송된 메시지 수. |
opens | string | 열린 메시지 수. |
deliveries | string | 전달된 메시지 수. |
inbox_opens | string | 받은 편지함에서 열린 메시지 수. |
unshowable_sends | string | 표시할 수 없었던 전송된 메시지 수. |
errors | string | 오류 수. |
conversion | object | 전환 데이터를 포함합니다 |
sends | string | 총 전송된 메시지 수. |
opens | string | 총 열린 메시지 수. |
events | array | 통계가 포함된 이벤트 배열 |
name | string | 이벤트 이름 (예: 장바구니 추가). |
hits | string | 히트 수. |
conversion | float | 오픈 대비 전환율. |
revenue | float | 수익 (__amount 및 __currency 속성이 있는 이벤트에만 해당). |
응답 예시
Anchor link to{ "metrics": [{ "timestamp": "2024-08-03 15:00:00", // "YYYY-MM-DD HH:MM:SS" 형식의 메트릭 타임스탬프 "platform": 3, // 플랫폼 코드 "sends": "55902", // 전송된 메시지 수 "opens": "382", // 열린 메시지 수 "deliveries": "22931", // 전달된 메시지 수 "inbox_opens": "0", // 받은 편지함에서 열린 메시지 수 "unshowable_sends": "2", // 표시할 수 없었던 메시지 수 "errors": "0" // 발생한 오류 수 }], "conversion": { "sends": "55902", // 총 전송된 메시지 수 "opens": "772", // 총 열린 메시지 수 "events": [{ "name": "cart_add", // 이벤트 이름 "hits": "96", // 이벤트 히트 수 "conversion": 0.12, // 오픈 대비 전환율 "revenue": 0 // 이벤트로 발생한 수익 (금액/통화 속성이 있는 이벤트에만 해당) }] }}getDeliveryFunnel
Anchor link to단일 메시지에 대한 전송 퍼널을 채널별로 나누어 반환합니다: 대상 → 전송됨 → 오류 → 전달됨 → 열림, 이메일 브로드캐스트의 경우 상호작용 포함. 각 채널의 대상이 각 단계에서 어디에서 손실되는지에 대한 분석을 포함합니다.
POST https://api.pushwoosh.com/api/v2/statistics/messages/getDeliveryFunnel
| 이름 | 필수 | 설명 |
|---|---|---|
Authorization | 필수 | Pushwoosh 제어판의 API 액세스 토큰. |
요청 본문 매개변수
Anchor link to| 이름 | 필수 | 타입 | 설명 |
|---|---|---|---|
message_code | 예 | String | /createMessage API 응답에서 얻은 [메시지 코드](/ko/developer/api-reference/api-identifiers/#message-code). |
platforms | 아니요 | Array of Integer | 선택적인 [플랫폼 ID](/ko/developer/api-reference/messages-api/api-prerequisites/#platforms) 필터. |
시간 범위 매개변수는 없습니다. 퍼널에는 시간 축이 없으므로 서버는 메시지 자체의 전송 및 확인 데이터에서 창을 파생합니다 (window_from/window_to로 반환됨).
요청 예시
Anchor link to{ "message_code": "A444-AAABBBCC-00112233", // 필수, /createMessage 응답에서 얻은 메시지 코드 "platforms": [1, 3, 7] // 선택 사항, 플랫폼 코드 목록}응답 필드
Anchor link to| 이름 | 타입 | 설명 |
|---|---|---|
channels | array | 이 메시지에 대한 데이터가 있는 채널당 하나의 항목. 메시지가 사용하지 않은 채널은 생략됩니다 — 부재는 0이 아니라 “데이터 없음”을 의미합니다. |
channels[].channel | string | CHANNEL_MOBILE_PUSH (iOS, OSX, Android, Amazon, Huawei), CHANNEL_WEB_PUSH (Safari, Chrome, Firefox), CHANNEL_EMAIL, 또는 CHANNEL_OTHER (SMS, 메신저, Wallet, Windows 및 기타 플랫폼). |
channels[].funnel | array | 이 채널의 퍼널 단계, 항상 이 순서: STAGE_AUDIENCE, STAGE_SENT, STAGE_ERRORS, STAGE_DELIVERIES, STAGE_OPENED, 그리고 이메일 브로드캐스트에만 해당(트랜잭션 메시지 제외) STAGE_INTERACTIONS. |
channels[].funnel[].stage | string | 퍼널 단계 이름. |
channels[].funnel[].count | string | 단계의 총 개수. |
channels[].funnel[].pieces | array | count를 카테고리로 분류한 것. errors를 대신 전달하는 STAGE_ERRORS에서는 비어 있습니다. 개수가 0인 카테고리는 0으로 반환되는 대신 생략됩니다. |
channels[].funnel[].pieces[].kind | string | 조각이 단계 총계와 어떻게 관련되는지: KIND_PASSED (다음 단계로 이동) 또는 KIND_REASON (이 이유로 탈락). 모든 조각은 합산 항목입니다 — 단계의 조각들은 항상 count에 합산됩니다. |
channels[].funnel[].pieces[].category | string | 분류 카테고리, 예: INVALID_TOKEN, FREQUENCY_CAPPING, ELIGIBLE_AUDIENCE — 아래 단계 표를 참조하세요. |
channels[].funnel[].pieces[].count | string | 이 카테고리의 개수. |
channels[].funnel[].pieces[].platforms | array | 이 카테고리의 플랫폼별 분석: { "platform": <id>, "count": "<n>" }. 보고할 내용이 없는 플랫폼은 0으로 반환되는 대신 생략됩니다. |
channels[].funnel[].errors | array | STAGE_ERRORS에만 해당, pieces 대신: 탈락 카테고리당 하나의 행 (category, count, platforms) — kind를 제외하고 조각과 동일한 형태. |
channels[].funnel[].platforms | array | 단계 자체의 count에 대한 플랫폼별 분석. |
channels[].deliveries_form | string | STAGE_DELIVERIES가 전달하는 분석: DELIVERIES_FORM_PER_DEVICE (세 행, 알림 상태 알려짐) 또는 DELIVERIES_FORM_BASIC (두 행, 알림 상태 알려지지 않음). |
channels[].basic_form_reason | string | deliveries_form이 DELIVERIES_FORM_BASIC일 때만 설정됨: BASIC_FORM_REASON_RETENTION (메시지가 행 수준 로그 보존 기간보다 오래됨), BASIC_FORM_REASON_UNAVAILABLE (이 계정에 대한 기기별 데이터 없음), BASIC_FORM_REASON_NO_DELIVERIES (아직 수락된 것 없음), 또는 BASIC_FORM_REASON_NOT_APPLICABLE (이 채널에는 알림 상태가 없음 — 성능 저하 아님). |
channels[].confirmed_deliveries | object | { "count": "<n>", "platforms": [...] } — deliveries_form과 무관하게 전송을 확인한 고유 기기. confirmed_deliveries는 STAGE_DELIVERIES.count에 고정되지 않으므로 해당 총계를 약간 벗어날 수 있습니다. 다른 연령의 메시지에 걸쳐 연속적인 전송 추세를 보려면 confirmed_deliveries를 사용하세요. |
window_from, window_to | string (RFC 3339 날짜-시간) | 퍼널이 실제로 계산된 시간 창, 메시지 자체 데이터에서 파생됨. |
funnel_state | string | FUNNEL_STATE_READY (channels 채워짐), FUNNEL_STATE_NO_EVENTS (이 메시지에 대해 아직 아무 일도 일어나지 않음 — channels 비어 있음), 또는 FUNNEL_STATE_EXPIRED (메시지가 365일보다 오래됨, 통계 더 이상 저장되지 않음 — channels 비어 있음). |
퍼널 단계
Anchor link to| 단계 | 적용 대상 | count 의미 | pieces / errors |
|---|---|---|---|
STAGE_AUDIENCE | 모든 채널 | 처리 대상으로 간주됨. | KIND_PASSED ELIGIBLE_AUDIENCE; KIND_REASON: FREQUENCY_CAPPING, CONTROL_GROUP (모든 채널), UNSUBSCRIBED, BOUNCED, COMPLAINT, FILTERED_BY_CATEGORY (이메일만) |
STAGE_SENT | 모든 채널 | 게이트웨이/제공업체에서 수락됨 (ACCEPTED_BY_GATEWAY). | 없음 — 이 단계는 전적으로 수락된 총계이며, 거부는 STAGE_ERRORS 아래에 표시됩니다. |
STAGE_ERRORS | 모든 채널 | 수신자에게 도달하기 전에 거부됨. | errors[], pieces 아님: INTERNAL_ERROR, INVALID_TOKEN, NO_TOKEN, NO_DEVICE, PLATFORM_DISABLED, QUOTA_EXCEEDED, INVALID_CONTENT, INVALID_CONFIGURATION, PROVIDER_ERROR (분류되지 않음) |
STAGE_DELIVERIES | 모든 채널 | 확인을 위해 수락된 전송 — 얼마나 많이 확인되었는지가 아니라 얼마나 많았는지. | 기기별 양식: KIND_PASSED DISPLAYABLE_CONFIRMED; KIND_REASON: DISPLAYABLE_NO_CONFIRMATION, ALERTS_DISABLED. 기본 양식: KIND_PASSED CONFIRMED_BY_DEVICE; KIND_REASON NO_CONFIRMATION |
STAGE_OPENED | 모든 채널 | 열람한 고유 기기/주소. | 이메일에만 해당, 메시지가 60일 미만일 때만: KIND_PASSED OPENED_BY_RECIPIENT; KIND_REASON: MACHINE_OPENS_ONLY (자동 열람, 예: 메일박스 미리보기 클라이언트), OPEN_TYPE_UNKNOWN. 다른 채널 및 60일이 지난 이메일: pieces 없음. |
STAGE_INTERACTIONS | 이메일 브로드캐스트만 (트랜잭션 메시지 아님) | 수신자가 이메일로 수행한 작업. | KIND_PASSED CLICKED_ONLY; KIND_REASON: CLICKED_AND_UNSUBSCRIBED, CLICKED_AND_COMPLAINED, UNSUBSCRIBED_WITHOUT_CLICK, COMPLAINED_WITHOUT_CLICK |
응답 예시
Anchor link to{ "channels": [ { "channel": "CHANNEL_EMAIL", "funnel": [ { "stage": "STAGE_AUDIENCE", "count": "600000", "pieces": [ { "kind": "KIND_PASSED", "category": "ELIGIBLE_AUDIENCE", "count": "580000" }, { "kind": "KIND_REASON", "category": "UNSUBSCRIBED", "count": "14000" }, { "kind": "KIND_REASON", "category": "BOUNCED", "count": "6000" } ] }, { "stage": "STAGE_SENT", "count": "560000", "pieces": [] }, { "stage": "STAGE_ERRORS", "count": "20000", "errors": [ { "category": "INVALID_TOKEN", "count": "18000" }, { "category": "PROVIDER_ERROR", "count": "2000" } ] }, { "stage": "STAGE_DELIVERIES", "count": "560000", "pieces": [ { "kind": "KIND_PASSED", "category": "CONFIRMED_BY_DEVICE", "count": "540000" }, { "kind": "KIND_REASON", "category": "NO_CONFIRMATION", "count": "20000" } ] }, { "stage": "STAGE_OPENED", "count": "30514", "pieces": [ { "kind": "KIND_PASSED", "category": "OPENED_BY_RECIPIENT", "count": "26102" }, { "kind": "KIND_REASON", "category": "MACHINE_OPENS_ONLY", "count": "4412" } ] }, { "stage": "STAGE_INTERACTIONS", "count": "1980", "pieces": [ { "kind": "KIND_PASSED", "category": "CLICKED_ONLY", "count": "1820" }, { "kind": "KIND_REASON", "category": "UNSUBSCRIBED_WITHOUT_CLICK", "count": "140" }, { "kind": "KIND_REASON", "category": "CLICKED_AND_COMPLAINED", "count": "20" } ] } ], "deliveries_form": "DELIVERIES_FORM_BASIC", "basic_form_reason": "BASIC_FORM_REASON_NOT_APPLICABLE", "confirmed_deliveries": { "count": "540000" } }, { "channel": "CHANNEL_MOBILE_PUSH", "funnel": [ { "stage": "STAGE_DELIVERIES", "count": "168316", "pieces": [ { "kind": "KIND_PASSED", "category": "DISPLAYABLE_CONFIRMED", "count": "89570" }, { "kind": "KIND_REASON", "category": "DISPLAYABLE_NO_CONFIRMATION", "count": "78746" } ] }, { "stage": "STAGE_OPENED", "count": "30514", "pieces": [] } ], "deliveries_form": "DELIVERIES_FORM_PER_DEVICE", "confirmed_deliveries": { "count": "91240" } } ], "window_from": "2026-08-01T00:00:00Z", "window_to": "2026-08-04T00:00:00Z", "funnel_state": "FUNNEL_STATE_READY"}응답 코드 및 예시
{ "channels": [], "funnel_state": "FUNNEL_STATE_NO_EVENTS"}{ "error": "message_code must be set"}{ "error": "account not found"}{ "error": "message not found"}getMessageLog
Anchor link to전송된 메시지에 대한 자세한 정보를 표시합니다.
POST https://api.pushwoosh.com/api/v2/statistics/getMessageLog
| 이름 | 필수 | 설명 |
|---|---|---|
Authorization | 필수 | Pushwoosh 제어판의 API 액세스 토큰. |
요청 본문 매개변수
Anchor link to| 이름 | 필수 | 타입 | 설명 |
|---|---|---|---|
message_id | 아니요 | Integer | 메시지 기록에서 얻은 메시지 ID로 메시지 이벤트를 선택합니다. 예: 12345678900. |
message_code | 아니요 | String | /createMessage API 응답에서 얻은 [메시지 코드](/ko/developer/api-reference/api-identifiers/#message-code)로 메시지 이벤트를 선택합니다. 예: "A444-AAABBBCC-00112233". |
campaign_code | 아니요 | String | 메시지 페이로드에 지정된 [캠페인 코드](/ko/developer/api-reference/api-identifiers/#campaign-code)로 메시지 이벤트를 선택합니다. 예: "AAAAA-XXXXX". |
hwid | 아니요 | String or Array | [HWID (하드웨어 ID)](/ko/developer/api-reference/api-identifiers/#hardware-id) 또는 HWID 배열로 메시지 이벤트를 선택합니다. |
date_from | message_id, message_code 또는 campaign_code가 제공되지 않은 경우 필수 | Datetime | 메시지 필터링을 위한 시작 날짜. 형식: "YYYY-MM-DD HH:MM:SS". 예: "2000-01-25 00:00:00". |
date_to | message_id, message_code 또는 campaign_code가 제공되지 않은 경우 필수 | Datetime | 메시지 필터링을 위한 종료 날짜. 형식: "YYYY-MM-DD HH:MM:SS". 예: "2000-01-26 00:00:00". |
limit | 아니요 | Integer | 단일 응답에서 반환되는 최대 메시지 이벤트 수. 최대값: 100000. |
pagination_token | 아니요 | String | 이전 /getMessageLog 응답에서 얻은 페이지네이션 토큰. 추가 결과를 검색하는 데 사용합니다. |
user_id | 아니요 | String | 사용자 지정 [User ID](/ko/developer/api-reference/api-identifiers/#user-id)로 메시지 이벤트를 선택합니다. 자세한 내용은 /registerUser를 참조하세요. |
application_code | 예 | String | [Pushwoosh 애플리케이션 코드](/ko/developer/api-reference/api-identifiers/#application-code)로 메시지 이벤트를 선택합니다. |
actions | 아니요 | Array | 특정 메시지 작업으로 결과를 필터링합니다. 가능한 값: "sent", "delivered", "opened", "inbox_delivered", "inbox_read", "inbox_opened", "inbox_deleted". |
platforms | 아니요 | Array | 결과를 필터링할 대상 플랫폼 배열. 가능한 값: "ios", "android", "osx", "windows", "amazon", "safari", "chrome", "firefox", "ie", "email", "huawei_android". |
요청 예시
Anchor link tocurl --location --request POST 'https://api.pushwoosh.com/api/v2/statistics/getMessageLog' \--header 'Authorization: Key API_ACCESS_TOKEN' \--header 'Content-Type: application/json' \--data-raw '{ "pagination_token": "PAGINATION_TOKEN_FROM_PREVIOUS_RESPONSE", // 선택 사항, 페이지네이션을 위한 토큰 "limit": 1000, // 선택 사항, 단일 응답에 대한 최대 항목 수 "application_code": "XXXXX-XXXXX", // Pushwoosh 앱 코드 "message_code": "A444-AAABBBCC-00112233", // 선택 사항, /createMessaage 요청에서 얻은 메시지 코드 "message_id": 1234567890, // 선택 사항, Pushwoosh 제어판에서 얻은 메시지 ID "campaign_code": "AAAAA-XXXXX", // 선택 사항, 로그를 가져올 캠페인 코드 "hwid": "aaazzzqqqqxxx", // 선택 사항, 메시지로 타겟팅된 특정 기기의 하드웨어 ID "user_id": "user_123", // 선택 사항, 메시지로 타겟팅된 사용자의 ID "date_from": "2000-01-25 00:00:00", // 선택 사항, 통계 기간 시작 "date_to": "2000-02-10 23:59:59", // 선택 사항, 통계 기간 종료 "actions": ["opened", "inbox_opened"], // 선택 사항, 결과 필터링에 사용됨. 가능한 값: "sent", "opened", "delivered", "inbox_delivered", "inbox_read", "inbox_opened", "inbox_deleted". 응답에는 지정된 작업이 있는 모든 메시지가 포함됩니다. "platforms": ["ios", "chrome"] // 선택 사항, 결과 필터링에 사용됨. 가능한 값: "ios", "android", "osx", "windows", "amazon", "safari", "chrome", "firefox", "ie", "email", "huawei android"}'응답 코드 및 예시
{ "pagination_token": "PAGINATION_TOKEN_FOR_NEXT_REQUEST", "data": [{ "timestamp": "2000-01-25T11:18:47Z", "application_code": "XXXXX-XXXXX", "message_id": 12345678900, "message_code": "A444-AAABBBCC-00112233", "campaign_code": "AAAAA-XXXXX", "hwid": "aaazzzqqqqxxx", "user_id": "user_123", "platform": "android", "action": "sent", "status": "success", "push_alerts_enabled": "true" }, { "timestamp": "2000-01-25T11:18:49Z", "application_code": "XXXXX-XXXXX", "message_id": 12345678900, "message_code": "A444-AAABBBCC-00112233", "campaign_code": "AAAAA-XXXXX", "hwid": "aaazzzqqqqxxx", "user_id": "user_123", "platform": "android", "action": "delivered", "push_alerts_enabled": "true" }, { "timestamp": "2000-01-25T11:19:23Z", "application_code": "XXXXX-XXXXX", "message_id": 12345678900, "message_code": "A444-AAABBBCC-00112233", "campaign_code": "AAAAA-XXXXX", "hwid": "aaazzzqqqqxxx", "user_id": "user_123", "platform": "android", "action": "opened", "push_alerts_enabled": "true" }]}{ "error": "exceeded the maximum date interval. Max interval: 30 days"}{ "error": "account not found"}이메일 통계
Anchor link tolinksInteractions
Anchor link to이메일의 링크 클릭에 대한 통계를 표시합니다
POST https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractions
| 이름 | 필수 | 설명 |
|---|---|---|
Authorization | 예 | Pushwoosh 제어판의 API 액세스 토큰. |
요청 본문 매개변수
Anchor link to| 이름 | 필수 | 타입 | 설명 |
|---|---|---|---|
date_range | 아니요 | Object | 보고 기간을 정의합니다. date_from과 date_to를 포함합니다. |
filters | 예 | Object | 이메일 필터. |
application | 예 | String | [Pushwoosh 애플리케이션 코드](/ko/developer/api-reference/api-identifiers/#application-code) (또는 campaign, messages_ids, message_codes 지정). |
messages_codes | 예 | Array | [메시지 코드](/ko/developer/api-reference/api-identifiers/#message-code) (또는 application, campaign, messages_ids 지정). |
campaign | 예 | String | [캠페인 코드](/ko/developer/api-reference/api-identifiers/#campaign-code) (또는 application, messages_ids, message_codes 지정). |
messages_ids | 예 | Array | 메시지 ID (또는 application, campaign, message_codes 지정). |
link_template | application 또는 campaign이 지정된 경우 필수. | String | 키워드로 이메일 링크 상호작용을 필터링합니다. URL에 지정된 텍스트를 포함하는 링크만 API 응답으로 반환됩니다. 예를 들어, 이메일에 https://example.com/news와 https://example.com/shop과 같은 링크가 포함된 경우, “link_template”: “shop”으로 설정하면 https://example.com/shop에 대한 상호작용만 반환됩니다. |
email_content_code | 아니요 | String | [이메일 콘텐츠의 고유 식별자](/ko/developer/api-reference/api-identifiers/#email-content-code). |
params | 아니요 | Object | 추가 응답 옵션을 정의합니다. 통계가 포함된 전체 링크 목록을 추가하는 with_full_links를 포함합니다. |
요청 예시
Anchor link tocurl --location --request POST 'https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractions' \--header 'Authorization: Api API_ACCESS_TOKEN' \--header 'Content-Type: application/json' \--data-raw '{ "filters": { "date_range": { "date_from": "string", // 필수 형식: 2000-01-01 "date_to": "string" // 필수 형식: 2000-01-01 }, "campaign": "string", // 캠페인 코드 (대신 application, messages_ids 또는 message_codes를 지정할 수 있습니다) "application": "string", // 애플리케이션 코드 (대신 campaign, messages_ids 또는 message_codes를 지정할 수 있습니다) "messages_ids": [], // 메시지 ID (대신 application, campaign 또는 message_codes를 지정할 수 있습니다) "messages_codes": [], // 메시지 코드 (대신 application, campaign 또는 message_ids를 지정할 수 있습니다) "link_template": "string", // 링크 템플릿 (application 또는 campaign이 지정된 경우 필수) "email_content_code": "string" // 이메일 콘텐츠의 고유 식별자. }, "params": { "with_full_links": true // 상세 통계를 표시할지 여부를 지정합니다. 통계가 포함된 전체 링크 목록이 full_links 배열에 전달됩니다. }}'응답 코드 및 예시
Anchor link to{ "items": [{ "template": "string", "link": "string", "title": "string", "clicks": 0, "full_links": [{ "full_link": "string", "clicks": 0 }] }]}{ "error": "exceeded the maximum date interval. Max interval: 30 days"}{ "error": "account not found"}linksInteractionsDevices
Anchor link to이메일의 링크를 클릭한 사용자를 표시합니다
POST https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractionsDevices
| 이름 | 필수 | 설명 |
|---|---|---|
Authorization | 예 | Pushwoosh 제어판의 API 액세스 토큰. |
요청 본문 매개변수
Anchor link to| 이름 | 필수 | 타입 | 설명 |
|---|---|---|---|
date_range | 아니요 | Object | 보고 기간을 정의합니다. date_from과 date_to를 포함합니다. |
filters | 예 | Object | 이메일 필터. |
application | 예 | String | [Pushwoosh 애플리케이션 코드](/ko/developer/api-reference/api-identifiers/#application-code) (또는 campaign, messages_ids, message_codes 지정). |
messages_codes | 예 | Array | [메시지 코드](/ko/developer/api-reference/api-identifiers/#message-code) (또는 application, campaign, messages_ids 지정). |
campaign | 예 | String | [캠페인 코드](/ko/developer/api-reference/api-identifiers/#campaign-code) (또는 application, messages_ids, message_codes 지정). |
messages_ids | 예 | Array | 메시지 ID (또는 application, campaign, message_codes 지정). |
link_template | application 또는 campaign이 지정된 경우 필수. | String | 키워드로 이메일 링크 상호작용을 필터링합니다. URL에 지정된 텍스트를 포함하는 링크만 API 응답으로 반환됩니다. 예를 들어, 이메일에 https://example.com/news와 https://example.com/shop과 같은 링크가 포함된 경우, “link_template”: “shop”으로 설정하면 https://example.com/shop에 대한 상호작용만 반환됩니다. |
email_content_code | 아니요 | String | [이메일 콘텐츠의 고유 식별자](/ko/developer/api-reference/api-identifiers/#email-content-code). |
page | 아니요 | Integer | 페이지네이션을 위한 페이지 번호. |
per_page | 아니요 | Integer | 페이지당 결과 수 (≤ 1000). |
요청 예시
Anchor link tocurl --location --request POST 'https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractionsDevices' \--header 'Authorization: Api API_ACCESS_TOKEN' \--header 'Content-Type: application/json' \--data-raw '{ "filters": { "date_range": { "date_from": "string", // 필수 형식: 2000-01-01 "date_to": "string" // 필수 형식: 2000-01-01 }, "campaign": "string", // 캠페인 코드 (대신 application, messages_ids 또는 message_codes를 지정할 수 있습니다) "application": "string", // 애플리케이션 코드 (대신 campaign, messages_ids 또는 message_codes를 지정할 수 있습니다) "messages_ids": [], // 메시지 ID (대신 application, campaign 또는 message_codes를 지정할 수 있습니다) "messages_codes": [], // 메시지 코드 (대신 application, campaign 또는 message_ids를 지정할 수 있습니다) "link_template": "string", // 링크 템플릿 (application 또는 campaign이 지정된 경우 필수) "email_content_code": "string" // 이메일 콘텐츠의 고유 식별자. }, "per_page": 100, "page": 0}'응답 코드 및 예시
Anchor link to{ "total": 0, "items": [{ "timestamp": "string", "link": "string", "hwid": "string" }]}{ "error": "exceeded the maximum date interval. Max interval: 30 days"}{ "error": "account not found"}bouncedEmails
Anchor link toPOST https://api.pushwoosh.com/api/v2/statistics/emails/bouncedEmails
이메일 불만, 소프트 바운스, 하드 바운스에 대한 데이터를 제공하며, 각 바운스의 날짜, 이메일 주소, 이유를 포함합니다.
인증은 요청 헤더의 API 액세스 토큰을 통해 처리됩니다.
요청 본문 매개변수
Anchor link to| 매개변수 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
application | string | [Pushwoosh 애플리케이션 코드](/ko/developer/api-reference/api-identifiers/#application-code) | 예 |
message_code | string | [메시지 코드](/ko/developer/api-reference/api-identifiers/#message-code). | date range 또는 campaign이 제공되지 않은 경우 필수 |
campaign | string | [캠페인 코드](/ko/developer/api-reference/api-identifiers/#campaign-code). | message_code 또는 date range이 제공되지 않은 경우 필수 |
date_from | string | YYYY-MM-DDTHH:MM:SS.000Z (ISO 8601 표준) 형식의 데이터 시작 날짜. | message_code 또는 campaign이 제공되지 않은 경우 필수 |
date_to | string | YYYY-MM-DDTHH:MM:SS.000Z (ISO 8601 표준) 형식의 데이터 종료 날짜. | message_code 또는 campaign이 제공되지 않은 경우 필수 |
per_page | int | 페이지당 행 수, 최대 5000. | 예 |
page | int | 페이지 번호, 0부터 시작. | 예 |
type | string | 바운스 유형: Complaint, Softbounce, Hardbounce. | 아니요 |
요청 예시
Anchor link to{ "application": "XXXXX-XXXXX", // 필수. Pushwoosh 앱 코드 "message_code": "XXXXX-XXXXXXXXX-XXXXXXXX", // campaign 또는 date range가 제공되지 않은 경우 필수. // 고유 메시지 식별자 "campaign": "XXXXX-XXXXX", // message_code 또는 date range가 제공되지 않은 경우 필수. // 캠페인 코드 "date_from": "2024-07-20T00:00:00.000Z", // message_code 또는 campaign이 제공되지 않은 경우 필수. // ISO 8601 형식 "YYYY-MM-DDTHH:MM:SS.SSSZ"의 시작 날짜 "date_to": "2024-07-20T00:00:00.000Z", // message_code 또는 campaign이 제공되지 않은 경우 필수. // ISO 8601 형식 "YYYY-MM-DDTHH:MM:SS.SSSZ"의 종료 날짜 "per_page": 1000, // 필수. 페이지당 결과 수, 최대 5000 "page": 5, // 선택 사항. 페이지 번호, 0부터 시작 "type": "Softbounce" // 선택 사항. 바운스 유형: Complaint, Softbounce, Hardbounce}응답 필드
Anchor link to| 필드 이름 | 타입 | 설명 |
|---|---|---|
total | int | 총 행 수. |
bounced_emails | array | 바운스된 이메일 세부 정보 배열. |
├── email | string | 바운스된 이메일 주소. |
├── date | string | 바운스 날짜 (형식: YYYY-MM-DDTHH:MM:SS.000Z). |
├── reason | string | 바운스 이유. |
└── type | string | 바운스 유형: Complaint, Softbounce, Hardbounce. |
응답 예시
Anchor link to{ "total": 25, // 총 행 수. "bounced_emails": [{ "email": "example@example.com", // 바운스된 이메일 주소 "date": "2024-07-20T00:00:00.000Z", // ISO 8601 형식의 바운스 날짜 "reason": "Invalid recipient address", // 바운스 이유 "type": "Hardbounce" // 바운스 유형: Complaint, Softbounce, Hardbounce }]}