디바이스 API
registerDevice
Anchor link toPOST https://api.pushwoosh.com/json/1.3/registerDevice
SDK에서 내부적으로 호출됩니다. 애플리케이션에 디바이스를 등록합니다.
요청 헤더
Anchor link to| 이름 | 필수 | 값 | 설명 |
|---|---|---|---|
| Authorization | 예 | Token XXXX | 디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요. |
요청 본문
Anchor link to| 이름 | 유형 | 설명 |
|---|---|---|
| application* | string | Pushwoosh 애플리케이션 코드 |
| push_token | string | 디바이스의 푸시 토큰입니다. |
| language | string | 디바이스의 언어 로케일입니다. ISO-639-1 표준에 따라 소문자 두 글자 코드여야 합니다. |
| hwid* | string | 디바이스를 식별하는 고유 문자열입니다(iOS에서는 IDFV, Android에서는 무작위로 생성된 값). 자세히 알아보기 |
| timezone | integer | 디바이스의 시간대 오프셋(초)입니다. |
| device_type* | integer | 디바이스 유형. 아래에서 가능한 값을 참조하세요. |
| string | 등록할 이메일 주소입니다(HWID 및 푸시 토큰 대신 이메일 사용자에 사용). | |
| tags | object | 등록된 디바이스에 할당할 태그 값입니다. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // 선택 사항. "hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // 필수. 하드웨어 디바이스 ID "idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // 선택 사항. "timezone": 3600, // 선택 사항. 오프셋(초) "device_type": 1, // 필수. 아래 가능한 값을 참조하세요. 이메일의 경우, // 아래 설명된 "emails" 파라미터를 사용하세요. "email": "email_address@domain.com", // "hwid" 및 "push_token" 대신 사용하여 // 이메일 프로젝트의 이메일 주소를 등록합니다 "language": "en", // 선택 사항. ISO 639-1|639-2 언어 코드 "userId": "Alex", // 선택 사항. "tags": { // 선택 사항. 등록된 디바이스에 설정할 태그 값 "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], // 리스트 유형 태그에 대한 값 목록을 설정합니다 "DateTag": "2024-10-02 22:11", // 시간은 UTC여야 합니다 "BooleanTag": true // 유효한 값: true, false },
// 시스템 태그, 선택 사항 "app_version": "1.2.3", "device_model": "Samsung SM-G355H", "os_version": "2.3",
// 선택 사항. chrome/firefox용 암호화 키 "public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=", "auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
// 선택 사항. Chrome용 FCM 키 (XMPP용) "fcm_token": "BNmDO4BTKEMJXXXXXprTf7t/XXXXXBQ/orXXXXXc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=", "fcm_push_set": "RlXXXXXGM/s7XXXXXjKFzoQ==" }}가능한 디바이스 유형:
- 1 – iOS
- 3 – Android
- 7 – Mac OS X
- 8 – Windows
- 9 – Amazon
- 10 – Safari
- 11 – Chrome
- 12 – Firefox
- 14 – Email
- 17 – Huawei
- 18 – SMS
- 21 – WhatsApp
이메일 디바이스 등록
Anchor link to앱에 이메일 구독자를 등록하려면, /registerDevice 또는 /registerEmail 요청에서 "email": "email_address@domain.com" 파라미터를 다음과 같이 보내세요:
요청 예시
Anchor link to{ "request":{ "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "email": "email_address@domain.com", // 필수. 이메일 프로젝트에 등록할 이메일 주소 "language": "en", // 선택 사항. ISO 639-1|639-2 언어 코드 "userId": "Alex", // 선택 사항. "tags": { // 선택 사항. 등록된 디바이스에 설정할 태그 값 "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], // 리스트 유형 태그에 대한 값 목록을 설정합니다 "DateTag": "2024-10-02 22:11", // 시간은 UTC여야 합니다 "BooleanTag": true // 유효한 값: true, false } }}WhatsApp 디바이스 등록
Anchor link to앱에 WhatsApp 디바이스를 등록하려면 다음 가이드라인을 따르세요:
-
hwid: 이 필드에
whatsapp:접두사와 E.164 형식의 전화번호(예:whatsapp:+0000000000)가 포함되어 있는지 확인하세요. 전화번호는 유효해야 하며, Pushwoosh가 이를 확인합니다. -
푸시 토큰:
hwid가 자동으로 푸시 토큰으로 작동하므로 푸시 토큰은 필요하지 않습니다. -
device_type: 이 필드를
21로 설정하여 플랫폼으로 WhatsApp을 지정하세요.
요청 예시
Anchor link to{ "request": { "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "whatsapp:+0000000000", // 필수. WhatsApp 접두사와 유효한 전화번호 "timezone": 3600, // 선택 사항. 시간 오프셋(초) "device_type": 21, // 필수. WhatsApp 디바이스 유형은 21입니다 "language": "en", // 선택 사항. ISO 639-1|639-2 언어 코드 "userId": "Alex", // 선택 사항. 사용자 식별자 "tags": { // 선택 사항. 사용자 지정 세분화를 위한 태그 값 "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], "DateTag": "2024-10-02 22:11", // UTC 형식 "BooleanTag": true }, "app_version": "1.2.3", // 선택 사항. 애플리케이션 버전 "device_model": "Samsung SM-G355H", // 선택 사항. 디바이스 모델 "os_version": "2.3" // 선택 사항. 운영 체제 버전 }}SMS 디바이스 등록
Anchor link to앱에 SMS 디바이스를 등록하려면 다음 가이드라인을 따르세요:
-
hwid: 이 필드에 E.164 형식의 전화번호(예:
+0000000000)가 포함되어 있는지 확인하세요. 전화번호는 유효해야 하며, Pushwoosh가 이를 확인합니다. -
푸시 토큰:
hwid가 자동으로 푸시 토큰으로 작동하므로 푸시 토큰은 필요하지 않습니다. -
device_type: 이 필수 필드를
18로 설정하여 플랫폼으로 SMS를 지정하세요.
요청 예시
Anchor link to{ "request": { "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "+0000000000", // 필수. E.164 형식의 유효한 전화번호 "timezone": 3600, // 선택 사항. 시간 오프셋(초) "device_type": 18, // 필수. SMS 디바이스 유형은 18입니다 "language": "en", // 선택 사항. ISO 639-1|639-2 언어 코드 "userId": "Alex", // 선택 사항. 사용자 식별자 "tags": { // 선택 사항. 사용자 지정 세분화를 위한 태그 값 "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], "DateTag": "2024-10-02 22:11", // UTC 형식 "BooleanTag": true }, "app_version": "1.2.3", // 선택 사항. 애플리케이션 버전 "device_model": "Samsung SM-G355H", // 선택 사항. 디바이스 모델 "os_version": "2.3" // 선택 사항. 운영 체제 버전 }}상태 코드:
| HTTP 상태 코드 | status_code | 설명 |
|---|---|---|
| 200 | 200 | 디바이스가 성공적으로 등록되었습니다 |
| 200 | 210 | 인수 오류. 자세한 내용은 status_message를 참조하세요. |
| 400 | N/A | 잘못된 형식의 요청 문자열 |
| 500 | 500 | 내부 오류 |
unregisterDevice
Anchor link toPOST https://api.pushwoosh.com/json/1.3/unregisterDevice
디바이스의 푸시 토큰을 제거합니다. 등록 해지된 디바이스는 여전히 총 디바이스 수에 포함되며 인앱 메시지로 도달할 수 있습니다. SDK에서 내부적으로 호출됩니다.
요청 헤더
Anchor link to| 이름 | 필수 | 값 | 설명 |
|---|---|---|---|
| Authorization | 예 | Token XXXX | 디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요. |
요청 본문
Anchor link to| 이름 | 유형 | 설명 |
|---|---|---|
| application* | string | Pushwoosh 애플리케이션 코드 |
| hwid* | string | /registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID }}상태 코드:
| HTTP 상태 코드 | status_code | 설명 |
|---|---|---|
| 200 | 200 | 디바이스가 성공적으로 구독 해지되었습니다 |
| 200 | 210 | 인수 오류. 자세한 내용은 status_message를 참조하세요. |
| 400 | N/A | 잘못된 형식의 요청 문자열 |
| 500 | 500 | 내부 오류 |
deleteDevice
Anchor link toPOST https://api.pushwoosh.com/api/v2/device-api/deleteDevice
애플리케이션 내에서 지정된 HWID로 식별된 디바이스와 모든 관련 데이터를 삭제합니다. 푸시 토큰만 제거하고 디바이스 기록을 유지하는 /unregisterDevice와 달리, /deleteDevice는 디바이스를 완전히 제거합니다. 요청은 비동기적으로 처리되며, 삭제 요청이 처리되도록 수락되는 즉시 엔드포인트는 200 OK를 반환합니다.
요청 헤더
Anchor link to| 이름 | 필수 | 값 | 설명 |
|---|---|---|---|
| Authorization | 예 | Token XXXX | 디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요. |
| Content-Type | 예 | application/json |
요청 본문
Anchor link to| 이름 | 필수 | 유형 | 설명 |
|---|---|---|---|
| application | 예 | string | Pushwoosh 애플리케이션 코드 |
| hwid | 예 | string | 삭제할 디바이스의 하드웨어 디바이스 ID입니다. |
요청 예시
Anchor link to{ "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "8f65b16df378e7a6bece9614e1530fb2" // 필수. 삭제할 디바이스의 하드웨어 디바이스 ID}응답 예시
Anchor link to{ "status_code": 200, "status_message": "OK", "response": null}상태 코드
Anchor link to| HTTP 상태 코드 | status_code | 설명 |
|---|---|---|
| 200 | 200 | 삭제 요청이 수락되었습니다 |
| 200 | 210 | 인수 오류. 자세한 내용은 status_message를 참조하세요. |
| 400 | N/A | 잘못된 형식의 요청 문자열 |
| 401 | N/A | Authorization 토큰이 없거나 유효하지 않습니다 |
| 500 | 500 | 내부 오류 |
setTags
Anchor link toPOST https://api.pushwoosh.com/json/1.3/setTags
디바이스의 태그 값을 설정합니다. SDK에서 호출됩니다.
요청 헤더
Anchor link to| 이름 | 필수 | 값 | 설명 |
|---|---|---|---|
| Authorization | 예 | Token XXXX | 디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요. |
요청 본문
Anchor link to| 이름 | 유형 | 설명 |
|---|---|---|
| application* | string | Pushwoosh 애플리케이션 코드 |
| hwid* | string | /registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다. |
| tags* | object | 설정할 태그의 JSON 객체. 값을 제거하려면 “null”을 보내세요. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request":{ "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID "tags": { // 필수. "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], // 리스트 유형 태그에 대한 값 목록을 설정합니다 "DateTag": "2024-10-02 22:11", // 시간은 UTC입니다 "BooleanTag": true // 유효한 값 - true, false } }}정수 태그 값 증가
Anchor link to정수 태그의 값을 증가시키려면, operation 파라미터를 “increment” 값과 함께 다음과 같이 사용하세요:
{ "request":{ "application": "12345-67890", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID "tags": { // 필수. "Level": { // 태그 이름 "operation": "increment", // 정수 태그를 다음 값만큼 증가시켜 덮어씁니다 "value": 1 // 태그 값의 증가량 } } }}정수 태그 값 감소
Anchor link to감소시키려면, “increment” 작업의 값으로 음수(-1, -2, -3, -n)를 사용하세요:
{ "request":{ "application": "12345-67890", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID "tags": { // 필수 "Level": { // 태그 이름 "operation": "increment", // 정수 태그를 다음 값만큼 감소시켜 덮어씁니다 "value": -1 // 태그 값의 감소량 } } }}리스트 태그 값 추가
Anchor link to리스트 태그에 새 값을 추가하려면, operation 파라미터를 “append” 값과 함께 다음과 같이 사용하세요:
{ "request": { "hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID "application": "6XXXX-XXXX3", // 필수. Pushwoosh 애플리케이션 코드 "tags": { // 필수. "ListTag": { // 태그 이름 "operation": "append", // 다음 값들을 태그의 값 목록에 추가합니다 "value": [ // 추가할 값 "tag2", "tag3" ] } } }}리스트 태그 값 제거
Anchor link to리스트 태그에서 일부 값을 제거하려면, “remove” 작업을 다음과 같이 사용하세요:
{ "request":{ "application": "12345-67890", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID "tags": { // 필수. "In-App Product": { // 태그 이름 "operation": "remove", // 리스트 태그에서 다음 값들을 제거합니다 "value": "outwear_02" // 제거할 값 또는 값들 } } }}UserID로 태그 설정
Anchor link to특정 사용자 ID와 연결된 모든 디바이스에 태그를 설정하려면, “hwid” 대신 “userId” 파라미터를 사용하세요.
{ "request":{ "application": "AAAAA-BBBBB", // Pushwoosh 앱 코드 "userId": "some_user", // 태그를 설정할 사용자 ID "tags": { // 설정할 태그와 값 "Language": "es" } }}상태 코드:
| HTTP 상태 코드 | status_code | 설명 |
|---|---|---|
| 200 | 200 | 태그가 성공적으로 설정되었습니다 |
| 200 | 210 | 인수 오류. 자세한 내용은 status_message를 참조하세요. |
| 400 | N/A | 잘못된 형식의 요청 문자열 |
| 500 | 500 | 내부 오류 |
getTags
Anchor link toPOST https://api.pushwoosh.com/json/1.3/getTags
특정 디바이스에 대한 태그 목록과 해당 값을 검색합니다.
요청 헤더
Anchor link to| 이름 | 필수 | 값 | 설명 |
|---|---|---|---|
| Authorization | 예 | Token XXXX | 디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요. |
요청 본문
Anchor link to| 이름 | 유형 | 설명 |
|---|---|---|
| application* | string | Pushwoosh 애플리케이션 코드 |
| userId | string | ”hwid” 대신 사용할 사용자 ID입니다. “hwid”와 함께 사용될 경우 “hwid”가 우선합니다. |
| hwid | string | /registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다. |
{ "status_code": 200, "status_message": "OK", "response": { "result": { "Language": "fr" } }}{ "request":{ "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "HWID", // 선택 사항. /registerDevice API에 사용된 하드웨어 디바이스 ID "userId": "USER_ID" // 선택 사항. 특정 사용자의 태그를 검색하기 위해 "hwid" 대신 사용할 수 있습니다 }}setBadge
Anchor link toPOST https://api.pushwoosh.com/json/1.3/setBadge
디바이스의 현재 배지 값을 Pushwoosh로 보냅니다. SDK에서 내부적으로 호출됩니다.
요청 헤더
Anchor link to| 이름 | 필수 | 값 | 설명 |
|---|---|---|---|
| Authorization | 예 | Token XXXX | 디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요. |
요청 본문
Anchor link to| 이름 | 유형 | 설명 |
|---|---|---|
| application* | string | Pushwoosh 애플리케이션 코드 |
| hwid* | string | /registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다. |
| badge* | integer | 애플리케이션의 현재 배지입니다. |
{ "status_code": 200, "status_message": "OK"}{ "request":{ "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID "badge": 4 // 필수. 애플리케이션의 현재 배지 }}SDK에서 내부적으로 호출됩니다. 디바이스의 현재 배지 값을 Pushwoosh로 보냅니다. 이는 앱이 iOS 디바이스에서 배지 값을 변경할 때 내부적으로 발생합니다. 자동 증가 배지가 제대로 작동하도록 합니다.
applicationOpen
Anchor link toPOST https://api.pushwoosh.com/json/1.3/applicationOpen
앱 열기 이벤트를 등록합니다. SDK에서 내부적으로 호출됩니다.
요청 헤더
Anchor link to| 이름 | 필수 | 값 | 설명 |
|---|---|---|---|
| Authorization | 예 | Token XXXX | 디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요. |
요청 본문
Anchor link to| 이름 | 유형 | 설명 |
|---|---|---|
| application* | string | Pushwoosh 애플리케이션 코드 |
| hwid* | string | /registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다. |
{ "status_code": 200, "status_message": "OK"}{ "request": { "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID }}pushStat
Anchor link toPOST https://api.pushwoosh.com/json/1.3/pushStat
푸시 열기 이벤트를 등록합니다. SDK에서 내부적으로 호출됩니다.
요청 헤더
Anchor link to| 이름 | 필수 | 값 | 설명 |
|---|---|---|---|
| Authorization | 예 | Token XXXX | 디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요. |
요청 본문
Anchor link to| 이름 | 유형 | 설명 |
|---|---|---|
| application* | string | Pushwoosh 애플리케이션 코드 |
| hwid* | string | /registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다. |
| userId | string | 푸시 열기 이벤트와 연결할 사용자 ID입니다. |
| hash | string | 푸시 알림에서 받은 해시 태그(푸시 페이로드의 “p” 파라미터)입니다. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID "userId": "USER012345", // 선택 사항. 푸시 열기 이벤트와 연결할 사용자 ID "hash": "HASH_TAG" // 선택 사항. 푸시 알림에서 받은 해시 태그 // (푸시 페이로드의 "p" 파라미터) }}messageDeliveryEvent
Anchor link toPOST https://api.pushwoosh.com/json/1.3/messageDeliveryEvent
디바이스의 푸시 전달 이벤트를 등록합니다. SDK에서 내부적으로 호출됩니다.
요청 헤더
Anchor link to| 이름 | 필수 | 값 | 설명 |
|---|---|---|---|
| Authorization | 예 | Token XXXX | 디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요. |
요청 본문
Anchor link to| 이름 | 유형 | 설명 |
|---|---|---|
| application* | string | Pushwoosh 애플리케이션 코드 |
| hwid* | string | /registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다. |
| hash | string | 푸시 알림에서 받은 해시 태그(푸시 페이로드의 “p” 파라미터)입니다. |
{ "status_code": 200, "status_message": "OK", "response": null} { "request": { "application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드 "hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID "hash": "HASH_TAG" // 선택 사항. 푸시 알림에서 받은 해시 태그 // (푸시 페이로드의 "p" 파라미터) }}