콘텐츠로 건너뛰기

디바이스 API

registerDevice

Anchor link to

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

SDK에서 내부적으로 호출됩니다. 애플리케이션에 디바이스를 등록합니다.

요청 헤더
Anchor link to
이름필수설명
AuthorizationToken XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요.
요청 본문
Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
push_tokenstring디바이스의 푸시 토큰입니다.
languagestring디바이스의 언어 로케일입니다. ISO-639-1 표준에 따라 소문자 두 글자 코드여야 합니다.
hwid*string디바이스를 식별하는 고유 문자열입니다(iOS에서는 IDFV, Android에서는 무작위로 생성된 값). 자세히 알아보기
timezoneinteger디바이스의 시간대 오프셋(초)입니다.
device_type*integer디바이스 유형. 아래에서 가능한 값을 참조하세요.
emailstring등록할 이메일 주소입니다(HWID 및 푸시 토큰 대신 이메일 사용자에 사용).
tagsobject등록된 디바이스에 할당할 태그 값입니다.
{
"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설명
200200디바이스가 성공적으로 등록되었습니다
200210인수 오류. 자세한 내용은 status_message를 참조하세요.
400N/A잘못된 형식의 요청 문자열
500500내부 오류

unregisterDevice

Anchor link to

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

디바이스의 푸시 토큰을 제거합니다. 등록 해지된 디바이스는 여전히 총 디바이스 수에 포함되며 인앱 메시지로 도달할 수 있습니다. SDK에서 내부적으로 호출됩니다.

요청 헤더
Anchor link to
이름필수설명
AuthorizationToken XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요.
요청 본문
Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
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설명
200200디바이스가 성공적으로 구독 해지되었습니다
200210인수 오류. 자세한 내용은 status_message를 참조하세요.
400N/A잘못된 형식의 요청 문자열
500500내부 오류

deleteDevice

Anchor link to

POST https://api.pushwoosh.com/api/v2/device-api/deleteDevice

애플리케이션 내에서 지정된 HWID로 식별된 디바이스와 모든 관련 데이터를 삭제합니다. 푸시 토큰만 제거하고 디바이스 기록을 유지하는 /unregisterDevice와 달리, /deleteDevice는 디바이스를 완전히 제거합니다. 요청은 비동기적으로 처리되며, 삭제 요청이 처리되도록 수락되는 즉시 엔드포인트는 200 OK를 반환합니다.

요청 헤더

Anchor link to
이름필수설명
AuthorizationToken XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요.
Content-Typeapplication/json

요청 본문

Anchor link to
이름필수유형설명
applicationstringPushwoosh 애플리케이션 코드
hwidstring삭제할 디바이스의 하드웨어 디바이스 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설명
200200삭제 요청이 수락되었습니다
200210인수 오류. 자세한 내용은 status_message를 참조하세요.
400N/A잘못된 형식의 요청 문자열
401N/AAuthorization 토큰이 없거나 유효하지 않습니다
500500내부 오류

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

디바이스의 태그 값을 설정합니다. SDK에서 호출됩니다.

요청 헤더
Anchor link to
이름필수설명
AuthorizationToken XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요.
요청 본문
Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
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설명
200200태그가 성공적으로 설정되었습니다
200210인수 오류. 자세한 내용은 status_message를 참조하세요.
400N/A잘못된 형식의 요청 문자열
500500내부 오류

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

특정 디바이스에 대한 태그 목록과 해당 값을 검색합니다.

요청 헤더
Anchor link to
이름필수설명
AuthorizationToken XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요.
요청 본문
Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
userIdstring”hwid” 대신 사용할 사용자 ID입니다. “hwid”와 함께 사용될 경우 “hwid”가 우선합니다.
hwidstring/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" 대신 사용할 수 있습니다
}
}

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

디바이스의 현재 배지 값을 Pushwoosh로 보냅니다. SDK에서 내부적으로 호출됩니다.

요청 헤더
Anchor link to
이름필수설명
AuthorizationToken XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요.
요청 본문
Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
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 to

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

앱 열기 이벤트를 등록합니다. SDK에서 내부적으로 호출됩니다.

요청 헤더
Anchor link to
이름필수설명
AuthorizationToken XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요.
요청 본문
Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
hwid*string/registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다.
{
"status_code": 200,
"status_message": "OK"
}
예시
{
"request": {
"application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드
"hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID
}
}

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

푸시 열기 이벤트를 등록합니다. SDK에서 내부적으로 호출됩니다.

요청 헤더
Anchor link to
이름필수설명
AuthorizationToken XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요.
요청 본문
Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
hwid*string/registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다.
userIdstring푸시 열기 이벤트와 연결할 사용자 ID입니다.
hashstring푸시 알림에서 받은 해시 태그(푸시 페이로드의 “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 to

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

디바이스의 푸시 전달 이벤트를 등록합니다. SDK에서 내부적으로 호출됩니다.

요청 헤더
Anchor link to
이름필수설명
AuthorizationToken XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 API 토큰으로 바꾸세요.
요청 본문
Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
hwid*string/registerDevice 요청에 사용된 하드웨어 디바이스 ID입니다.
hashstring푸시 알림에서 받은 해시 태그(푸시 페이로드의 “p” 파라미터)입니다.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
예시
{
"request": {
"application": "XXXXX-XXXXX", // 필수. Pushwoosh 애플리케이션 코드
"hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // 필수. /registerDevice API에 사용된 하드웨어 디바이스 ID
"hash": "HASH_TAG" // 선택 사항. 푸시 알림에서 받은 해시 태그
// (푸시 페이로드의 "p" 파라미터)
}
}