콘텐츠로 건너뛰기

세분화(필터) API

createFilter

Anchor link to

POST https://api.pushwoosh.com/json/1.3/createFilter

새로운 필터를 생성합니다.

요청 본문

이름필수유형설명
auth*stringPushwoosh Control Panel의 API access token.
name*string필터 이름.
filter_expression*string

세분화 언어의 규칙에 따라 구성된 표현식입니다.
예시: T(“City”, eq, “Madrid”)는 도시가 마드리드인 사용자를 세분화합니다.

application아니요stringPushwoosh 애플리케이션 코드. 이 매개변수는 High-Speed Setup에서만 사용할 수 있으며, 그렇지 않은 경우 생략합니다.
expiration_date아니요string필터 만료일. 필터는 Preset이나 RSS Feed에서 사용되지 않는 한 지정된 날짜에 자동으로 삭제됩니다.

200

{
"status_code": 200,
"status_message": "OK",
"response": {
"name": "filter name"
}
}

예시

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"Madrid\")",
"application": "B18XX-XXXXX",
"expiration_date": "2025-01-01"
}
}
// creating Filters for Timezones
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // API access token from Pushwoosh Control Panel
"name": "Timezone Filter",
"filter_expression": "T(\"Timezone\", BETWEEN, [\"UTC-12:00\", \"UTC+14:00\"])"
}
}

listFilters

Anchor link to

POST https://api.pushwoosh.com/json/1.3/listFilters

사용 가능한 세그먼트(필터) 목록과 그 조건을 반환합니다.

요청 본문

이름필수유형설명
auth*stringPushwoosh Control Panel의 API access token.
application*stringPushwoosh 애플리케이션 코드

200

{
"status_code": 200,
"status_message": "OK",
"response": {
"filters": [{
"code": "52551-F2F42",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"madrid\")",
"expiration_date": "2025-01-01",
"application": "B18XX-XXXXX"
}]
}
}

예시

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"application": "B18XX-XXXXX"
}
}

deleteFilter

Anchor link to

POST https://api.pushwoosh.com/json/1.3/deleteFilter

기존 필터를 삭제합니다.

요청 본문

이름유형설명
auth*stringPushwoosh Control Panel의 API access token.
name*string필터 이름.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
예시
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // API access token from Pushwoosh Control Panel
"name": "filter name"
}
}

exportSegment

Anchor link to

POST https://api.pushwoosh.com/api/v2/audience/exportSegment

예약된 요청입니다. 지정된 필터 조건에 해당하는 구독자 목록을 내보냅니다.

요청 본문

이름
필수
유형설명
auth*stringPushwoosh Control Panel의 API access token.
filterExpression*string필터 조건
exportData아니요array내보낼 데이터입니다. 가능한 값: "hwids", "push_tokens", "users", "tags", "location", "ad_identifiers". "location"을 포함하면 내보낸 CSV에 LatitudeLongitude 열이 추가됩니다. exportData가 생략되면 기본적으로 LatitudeLongitude가 내보내기에 포함됩니다. "ad_identifiers"는 Google 고객 일치 또는 Meta 맞춤 타겟 소스 파일을 만들기 위해 MADID, Email SHA256, Phone SHA256 열을 추가합니다. 아래의 광고 식별자 내보내기 참고 사항을 참조하세요.
filterCode아니요string미리 만들어진 필터 코드이며, filterExpression 대신 사용할 수 있습니다. /listFilters API 또는 Control Panel에서 필터를 볼 때 브라우저 주소 표시줄에서 얻을 수 있습니다.
applicationCodefilterExpression 또는 filterCode를 사용하는 경우 필수입니다.stringPushwoosh 애플리케이션 코드
generateExport아니요boolean기본값은 true이며, 응답에는 파일을 다운로드할 수 있는 링크가 포함됩니다. false인 경우, 응답으로 디바이스 수만 전송됩니다.
format아니요string내보낼 파일의 형식을 설정합니다: “csv” 또는 “json_each_line”. 생략하면 CSV 파일이 생성됩니다.
tagsList아니요array내보낼 태그를 지정합니다. 특정 태그만 얻으려면 “exportData” 배열에 “tags” 값이 포함되어야 합니다.
includeWithoutTokens아니요boolean푸시 토큰이 없는 사용자를 내보낸 파일에 포함하려면 true로 설정합니다. 기본값은 false입니다.
{
"task_id": "177458"
}
예시
{
"auth": "yxoPUlwqm…………pIyEX4H", // 필수. Pushwoosh Control Panel의 API access token
"filterExpression": "AT(\"12345-67890\", \"Name\", any)", // 필터 조건, 구문은 세분화 언어 가이드를 참조하세요
"filterCode": "12345-67890", // 미리 만들어진 필터 코드, filterExpression 대신 사용할 수 있습니다
"applicationCode": "00000-AAAAA", // `filterExpression` 또는 `filterCode`를 사용하는 경우 필수입니다. Pushwoosh 앱 코드. /listFilters API 요청 또는 Control Panel에서 필터를 볼 때 브라우저 주소 표시줄에서 얻을 수 있습니다.
"generateExport": true, // false인 경우, 응답으로 디바이스 수만 전송됩니다. 기본적으로 응답에는 CSV 파일을 다운로드할 수 있는 링크가 포함됩니다
"format": "json_each_line", // 데이터를 표시할 파일 형식: "csv" – .csv 파일이 다운로드됩니다; "json" – 내보낸 모든 디바이스가 포함된 JSON 파일; 또는 "json_each_line" – 각 디바이스에 대한 JSON 라인. 지정하지 않으면 CSV가 기본 형식입니다.
"exportData": ["hwids", "tags"], // 선택 사항. 내보낼 데이터. 가능한 값: "hwids", "push_tokens", "users", "tags", "location", "fcm_keys", "web keys", "ad_identifiers"
"tagsList": ["Name", "Level"], // 선택 사항. 내보낼 태그를 지정합니다. 특정 태그만 얻으려면 "tags" 값이 "exportData" 배열 내에 전송되거나 "exportData"가 비어 있어야 합니다.
"includeWithoutTokens": true // 선택 사항. 푸시 토큰이 없는 사용자를 내보낸 파일에 포함하려면 true로 설정합니다. 기본값은 false입니다.
}

