콘텐츠로 건너뛰기

이메일 API

createEmailMessage 사용 중단됨

Anchor link to

이메일 메시지를 생성합니다.

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

요청 본문 매개변수

Anchor link to
이름유형
필수설명
authstringPushwoosh Control Panel의 API 액세스 토큰입니다.
applicationstringPushwoosh 애플리케이션 코드
notificationsarray이메일 메시지 세부 정보를 포함하는 JSON 배열입니다. 아래 알림 매개변수 표를 참조하세요.

알림 매개변수

Anchor link to
이름유형
필수설명
send_datestring이메일을 보낼 시기를 정의합니다. 형식: YYYY-MM-DD HH:mm 또는 "now".
presetstring이메일 프리셋 코드입니다. Pushwoosh Control Panel의 이메일 콘텐츠 편집기 URL 바에서 복사하세요.
subjectstring 또는 object아니요이메일의 제목 줄입니다. 이메일은 항상 콘텐츠의 언어로 전송됩니다. subjectcontent와 일치하는 언어가 포함되어 있지 않으면 제목은 비어 있게 됩니다.
contentstring 또는 object아니요이메일 본문 콘텐츠입니다. 일반 HTML 콘텐츠의 경우 문자열이거나, 현지화된 버전의 경우 객체일 수 있습니다.
attachmentsarray아니요이메일 첨부 파일입니다. 첨부 파일은 두 개만 사용할 수 있습니다. 각 첨부 파일은 1MB(base64 인코딩)를 초과할 수 없습니다.
list_unsubscribestring아니요”Link-Unsubscribe” 헤더에 대한 사용자 지정 URL을 설정할 수 있습니다.
campaignstring아니요이메일을 특정 캠페인과 연결하기 위한 캠페인 코드입니다.
ignore_user_timezoneboolean아니요true인 경우, 사용자 시간대를 무시하고 이메일을 즉시 보냅니다.
timezonestring아니요사용자의 시간대에 따라 이메일을 보냅니다. 예: "America/New_York".
filterstring아니요특정 필터 조건과 일치하는 사용자에게 이메일을 보냅니다.
devicesarray아니요타겟 이메일을 보낼 이메일 주소 목록(최대 1000개)입니다. 사용될 경우, 메시지는 이 주소들로만 전송됩니다. Application Group이 사용되면 무시됩니다.
use_auto_registrationboolean아니요true인 경우, devices 매개변수의 이메일을 자동으로 등록합니다.
usersarray아니요설정된 경우, 이메일 메시지는 지정된 User ID (/registerEmail 호출을 통해 등록됨)에만 전달됩니다. 배열에 1000개 이하의 User ID를 포함할 수 있습니다. “devices” 매개변수가 지정되면 “users” 매개변수는 무시됩니다.
dynamic_content_placeholdersobject아니요디바이스 태그 값 대신 동적 콘텐츠에 대한 플레이스홀더입니다.
conditionsarray아니요태그를 사용한 세분화 조건입니다. 예: [["Country", "EQ", "BR"]].
fromobject아니요애플리케이션 속성의 기본값을 재정의하여 사용자 지정 발신자 이름과 이메일을 지정합니다.
reply-toobject아니요애플리케이션 속성의 기본값을 재정의하여 사용자 지정 회신 이메일을 지정합니다.
bccarray아니요BCC (숨은 참조): 다른 수신자에게 보이지 않게 이메일 사본을 받는 이메일 주소 배열입니다.
email_typestring아니요이메일 유형을 지정합니다: "marketing" 또는 "transactional". 생략하면 PW_ControlGroup: true인 사용자는 메시지를 받지 않습니다.
email_categorystringemail_type"marketing"일 때 필수입니다.구독 환경 설정 센터에 구성된 카테고리 이름 중 하나를 지정합니다(예: 뉴스레터, 프로모션, 제품 업데이트).
transactionIdstring아니요네트워크 문제 발생 시 재전송을 방지하기 위한 고유 메시지 식별자입니다. Pushwoosh 측에 5분 동안 저장됩니다.
capping_daysinteger아니요디바이스당 빈도 제한을 적용할 일수(최대 30일)입니다. 참고: Control Panel에서 전역 빈도 제한이 구성되었는지 확인하세요.
capping_countinteger아니요capping_days 기간 내에 특정 앱에서 특정 디바이스로 보낼 수 있는 최대 이메일 수입니다. 생성된 메시지가 디바이스의 capping_count 제한을 초과하는 경우, 해당 디바이스로 전송되지 않습니다.
capping_excludeboolean아니요true로 설정하면, 이 이메일은 향후 이메일에 대한 빈도 제한에 포함되지 않습니다.
capping_avoidboolean아니요true로 설정하면, 이 특정 이메일에는 빈도 제한이 적용되지 않습니다.
send_rateinteger아니요모든 사용자에 걸쳐 초당 보낼 수 있는 메시지 수를 제한합니다. 대량 발송 시 백엔드 과부하를 방지하는 데 도움이 됩니다.
send_rate_avoidboolean아니요true로 설정하면, 이 특정 이메일에는 스로틀링 제한이 적용되지 않습니다.

