특정 메일함에서 메일 목록 조회
특정 메일함에서 메일 목록을 조회한다.
참고
- 메일 목록 조회 API는 시간순 보기만 지원한다.
API 종류
서비스 API
Request URL
https://apis.worksmobile.com/r/{API ID}/mail/v2/getMailList
HTTP Method
GET(Content-Type: application/x-www-form-urlencoded; charset=UTF-8)
Request
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
folderSN | Integer | N | 메일 목록을 조회할 메일함의 일련번호. 다음은 시스템 메일함의 일련번호와 해당 메일함을 나타낸다. ● -1: 전체메일함(기본값) ● 0: 받은메일함 ● 1: 보낸메일함 ● 2: 수신확인 ● 3: 임시보관함 ● 4: 휴지통 ● 5: 스팸메일함 ● 6: 메모함 일련번호가 100 이상이면 사용자가 생성한 메일함이다. |
page | Integer | N | 조회할 페이지 번호 예) 1 |
pageSize | Integer | N | 한 페이지에 표시할 메일 개수. 이 값이 없을 경우 사용자가 설정한 값을 사용한다. (환경설정 > 메일 > 기본 환경 > 메일 읽기/목록 > 메일 목록 개수에 설정된 값을 사용) 예) 30(기본값) |
type | String | N | 조회할 메일 지정 ● "all": 전체 메일(기본값) ● "mark": 중요 표시된 메일 (isUnread=true이면 type=all로 처리됨) ● "attach": 첨부 파일이 있는 메일 (isUnread=true이면 type=all로 처리됨) ● "tome": 받는 사람에 내가 포함된 메일 (isUnread=true이면 type=all로 처리됨) |
sortField | Integer | N | 정렬 기준 ● 1: 날짜(기본값) ● 3: 보낸 사람 ● 4: 받는 사람(folderSN=-1이면 사용 불가) ● 5: 메일 제목 ● 6: 메일 크기 ● 8: 중요 메일(반드시 sortType=0으로 설정해야 함) ● 9: 첨부 파일(반드시 sortType=0으로 설정해야 함) |
sortType | Integer | N | 정렬 기준 ● 0: 내림차순(기본값) ● 1: 오름차순 |
isUnread | Boolean | N | 안 읽은 메일만 조회할지 여부 ● true: 안 읽은 메일만 조회 ● false: 전체 메일 조회(기본값) |
previewMode | Integer | N | 미리보기 정보 여부 ● 0: 없음(기본값) ● 1: 메일 본문 미리보기 정보 ● 2: 메일 본문 미리보기 정보와 첨부 파일 정보 ● 3: 첨부 파일 정보 |
Request Example
https://apis.worksmobile.com/r/{API ID}/mail/v2/getMailList?folderSN=0&isUnread=false
Response
API 호출에 성공하면 HTTP Status 코드를 200으로 반환하며, 응답 내용은 JSON 형식으로 반환한다.
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
currentTime | Long | Y | 현재 시간. UNIX 타임스탬프 형식으로 표시한다. 예) 1409208669 |
lastPage | Integer | Y | 마지막 페이지 번호 예) 3 |
totalCount | Integer | Y | 전체 메일 개수 예) 100 |
listCount | Integer | Y | 전체 페이지 개수 예) 3 |
unreadCount | Integer | Y | 안 읽은 메일 개수 예) 10 |
pageSize | Integer | Y | 한 페이지에 표시할 메일 개수 예) 30 |
folderName | String | Y | 메일함 이름 예) 보낸메일함 |
mailData | List | Y | 조회할 메일 목록 정보 |
mailData[].priority | Integer | Y | 메일을 쓸 때 중요 메일 선택 여부(메일 제목에 빨간 느낌표 표시) ● 3: 중요 메일 ● 1: 일반 메일 |
mailData[].size | Integer | Y | 메일의 크기(단위: byte) 예) 1024 |
mailData[].threadCount | String | Y | 대화형 목록에서 주고받은 메일 개수 예) 0 |
mailData[].threadId | String | Y | 스레드 메일의 ID 예) a1903976041747540dbfc1dd0e99c86@example.com |
mailData[].status | Integer | Y | 메일 상태 ● 0: 안 읽은 메일 ● 1: 읽은 메일 ● 2: 안 읽은 중요 메일 ● 3: 읽은 중요 메일 |
mailData[].subject | String | Y | 메일 제목 |
mailData[].mailSN | Integer | Y | 메일 일련번호 예) 1234 |
mailData[].mimeSN | String | Y | MIME 일련번호 예) 1408959094.599851.19650.619501 |
mailData[].from | Object | Y | 보낸 사람 목록 |
mailData[].from.name | String | Y | 보낸 사람 이름 |
mailData[].from.email | String | Y | 보낸 사람 메일 주소 |
mailData[].toList | List | Y | 받는 사람 목록 |
mailData[].toList[].name | String | Y | 받는 사람 이름 |
mailData[].toList[].email | String | Y | 받는 사람 메일 주소 |
mailData[].attachInfo | List | N | 미리보기용 첨부 파일 정보 ● previewMode가 2 또는 3인 경우만 데이터 있음 |
mailData[].attachInfo[].contentSN | Integer | N | 첨부 파일 일련번호 |
mailData[].attachInfo[].filename | String | N | 첨부 파일 이름 |
mailData[].attachInfo[].contentSize | Long | N | 첨부 파일 크기(단위:byte) |
mailData[].attachInfo[].contentType | String | N | 첨부 파일의 contentType |
mailData[].preview | String | N | 미리보기용 텍스트 ● previewMode가 1 또는 2인 경우만 데이터 있음 |
mailData[].receivedTime | Long | Y | 수신 시간. UNIX 타임스탬프 형식으로 표시한다. 예) 1408959094 |
mailData[].attachCount | Integer | Y | 첨부 파일 개수 예) 1 |
mailData[].folderSN | Integer | Y | 메일함 일련번호 예) 6 |
mailData[].toMe | Boolean | Y | 받는 사람에 내가 있는지 여부 ● true: 받는 사람에 있음 ● false: 참조에 있음 |
mailData[].securityLevel | String | Y | 메일의 보안 수준 ● "SECRET": 기밀 ● "IN_HOUSE": 대외비 ● "NORMAL": 일반 |
mailData[].sentTime | Long | Y | 메일 발송 시간. UNIX 타임스탬프 형식으로 표시한다. 예) 1408959094 |
mailData[].color | String | Y | 메일 목록을 조회할 때 나타나는 배경색 값 예) #ffffff |
mailData[].reSend | Boolean | Y | 메일 재전송 가능 여부 ● true: 가능 ● false: 불가능 |
mailData[].spamType | String | Y | 스팸 분류 코드 ● "SYSTEM_DEFINE": 시스템 분류 기준 ● "USER_DEFINE": 사용자 분류 기준 ● "USER_REPORT": 사용자가 스팸으로 신고 ● "USER_MOVE": 사용자가 스팸메일함으로 이동 |
mailData[].unreadThreadCount | Integer | Y | 대화형 목록에서 안 읽은 스레드 메일 개수 예) 0 |
Response Example
{
"currentTime": 1409126091,
"lastPage": 1,
"mailData": [
{
"priority": 3,
"size": 1042,
"threadCount": 0,
"threadId": "<a1903976041747540dbfc1dd0e99c86@example.com>",
"status": 5,
"subject": "안녕하세요",
"mailSN": 5,
"mimeSN": "1408959094.599851.19650.619501",
"from": {
"name": "홍길동",
"email": "user01@example.com"
},
"toList": [
{
"name": "",
"email": "user01@example.com"
}
],
"attachInfo": [{
"contentSN": 2,
"filename": "giphy.gif",
"contentOffset": 2095,
"contentSize": 786174,
"contentType": "image/gif",
"decodedSize": 589630
}],
"preview": "메일 본문입니다.",
"receivedTime": 1408959094,
"attachCount": 0,
"folderSN": 6,
"toMe": false,
"securityLevel": "NORMAL",
"sentTime": 1408959094,
"iconType": 0,
"color": "#ffffff",
"reSend": true,
"spamType": null,
"unreadThreadCount": 0
},
{
"priority": 3,
"size": 196331,
"threadCount": 0,
"threadId": "<14363dcad647f36b603771dc9ea88ad0@example.com>",
"status": 5,
"subject": "복잡한 페이지 로드 확인 중...",
"mailSN": 2,
"mimeSN": "1408957487.49617.14930.64547",
"from": {
"name": "홍길동",
"email": "user01@example.com"
},
"toList": [
{
"name": "",
"email": "user01@example.com"
}
],
"attachInfo": [],
"preview": "",
"receivedTime": 1408957487,
"attachCount": 0,
"folderSN": 6,
"toMe": false,
"securityLevel": "NORMAL",
"sentTime": 1408957486,
"iconType": 0,
"color": "#ffffff",
"reSend": true,
"spamType": null,
"unreadThreadCount": 0
},
{
"priority": 3,
"size": 2079,
"threadCount": 0,
"threadId": "<67823c36f479f825abc761952852936@example.com>",
"status": 37,
"subject": "내가 작성한 개발 메일입니다.",
"mailSN": 1,
"mimeSN": "1408951522.795266.30402.825668",
"from": {
"name": "홍길동",
"email": "user01@example.com"
},
"toList": [
{
"name": "",
"email": "user01@example.com"
}
],
"attachInfo": [],
"preview": "",
"receivedTime": 1408951522,
"attachCount": 0,
"folderSN": 101,
"toMe": false,
"securityLevel": "NORMAL",
"sentTime": 1408951522,
"iconType": 0,
"color": "#ffffff",
"reSend": true,
"spamType": null,
"unreadThreadCount": 0
}
],
"totalCount": 3,
"listCount": 3,
"unreadCount": 0,
"pageSize": 30,
"folderName": "전체메일함"
}
Error
호출에 실패하면 HTTP Status와 함께 다음 오류 정보가 반환된다.
속성 | 타입 | 설명 |
---|---|---|
code | String | Error Code |
message | String | Error Message |
HTTP Status | Error Code | 설명 |
---|---|---|
400 | INVALID_PARAMETER | 요청값이 적절하지 않음 |
500 | SYSTEM_ERROR | 내부 서버 오류 |
Error Example
{
"code": "INVALID_PARAMETER",
"message": "Invalid request parameters",
"domain": "mail"
}