[API 도메인]
| 환경 | 도메인 |
|---|---|
| Real | https://email.api.nhncloudservice.com |
[Header]
Content-Type: application/json;charset=UTF-8
Header
X-Secret-Key: [a-zA-Z0-9]{8}
CONSOLE > Notification > Email > URL & AppKey 에서 확인/생성할 수 있습니다.
[curl 예시 주의 사항]
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/sender/mail |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| senderAddress | String | O | 발신자 메일 주소 ( 최대 100자 ) |
| senderName | String | X | 발신자 이름 ( 최대 100자 ) |
| requestDate | String | X | 발송 일시 (yyyy-MM-dd HH:mm:ss) 현재 일시(기본값) |
| title | String | O | 메일 제목 (최대 998자) |
| body | String | O | 메일 내용 |
| attachFileIdList | List:Integer | X | 업로드한 첨부 파일 id (파일 업로드 시 file id를 반환) |
| templateId | String | X | 발송 템플릿 ID ( 최대 50자 ) |
| templateType | String | X | 템플릿 타입 DEFAULT(기본값), FREEMARKER) |
| templateParameter | Object | X | 치환 파라미터 (메일 제목/내용 치환시 입력) |
| - key | String | X | 치환 키 (##key##) |
| - value | Object | X | 치환 키에 매핑되는 Value값 |
| receiverList | List | O | 수신자 리스트 최대 1000명까지 발송 가능(받는 사람, 참조자 포함) |
| - receiveMailAddr | String | O | 수신자 메일 주소 |
| - receiveName | String | X | 수신자명 |
| - receiveType | String | O | 수신자 타입 (MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조) |
| customHeaders | Map | X | 사용자 지정 헤더 |
| senderGroupingKey | String | X | 발신자 그룹 키 ( 최대 100자 ) |
| userId | String | X | 발송 구분자 ex)admin,system ( 최대 50자 ) |
| statsId | String | X | 통계 ID(발신 검색 조건에는 포함되지 않습니다.) |
[주의]
[예시 1]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/mail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"senderAddress": "support@example.com",
"senderName": "발송자이름",
"title": "샘플 타이틀",
"body": "샘플 내용",
"receiverList": [{
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1",
"receiveType": "MRT0"
}, {
"receiveMailAddr": "customer2@example.com",
"receiveName": "고객2",
"receiveType": "MRT1"
}
],
"userId": "USER",
"statsId": "statsId"
}'
[예시 2 - 템플릿 사용]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/mail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"templateId": "TEMPLATE1",
"templateParameter": {
"key": "value"
},
"receiverList": [{
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1",
"receiveType": "MRT0"
}, {
"receiveMailAddr": "customer2@example.com",
"receiveName": "고객2",
"receiveType": "MRT1"
}
],
"userId": "USER",
"statsId": "statsId"
}'
{
"header": {
"resultCode": 0,
"resultMessage": "success",
"isSuccessful": true
},
"body": {
"data": {
"requestId": "20190101000000ABCDEFG0",
"results": [
{
"receiveMailAddr": "receiver@example.com",
"receiveName": "receiver",
"receiveType": "MRT0",
"resultCode": 0,
"resultMessage": "success"
}
]
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- requestId | String | X | 요청 ID |
| -- results | List | X | 발송 결과 |
| --- receiveMailAddr | String | X | 수신자 메일 주소 |
| --- receiveName | String | X | 수신자명 |
| --- receiveType | String | O | 수신자 타입 (MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조) |
| --- resultCode | Integer | O | 수신자 발송 요청 결과 코드 |
| --- resultMessage | String | O | 수신자 발송 요청 결과 메시지 |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/sender/eachMail |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| senderAddress | String | O | 발신자 메일 주소 ( 최대 100자 ) |
| senderName | String | X | 발신자 이름 ( 최대 100자 ) |
| requestDate | String | X | 발송 일시 (yyyy-MM-dd HH:mm:ss) 현재 일시(기본값) |
| title | String | O | 메일 제목 (최대 998자) |
| body | String | O | 메일 내용 |
| attachFileIdList | List:Integer | X | 업로드한 첨부 파일 id (파일 업로드 시 file id를 반환) |
| templateId | String | X | 발송 템플릿 ID ( 최대 50자 ) |
| templateType | String | X | 템플릿 타입 DEFAULT(기본값), FREEMARKER) |
| receiverList | List | O | 수신자 리스트 최대 1000명까지 발송 가능 |
| - receiveMailAddr | String | O | 수신자 메일 주소 |
| - receiveName | String | X | 수신자명 |
| - templateParameter | Object | X | 치환 파라미터 (메일 제목/내용 치환시 입력) |
| -- #key# | String | X | 치환 키 (##key##) |
| -- #value# | Object | X | 치환 키에 매핑되는 Value값 |
| customHeaders | Map | X | 사용자 지정 헤더 |
| senderGroupingKey | String | X | 발신자 그룹 키 ( 최대 100자 ) |
| userId | String | X | 발송 구분자 ex)admin,system ( 최대 50자 ) |
| statsId | String | X | 통계 ID(발신 검색 조건에는 포함되지 않습니다.) |
[주의]
[예시 1]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/eachMail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"senderAddress": "support@example.com",
"senderName": "발송자이름",
"title": "샘플 타이틀",
"body": "샘플 내용",
"attachFileIdList": [1, 2],
"receiverList": [{
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1"
}
],
"userId": "USER",
"statsId": "statsId"
}'
[예시 2 - 템플릿 사용]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/eachMail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"templateId": "TEMPLATE1",
"receiverList": [{
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1",
"templateParameter": {
"key": "value"
}
}
],
"userId": "USER",
"statsId": "statsId"
}'
{
"header": {
"resultCode": 0,
"resultMessage": "success",
"isSuccessful": true
},
"body": {
"data": {
"requestId": "20190101000000ABCDEFG0",
"results": [
{
"receiveMailAddr": "receiver@example.com",
"receiveName": "receiver",
"receiveType": "MRT0",
"resultCode": 0,
"resultMessage": "success"
}
]
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- requestId | String | X | 요청 ID |
| -- results | List | X | 발송 결과 |
| --- receiveMailAddr | String | O | 수신자 메일 주소 |
| --- receiveName | String | X | 수신자명 |
| --- receiveType | String | O | 수신자 타입 (MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조) |
| --- resultCode | Integer | O | 수신자 발송 요청 결과 코드 |
| --- resultMessage | String | O | 수신자 발송 요청 결과 메시지 |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/sender/ad-mail |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[예시 1]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/ad-mail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"senderAddress": "support@example.com",
"senderName": "발송자이름",
"title": "(광고) 샘플 타이틀",
"body": "샘플 내용 <br /> ##BLOCK_RECEIVER_LINK## <br />##EN_BLOCK_RECEIVER_LINK##",
"receiverList": [{
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1",
"receiveType": "MRT0"
}, {
"receiveMailAddr": "customer2@example.com",
"receiveName": "고객2",
"receiveType": "MRT1"
}
],
"userId": "USER",
"statsId": "statsId"
}'
[예시 2 - 템플릿 사용]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/ad-mail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"templateId": "TEMPLATE1",
"templateParameter": {
"key": "value"
},
"receiverList": [{
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1",
"receiveType": "MRT0"
}, {
"receiveMailAddr": "customer2@example.com",
"receiveName": "고객2",
"receiveType": "MRT1"
}
],
"userId": "USER",
"statsId": "statsId"
}'
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/sender/ad-eachMail |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[예시 1]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/ad-eachMail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"senderAddress": "support@example.com",
"senderName": "발송자이름",
"title": "(광고) 샘플 타이틀",
"body": "샘플 내용 <br /> ##BLOCK_RECEIVER_LINK## <br />##EN_BLOCK_RECEIVER_LINK##",
"attachFileIdList": [1, 2],
"receiverList": [{
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1"
}
],
"userId": "USER",
"statsId": "statsId"
}'
[예시 2 - 템플릿 사용]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/ad-eachMail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"templateId": "TEMPLATE1",
"receiverList": [{
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1",
"templateParameter": {
"key": "value"
}
}
],
"userId": "USER",
"statsId": "statsId"
}'
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/sender/auth-mail |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| senderAddress | String | O | 발신자 메일 ( 최대 100자 ) |
| senderName | String | X | 발신자 이름 ( 최대 100자 ) |
| requestDate | String | X | 발송 일시 (yyyy-MM-dd HH:mm:ss) 현재 일시(기본값) |
| title | String | O | 제목 ( 최대 998자 ) |
| body | String | O | 내용 |
| templateId | String | X | 발송 템플릿 ID |
| receiver | Object | O | 수신자 |
| - receiveMailAddr | String | O | 수신자 메일 주소 |
| - receiveName | String | X | 수신자명 |
| - templateParameter | Object | X | 치환 파라미터 (메일 제목/내용 치환시 입력) |
| -- #key# | String | X | 치환 키 (##key##) |
| -- #value# | Object | X | 치환 키에 매핑되는 Value값 |
| customHeaders | Map | X | 사용자 지정 헤더 ( 최대 100자 ) |
| senderGroupingKey | String | X | 발신자 그룹 키(최대 100자 ) |
| userId | String | X | 발송 구분자 ex)admin,system ( 최대 50자 ) |
| statsId | String | X | 통계 ID(발신 검색 조건에는 포함되지 않습니다.) |
[주의]
인증 메일 성격상 다음과 같이 다른 특성들이 있습니다.
[예시 1]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/auth-mail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"senderAddress": "support@example.com",
"senderName": "발송자이름",
"title": "샘플 타이틀",
"body": "샘플 내용",
"receiver": {
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1"
},
"userId": "USER",
"statsId": "statsId"
}'
[예시 2 - 템플릿 사용]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/auth-mail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"templateId": "TEMPLATE1",
"receiver": {
"receiveMailAddr": "customer1@example.com",
"receiveName": "고객1",
"templateParameter": {
"key": "value"
}
},
"userId": "USER",
"statsId": "statsId"
}'
{
"header": {
"resultCode": 0,
"resultMessage": "success",
"isSuccessful": true
},
"body": {
"data": {
"requestId": "20190101000000ABCDEFG0",
"results": [
{
"receiveMailAddr": "receiver@example.com",
"receiveName": "receiver",
"receiveType": "MRT0",
"resultCode": 0,
"resultMessage": "success"
}
]
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- requestId | String | X | 요청 ID |
| -- results | List | X | 발송 결과 |
| --- receiveMailAddr | String | O | 수신자 메일 주소 |
| --- receiveName | String | X | 수신자명 |
| --- receiveType | String | O | 수신자 타입 (MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조) |
| --- resultCode | Integer | O | 수신자 발송 요청 결과 코드 |
| --- resultMessage | String | O | 수신자 발송 요청 결과 메시지 |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/sender/tagMail |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| senderAddress | String | O | 발신자 메일 ( 최대 100자 ) |
| senderName | String | X | 발신자 이름 ( 최대 100자 ) |
| requestDate | String | X | 발송 일시 (yyyy-MM-dd HH:mm:ss) 현재 일시(기본값) |
| title | String | O | 제목 ( 최대 998자 ) |
| body | String | O | 내용 |
| templateId | String | X | 템플릿 ID |
| adYn | String | X | 광고 여부 'N'(기본값) |
| autoSendYn | String | X | 자동 발송 여부 'Y'(기본값) |
| attachFileIdList | List:Integer | X | 첨부 파일 리스트 |
| tagExpression | List:String | O | 태그 표현식(태그 ID 포함) |
| customHeaders | Map | X | 사용자 지정 헤더 |
| userId | String | X | 발송 구분자 ex)admin,system |
| statsId | String | X | 통계 ID(발신 검색 조건에는 포함되지 않습니다.) |
[예시 1]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/tagMail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"senderAddress": "support@example.com",
"senderName": "발송자이름",
"title": "샘플 타이틀",
"body": "샘플 내용",
"attachFileIdList": [1, 2],
"tagExpression": ["tag1", "AND", "tag2"],
"userId": "USER",
"statsId": "statsId"
}'
[예시 2 - 템플릿 사용]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/tagMail' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"templateId": "TEMPLATE1",
"tagExpression": ["tag1", "AND", "tag2"],
"userId": "USER",
"statsId": "statsId"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"requestId": "20190101000000ABCDEFG0"
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | X | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- requestId | String | X | 요청 ID |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/attachfile/binaryUpload |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| fileName | String | O | 파일 이름 |
| fileBody | Byte[] | O | 파일의 Byte[] 값 |
| createUser | String | X | 파일 업로드 유저 정보 |
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/attachfile/binaryUpload' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"fileName": "file.csv",
"createUser": "USER",
"fileBody": []
}'
{
"header": {
"isSuccessful": Boolean,
"resultCode": Integer,
"resultMessage": String
},
"body": {
"data": {
"fileId": Integer,
"fileName": String
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- fileId | Integer | O | 파일 ID |
| -- fileName | String | O | 파일명 |
* title : ##title_name##님 안녕하세요 !!
* body : ##body_content## 발송합니다.
->
* title : 클라우드고객1님 안녕하세요!!
* body : test2 발송합니다.
* title : ${title_name}님 안녕하세요 !!
* body : ${body_content} 발송합니다.
->
* title : 클라우드고객1님 안녕하세요!!
* body : test2 발송합니다.
{
"senderAddress" : "support@example.com",
"templateId": "template1",
"templateParameter" : {"title_name": "클라우드고객1", "body_content": "test1"},
"receiverList" : [
{
"receiveMailAddr" : "customer1@example.com",
"receiveType" : "MRT0"
}
],
"userId" : "tester"
}
{
"senderAddress" : "support@example.com",
"templateId": "template1",
"receiverList" : [
{
"receiveMailAddr" : "customer1@example.com",
"templateParameter" : {"title_name": "클라우드고객1", "body_content": "test1"}
},
{
"receiveMailAddr" : "customer2@example.com",
"templateParameter" : {"title_name": "클라우드고객2", "body_content": "test2"}
}
],
"userId" : "tester"
}
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/sender/mails |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| requestId | String | O | 요청 ID |
| startSendDate | String | O | 발송 날짜 시작 값(yyyy-MM-dd HH:mm:ss) |
| endSendDate | String | O | 발송 날짜 종료 값(yyyy-MM-dd HH:mm:ss) |
| startReceiveDate | String | X | 수신 날짜 시작 값(yyyy-MM-dd HH:mm:ss) |
| endReceiveDate | String | X | 수신 날짜 종료 값(yyyy-MM-dd HH:mm:ss) |
| senderAddress | String | X | 발신 메일 주소 |
| senderName | String | X | 발신자 이름 |
| receiveMailAddr | String | X | 수신 메일 주소 |
| templateId | String | X | 템플릿 ID |
| mailStatusCode | String | X | 발송 상태 코드 SST0:발송 준비, SST1:발송 중, SST2:발송 완료, SST3: 발송 실패, SST7: 미인증 |
| isReceived | Boolean | X | 수신 여부 |
| isOpened | Boolean | X | 읽음 여부 |
| senderGroupingKey | String | X | 발신자 그룹 키 |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/mails?startSendDate='"${START_DATE}"'&endSendDate='"${END_DATE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 10,
"totalCount": 1,
"data": [
{
"requestId": "20190101000000ABCDEFG0",
"mailSeq": 0,
"requestDate": "2019-01-01 00:00:00",
"templateId": "Template",
"templateName": "Template Name",
"senderName": "Sender",
"senderAddress": "sender@example.com",
"title": "Title",
"mailStatusCode": "SST2",
"mailStatusName": "발송 완료",
"isReceived": true,
"resultDate": "2019-01-01 00:00:00",
"isOpened": true,
"openedDate": "2019-01-01 00:00:00",
"receiveMailAddr": "receiver@example.com",
"receiveType": "MRT0",
"receiveTypeName": "받는 사람",
"receiveName": "Receiver",
"senderGroupingKey": "A_GROUP",
"dsnCode": "2.5.0",
"dsnMessage": "SUCCESS",
"statsId": "statsId"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | O | 현재 페이지 번호 |
| - pageSize | Integer | O | 조회된 데이터 건수 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | List | X | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- mailSeq | Integer | O | 한 요청에 여러 메일을 보낸 경우, 각 메일에 부여되는 순번 |
| -- requestDate | String | O | 발신일시 |
| -- templateId | String | X | 템플릿ID |
| -- templateName | String | X | 템플릿명 |
| -- senderName | String | X | 발신자 이름 |
| -- senderAddress | String | O | 발신자 메일 주소 |
| -- title | String | X | 메일 제목 |
| -- mailStatusCode | String | O | 발송 상태 코드 SST0:발송 준비, SST1:발송 중, SST2:발송 완료, SST3: 발송 실패, SST7: 미인증 |
| -- mailStatusName | String | O | 발송 상태명 |
| -- isReceived | Boolean | X | 수신 여부 |
| -- resultDate | String | X | 수신 일시 |
| -- isOpened | Boolean | X | 읽음 여부 |
| -- openedDate | String | X | 읽은 일시 |
| -- receiveMailAddr | String | O | 수신자 메일 주소 |
| -- receiveType | String | O | 수신자 타입 MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조 |
| -- receiveTypeName | String | O | 수신자 타입 이름 |
| -- receiveName | String | X | 수신자 이름 |
| -- senderGroupingKey | String | X | 발신자 그룹 키 |
| -- dsnCode | String | X | DSN(Delivery Status Notification) 상태 코드 |
| -- dsnMessage | String | X | DSN(Delivery Status Notification) 상태 메시지 |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/sender/mail/{requestId}/{mailSeq} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| requestId | String | 요청ID |
| mailSeq | Integer | 메일 순번 (메일 리스트 조회 시 반환되는 mailSeq 값) |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/mail/'"${REQUEST_ID}"'/'"${MAIL_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"requestId": "20190101000000ABCDEFG0",
"mailSeq": 0,
"requestIp": "127.0.0.1",
"requestDate": "2019-01-01 00:00:00",
"mailStatusCode": "SST2",
"mailStatusName": "발송 완료",
"templateId": "Template",
"templateName": "Template Name",
"senderName": "Sender",
"senderAddress": "sender@example.com",
"resultId": "<20190101000000ABCDEFG0@test>",
"title": "Title",
"body": "Body",
"receiverList": [
{
"requestId": "20190101000000ABCDEFG0",
"mailSeq": 0,
"receiveType": "MRT0",
"receiveTypeName": "받는 사람",
"receiveName": "Receiver",
"receiveMailAddr": "receiver@example.com",
"isReceived": true,
"resultDate": "2019-01-01 00:00:00",
"isOpened": true,
"openedDate": "2019-01-01 00:00:00",
"dsnCode": "2.5.0",
"dsnMessage": "SUCCESS"
}
],
"attachFileList": [
{
"fileType": "MAIL",
"fileId": 1,
"fileName": "test.jpg",
"filePath": "file/path",
"fileSize": 1,
"createDate": "2019-01-01 00:00:00"
}
],
"customHeaders": {
"Content-Type": "text/html"
},
"senderGroupingKey": "A_GROUP",
"statsId": "statsId"
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- mailSeq | Integer | O | 메일 순번 |
| -- requestIp | String | O | 요청 IP |
| -- requestDate | String | O | 요청 일시 |
| -- mailStatusCode | String | O | 발송 상태 코드 SST0:발송 준비, SST1:발송 중, SST2:발송 완료, SST3: 발송 실패, SST7: 미인증 |
| -- mailStatusName | String | O | 발송 상태명 |
| -- templateId | String | X | 템플릿 ID |
| -- templateName | String | X | 템플릿명 |
| -- senderName | String | X | 발신자 이름 |
| -- senderAddress | String | O | 발신자 메일 주소 |
| -- resultId | String | X | 메일 발송 ID |
| -- title | String | X | 메일 제목 |
| -- body | String | X | 메일 내용 |
| -- receiverList | List | X | 수신자 리스트 |
| --- requestId | String | O | 요청 ID |
| --- mailSeq | Integer | O | 메일 순번 |
| --- receiveType | String | O | 수신자 타입 MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조 |
| --- receiveTypeName | String | O | 수신자 타입명 |
| --- receiveName | String | X | 수신자 이름 |
| --- receiveMailAddr | String | O | 수신자 메일 주소 |
| --- isReceived | Boolean | O | 수신 여부 |
| --- resultDate | String | X | 수신 일시 |
| --- isOpened | Boolean | O | 읽음 여부 |
| --- openedDate | String | X | 읽은 일시 |
| --- dsnCode | String | X | DSN(Delivery Status Notification) 상태 코드 |
| --- dsnMessage | String | X | DSN(Delivery Status Notification) 상태 메시지 |
| -- attachFileList | List | X | 첨부 파일 리스트 |
| --- fileType | String | O | 첨부 파일 타입 MAIL: 메일에 첨부된 파일, TEMPLATE: 템플릿에 첨부된 파일 |
| --- fileId | Integer | O | 파일 ID |
| --- fileName | String | O | 첨부 파일 이름 |
| --- filePath | String | O | 첨부 파일 경로 |
| --- fileSize | Integer | O | 첨부 파일 크기(byte) |
| --- createDate | String | O | 생성 일시 |
| -- customHeaders | Map | X | 사용자 지정 헤더 |
| -- senderGroupingKey | String | X | 발신자 그룹 키 |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/sender/update-mails |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| startMailStatusUpdateDate | String | O | 메일 발송 상태 코드 업데이트 시작 시간 (yyyy-MM-dd HH:mm:ss) |
| endMailStatusUpdateDate | String | O | 메일 발송 상태 코드 업데이트 종료 시간 (yyyy-MM-dd HH:mm:ss) |
| mailStatusCode | Integer | X | 발송 상태 코드 SST2: 발송 완료, SST3: 발송 실패, SST5: 수신 거부, SST7: 미인증, SST8: 화이트리스트로 인한 실패 |
| messageType | String | X | 메세지 발송 유형 (NORMAL: 일반, DM: 광고, AUTH: 인증) |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/update-mails \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 10,
"totalCount": 1,
"data": [
{
"requestId": "20250101000000ABCDEFG0",
"mailSeq": 0,
"mailStatusCode": "SST2",
"mailStatusName": "발송 성공",
"requestDate": "2015-01-01 00:00:00",
"mailStatusUpdatedDate": "",
"resultDate": "2019-01-01 00:00:00",
"openedDate": "2019-01-01 00:00:01",
"dsnCode": "2.5.0",
"dsnMessage": "SUCCESS",
"senderGroupingKey": "groupKey"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| data | Object | X | 데이터 영역 |
| - requestId | String | O | 요청 ID |
| - mailSeq | Integer | O | 메일 순번 |
| - mailStatusCode | String | O | 발송 상태 코드 SST2: 발송 완료, SST3: 발송 실패, SST5: 수신 거부, SST7: 미인증, SST8: 화이트리스트로 인한 실패 |
| - mailStatusName | String | O | 발송 상태명 |
| - requestDate | String | O | 요청 일시 |
| - mailStatusUpdatedDate | String | O | 메일 발송 상태 코드 업데이트 일시 |
| - resultDate | String | X | 수신 일시 |
| - openedDate | String | X | 읽은 일시 |
| - dsnCode | String | X | DSN(delivery status notification) 상태 코드 |
| - dsnMessage | String | X | DSN(delivery status notification) 상태 메시지 |
| - senderGroupingKey | String | X | 발송자 그룹 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/mass-mails |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| requestId | String | O | 요청 ID |
| startSendDate | String | O | 발송 날짜 시작 값(yyyy-MM-dd HH:mm:ss) |
| endSendDate | String | O | 발송 날짜 종료 값(yyyy-MM-dd HH:mm:ss) |
| senderAddress | String | X | 발신 메일 주소 |
| senderName | String | X | 발신자 이름 |
| templateId | String | X | 템플릿 ID |
| sendStatus | String | X | 발송 상태 코드 WAIT: 대기, READY: 발송 준비, SENDREADY: 발송 준비완료, SENDWAIT: 발송대기, SENDING: 발송 중, COMPLETE: 발송 완료, FAIL: 발송 실패, CANCEL: 발송취소 |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/mass-mails?startSendDate='"${START_DATE}"'&endSendDate='"${END_DATE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"pageNum":1,
"pageSize":15,
"totalCount":1,
"data":[
{
"requestId":"202108061843001hIOqv82",
"requestDate":"2021-08-06 18:43:00",
"sendStatus":"COMPLETE",
"sendStatusName":"발송 완료",
"templateId":"templateId",
"templateName":"templateName",
"senderName":"NHN Cloud",
"senderAddress":"email@nhncloud.com",
"title":"title",
"body":"body",
"adYn":"N",
"createDate":"2021-08-06 18:43:03",
"updateDate":"2021-08-06 18:43:03",
"statsId": "statsId"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | X | 현재 페이지 번호 |
| - pageSize | Integer | X | 조회된 데이터 건수 |
| - totalCount | Integer | X | 총 데이터 건수 |
| - data | Object | X | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- requestDate | String | O | 요청 일시 |
| -- sendStatus | String | O | 발송 상태 코드 WAIT: 대기, READY: 발송 준비, SENDREADY: 발송 준비완료, SENDWAIT: 발송대기, SENDING: 발송 중, COMPLETE: 발송 완료, FAIL: 발송 실패, CANCEL: 발송취소 |
| -- sendStatusName | String | O | 발송 상태명 |
| -- templateId | String | X | 템플릿 ID |
| -- templateName | String | X | 템플릿명 |
| -- senderName | String | X | 발신자 이름 |
| -- senderAddress | String | X | 발신자 메일 주소 |
| -- title | String | X | 메일 제목 |
| -- body | String | X | 메일 내용 |
| -- adYn | String | O | 광고 여부 |
| -- createDate | String | O | 생성 일시 |
| -- updateDate | String | X | 수정 일시 |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/mass-mails/{requestId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| requestId | String | 요청 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| receiveMailAddr | String | X | 수신 메일 주소 |
| startReceiveDate | String | X | 수신 날짜 시작 값(yyyy-MM-dd HH:mm:ss) |
| endReceiveDate | String | X | 수신 날짜 종료 값(yyyy-MM-dd HH:mm:ss) |
| mailStatusCode | String | X | 발송 상태 코드 SST0:발송 준비, SST1:발송 중, SST2:발송 완료, SST3: 발송 실패, SST7: 미인증 |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/mass-mails/'"${REQUEST_ID}"'?startSendDate='"${START_DATE}"'&endSendDate='"${END_DATE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"pageNum":1,
"pageSize":15,
"totalCount":1,
"data":[
{
"requestId":"20210806120100sA3CcWU2",
"mailSeq":1,
"mailStatusCode":"SST2",
"mailStatusName":"발송 완료",
"resultId":"<20210806120100sA3CcWU2@tcmmsapp-92a901>",
"receiveType":"MRT0",
"receiveTypeName":"받는 사람",
"receiveName":"name",
"receiveMailAddr":"email@nhncloud.com",
"isReceived":true,
"resultDate":"2021-08-06 13:02:00",
"isOpened":true,
"openedDate":"2021-08-06 12:34:30",
"dsnCode":"2.5.0",
"dsnMessage":"SUCCESS",
"createDate":"2021-08-06 12:01:41",
"updateDate":"2021-08-06 12:02:00",
"statsId": "statsId"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | O | 현재 페이지 번호 |
| -pageSize | Integer | O | 조회된 데이터 건수 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | List | X | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- mailSeq | Integer | O | 메일 순번 |
| -- mailStatusCode | String | O | 메일 상태 코드 SST0:발송 준비, SST1:발송 중, SST2:발송 완료, SST3: 발송 실패, SST7: 미인증 |
| -- mailStatusName | String | O | 메일 상태명 |
| -- resultId | String | X | SMTP ID |
| -- receiveType | String | O | 수신자 타입 MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조 |
| -- receiveTypeName | String | O | 수신자 타입명 |
| -- receiveName | String | X | 수신자 이름 |
| -- receiveMailAddr | String | O | 수신자 메일 주소 |
| -- isReceived | Boolean | O | 수신 여부 |
| -- resultDate | String | X | 수신 일시 |
| -- isOpened | Boolean | O | 읽음 여부 |
| -- openedDate | String | X | 읽은 일시 |
| -- dsnCode | String | X | DSN(Delivery Status Notification) 상태 코드 |
| -- dsnMessage | String | X | DSN(Delivery Status Notification) 상태 메시지 |
| -- createDate | String | O | 생성 일시 |
| -- updateDate | String | O | 수정 일시 |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/mass-mails/{requestId}/{mailSeq} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| requestId | String | 요청 ID |
| mailSeq | Integer | 메일 순번 |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/mass-mails/'"${REQUEST_ID}"'/'"${MAIL_SEQ}"' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"requestId":"20210806123100Q60Z9I72",
"templateId":"test",
"templateName":"3443423",
"mailStatusCode":"SST2",
"mailStatusName":"발송 완료",
"requestDate":"2021-08-06 12:31:00",
"senderName":"name",
"senderAddress":"email@nhncloud.com",
"resultId":"<20210806123100Q60Z9I72@tcmmsapp-92a901>",
"resultDate":"2021-08-06 12:34:30",
"title":"test",
"body":"test",
"customHeaders":null,
"receiverList":[
{
"requestId":"20210806123100Q60Z9I72",
"mailSeq":"1",
"receiveType":"MRT0",
"receiveTypeName":"받는 사람",
"receiveMailAddr":"email@nhncloud.com",
"isReceived":true,
"resultDate":"2021-08-06 12:34:30",
"isOpened":true,
"openedDate":"2021-08-06 12:34:30",
"dsnCode":"2.5.0",
"dsnMessage":"SUCCESS"
}
],
"attachFileList":[
{
"fileType":"TEMPLATE",
"fileId":38915,
"fileName":"file",
"filePath":"1014535/toast-mt-2021-08-06/1229/38915",
"fileSize":1679,
"createDate":"2021-08-06 12:29:14"
}
],
"statsId": "statsId"
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- templateId | String | X | 템플릿 ID |
| -- templateName | String | X | 템플릿명 |
| -- mailStatusCode | String | O | 메일 상태 코드 SST0:발송 준비, SST1:발송 중, SST2:발송 완료, SST3: 발송 실패, SST7: 미인증 |
| -- mailStatusName | String | O | 메일 상태명 |
| -- requestDate | String | O | 요청 시간 |
| -- senderName | String | X | 발신자명 |
| -- senderAddress | String | X | 발신자 주소 |
| -- resultId | String | X | SMTP ID |
| -- resultDate | String | X | 실제 발송 시간 |
| -- title | String | X | 제목 |
| -- body | String | X | 내용 |
| -- customHeaders | Map | X | 사용자 지정 헤더 |
| -- receiverList | List | O | 수신자 리스트 |
| --- requestId | String | O | 요청 ID |
| --- mailSeq | Integer | O | 메일 순번 |
| --- receiveType | String | O | 수신자 타입 (MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조) |
| --- receiveTypeName | String | O | 수신자 타입명 |
| --- receiveMailAddr | String | O | 수신자 메일 주소 |
| --- isReceived | Boolean | O | 수신 여부 |
| --- resultDate | String | X | 수신 일시 |
| --- isOpened | Boolean | O | 읽음 여부 |
| --- openedDate | String | X | 읽은 일시 |
| --- dsnCode | String | X | DSN(Delivery Status Notification) 상태 코드 |
| --- dsnMessage | String | X | DSN(Delivery Status Notification) 상태 메시지 |
| -- attachFileList | List | O | 첨부 파일 리스트 |
| --- fileType | String | O | 첨부 파일 타입(MAIL: 메일에 첨부된 파일, TEMPLATE: 템플릿에 첨부된 파일) |
| --- fileId | Integer | O | 파일 ID |
| --- fileName | String | O | 첨부 파일 이름 |
| --- filePath | String | O | 첨부 파일 경로 |
| --- fileSize | Integer | O | 첨부 파일 크기(byte) |
| --- createDate | String | O | 생성 일시 |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/tagMails |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| requestId | String | O | 요청 ID |
| startSendDate | String | O | 발송 날짜 시작 값(yyyy-MM-dd HH:mm:ss) |
| endSendDate | String | O | 발송 날짜 종료 값(yyyy-MM-dd HH:mm:ss) |
| senderMail | String | X | 발신 메일 주소 |
| senderName | String | X | 발신자 이름 |
| templateId | String | X | 템플릿 ID |
| sendStatus | String | X | 발송 상태 코드 WAIT: 대기, READY: 발송 준비, SENDREADY: 발송 준비완료, SENDWAIT: 발송대기, SENDING: 발송 중, COMPLETE: 발송 완료, FAIL: 발송 실패, CANCEL: 발송취소 |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
[주의]
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/tagMails?startSendDate='"${START_DATE}"'&endSendDate='"${END_DATE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 15,
"totalCount": 1,
"data": [
{
"requestId": "20190101000000ABCDEFG0",
"requestIp": "127.0.0.1",
"requestDate": "2019-01-01 00:00:00.0",
"tagSendStatus": "COMPLETE",
"tagSendStatusName": "발송 완료",
"tagExpression": [
"ABCD1234"
],
"templateId": "TEMPLATE",
"templateName": "Template",
"senderName": "sender",
"senderMailAddress": "sender@example.com",
"title": "Title",
"body": "Body",
"attachYn": "N",
"adYn": "N",
"createUser": "USER",
"createDate": "2019-09-24 09:33:25.0",
"updateUser": "USER",
"updateDate": "2019-09-24 09:35:15.0",
"statsId": "statsId"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | O | 현재 페이지 번호 |
| - pageSize | Integer | O | 조회된 데이터 건수 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | List | X | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- requestIp | String | X | 요청 IP |
| -- requestDate | String | O | 요청 시간 |
| -- tagSendStatus | String | O | 발송 상태 코드 WAIT: 대기, READY: 발송 준비, SENDREADY: 발송 준비완료, SENDWAIT: 발송대기, SENDING: 발송 중, COMPLETE: 발송 완료, FAIL: 발송 실패, CANCEL: 발송취소 |
| -- tagSendStatusName | String | O | 발송 상태명 |
| -- tagExpression | List:String | O | 태그 표현식(태그 ID 포함) |
| -- templateId | String | X | 템플릿 ID |
| -- templateName | String | X | 템플릿명 |
| -- senderName | String | X | 발신자명 |
| -- senderMailAddress | String | X | 발신자 이메일 주소 |
| -- title | String | X | 제목 |
| -- body | String | X | 내용 |
| -- attachYn | String | O | 첨부 파일 여부 |
| -- adYn | String | O | 광고 여부 |
| -- createUser | String | X | 생성자 |
| -- createDate | String | O | 생성 일시 |
| -- updateUser | String | X | 수정자 |
| -- updateDate | String | X | 수정 일시 |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/tagMails/{requestId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| requestId | String | 요청 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| receiveMail | String | X | 수신 메일 주소 |
| startReceiveDate | String | X | 수신 날짜 시작 값(yyyy-MM-dd HH:mm:ss) |
| endReceiveDate | String | X | 수신 날짜 종료 값(yyyy-MM-dd HH:mm:ss) |
| receiveStatus | String | X | 발송 상태 코드 SST0:발송 준비, SST1:발송 중, SST2:발송 완료, SST3: 발송 실패, SST7: 미인증 |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/tagMails/'"${REQUEST_ID}"'?startSendDate='"${START_DATE}"'&endSendDate='"${END_DATE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 15,
"totalCount": 1,
"data": [
{
"requestId": "20190101000000ABCDEFG0",
"receiveMail": "receiver@example.com",
"mailStatusCode": "SST2",
"mailStatusName": "발송 완료",
"resultId": "<20190101000000ABCDEFG0@mail>",
"resultDate": "2019-01-01 00:00:00.0",
"readYn": "Y",
"readDate": "2019-01-01 00:00:00.0",
"dnsCode": "2.5.0",
"dsnMessage": "SUCCESS",
"createUser": "USER",
"createDate": "2019-01-01 00:00:00.0",
"updateUser": "USER",
"updateDate": "2019-01-01 00:00:00.0",
"statsId": "statsId",
"mailSequence": 0
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | O | 현재 페이지 번호 |
| - pageSize | Integer | O | 조회된 데이터 건수 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | Collection | O | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- mailSequence | Integer | O | 메일 순번 |
| -- receiveMail | String | O | 수신자 주소 |
| -- mailStatusCode | String | O | 메일 상태 코드 SST0:발송 준비, SST1:발송 중, SST2:발송 완료, SST3: 발송 실패, SST7: 미인증 |
| -- mailStatusName | String | O | 메일 상태명 |
| -- resultId | String | X | SMTP ID |
| -- resultDate | String | X | 실제 발송 시간 |
| -- readYn | String | X | 읽음 여부 |
| -- readDate | String | X | 읽은 시간 |
| -- dsnCode | String | X | DSN(Delivery Status Notification) 상태 코드 |
| -- dsnMessage | String | X | DSN(Delivery Status Notification) 상태 메시지 |
| -- createUser | String | X | 생성자 |
| -- createDate | String | O | 생성 일시 |
| -- updateUser | String | X | 수정자 |
| -- updateDate | String | X | 수정 일시 |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/tagMails/{requestId}/{mailSequence} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| requestId | String | 요청 ID |
| mailSequence | Integer | 메일 순번 |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/tagMails/'"${REQUEST_ID}"'/'"${MAIL_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"requestId": "20190101000000ABCDEFG0",
"requestIp": "127.0.0.1",
"templateId": "TEMPLATE",
"templateName": "Template",
"mailStatusCode": "SST2",
"mailStatusName": "발송 완료",
"requestDate": "2019-01-01 00:00:00.0",
"senderName": "sender",
"senderMail": "sender@example.com",
"resultId": "<20190101000000ABCDEFG0@mail>",
"resultDate": "2019-01-01 00:00:00.0",
"title": "Title",
"body": "Body",
"customHeaders": {
"Content-Type": "text/html"
},
"receivers": [
{
"requestId": "20190101000000ABCDEFG0",
"receiveType": "MRT0",
"receiveTypeName": "받는 사람",
"receiveMailAddr": "receiver@example.com",
"readYn": "Y",
"readDate": "2019-01-01 00:00:00.0",
"dsnCode": "2.5.0",
"dsnMessage": "SUCCESS",
"mailSequence": "0"
}
],
"attachFileList": [
{
"fileType": "MAIL",
"fileId": 12345,
"fileName": "test.csv",
"filePath": "file/path",
"fileSize": 10,
"createDate": "2019-01-01 00:00:00.0"
}
],
"statsId": "statsId"
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- requestIp | String | X | 요청 IP |
| -- templateId | String | X | 템플릿 ID |
| -- templateName | String | X | 템플릿명 |
| -- mailStatusCode | String | O | 메일 상태 코드 SST0:발송 준비, SST1:발송 중, SST2:발송 완료, SST3: 발송 실패, SST7: 미인증 |
| -- mailStatusName | String | O | 메일 상태명 |
| -- requestDate | String | O | 요청 시간 |
| -- resultDate | String | X | 결과 시간 |
| -- senderName | String | X | 발신자명 |
| -- senderMail | String | X | 발신자 주소 |
| -- resultId | String | X | SMTP ID |
| -- title | String | X | 제목 |
| -- body | String | X | 내용 |
| -- customHeaders | Map | X | 사용자 지정 헤더 |
| -- receivers | List | O | 수신자 리스트 |
| --- requestId | String | O | 요청 ID |
| --- receiveType | String | O | 수신자 타입 (MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조) |
| --- receiveTypeName | String | X | 수신자 타입명 |
| --- receiveMailAddr | String | O | 수신자 메일 주소 |
| --- readYn | String | X | 읽음 여부 |
| --- readDate | String | X | 읽은 시간 |
| --- dsnCode | String | X | DSN(Delivery Status Notification) 상태 코드 |
| --- dsnMessage | String | X | DSN(Delivery Status Notification) 상태 메시지 |
| --- mailSequence | String | O | 메일 순번 |
| -- attachFileList | List | O | 첨부 파일 리스트 |
| --- fileType | AttachFileType | O | 첨부 파일 타입(MAIL: 메일에 첨부된 파일, TEMPLATE: 템플릿에 첨부된 파일) |
| --- fileId | Integer | O | 파일 ID |
| --- fileName | String | O | 첨부 파일 이름 |
| --- filePath | String | O | 첨부 파일 경로 |
| --- fileSize | Long | O | 첨부 파일 크기(byte) |
| --- createDate | String | O | 생성 일시 |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/sender/reservations |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| requestId | String | X | 요청 ID |
| startSendDate | String | X | 발송 요청 시작 시간(yyyy-MM-dd HH:mm:ss) |
| endSendDate | String | X | 발송 요청 종료 시간(yyyy-MM-dd HH:mm:ss) |
| senderMail | String | X | 발신 메일 주소 |
| receiveMail | String | X | 수신 메일 주소 |
| templateId | String | X | 템플릿 ID |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/reservations' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"totalCount":1,
"pageNum": 1,
"pageSize": 15,
"data":[
{
"requestId":"20200605175300tu5z04e1",
"mailSeq":0,
"title":"Title",
"templateId":"TemplateId",
"templateName":"TemplateName",
"senderAddress":"sender@example.com",
"senderName":"senderName",
"receiveMailAddr":"receiver@example.com",
"receiveName":"receiverName",
"receiveType":"MRT0",
"receiveTypeName":"받는 사람",
"requestDate":"2020-06-05 17:53:00",
"mailStatusCode":"SST4",
"mailStatusName":"예약대기",
"senderGroupingKey":"senderKey",
"statsId": "statsId"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | O | 현재 페이지 번호 |
| - pageSize | Integer | O | 조회된 데이터 건수 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | List | X | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- mailSeq | Integer | O | 메일 순번 |
| -- title | String | X | 메일 제목 |
| -- templateId | String | X | 템플릿 ID |
| -- templateName | String | X | 템플릿 이름 |
| -- senderAddress | String | X | 발신자 메일 주소 |
| -- senderName | String | X | 발신자 이름 |
| -- receiveMailAddr | String | O | 수신자 메일 주소 |
| -- receiveName | String | X | 수신자 이름 |
| -- receiveType | String | O | 수신자 타입 (MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조) |
| -- receiveTypeName | String | O | 수신자 타입 이름 |
| -- requestDate | String | O | 요청 시간 |
| -- mailStatusCode | String | O | 메일 상태 코드 SST0: 발송 준비, SST1: 발송 중 SST2: 발송 완료, SST3: 발송 실패 SST4: 예약 대기, SST7: 미인증 |
| -- mailStatusName | String | O | 메일 상태 이름 |
| -- senderGroupingKey | String | X | 발신자 그룹 키(최대 100자) |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/sender/reservations/{requestId}/{mailSeq} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| requestId | String | 요청 ID |
| mailSeq | Integer | 메일 순번 (메일 리스트 조회 시 반환되는 mailSeq 값) |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/reservations/'"${REQUEST_ID}"'/'"${MAIL_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"requestId":"202006050000008j6bx5Q1",
"mailSeq":0,
"title":"Title",
"body":"Body",
"templateId": "TemplateId",
"templateName":"TemplateName",
"senderAddress":"sender@example.com",
"senderName":"senderName",
"requestDate":"2020-06-05 00:00:00",
"mailStatusCode":"SST4",
"mailStatusName":"예약대기",
"receivers":[
{
"requestId":"202006050000008j6bx5Q1",
"mailSeq":0,
"receiveType":"MRT0",
"receiveTypeName":"받는 사람",
"receiveName":"receiverName",
"receiveMailAddr":"receiver@example.com"
}
],
"attachFileList":[
{
"fileType":"Mail",
"fileId": 123456,
"fileName":"attachement.jpg",
"filePath":"28578/toast-mt-2020-06-03/2344/183037",
"fileSize":8074,
"createDate":"2020-06-03 23:44:27"
}
],
"customHeaders":{
"Content-Type": "text/html"
},
"senderGroupingKey":"senderKey",
"statsId": "statsId"
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- requestId | String | O | 요청 ID |
| -- mailSeq | Integer | O | 메일 순번 |
| -- title | String | X | 메일 제목 |
| -- body | String | X | 메일 본문 |
| -- templateId | String | X | 템플릿 ID |
| -- templateName | String | X | 템플릿 이름 |
| -- senderAddress | String | X | 발신자 메일 주소 |
| -- senderName | String | X | 발신자 이름 |
| -- requestDate | String | O | 요청 시간 |
| -- mailStatusCode | String | O | 메일 상태 코드 SST0: 발송 준비, SST1: 발송 중 SST2: 발송 완료, SST3: 발송 실패 SST4: 예약 대기, SST7: 미인증 |
| -- mailStatusName | String | O | 메일 상태 이름 |
| -- receivers | List | O | 수신자 리스트 |
| --- requestId | String | O | 요청 ID |
| --- mailSeq | Integer | O | 메일 순번 |
| --- receiveType | String | O | 수신자 타입 (MRT0 : 받는 사람 , MRT1 : 참조, MRT2 : 숨은 참조) |
| --- receiveName | String | X | 수신자 이름 |
| --- receiveTypeName | String | O | 수신자 타입 이름 |
| --- receiveMailAddr | String | O | 수신자 메일 주소 |
| -- attachFileList | List | O | 첨부 파일 리스트 |
| --- fileType | String | O | 첨부 파일 타입 MAIL: 메일에 첨부된 파일, TEMPLATE: 템플릿에 첨부된 파일 |
| --- fileId | Integer | O | 파일 ID v1.0, v1.1 API를 통해 업로드된 첨부 파일은 파일 ID 값이 -1으로 표기됩니다. |
| --- fileName | String | O | 첨부 파일 이름 |
| --- filePath | String | O | 첨부 파일 경로 |
| --- fileSize | Integer | O | 첨부 파일 크기(byte) |
| --- createDate | String | O | 생성 일시 |
| -- customHeaders | Map | O | 사용자 지정 헤더 |
| -- senderGroupingKey | String | X | 발신자 그룹 키(최대 100자) |
| -- statsId | String | X | 통계 데이터 그룹핑을 위한 키 |
[URL]
| Http method | URI |
|---|---|
| PUT | /email/v2.1/appKeys/{appKey}/sender/reservations/{requestId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| requestId | String | 요청 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X PUT \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/reservations/'"${REQUEST_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "SUCCESS"
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| PUT | /email/v2.1/appKeys/{appKey}/sender/reservations/{requestId}/{mailSeq} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| requestId | String | 요청 ID |
| mailSeq | Integer | 메일 순번 (메일 리스트 조회 시 반환되는 mailSeq 값) |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X PUT \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/reservations/'"${REQUEST_ID}"'/'"${MAIL_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "SUCCESS"
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| PUT | /email/v2.1/appKeys/{appKey}/sender/reservations/search-cancels |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
{
"searchParameter" : {
"requestId" : "202006051209288SxRXhejd20",
"startSendDate" : "2020-02-01 00:00",
"endSendDate" : "2020-02-01 10:00",
"senderMail" : "sender@example.com",
"receiveMail" : "receiver@example.com",
"templateId" : "templateId"
},
"updateUser" : "UpdateUser"
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| searchParameter.requestId | String | X | 요청 ID |
| searchParameter.startSendDate | String | O | 예약 날짜 시작 (yyyy-MM-dd HH:mm:ss) |
| searchParameter.endSendDate | String | O | 예약 날짜 종료 (yyyy-MM-dd HH:mm:ss) |
| searchParameter.senderMail | String | X | 발신자 메일 주소 |
| searchParameter.receiveMail | String | X | 수신자 메일 주소 |
| searchParameter.templateId | String | X | 템플릿 ID |
| updateUser | String | O | 예약 취소 요청자 |
curl -X PUT \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/reservations/search-cancels' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"searchParameter": {
"requestId": "202006051209288SxRXhejd20",
"startSendDate": "2020-02-01 00:00",
"endSendDate": "2020-02-01 10:00",
"senderMail": "sender@example.com",
"receiveMail": "receiver@example.com",
"templateId": "templateId"
},
"updateUser": "UpdateUser"
}'
{
"header" : {
"resultCode" : 0,
"resultMessage" : "success",
"isSuccessful" : true
},
"body" : {
"data" : {
"reservationCancelId" : "202006051209288SxRXhejd20",
"requestedDateTime" : "2020-06-05 16:09:24",
"reservationCancelStatus" : "READY"
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- reservationCancelId | String | O | 예약 취소 ID |
| -- requestedDateTime | String | O | 예약 취소 시간(yyyy-MM-dd HH:mm:ss) |
| -- reservationCancelStatus | String | O | 예약 취소 상태 - READY: 예약 준비- PROCESSING: 예약 취소 중- COMPLETED: 예약 취소 완료- FAILED: 예약 취소 실패 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/sender/reservations/search-cancels |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| startRequestedDateTime | String | X | 예약 취소 요청 시작 시간(yyyy-MM-dd HH:mm:ss) |
| endRequestedDateTime | String | X | 예약 취소 요청 종료 시간(yyyy-MM-dd HH:mm:ss) |
| reservationCancelId | String | X | 예약 취소 ID |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/sender/reservations/search-cancels' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header" : {
"resultCode" : 0,
"resultMessage" : "success",
"isSuccessful" : true
},
"body" : {
"pageNum" : 1,
"pageSize" : 15,
"totalCount" : 1,
"data" : [
{
"reservationCancelId" : "202006051209288SxRXhejd20",
"searchParameter" : {
"serviceId" : 12345,
"requestId" : "2020060asdasd8SxRXhejd20",
"startSendDate" : "2020-06-01 00:00:00",
"endSendDate" : "2020-06-11 00:00:00",
"senderMail" : "sender@example.com",
"receiveMail" : "receiver@example.com",
"templateId" : "templateId",
"sendStatus" : null,
"searchedBySendDate" : true
},
"requestedDateTime" : "2020-06-05 12:09:28",
"completedDateTime" : "2020-06-05 12:16:05",
"reservationCancelStatus" : "COMPLETED",
"totalCount" : 3,
"successCount" : 3,
"createUser" : "tester",
"createdDateTime" : "2020-06-05 12:09:28",
"updatedDateTime" : "2020-06-05 12:16:05"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | O | 현재 페이지 번호 |
| - pageSize | Integer | O | 조회된 데이터 건수 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | List | X | 데이터 영역 |
| -- reservationCancelId | String | O | 예약 취소 ID |
| -- searchParameter | Map |
O | 예약 취소 요청 파라미터 |
| -- requestedDateTime | String | O | 예약 취소 요청 시간 |
| -- completedDateTime | String | X | 예약 취소 완료 시간 |
| -- reservationCancelStatus | ReservationCancelStatus | O | 예약 취소 상태 - READY: 예약 준비- PROCESSING: 예약 취소 중- COMPLETED: 예약 취소 완료- FAILED: 예약 취소 실패 |
| -- totalCount | Integer | O | 예약 취소 대상 건수 |
| -- successCount | Integer | O | 예약 취소 성공 건수 |
| -- createUser | String | X | 예약 취소 요청자 |
| -- createdDateTime | String | X | 예약 취소 요청 생성 시간 |
| -- updatedDateTime | String | X | 예약 취소 수정 시간 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/categories |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| useYn | String | X | 사용 여부 Y, N |
| categoryParentId | Integer | X | 부모 카테고리 ID |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/categories' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 15,
"totalCount": 3,
"data": [
{
"categoryId": 12345,
"categoryParentId": 0,
"depth": 0,
"categoryName": "Category",
"categoryDesc": "Top Category",
"useYn": "Y",
"createUser": "user",
"createDate": "2019-07-23 00:00:00.0",
"updateUser": "user",
"updateDate": "2019-07-23 00:00:00.0"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | O | 현재 페이지 번호 |
| - pageSize | Integer | O | 조회된 데이터 건수 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | List | X | 데이터 영역 |
| -- categoryId | Integer | O | 카테고리 ID |
| -- categoryParentId | Integer | O | 부모 카테고리 ID(최상위 카테고리인 경우 0) |
| -- depth | Integer | O | depth (최상위 카테고리인 경우 0) |
| -- categoryName | String | O | 카테고리 이름 |
| -- categoryDesc | String | X | 카테고리 설명 |
| -- useYn | String | O | 사용 여부 |
| -- createUser | String | X | 생성자 |
| -- createDate | String | O | 생성 일시 |
| -- updateUser | String | X | 수정자 |
| -- updateDate | String | X | 수정 일시 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/categories/{categoryId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| categoryId | String | 카테고리 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/categories/'"${CATEGORY_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"categoryId": 12345,
"categoryParentId": 0,
"depth": 0,
"categoryName": "Category",
"categoryDesc": "Top Category",
"useYn": "Y",
"createUser": "user",
"createDate": "2019-07-23 00:00:00.0",
"updateUser": "user",
"updateDate": "2019-07-23 00:00:00.0"
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | O | 데이터 영역 |
| -- categoryId | Integer | O | 카테고리 ID |
| -- categoryParentId | Integer | O | 부모 카테고리 ID(최상위 카테고리인 경우 0) |
| -- depth | Integer | O | depth (최상위 카테고리인 경우 0) |
| -- categoryName | String | O | 카테고리 이름 |
| -- categoryDesc | String | X | 카테고리 설명 |
| -- useYn | String | O | 사용 여부 |
| -- createUser | String | X | 생성자 |
| -- createDate | String | O | 생성 일시 |
| -- updateUser | String | X | 수정자 |
| -- updateDate | String | X | 수정 일시 |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/categories |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 최대 길이 | 필수 | 설명 |
|---|---|---|---|---|
| categoryParentId | Integer | - | X | 부모 카테고리 ID 최상위 카테고리 ID(기본값) |
| categoryName | String | 200 | O | 카테고리 이름 |
| categoryDesc | String | 1000 | X | 카테고리 설명 |
| useYn | String | 1 | X | 사용 여부 Y(기본값), N |
| userId | String | 50 | X | 사용자 ID |
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/categories'
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"categoryParentId": 12345,
"categoryName": "Category",
"categoryDesc": "Top Category",
"useYn": "Y",
"userId": "USER"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"categoryId": 12346
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | O | 데이터 영역 |
| -- categoryId | Integer | O | 카테고리 ID |
[URL]
| Http method | URI |
|---|---|
| PUT | /email/v2.1/appKeys/{appKey}/categories/{categoryId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| categoryId | Integer | 카테고리 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 최대 길이 | 필수 | 설명 |
|---|---|---|---|---|
| categoryName | String | 200 | X | 카테고리 이름 |
| categoryDesc | String | 1000 | X | 카테고리 설명 |
| useYn | String | 1 | X | 사용 여부 Y, N |
| userId | String | 50 | X | 사용자 ID |
curl -X PUT \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/categories/'"${CATEGORY_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"categoryName": "Category",
"categoryDesc": "Top Category",
"useYn": "Y",
"userId": "USER"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| DELETE | /email/v2.1/appKeys/{appKey}/categories/{categoryId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| categoryId | Integer | 카테고리 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X DELETE \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/categories/'"${CATEGORY_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/templates |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| categoryId | Integer | X | 카테고리 ID |
| useYn | String | X | 사용 여부(Y/N) |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/templates' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"resultCode": 0,
"resultMessage": "success",
"isSuccessful": true
},
"body": {
"pageNum": 1,
"pageSize": 15,
"totalCount": 1,
"data": [
{
"templateId": "TEMPLATE",
"categoryId": 12345,
"categoryName": "Category",
"templateName": "Template",
"templateDesc": "Template",
"useYn": "Y",
"delYn": "N",
"title": "Title",
"createDate": "2019-01-01 00:00:00.0",
"updateDate": "2019-01-01 00:00:00.0"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | O | 현재 페이지 번호 |
| - pageSize | Integer | O | 조회된 데이터 건수 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | List | X | 데이터 영역 |
| -- templateId | String | O | 템플릿 ID |
| -- categoryId | Integer | O | 카테고리 ID |
| -- categoryName | String | O | 카테고리명 |
| -- templateName | String | O | 템플릿명 |
| -- templateDesc | String | X | 템플릿 설명 |
| -- useYn | String | O | 사용 여부 |
| -- delYn | String | O | 삭제 여부 |
| -- title | String | O | 메일 제목 |
| -- createDate | String | O | 생성 일시 |
| -- updateDate | String | X | 수정 일시 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/templates/{templateId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| templateId | String | 템플릿 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/templates/'"${TEMPLATE_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"resultCode": 0,
"resultMessage": "success",
"isSuccessful": true
},
"body": {
"data": {
"templateId": "TEMPLATE",
"categoryId": 12345,
"categoryName": "Category",
"templateName": "Template",
"templateDesc": "Template",
"useYn": "Y",
"delYn": "N",
"sendMailAddress": "test@example.com",
"title": "Title",
"templateType": "DEFAULT",
"body": "Body",
"createDate": "2019-01-01 00:00:00.0",
"updateDate": "2019-01-01 00:00:00.0",
"attachFileList": [
{
"fileType": "TEMPLATE",
"fileId": 12345,
"fileName": "test.csv",
"filePath": "file/path",
"fileSize": 10,
"createDate": "2019-01-01 00:00:00.0"
}
]
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | O | 데이터 영역 |
| -- templateId | String | O | 템플릿 ID |
| -- categoryId | Integer | O | 카테고리 ID |
| -- categoryName | String | O | 카테고리명 |
| -- templateName | String | O | 템플릿명 |
| -- templateDesc | String | X | 템플릿 설명 |
| -- useYn | String | O | 사용 여부 (Y= 사용 중, N= 사용 안 함) |
| -- delYn | String | O | 삭제 여부(Y= 삭제, N= 삭제 아님) |
| -- sendMailAddress | String | X | 발신 메일 주소 |
| -- title | String | O | 메일 제목 |
| -- templateType | String | O | 템플릿 타입 DEFAULT(기본값), FREEMARKER) |
| -- body | String | X | 메일 내용 |
| -- createDate | String | O | 생성 일시 |
| -- updateDate | String | O | 수정 일시 |
| -- attachFileList | List | O | 첨부 파일 리스트 |
| --- fileType | String | O | 첨부 파일 타입(MAIL: 메일에 첨부된 파일, TEMPLATE: 템플릿에 첨부된 파일) |
| --- fileId | Integer | O | 파일 ID(기본값 -1) |
| --- fileName | String | O | 첨부 파일 이름 |
| --- filePath | String | O | 첨부 파일 경로 |
| --- fileSize | Integer | O | 첨부 파일 크기(byte) |
| --- createDate | String | O | 생성 일시 |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/templates |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 최대 길이 | 필수 | 설명 |
|---|---|---|---|---|
| categoryId | Integer | - | O | 카테고리 ID |
| templateId | String | 50 | O | 템플릿 ID |
| templateName | String | 200 | O | 템플릿명 |
| templateDesc | String | 4000 | X | 템플릿 설명 |
| useYn | String | 1 | X | 사용 여부 Y(기본값), N |
| sendMailAddress | String | 300 | O | 발신 메일 주소 |
| title | String | 500 | O | 메일 제목 |
| templateType | String | 10 | X | 템플릿 타입 DEFAULT(기본값), FREEMARKER) |
| body | String | - | O | 메일 본문 |
| attachFileIdList | List |
- | X | 첨부 파일 ID(fileId) |
| userId | String | 50 | X | 사용자 ID |
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/templates' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"categoryId": 1,
"templateId": "TEAMPLTE_ID",
"templateName": "템플릿 이름",
"templateDesc": "템플릿 설명",
"useYn": "Y",
"sendMailAddress": "test@example.com",
"title": "메일 제목",
"templateType": "DEFAULT",
"body": "메일 내용",
"attachFileIdList": [1, 2, 3],
"userId": "USER"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/templates/attachfile/binaryUpload |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 최대 길이 | 필수 | 설명 |
|---|---|---|---|---|
| fileName | String | - | O | 파일 이름 |
| fileBody | Byte[] | - | O | 파일의 Byte[] 값 |
| userId | String | 50 | X | 유저 ID |
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/templates/attachfile/binaryUpload' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"fileName": "file.csv",
"userId": "USER",
"fileBody": []
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"fileId": 1,
"fileName": "file.csv"
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- fileId | Integer | O | 파일 ID |
| -- fileName | String | O | 파일 이름 |
[URL]
| Http method | URI |
|---|---|
| PUT | /email/v2.1/appKeys/{appKey}/templates/{templateId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| templateId | String | 템플릿 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 최대 길이 | 필수 | 설명 |
|---|---|---|---|---|
| templateName | String | 200 | X | 템플릿명 |
| templateDesc | String | 4000 | X | 템플릿 설명 |
| useYn | String | 1 | X | 사용 여부 Y, N |
| sendMailAddress | String | 300 | X | 발신 메일 주소 |
| title | String | 500 | X | 메일 제목 |
| templateType | String | 10 | X | 템플릿 타입 DEFAULT(기본값), FREEMARKER |
| body | String | - | X | 메일 본문 |
| attachFileIdList | List |
- | X | 첨부 파일 ID(fileId) |
| userId | String | 50 | X | 사용자 ID |
curl -X PUT \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/templates/'"${TEMPLATE_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"templateName": "템플릿 이름",
"templateDesc": "템플릿 설명",
"useYn": "Y",
"sendMailAddress": "test@example.com",
"title": "메일 제목",
"templateType": "DEFAULT",
"body": "메일 내용",
"attachFileIdList": [1, 2, 3],
"userId": "USER"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | 설명 |
|---|---|---|
| header | Object | 헤더 영역 |
| - isSuccessful | Boolean | 성공 여부 |
| - resultCode | Integer | 실패 코드 |
| - resultMessage | String | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| DELETE | /email/v2.1/appKeys/{appKey}/templates/{templateId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| templateId | String | 템플릿 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X DELETE \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/templates/'"${TEMPLATE_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | 설명 |
|---|---|---|
| header | Object | 헤더 영역 |
| - isSuccessful | Boolean | 성공 여부 |
| - resultCode | Integer | 실패 코드 |
| - resultMessage | String | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/tags |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/tags' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 1,
"totalCount": 1,
"data": [
{
"tagId": "ABCD1234",
"tagName": "TAG",
"createdDate": "2019-01-01 00:00:00",
"updatedDate": "2019-01-01 00:00:00"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - pageNum | Integer | O | 현재 페이지 번호 |
| - pageSize | Integer | O | 조회된 데이터 건수 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | List | X | 데이터 영역 |
| -- tagId | String | O | 태그 ID |
| -- tagName | String | O | 태그 이름 |
| -- createdDate | String | O | 생성 일시 |
| -- updatedDate | String | O | 수정 일시 |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/tags |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| tagName | String | O | 태그 이름 |
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/tags' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"tagName": "API-Guide-샘플-태그"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"tagId": "ABCD1234"
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | O | 데이터 영역 |
| -- tagId | String | O | 태그 ID |
[URL]
| Http method | URI |
|---|---|
| PUT | /email/v2.1/appKeys/{appKey}/tags/{tagId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| tagId | String | 태그 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| tagName | String | O | 태그 이름 |
curl -X PUT \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/tags/'"${TAG_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"tagName": "API-Guide-샘플-태그2"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| DELETE | /email/v2.1/appKeys/{appKey}/tags/{tagId} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| tagId | String | 태그 ID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X DELETE \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/tags/'"${TAG_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/uids |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| wheres | List:String | X | 조회 조건. 알파뱃, 숫자, 괄호로 이루어진 문자열 배열. 괄호는 1개, AND, OR은 3개까지 사용할 수 있다. (예시) tagId1,AND,tagId2 |
| offsetUid | String | X | offset UID |
| offset | Integer | X | offset 0(기본값) |
| limit | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/uids' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"uids": [
{
"uid": "UID",
"tags": [
{
"tagId": "ABCD1234",
"tagName": "TAG",
"createdDate": "2019-01-01 00:00:00",
"updatedDate": "2019-01-01 00:00:00"
}
],
"contacts": [
{
"contactType": "EMAIL_ADDRESS",
"contact": "test@example.com",
"createdDate": "2019-01-01 00:00:00"
}
]
}
],
"isLast": false,
"totalCount": 5
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- uids | List | O | UID 목록 |
| --- uid | String | O | UID |
| --- tags | List | O | 태그 정보 리스트 |
| ---- tagId | String | O | 태그 ID |
| ---- tagName | String | O | 태그 이름 |
| ---- createdDate | String | O | 태그 생성 일시 |
| ---- updatedDate | String | O | 태그 수정 일시 |
| --- contacts | List | O | 연락처 리스트 |
| ---- contactType | String | O | 연락처 타입(EMAIL_ADDRESS) |
| ---- contact | String | O | 연락처(메일 주소) |
| ---- createdDate | String | O | 연락처 생성 일시 |
| -- isLast | Boolean | O | 마지막 리스트 여부 |
| -- totalCount | Integer | O | 총 데이터 건수 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/uids/{uid} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| uid | String | UID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/uids/'"${USER_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"uid": "UID",
"tags": [
{
"tagId": "ABCD1234",
"tagName": "TAG",
"createdDate": "2019-01-01 00:00:00",
"updatedDate": "2019-01-01 00:00:00"
}
],
"contacts": [
{
"contactType": "EMAIL_ADDRESS",
"contact": "test@example.com",
"createdDate": "2019-01-01 00:00:00"
}
]
}
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | Object | X | 데이터 영역 |
| -- uid | String | O | UID |
| -- tags | List | O | 태그 정보 리스트 |
| --- tagId | String | O | 태그 ID |
| --- tagName | String | O | 태그 이름 |
| --- createdDate | String | O | 태그 생성 일시 |
| --- updatedDate | String | O | 태그 수정 일시 |
| -- contacts | List | O | 연락처 리스트 |
| --- contactType | String | O | 연락처 타입 |
| --- contact | String | O | 연락처(메일 주소) |
| --- createdDate | String | O | 연락처 생성 일시 |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/uids |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| uid | String | O | UID |
| tagIds | List:String | O | 태그 ID 목록 |
| contacts | List | O | 메일 주소 목록 |
| - contactType | String | O | 연락처 타입 |
| - contact | String | O | 연락처 (메일 주소) |
[주의]
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/uids' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"uids": [{
"uid": "sample-uid",
"tagIds": [],
"contacts": [{
"contactType": "EMAIL_ADDRESS",
"contact": "customer1@example.com"
}
]
}
]
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| DELETE | /email/v2.1/appKeys/{appKey}/uids/{uid} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| uid | String | UID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X DELETE \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/uids/'"${USER_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/uids/{uid}/email-addresses |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| uid | String | UID |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| emailAddress | String | O | 메일 주소 |
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/uids/'"${USER_ID}"'/email-addresses' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"emailAddress": "customer1@example.com"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| DELETE | /email/v2.1/appKeys/{appKey}/uids/{uid}/email-addresses/{emailAddress} |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
| uid | String | UID |
| emailAddress | String | 메일 주소 |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
curl -X DELETE \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/uids/'"${USER_ID}"'/email-addresses/'"${EMAIL_ADDR}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/statistics/view |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| from | String | O | 통계 조회 시작 날짜 yyyy-mm-dd HH:mm |
| to | String | O | 통계 조회 종료 날짜 yyyy-mm-dd HH:mm |
| searchType | String | O | 통계 구분 DATE:날짜별, TIME:시간별, DAY:요일별 |
| mailTypes | String | X | 메일 타입 NORMAL:일반, MASS:대량 복수 입력 가능(mailTypes=NORMAL&mailTypes=MASS) |
| adYn | String | X | 광고 여부 Y:광고, N:광고 아님 입력하지 않으면 전체 |
| templateId | String | X | 템플릿 ID |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/statistics/view?from='"${FROM}"'&to='"${TO}"'&searchType='"${SEARCH_TYPE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": [
{
"divisionName": "Tue",
"requestedCount": 1,
"sentCount": 1,
"receivedCount": 1,
"openedCount": 0,
"sentRate": "100.00",
"receivedRate": "100.00",
"openedRate": "0.00"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - data | List | O | 데이터 영역 |
| -- divisionName | String | O | 통계 기준(날짜/시간/요일) |
| -- requestedCount | Long | O | 발송 요청 카운트 |
| -- sentCount | Long | O | 발송 카운트 |
| -- receivedCount | Long | O | 수신 카운트 |
| -- openedCount | Long | O | 오픈 카운트 |
| -- sentRate | String | O | 발송률 |
| -- receivedRate | String | O | 수신율 |
| -- openedRate | String | O | 오픈율 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/block-receivers |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| mailAddress | String | X | 수신 거부 목록에 등록되어 있는 이메일 주소 |
| startBlockDate | String | X | 수신 거부 시작값 (yyyy-MM-dd HH:mm:ss) |
| endBlockDate | String | X | 수신 거부 종료값 (yyyy-MM-dd HH:mm:ss) |
| pageNum | Integer | X | 페이지 번호 1(기본값) |
| pageSize | Integer | X | 조회 건수 15(기본값) |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/block-receivers' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"totalCount": 1,
"data": [
{
"mailAddress": "block@example.com",
"blockDate": "2019-01-01 00:00:00.0"
}
]
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| body | Object | X | 본문 영역 |
| - totalCount | Integer | O | 총 데이터 건수 |
| - data | List | O | 데이터 영역 |
| -- mailAddress | String | O | 수신 거부 이메일 주소 |
| -- blockDate | String | O | 수신 거부 날짜 (yyyy-MM-dd HH:mm:ss.S) |
[URL]
| Http method | URI |
|---|---|
| POST | /email/v2.1/appKeys/{appKey}/block-receivers |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| blockReceiverList | ㅣList | O | 수신 거부 리스트 |
| - mailAddress | String | O | 수신 거부 이메일 주소 |
| - blockDate | String | X | 수신 거부 날짜 (yyyy-MM-dd HH:mm:ss) |
curl -X POST \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/block-receivers' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"blockReceiverList": [{
"mailAddress": "customer1@example.com",
"blockDate": "2018-03-01 00:00:00"
}
]
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| PUT | /email/v2.1/appKeys/{appKey}/block-receivers |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Request body]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| deleted | Boolean | O | 수신 거부 삭제를 명시하는 필드 |
| blockReceiverList | ㅣList | O | 수신 거부 리스트 |
| - mailAddress | String | O | 수신 거부 이메일 주소 |
curl -X PUT \
'https://email.api.nhncloudservice.com/email/v2.1/appKeys/'"${APP_KEY}"'/block-receivers' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"'' \
-d '{
"deleted": true,
"blockReceiverList": [{
"mailAddress": "customer1@example.com"
}
]
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/stats |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| eventCategory | String | O | 이벤트의 카테고리. MESSAGE |
| statisticsType | String | X | 검색된 통계 데이터의 표현 형식. NORMAL(기본값), MINUTELY, HOURLY, DAILY, BY_DAY |
| timeUnit | String | X | 통계 데이터의 시간 단위. 기본값은 조회 기간에 따라 결정, MINUTES, HOURS, DAYS |
| from | String | X | 조회 범위 시작 값, 최근 30일까지(ISO 8601, e.g. YYYY-MM-DDThh:mm:ss.SSSTZD, 2018-04-24T06:00:00.000%2B09:00) |
| to | String | X | 조회 범위 종료 값, 최근 30일까지(ISO 8601, e.g. YYYY-MM-DDThh:mm:ss.SSSTZD, 2018-04-24T06:00:00.000%2B09:00) |
| extra1s | Array String | X | eventCategory가 MESSAGE인 경우 메일 타입으로 필터링 가능. NORMAL, MASS, TAG, SMTP |
| extra2s | Array String | X | eventCategory가 MESSAGE인 경우 발신 도메인으로 필터링 가능. |
| extra3s | Array String | X | eventCategory가 MESSAGE인 경우 수신 도메인으로 필터링 가능. |
| messageId | String | X | 메시지 아이디 |
| statsIds | Array String | X | 통계 이벤트 키 아이디 |
| templateIds | Array String | X | 템플릿 ID |
| statsCriteria | Array String | X | 합계 시 통계 기준, 설정하지 않으면 기본값으로 합계를 계산. EVENT(기본값), EXTRA_1, EXTRA_2, EXTRA_3, TEMPLATE_ID |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appkeys/'"${APP_KEY}"'/stats?eventCategory='"${EVENT_CATEGORY}"'' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"resultCode": 0,
"resultMessage": "success",
"isSuccessful": true
},
"stats": [{
"eventDateTime": "2020-08-12T00:00:00.000+09:00",
"events": {
"{statsCriteriaValue}.RECEIVED": 0,
"{statsCriteriaValue}.SENT_FAILED": 0,
"{statsCriteriaValue}.SENT": 0,
"{statsCriteriaValue}.OPENED": 0
}
}]
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| stats | Object | X | 본문 영역 |
| - eventDateTime | String | X | 이벤트 발생 시간 |
| - events | List | X | 데이터 영역 |
| -- {statsCriteriaValue} | String | X | {statsCriteriaValue}는 조회 조건으로 입력한 statsCriteria의 값입니다. |
| --- REQUESTED | Integer | X | 요청 건수 |
| --- SENT | Integer | X | 발송 건수 |
| --- SENT_FAILED | Integer | X | 실패 건수 |
| --- RECEIVED | Integer | X | 성공 건수 |
| --- OPENED | Integer | X | 읽은 건수 |
[URL]
| Http method | URI |
|---|---|
| GET | /email/v2.1/appKeys/{appKey}/stats/total |
[Path parameter]
| 값 | 타입 | 설명 |
|---|---|---|
| appKey | String | 고유의 appKey |
[Header]
{
"X-Secret-Key": String
}
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| X-Secret-Key | String | O | 고유의 secretKey [참고] |
[Query parameter]
| 값 | 타입 | 필수 | 설명 |
|---|---|---|---|
| eventCategory | String | O | 이벤트의 카테고리. MESSAGE |
| statisticsType | String | X | 검색된 통계 데이터의 표현 형식. NORMAL(기본값), MINUTELY, HOURLY, DAILY, BY_DAY |
| timeUnit | String | X | 통계 데이터의 시간 단위. 기본값은 조회 기간에 따라 결정, MINUTES, HOURS, DAYS |
| from | String | X | 조회 범위 시작 값, 최근 30일까지(ISO 8601, e.g. YYYY-MM-DDThh:mm:ss.SSSTZD, 2018-04-24T06:00:00.000%2B09:00) |
| to | String | X | 조회 범위 종료 값, 최근 30일까지(ISO 8601, e.g. YYYY-MM-DDThh:mm:ss.SSSTZD, 2018-04-24T06:00:00.000%2B09:00) |
| extra1s | Array String | X | eventCategory가 MESSAGE인 경우 메일 타입으로 필터링 가능. NORMAL, MASS, TAG, SMTP |
| extra2s | Array String | X | eventCategory가 MESSAGE인 경우 발신 도메인으로 필터링 가능. |
| extra3s | Array String | X | eventCategory가 MESSAGE인 경우 수신 도메인으로 필터링 가능. |
| messageId | String | X | 메시지 아이디 |
| statsIds | Array String | X | 통계 이벤트 키 아이디 |
| templateIds | Array String | X | 템플릿 ID |
| statsCriteria | Array String | X | 합계 시 통계 기준, 설정하지 않으면 기본값으로 합계를 계산. EVENT(기본값), EXTRA_1, EXTRA_2, EXTRA_3, TEMPLATE_ID |
curl -X GET \
'https://email.api.nhncloudservice.com/email/v2.1/appkeys/'"${APP_KEY}"'/stats/total?eventCategory='"${EVENT_CATEGORY}"'' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key: '"${SECRET_KEY}"''
{
"header": {
"resultCode": 0,
"resultMessage": "success",
"isSuccessful": true
},
"total" : {
"SENT" : 120,
"SENT_FAILED" : 50,
"RECEIVED": 0,
"OPENED": 0
}
}
| 값 | 타입 | Not Null | 설명 |
|---|---|---|---|
| header | Object | O | 헤더 영역 |
| - isSuccessful | Boolean | O | 성공 여부 |
| - resultCode | Integer | O | 실패 코드 |
| - resultMessage | String | O | 실패 메시지 |
| total | Object | X | 본문 영역 |
| - {statsCriteriaValue}.REQUESTED | Integer | X | 요청 건수 |
| - {statsCriteriaValue}.SENT | Integer | X | 발송 건수 |
| - {statsCriteriaValue}.SENT_FAILED | Integer | X | 실패 건수 |
| - {statsCriteriaValue}.RECEIVED | Integer | X | 성공 건수 |
| - {statsCriteriaValue}.OPENED | Integer | X | 읽은 건수 |