요청 예시

Anchor link to
{
"request": {
"auth": "API_ACCESS_TOKEN", // 필수. Pushwoosh Control Panel의 API 액세스 토큰
"application": "APPLICATION_CODE", // 필수. Pushwoosh 애플리케이션 코드.
"notifications": [{
"send_date": "now", // 필수. YYYY-MM-DD HH:mm 또는 'now'
"preset": "ERXXX-32XXX", // 필수. Pushwoosh Control Panel의 이메일 콘텐츠 편집기 페이지 URL 바에서
// 이메일 프리셋 코드를 복사하세요.
"subject": { // 선택 사항. 이메일 메시지 제목.
"de": "subject de",
"en": "subject en"
},
"content": { // 선택 사항. 이메일 본문 콘텐츠.
"de": "<html><body>de Hello, moto</body></html>",
"default": "<html><body>default Hello, moto</body></html>"
},
"attachments": [{ // 선택 사항. 이메일 첨부 파일
"name": "image.png", // "name" - 파일 이름
"content": "iVBANA...AFTkuQmwC" // "content" - 파일의 base64 인코딩된 콘텐츠
}, {
"name": "file.pdf",
"content": "JVBERi...AFTarEGC"
}],
"list_unsubscribe": "URL", // 선택 사항. "Link-Unsubscribe" 헤더에 대한 사용자 지정 URL 설정 허용
"campaign": "CAMPAIGN_CODE", // 선택 사항. 이 이메일 메시지를 특정 캠페인에 할당하려면,
// 여기에 캠페인 코드를 추가하세요.
"ignore_user_timezone": true, // 선택 사항.
"timezone": "America/New_York", // 선택 사항. 사용자 디바이스에 설정된 시간대에 따라
// 메시지를 보내도록 지정합니다.
"filter": "FILTER_NAME", // 선택 사항. 필터 조건을 충족하는 특정 사용자에게 메시지를 보냅니다.
"devices": [ // 선택 사항. 타겟 이메일 메시지를 보낼 이메일 주소를 지정합니다.
"email_address1", // 배열에 1000개 이하의 주소.
"email_address2" // 설정된 경우, 메시지는 목록에 있는 주소로만 전송됩니다.
], // Application Group이 사용되면 무시됩니다.
"use_auto_registration": true, // 선택 사항. "devices" 매개변수에 지정된 이메일을 자동으로 등록합니다.
"users": [ // 선택 사항. 설정된 경우, 이메일 메시지는 지정된
"userId1", // User ID(/registerEmail 호출을 통해 등록됨)에만 전달됩니다.
"userId2" // 배열에 1000개 이하의 User ID.
], // "devices" 매개변수가 지정되면,
// "users" 매개변수는 무시됩니다.
"dynamic_content_placeholders": { // 선택 사항. 디바이스 태그 값 대신 동적 콘텐츠에 대한 플레이스홀더.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // 선택 사항. 세분화 조건, 아래 설명을 참조하세요.
["Country", "EQ", "BR"],
["Language", "EQ", "pt"]
],
"from": { // 선택 사항. 애플리케이션 속성에 설정된 기본 "From name" 및 "From email"을
"name": "alias from", // 대체할 발신자 이름과 발신자 이메일 주소를 지정합니다.
"email": "from-email@email.com" //
},
"reply-to": { // 선택 사항. 애플리케이션 속성에 설정된 기본 "Reply to"를
"name": "alias reply to ", // 대체할 이메일 주소를 지정합니다.
"email": "reply-to@email.com"
},
"bcc": [ // 선택 사항. BCC: 다른 수신자에게 보이지 않게 사본을 받는 이메일 주소 배열.
"bcc1@example.com",
"bcc2@example.com"
],
"email_type": "marketing", // 선택 사항. "marketing" 또는 "transactional".
// 생략하면 PW_ControlGroup: true인 사용자는 메시지를 받지 않습니다.
"email_category": "category name",// email_type이 "marketing"일 때 필수. 카테고리 이름.
"transactionId": "unique UUID", // 선택 사항. 네트워크 문제 발생 시 재전송을 방지하기 위한
// 고유 메시지 식별자. Pushwoosh 측에
// 5분 동안 저장됩니다.
// 빈도 제한 매개변수. Control Panel에서 전역 빈도 제한이 구성되었는지 확인하세요.
// 빈도 제한은 트랜잭션 메시지에는 적용되지 않습니다.
// 생략된 "email_type"을 포함한 다른 모든 경우, 빈도 제한이 적용됩니다.
"capping_days": 30, // 선택 사항. 빈도 제한 일수 (최대 30일)
"capping_count": 10, // 선택 사항. 'capping_days' 기간 내에 특정 앱에서
// 특정 디바이스로 보낼 수 있는 최대 이메일 수.
// 생성된 메시지가 디바이스의 'capping_count' 제한을
// 초과하는 경우, 해당 디바이스로 전송되지 않습니다.
"capping_exclude": true, // 선택 사항. true로 설정하면, 이 이메일은
// 향후 이메일에 대한 빈도 제한에 포함되지 않습니다.
"capping_avoid": true, // 선택 사항. true로 설정하면, 빈도 제한이
// 이 특정 이메일에는 적용되지 않습니다.
"send_rate": 100, // 선택 사항. 스로틀링 제한.
// 모든 사용자에 걸쳐 초당 보낼 수 있는 메시지 수를 제한합니다.
// 대량 발송 시 백엔드 과부하를 방지하는 데 도움이 됩니다.
"send_rate_avoid": true, // 선택 사항. true로 설정하면, 스로틀링 제한이
// 이 특정 이메일에는 적용되지 않습니다.
}]
}
}