예를 들어, 특정 앱의 모든 구독자를 내보내려면 다음 필터 조건을 사용하세요:

{
"auth": "yxoPUlwqm…………pIyEX4H", // Pushwoosh Control Panel의 API access token
"filterExpression": "A(\"AAAAA-BBBBB\")", // 앱 세그먼트를 참조하는 필터 표현식
"applicationCode": "AAAAA-BBBBB" // 필수 Pushwoosh 앱 코드
}

exportSegment 결과

Anchor link to

POST https://api.pushwoosh.com/api/v2/audience/exportSegment/result

/exportSegment 결과가 포함된 CSV 링크를 검색합니다.

요청 본문

이름유형설명
auth*StringPushwoosh Control Panel의 API access token.
task_id*String/exportSegment 응답에서 받은 식별자입니다.
{
"devicesCount": "24735",
"filename": "https://static.pushwoosh.com/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip",
"status": "completed"
}

/exportSegment 응답에서 받은 “task_id”를 /exportSegment/result 요청 본문에 전달하세요.

/exportSegment/result 응답에서 “filename” 매개변수를 받게 됩니다. 해당 매개변수 값에 제공된 링크를 따라가면 ZIP 아카이브가 자동으로 다운로드됩니다. 아카이브의 압축을 풀어 디바이스 데이터가 포함된 CSV 또는 JSON 파일(요청에 지정된 “format”에 따라)을 검색하세요.

2025년 4월 3일부터 파일 다운로드 시 인증이 필요합니다:

  • 브라우저를 통해 다운로드하는 경우, Pushwoosh Control Panel에 로그인하여 접근 권한을 얻으세요.
  • 서버 소프트웨어를 통해 다운로드하는 경우, 요청에 다음 헤더를 포함하세요: Authorization: Token YOUR_API_TOKEN

/exportSegment 요청에서 “exportData”를 지정하면 다운로드된 파일에는 요청된 데이터만 포함됩니다. 기본적으로 파일에는 다음 사용자 데이터가 포함됩니다:

필드설명값 예시
Hwid디바이스의 하드웨어 ID01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8
User ID디바이스를 특정 사용자와 연결하는 User ID. User ID가 할당되지 않은 경우 HWID가 사용됩니다.user8192
Push Token클라우드 메시징 게이트웨이가 디바이스에 할당한 고유 식별자입니다. 자세히 알아보기eeeb2fd7…0fc3547
Type플랫폼 유형 (정수).1
Type (humanized)플랫폼 유형 (문자열).iOS
Age기본 Age 태그의 값입니다.29
ApplicationVersion기본 Application Version 태그의 값입니다.1.12.0.0
City기본 City 태그의 값입니다.us, boston
TagName계정에서 생성된 태그의 값입니다.TagValue

광고 식별자 내보내기

Anchor link to

exportData"ad_identifiers"를 추가하여 Google 고객 일치 또는 Meta 맞춤 타겟 소스로 직접 업로드할 수 있도록 형식이 지정된 파일을 얻으세요. 이 값은 옵트인 전용이며, exportData가 생략된 경우에도 기본적으로 포함되지 않습니다. format"csv"로 설정된 경우에만 적용됩니다. "json" 또는 "json_each_line"으로 요청해도 오류가 반환되지는 않지만, 아래 열은 해당 형식에서 자동으로 생략됩니다.

필드설명
MADID모바일 광고 ID (GAID 또는 IDFA), 소문자로 정규화됩니다.
Email SHA256사용자 이메일의 SHA-256 해시, 해싱 전에 소문자로 변환되고 공백이 제거됩니다.
Phone SHA256사용자 전화번호의 SHA-256 해시, 해싱 전에 E.164 형식으로 변환됩니다.

세 가지 식별자 중 어느 것도 없는 사용자의 행도 내보내지며, MADID, Email SHA256, Phone SHA256 열은 비어 있습니다.

사용자별 앱 활동 내보내기

Anchor link to

PW_ApplicationOpen은 모바일 전용입니다. 웹 프로젝트의 경우 해당 이벤트가 발생하지 않으므로 세그먼트 내보내기는 행을 반환하지 않습니다.

  1. 필요한 기간으로 범위가 지정된 PW_ApplicationOpen 이벤트에 대한 필터 표현식을 작성합니다. 이벤트 날짜 연산자를 사용하세요. 예를 들어 “어제 열림”은 다음과 같습니다:
Event("AAAAA-BBBBB", "PW_ApplicationOpen", date daysago eq 1)
  1. 해당 filterExpression, applicationCodeexportData: ["hwids", "users"]를 사용하여 /exportSegment를 호출합니다.
  2. 반환된 task_id를 사용하여 /exportSegment/result를 호출하여 해당 기간 내에 앱을 연 모든 디바이스에 대한 HwidUser ID 열이 포함된 CSV를 다운로드합니다.