세분화(필터) API
createFilter
Anchor link toPOST https://api.pushwoosh.com/json/1.3/createFilter
새로운 필터를 생성합니다.
요청 본문
| 이름 | 필수 | 유형 | 설명 |
|---|---|---|---|
| auth* | 예 | string | Pushwoosh Control Panel의 API access token. |
| name* | 예 | string | 필터 이름. |
| filter_expression* | 예 | string | 세분화 언어의 규칙에 따라 구성된 표현식입니다. |
| application | 아니요 | string | Pushwoosh 애플리케이션 코드. 이 매개변수는 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 toPOST https://api.pushwoosh.com/json/1.3/listFilters
사용 가능한 세그먼트(필터) 목록과 그 조건을 반환합니다.
요청 본문
| 이름 | 필수 | 유형 | 설명 |
|---|---|---|---|
| auth* | 예 | string | Pushwoosh Control Panel의 API access token. |
| application* | 예 | string | Pushwoosh 애플리케이션 코드 |
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 toPOST https://api.pushwoosh.com/json/1.3/deleteFilter
기존 필터를 삭제합니다.
요청 본문
| 이름 | 유형 | 설명 |
|---|---|---|
| auth* | string | Pushwoosh 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 toPOST https://api.pushwoosh.com/api/v2/audience/exportSegment
예약된 요청입니다. 지정된 필터 조건에 해당하는 구독자 목록을 내보냅니다.
요청 본문
| 이름 | 필수 | 유형 | 설명 |
|---|---|---|---|
| auth* | 예 | string | Pushwoosh Control Panel의 API access token. |
| filterExpression* | 예 | string | 필터 조건 |
| exportData | 아니요 | array | 내보낼 데이터입니다. 가능한 값: "hwids", "push_tokens", "users", "tags", "location", "ad_identifiers". "location"을 포함하면 내보낸 CSV에 Latitude와 Longitude 열이 추가됩니다. exportData가 생략되면 기본적으로 Latitude와 Longitude가 내보내기에 포함됩니다. "ad_identifiers"는 Google 고객 일치 또는 Meta 맞춤 타겟 소스 파일을 만들기 위해 MADID, Email SHA256, Phone SHA256 열을 추가합니다. 아래의 광고 식별자 내보내기 참고 사항을 참조하세요. |
| filterCode | 아니요 | string | 미리 만들어진 필터 코드이며, filterExpression 대신 사용할 수 있습니다. /listFilters API 또는 Control Panel에서 필터를 볼 때 브라우저 주소 표시줄에서 얻을 수 있습니다. |
| applicationCode | filterExpression 또는 filterCode를 사용하는 경우 필수입니다. | string | Pushwoosh 애플리케이션 코드 |
| 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 toPOST https://api.pushwoosh.com/api/v2/audience/exportSegment/result
/exportSegment 결과가 포함된 CSV 링크를 검색합니다.
요청 본문
| 이름 | 유형 | 설명 |
|---|---|---|
| auth* | String | Pushwoosh 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 | 디바이스의 하드웨어 ID | 01D1BA5C-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 toexportData에 "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 toPW_ApplicationOpen은 모바일 전용입니다. 웹 프로젝트의 경우 해당 이벤트가 발생하지 않으므로 세그먼트 내보내기는 행을 반환하지 않습니다.
- 필요한 기간으로 범위가 지정된
PW_ApplicationOpen이벤트에 대한 필터 표현식을 작성합니다. 이벤트 날짜 연산자를 사용하세요. 예를 들어 “어제 열림”은 다음과 같습니다:
Event("AAAAA-BBBBB", "PW_ApplicationOpen", date daysago eq 1)- 해당
filterExpression,applicationCode및exportData: ["hwids", "users"]를 사용하여/exportSegment를 호출합니다. - 반환된
task_id를 사용하여/exportSegment/result를 호출하여 해당 기간 내에 앱을 연 모든 디바이스에 대한Hwid및User ID열이 포함된 CSV를 다운로드합니다.