응답 예시

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}

태그 조건

Anchor link to

각 태그 조건은 [tagName, operator, operand]와 같은 배열이며, 여기서

  • tagName: 태그의 이름
  • operator: “EQ” | “IN” | “NOTEQ” | “NOTIN” | “LTE” | “GTE” | “BETWEEN”
  • operand: string | integer | array | date

피연산자 설명

Anchor link to
  • EQ: 태그 값이 피연산자와 같습니다;
  • IN: 태그 값이 피연산자와 교차합니다 (피연산자는 항상 배열이어야 합니다);
  • NOTEQ: 태그 값이 피연산자와 같지 않습니다;
  • NOTIN: 태그 값이 피연산자와 교차하지 않습니다 (피연산자는 항상 배열이어야 합니다);
  • GTE: 태그 값이 피연산자보다 크거나 같습니다;
  • LTE: 태그 값이 피연산자보다 작거나 같습니다;
  • BETWEEN: 태그 값이 최소 피연산자 값보다 크거나 같고 최대 피연산자 값보다 작거나 같습니다 (피연산자는 항상 배열이어야 합니다).

문자열 태그

Anchor link to

유효한 연산자: EQ, IN, NOTEQ, NOTIN
유효한 피연산자:

  • EQ, NOTEQ: 피연산자는 문자열이어야 합니다;
  • IN, NOTIN: 피연산자는 ["value 1", "value 2", "value N"]과 같은 문자열 배열이어야 합니다;

정수 태그

Anchor link to

유효한 연산자: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
유효한 피연산자:

  • EQ, NOTEQ, GTE, LTE: 피연산자는 정수여야 합니다;
  • IN, NOTIN: 피연산자는 [value 1, value 2, value N]과 같은 정수 배열이어야 합니다;
  • BETWEEN: 피연산자는 [min_value, max_value]와 같은 정수 배열이어야 합니다.

날짜 태그

Anchor link to

유효한 연산자: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
유효한 피연산자:

  • "YYYY-MM-DD 00:00" (문자열)
  • 유닉스 타임스탬프 1234567890 (정수)
  • "N days ago" (문자열) 연산자 EQ, BETWEEN, GTE, LTE용

