콘텐츠로 건너뛰기

디바이스 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내부 오류

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" 파라미터)
}
}