콘텐츠로 건너뛰기

이메일 API

createEmailMessage

Anchor link to

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

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

요청 본문 파라미터

Anchor link to
이름타입
필수설명
authstringPushwoosh 제어판의 API 액세스 토큰입니다.
applicationstringPushwoosh 애플리케이션 코드
notificationsarray이메일 메시지 세부 정보를 포함하는 JSON 배열입니다. 아래 알림 파라미터 표를 참조하세요.

알림 파라미터

Anchor link to
이름타입
필수설명
send_datestring이메일을 보낼 시점을 정의합니다. 형식: YYYY-MM-DD HH:mm 또는 "now".
presetstring이메일 프리셋 코드. Pushwoosh 제어판의 이메일 콘텐츠 편집기 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개)입니다. 사용되는 경우, 메시지는 이 주소로만 전송됩니다. 애플리케이션 그룹이 사용되는 경우 무시됩니다.
use_auto_registrationboolean아니요true인 경우, devices 파라미터의 이메일을 자동으로 등록합니다.
usersarray아니요설정된 경우, 이메일 메시지는 지정된 User ID (/registerEmail 호출을 통해 등록됨)에만 전달됩니다. 배열에 1000개 이하의 User ID가 있어야 합니다. “devices” 파라미터가 지정된 경우, “users” 파라미터는 무시됩니다.
dynamic_content_placeholdersobject아니요디바이스 태그 값 대신 동적 콘텐츠에 대한 플레이스홀더입니다.
conditionsarray아니요태그를 사용한 세분화 조건입니다. 예: [["Country", "EQ", "BR"]].
fromobject아니요애플리케이션 속성의 기본값을 재정의하여 사용자 지정 발신자 이름과 이메일을 지정합니다.
reply-toobject아니요애플리케이션 속성의 기본값을 재정의하여 사용자 지정 회신 이메일을 지정합니다.
email_typestring아니요이메일 유형을 지정합니다: "marketing" 또는 "transactional".
email_categorystringemail_type"marketing"일 때 필수.구독 환경 설정 센터에 구성된 카테고리 이름 중 하나를 지정합니다(예: 뉴스레터, 프로모션, 제품 업데이트).
transactionIdstring아니요네트워크 문제 발생 시 재전송을 방지하기 위한 고유 메시지 식별자입니다. Pushwoosh 측에서 5분 동안 저장됩니다.
capping_daysinteger아니요디바이스당 빈도 제한을 적용할 일수(최대 30일)입니다. 참고: 제어판에서 전역 빈도 제한이 구성되어 있는지 확인하세요.
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 제어판의 API 액세스 토큰
"application": "APPLICATION_CODE", // 필수. Pushwoosh 애플리케이션 코드.
"notifications": [{
"send_date": "now", // 필수. YYYY-MM-DD HH:mm 또는 'now'
"preset": "ERXXX-32XXX", // 필수. Pushwoosh 제어판의 이메일 콘텐츠 편집기 페이지 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" // 설정된 경우, 메시지는 목록에 있는 주소로만 전송됩니다.
], // 애플리케이션 그룹이 사용되는 경우 무시됩니다.
"use_auto_registration": true, // 선택 사항. "devices" 파라미터에 지정된 이메일을 자동으로 등록합니다.
"users": [ // 선택 사항. 설정된 경우, 이메일 메시지는 지정된
"userId1", // 사용자 ID(/registerEmail 호출을 통해 등록됨)에만 전달됩니다.
"userId2" // 배열에 1000개 이하의 사용자 ID.
], // "devices" 파라미터가 지정된 경우,
// "users" 파라미터는 무시됩니다.
"dynamic_content_placeholders": { // 선택 사항. 디바이스 태그 값 대신 동적 콘텐츠에 대한 플레이스홀더.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // 선택 사항. 세분화 조건, 아래 설명을 참조하세요.
["Country", "EQ", "BR"],
["Language", "EQ", "pt"]
],
"from": { // 선택 사항. 발신자 이름과 발신자 이메일 주소를 지정하여
"name": "alias from", // 애플리케이션 속성에 설정된 기본 "보낸 사람 이름"과
"email": "from-email@email.com" // "보낸 사람 이메일"을 대체합니다.
},
"reply-to": { // 선택 사항. 이메일 주소를 지정하여 애플리케이션 속성에
"name": "alias reply to ", // 설정된 기본 "회신 주소"를 대체합니다.
"email": "reply-to@email.com"
},
"email_type": "marketing", // 선택 사항. "marketing" 또는 "transactional".
"email_category": "category name",// email_type이 "marketing"일 때 필수. 카테고리 이름.
"transactionId": "unique UUID", // 선택 사항. 네트워크 문제 발생 시 재전송을 방지하기 위한
// 고유 메시지 식별자. Pushwoosh 측에서
// 5분 동안 저장됩니다.
// 빈도 제한 파라미터. 제어판에서 전역 빈도 제한이 구성되어 있는지 확인하세요.
"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 (정수)
  • 연산자 EQ, BETWEEN, GTE, LTE에 대해 "N days ago" (문자열)

불리언 태그

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 XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 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 XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 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 XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 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 XXXX디바이스 API에 액세스하기 위한 API 디바이스 토큰입니다. XXXX를 실제 디바이스 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 // 선택 사항. 초 단위의 시간대 오프셋.
}
}