불리언 태그

Anchor link to

유효한 연산자: EQ
유효한 피연산자: 0, 1, true, false

리스트 태그

Anchor link to

유효한 연산자: IN
유효한 피연산자: 피연산자는 ["value 1", "value 2", "value N"]과 같은 문자열 배열이어야 합니다.

registerEmail

Anchor link to

앱에 이메일 주소를 등록합니다.

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

요청 헤더

Anchor link to
이름필수설명
AuthorizationToken XXXXDevice API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 Device API 토큰으로 교체하세요.

요청 본문

Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
email*string이메일 주소.
languagestring디바이스의 언어 로케일. ISO-639-1 표준에 따른 소문자 두 글자 코드여야 합니다.
userIdstring이메일 주소와 연결할 User ID입니다.
tz_offsetinteger시간대 오프셋(초).
tagsobject등록된 디바이스에 할당할 태그 값입니다.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
예시
{
"request": {
"application": "APPLICATION_CODE", // 필수. Pushwoosh 애플리케이션 코드.
"email":"email@domain.com", // 필수. 등록할 이메일 주소.
"language": "en", // 선택 사항. 언어 로케일.
"userId": "userId", // 선택 사항. 이메일 주소와 연결할 User ID.
"tz_offset": 3600, // 선택 사항. 시간대 오프셋(초).
"tags": { // 선택 사항. 등록된 디바이스에 설정할 태그 값.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1","string2"], // 리스트 유형의 태그에 대한 값 목록을 설정합니다
"DateTag": "2024-10-02 22:11", // 시간은 UTC여야 합니다
"BooleanTag": true // 유효한 값: true, false
}
}
}

deleteEmail

Anchor link to

사용자 기반에서 이메일 주소를 제거합니다.

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

요청 헤더

Anchor link to
이름필수설명
AuthorizationToken XXXXDevice API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 Device API 토큰으로 교체하세요.

요청 본문

Anchor link to
이름유형설명
applicationstringPushwoosh 애플리케이션 코드
emailstring/registerEmail 요청에서 사용된 이메일 주소.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
예시
{
"request": {
"application": "APPLICATION_CODE", // 필수. Pushwoosh 애플리케이션 코드
"email": "email@domain.com" // 필수. 앱 구독자에서 삭제할 이메일.
}
}

setEmailTags

Anchor link to

이메일 주소에 대한 태그 값을 설정합니다.

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

요청 헤더

Anchor link to
이름필수설명
AuthorizationToken XXXXDevice API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 Device API 토큰으로 교체하세요.

요청 본문

Anchor link to
이름유형설명
applicationstringPushwoosh 애플리케이션 코드
emailstring이메일 주소.
tagsobject설정할 태그의 JSON 객체, 값을 제거하려면 ‘null’을 보냅니다.
userIdstring이메일 주소와 연결된 User ID입니다.
{
"status_code": 200,
"status_message": "OK",
"response": {
"skipped": []
}
}
예시
{
"request": {
"email": "email@domain.com", // 필수. 태그를 설정할 이메일 주소.
"application": "APPLICATION_CODE", // 필수. Pushwoosh 애플리케이션 코드.
"tags": {
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // UTC 시간
"BooleanTag": true // 유효한 값: true, false
},
"userId": "userId" // 선택 사항. 이메일 주소와 연결된 User ID.
}
}

registerEmailUser

Anchor link to

외부 User ID를 지정된 이메일 주소와 연결합니다.

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

/createEmailMessage API 호출(‘users’ 매개변수)에서 사용할 수 있습니다.

요청 헤더

Anchor link to
이름필수설명
AuthorizationToken XXXXDevice API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 Device API 토큰으로 교체하세요.

요청 본문

Anchor link to
이름유형설명
application*stringPushwoosh 애플리케이션 코드
email*string이메일 주소.
userId*string이메일 주소와 연결할 User ID입니다.
tz_offsetinteger시간대 오프셋(초).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
예시
{
"request": {
"application": "APPLICATION_CODE", // 필수. Pushwoosh 애플리케이션 코드.
"email": "email@domain.com", // 필수. 사용자 이메일 주소.
"userId": "userId", // 필수. 이메일 주소와 연결할 User ID.
"tz_offset": 3600 // 선택 사항. 시간대 오프셋(초).
}
}