diff options
Diffstat (limited to 'lib/knox-api/mail')
| -rw-r--r-- | lib/knox-api/mail/knox-mail.ts | 312 | ||||
| -rw-r--r-- | lib/knox-api/mail/mail-guide.html | 2114 |
2 files changed, 2426 insertions, 0 deletions
diff --git a/lib/knox-api/mail/knox-mail.ts b/lib/knox-api/mail/knox-mail.ts new file mode 100644 index 00000000..48ba6c16 --- /dev/null +++ b/lib/knox-api/mail/knox-mail.ts @@ -0,0 +1,312 @@ +'use server'; + +// Knox Mail API TypeScript Library for Next.js Server Actions +// Based on Knox Mail API Guide v2.0 + +export interface KnoxMailConfig { + baseUrl: string; + systemId: string; + userId: string; +} + +// 공통 타입 정의 +export interface KnoxMailResponse<T = unknown> { + result: 'success' | 'error'; + mailId?: string; + data?: T; + error?: { + code: string; + message: string; + }; +} + +// 발신인 정보 +export interface Sender { + emailAddress: string; +} + +// 수신인 정보 +export interface Recipient { + emailAddress: string; + recipientType: 'TO' | 'CC' | 'BCC'; +} + +// 일반 메일 발신 요청 +export interface SendMailRequest { + subject: string; + contents: string; + contentType: 'TEXT' | 'HTML' | 'MIME'; + docSecuType: 'PERSONAL' | 'OFFICIAL'; + sender: Sender; + recipients: Recipient[]; + attachments?: File[]; + reservedTime?: string; // yyyy-MM-dd HH:mm 형식 +} + +// 대외비 메일 DRM 옵션 +export interface DrmOption { + validDays: string; + useCount: string; + canView: string; + canPrint: string; + notifyExternalUser: string; + notifyInternalUser: string; +} + +// 대외비 메일 발신 요청 +export interface SendSecuMailRequest extends Omit<SendMailRequest, 'docSecuType'> { + docSecuType: 'CONFIDENTIAL' | 'CONFIDENTIAL_STRICT'; + drmOption: DrmOption; +} + +// 메일 발신 취소 요청 +export interface CancelMailRequest { + recipients: string[]; +} + +// 메일 별 수신상태 조회 요청 +export interface DeliveryStatusCountRequest { + mailIds: string[]; +} + +// 수신상태 카운트 응답 +export interface DeliveryStatusCount { + mailId: string; + totalStatusCount: number; + sendingCount: number; + openCount: number; + unopenCount: number; + etcCount: number; + sendCancelCount: number; + sendCancelReqCount: number; + sendBlockCount: number; + sendFailCount: number; + drmProcessCount: number; + drmFailCount: number; + reserveCount: number; + reserveCancelCount: number; + unknownCount: number; +} + +// 수신인 별 수신상태 응답 +export interface RecipientDeliveryStatus { + name: string; + position: string; + enName: string; + enPosition: string; + company: string; + department: string; + enDepartment: string; + email: string; + userID: string; + recipientType: 'TO' | 'CC' | 'BCC'; + updateTime: { + month: number; + year: number; + dayOfMonth: number; + hourOfDay: number; + minute: number; + second: number; + }; + status: string; + needOpenNotify: boolean; + isDLAddr: boolean; +} + +// 내부 유틸리티 함수들 +function getHeaders(systemId: string): Record<string, string> { + return { + 'System-ID': systemId, + 'Content-Type': 'application/json', + }; +} + +async function makeRequest<T>( + config: KnoxMailConfig, + endpoint: string, + method: 'GET' | 'POST', + data?: unknown, + isMultipart = false +): Promise<KnoxMailResponse<T>> { + const url = `${config.baseUrl}${endpoint}?userId=${config.userId}`; + + const headers = getHeaders(config.systemId); + if (isMultipart) { + delete headers['Content-Type']; // multipart/form-data는 브라우저가 자동으로 설정 + } + + try { + const response = await fetch(url, { + method, + headers, + body: data ? (isMultipart ? data as FormData : JSON.stringify(data)) : undefined, + }); + + if (!response.ok) { + const errorData = await response.json().catch(() => ({})); + return { + result: 'error', + error: { + code: response.status.toString(), + message: errorData.message || response.statusText, + }, + }; + } + + const result = await response.json(); + return { + result: 'success', + ...result, + }; + } catch (error) { + return { + result: 'error', + error: { + code: 'NETWORK_ERROR', + message: error instanceof Error ? error.message : 'Unknown error', + }, + }; + } +} + +function createFormData(mailData: Record<string, unknown>, attachments?: File[]): FormData { + const formData = new FormData(); + + // 메일 데이터를 JSON으로 추가 + formData.append('mail', JSON.stringify(mailData)); + + // 첨부파일이 있으면 추가 + if (attachments && attachments.length > 0) { + attachments.forEach(file => { + formData.append('attachments', file); + }); + } + + return formData; +} + +// Next.js 서버 액션 함수들 + +/** + * 일반 메일 발신 서버 액션 + * @param config Knox Mail API 설정 + * @param request 메일 발신 요청 데이터 + * @returns 발신 결과 (mailId 포함) + */ +export async function sendMail( + config: KnoxMailConfig, + request: SendMailRequest +): Promise<KnoxMailResponse<{ mailId: string }>> { + const { attachments, ...mailData } = request; + + if (attachments && attachments.length > 0) { + const formData = createFormData(mailData, attachments); + return makeRequest<{ mailId: string }>(config, '/mail/api/v2.0/mails/send', 'POST', formData, true); + } else { + return makeRequest<{ mailId: string }>(config, '/mail/api/v2.0/mails/send', 'POST', mailData); + } +} + +/** + * 대외비 메일 발신 서버 액션 + * @param config Knox Mail API 설정 + * @param request 대외비 메일 발신 요청 데이터 + * @returns 발신 결과 (mailId 포함) + */ +export async function sendSecuMail( + config: KnoxMailConfig, + request: SendSecuMailRequest +): Promise<KnoxMailResponse<{ mailId: string }>> { + const { attachments, ...mailData } = request; + + if (attachments && attachments.length > 0) { + const formData = createFormData(mailData, attachments); + return makeRequest<{ mailId: string }>(config, '/mail/api/v2.0/mails/secu-send', 'POST', formData, true); + } else { + return makeRequest<{ mailId: string }>(config, '/mail/api/v2.0/mails/secu-send', 'POST', mailData); + } +} + +/** + * 메일 발신 취소 서버 액션 + * @param config Knox Mail API 설정 + * @param mailId 취소할 메일 ID + * @param request 취소 요청 데이터 (수신인 목록) + * @returns 취소 결과 + */ +export async function cancelMail( + config: KnoxMailConfig, + mailId: string, + request: CancelMailRequest +): Promise<KnoxMailResponse> { + return makeRequest(config, `/mail/api/v2.0/mails/${mailId}/cancel`, 'POST', request); +} + +/** + * 메일 별 수신상태 조회 서버 액션 + * @param config Knox Mail API 설정 + * @param request 조회할 메일 ID 목록 + * @returns 메일별 수신상태 카운트 목록 + */ +export async function getDeliveryStatusCount( + config: KnoxMailConfig, + request: DeliveryStatusCountRequest +): Promise<KnoxMailResponse<DeliveryStatusCount[]>> { + return makeRequest<DeliveryStatusCount[]>(config, '/mail/api/v2.0/mails/deliverystatus/count', 'POST', request); +} + +/** + * 수신인 별 수신상태 조회 서버 액션 + * @param config Knox Mail API 설정 + * @param mailId 조회할 메일 ID + * @returns 수신인별 수신상태 목록 + */ +export async function getRecipientDeliveryStatus( + config: KnoxMailConfig, + mailId: string +): Promise<KnoxMailResponse<RecipientDeliveryStatus[]>> { + return makeRequest<RecipientDeliveryStatus[]>(config, `/mail/api/v2.0/mails/${mailId}/deliverystatus`, 'GET'); +} + +// 편의 함수들 +export async function createKnoxMailConfig( + baseUrl: string, + systemId: string, + userId: string +): Promise<KnoxMailConfig> { + return { + baseUrl, + systemId, + userId, + }; +} + +// 에러 코드 상수 +export const KNOX_MAIL_ERROR_CODES = { + ML1001: '필수값 중 입력되지 않은 값이 있습니다.', + ML1002: '사용자 정보가 존재하지 않습니다.', + ML1003: '요청하신 데이터가 존재하지 않습니다.', + ML1101: '본문 (content) 값이 입력되지 않았습니다.', + ML1102: '첨부 파일 처리 중 에러가 발생했습니다.', + ML1104: '일반 메일 발신 중 docSecuType 값이 유효하지 않습니다.', + ML1107: '대외비/극비 보안 옵션 값이 유효하지 않습니다.', + ML1108: '대외비/극비 메일 contentType 값이 유효하지 않습니다.', + ML1109: '대외비/극비 메일 docSecuType 값이 유효하지 않습니다.', + ML1110: '극비 메일일 경우에는 내부 수신인에게만 메일 발신이 가능합니다.', + ML1111: '대외비/극비 메일에서 허용되지 않는 첨부 파일의 확장자가 있습니다.', + ML1112: '메일 제목 크기가 300 bytes를 초과하였습니다.', + ML1114: '메일 발신 API에서 허용되는 content 크기를 초과하였습니다.', + ML1115: '일반 메일 contentType 값이 유효하지 않습니다.', + ML1117: '메일 발신 API에서 발신가능한 최대 수신인을 초과하였습니다.', + ML1118: '수신자의 수신 타입이 잘못 설정되었습니다.', + CO400: '잘못된 요청입니다.', +} as const; + +// 타입 가드 함수들 +export function isKnoxMailError(response: KnoxMailResponse): response is KnoxMailResponse & { error: { code: string; message: string } } { + return response.result === 'error' && !!response.error; +} + +export function isKnoxMailSuccess<T>(response: KnoxMailResponse<T>): response is KnoxMailResponse<T> & { result: 'success' } { + return response.result === 'success'; +} diff --git a/lib/knox-api/mail/mail-guide.html b/lib/knox-api/mail/mail-guide.html new file mode 100644 index 00000000..5e38d3a7 --- /dev/null +++ b/lib/knox-api/mail/mail-guide.html @@ -0,0 +1,2114 @@ +<div class="body-content"> + <div class="sub-header margin"> + <h2 data-message-id="mail.intro.subject">메일</h2> + </div> + <div class="module-subsum"> + <p><span data-message-id="mail.header.description1">메일 연계 API 이용을 위한 상세 개발 가이드입니다.</span><br><span + data-message-id="mail.header.description2">메일 API는 메일 발신, 발신 취소, 상태 조회 세 가지 유형으로 나누어져 있습니다.</span></p> + </div> + <div class="module-font type03" data-message-id="mail.policy.subject">[정책 및 제약사항]</div> + <div class="module-font type04"> + <dl> + <dt><span data-message-id="mail.policy.description1">1. 발신인 정보는 녹스포탈 임직원만 지정 가능하며, 발신자의 거점으로 연계 호출해야 + 합니다.</span></dt> + <dt><span data-message-id="mail.policy.description2">2. 본문 사이즈는 최대 1MB 를 넘을 수 없습니다.</span></dt> + <dt><span data-message-id="mail.policy.description3">3. 한번에 10개의 첨부파일을 포함하여 발송할 수 있으며, 전체 첨부 사이즈는 10MB 를 넘을 + 수 없습니다.</span></dt> + <dt><span data-message-id="mail.policy.description4">4. 수신인은 최대 200명까지 지정이 가능합니다.</span></dt> + </dl> + </div> + <div class="module-font type03"><span data-message-id="subject.api.list">[API 목록]</span> <a + target="blank" class="swagger-link" id="swaggerLinkStg" + href="http://developers.samsung.net/knoxcenter/wso2/swagger-ui/b7bdb049-3f3c-4c03-a638-05c3c56e4ba4"><span + data-message-id="subject.go.to.swagger">테스트 페이지로 이동(Swagger)</span></a><span id="swaggerLinkStg_chrome" + data-message-id="subject.go.to.swagger.chrome"><sub>*Chrome Browser만 이용 가능합니다.</sub></span></div> + <div class="tbl-list01 kc-tbl"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="200px"> + <col width="350px"> + <col width="100px"> + <col> + </colgroup> + <thead> + <tr> + <th>API</th> + <th>URI</th> + <th>Method</th> + <th>Description</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="200px"> + <col width="350px"> + <col width="100px"> + <col> + </colgroup> + <tbody> + <tr> + <td class="left"><a href="#mailapi01"><span data-message-id="mail.service.send.subject">일반 메일 + 발신</span></a></td> + <td class="left"><span + data-message-id="mail.service.send.uri">/mail/api/v2.0/mails/send?userId=Knox아이디</span> + </td> + <td><span data-message-id="mail.service.method.post">POST</span></td> + <td class="left desc"><span data-message-id="mail.service.send.description">Knox 메일을 + 발신한다.</span></td> + </tr> + <tr> + <td class="left"><a href="#mailapi02"><span data-message-id="mail.service.secu.send.subject">대외비 + 메일 발신</span></a></td> + <td class="left"><span + data-message-id="mail.service.secu.send.uri">/mail/api/v2.0/mails/secu-send?userId=Knox아이디</span> + </td> + <td><span data-message-id="mail.service.method.post">POST</span></td> + <td class="left desc"><span data-message-id="mail.service.secu.send.description">Knox 대외비 메일을 + 발신한다.</span></td> + </tr> + <tr> + <td class="left"><a href="#mailapi03"><span data-message-id="mail.service.cancel.subject">메일 발신 + 취소</span></a></td> + <td class="left"><span + data-message-id="mail.service.cancel.uri">/mail/api/v2.0/mails/{mailId}/cancel?userId=Knox아이디</span> + </td> + <td><span data-message-id="mail.service.method.post">POST</span></td> + <td class="left desc"><span data-message-id="mail.service.cancel.description">Knox 내부로 발신한 메일을 + 발신 취소한다.</span></td> + </tr> + <tr> + <td class="left"><a href="#mailapi04"><span + data-message-id="mail.service.deliverystatus.count.subject">메일 별 수신상태 조회</span></a> + </td> + <td class="left"><span + data-message-id="mail.service.deliverystatus.count.uri">/mail/api/v2.0/mails/deliverystatus/count?userId=Knox아이디</span> + </td> + <td><span data-message-id="mail.service.method.post">POST</span></td> + <td class="left desc"><span data-message-id="mail.service.deliverystatus.count.description">해당하는 + 메일에 대해서 전체 수신 상태를 조회한다.</span></td> + </tr> + <tr> + <td class="left"><a href="#mailapi05"><span + data-message-id="mail.service.deliverystatus.subject">수신인 별 수신상태 조회</span></a></td> + <td class="left"><span + data-message-id="mail.service.deliverystatus.uri">/mail/api/v2.0/mails/{mailId}/deliverystatus?userId=Knox아이디</span> + </td> + <td><span data-message-id="mail.service.method.get">GET</span></td> + <td class="left desc"><span data-message-id="mail.service.deliverystatus.description">해당하는 메일에 + 대해서 수신인 별 수신 상태를 조회한다.</span></td> + </tr> + </tbody> + </table> + </div> + </div><br> + <div class="dan-border"></div> + <div class="module-font type01" id="mailapi01"><span data-message-id="mail.service.send.subject">일반 메일 발신</span> + </div> + <div class="module-font type02"> + <p><span data-message-id="mail.service.send.uri">/mail/api/v2.0/mails/send?userId=Knox아이디</span></p> + </div> + <div class="module-font"> + <p><span data-message-id="mail.service.send.detail1">삼성 그룹사 임직원 뿐만 아니라 외부수신인을 포함하여 메일 발신이 가능하며, 발신된 메일을 발신함에 + 저장됩니다.</span></p> + <p><span data-message-id="mail.service.send.detail2">주 1. 발신자의 메일>환경설정> 발신메일저장옵션에 따라 다를 수 있습니다.</span></p> + <p><span data-message-id="mail.service.send.detail3">주 2. Multipart/form-data 구성시 아래 Sample Request 와 같이 각 파트를 + 구분하여 form-data 의 name 값을 ‘mail’ , ‘attachments’ 로 호출해야 합니다.</span></p> + </div> + <div class="module-font type02"> + <p><span>Request Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="3%;"> + <col width="15%;"> + <col width="10%;"> + <col width="5%;"> + <col width="12%;"> + <col width="10%;"> + <col width="21%;"> + <col width="15%;"> + </colgroup> + <thead> + <tr> + <th>No.</th> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Mandatory</th> + <th>Parameter Type</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="3%;"> + <col width="15%;"> + <col width="10%;"> + <col width="5%;"> + <col width="12%;"> + <col width="10%;"> + <col width="21%;"> + <col width="15%;"> + </colgroup> + <tbody> + <tr> + <td>1</td> + <td class="left"><span data-message-id="mail.service.request.properties.systemid">연계 시스템 + 아이디</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.systemid">System-ID</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.header">Header</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.systemid">C60LD0001</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.systemid"></span></td> + </tr> + <tr> + <td>2</td> + <td class="left"><span data-message-id="mail.service.request.properties.userid">유저 아이디</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.userid">userId</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.query">Query</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.userid">knoxportal</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.userid"></span></td> + </tr> + <tr> + <td>3</td> + <td class="left"><span data-message-id="mail.service.request.properties.subject">메일 제목</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.subject">subject</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.subject">메일 제목입니다.</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.subject"></span></td> + </tr> + <tr> + <td>4</td> + <td class="left"><span data-message-id="mail.service.request.properties.docSecuType">문서 + 타입</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.docSecuType">docSecuType</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.docSecuType">PERSONAL</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.docSecuType"><span + class="ellipsis">1) PERSONAL : 개인</span><br><span class="ellipsis">2) OFFICIAL : + 공문</span></span></td> + </tr> + <tr> + <td>5</td> + <td class="left"><span data-message-id="mail.service.request.properties.contents">메일 본문</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.contents">contents</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.contents">안녕하세요, 테스트 + 메일입니다.</span></td> + <td class="left"><span data-message-id="mail.service.request.note.contents"></span></td> + </tr> + <tr> + <td>6</td> + <td class="left"><span data-message-id="mail.service.request.properties.contentType">컨텐츠 + 타입</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.contentType">contentType</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.contentType">TEXT</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.contentType"><span + class="ellipsis">1) TEXT : 텍스트</span><br><span class="ellipsis">2) MIME : + 마임</span><br><span class="ellipsis">3) HTML : HTML</span></span></td> + </tr> + <tr> + <td>7</td> + <td class="left"><span data-message-id="mail.service.request.properties.sender">발신인</span></td> + <td class="left"><span data-message-id="mail.service.request.attribute.sender">sender</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.jsonObject">JSON Object</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.sender"></span></td> + <td class="left"><span data-message-id="mail.service.request.note.sender"></span></td> + </tr> + <tr> + <td>8</td> + <td class="left"><span data-message-id="mail.service.request.properties.senderAddress">발신인 + 이메일</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.senderAddress">emailAddress</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.request.sample.senderAddress">knoxportal@samsung.com</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.senderAddress"><span + class="ellipsis">1) 운영 환경 : knoxportal@samsung.com</span><br><span + class="ellipsis">2) 스테이지 환경 : knoxportal@stage.samsung.com</span></span></td> + </tr> + <tr> + <td>9</td> + <td class="left"><span data-message-id="mail.service.request.properties.recipients">수신인</span> + </td> + <td class="left"><span + data-message-id="mail.service.request.attribute.recipients">recipients</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.jsonList">JSON List</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.recipients"></span></td> + <td class="left"><span data-message-id="mail.service.request.note.recipients"></span></td> + </tr> + <tr> + <td>10</td> + <td class="left"><span data-message-id="mail.service.request.properties.recipientsAddress">수신인 + 이메일</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.recipientsAddress">emailAddress</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.request.sample.recipientsAddress">knoxportal@samsung.com</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.recipientsAddress"><span + class="ellipsis">1) 운영 환경 : knoxportal@samsung.com</span><br><span + class="ellipsis">2) 스테이지 환경 : knoxportal@stage.samsung.com</span></span></td> + </tr> + <tr> + <td>11</td> + <td class="left"><span data-message-id="mail.service.request.properties.recipientType">수신 + 타입</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.recipientType">recipientType</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.recipientType">TO</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.recipientType"><span + class="ellipsis">1) 수신 : TO</span><br><span class="ellipsis">2) 참조 : + CC</span><br><span class="ellipsis">3) 비밀참조 : BCC</span></span></td> + </tr> + <tr> + <td>12</td> + <td class="left"><span data-message-id="mail.service.request.properties.attachments">첨부 + 파일</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.attachments">attachments</span></td> + <td><span data-message-id="mail.service.request.mandatory.n">N</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span + data-message-id="mail.service.request.datatype.multipart.form.data">multipart/form-data</span> + </td> + <td class="left"><span + data-message-id="mail.service.request.sample.attachments">multipart/form-data로 변환된 바이너리 + 파일 및 파일명</span></td> + <td class="left"><span data-message-id="mail.service.request.note.attachments"></span></td> + </tr> + <tr> + <td>13</td> + <td class="left"><span data-message-id="mail.service.request.properties.reservedTime">예약 + 발신</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.reservedTime">reservedTime</span></td> + <td><span data-message-id="mail.service.request.mandatory.n">N</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.reservedTime"><span + class="ellipsis">yyyy-MM-dd HH:mm</span><br><span class="ellipsis">ex)"2023-10-25 + 15:00"</span></span></td> + <td class="left"><span data-message-id="mail.service.request.note.reservedTime">10분 단위 설정</span> + </td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type02"> + <p><span>Response Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="15%;"> + <col width="10%;"> + <col width="10%;"> + <col width="55%;"> + <col width="10%;"> + </colgroup> + <thead> + <tr> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="15%;"> + <col width="10%;"> + <col width="10%;"> + <col width="55%;"> + <col width="10%;"> + </colgroup> + <tbody> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.result">API 호출 성공 + 여부</span></td> + <td class="left"><span data-message-id="mail.service.response.attribute.result">result</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.result">success</span></td> + <td class="left"><span data-message-id="mail.service.response.note.result"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.mailid">메일 아이디</span> + </td> + <td class="left"><span data-message-id="mail.service.response.attribute.mailid">mailId</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.response.sample.mailid">20190409043651epcms1s110a09b3ca1b6c8d754ee1c28a182d8d5</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.mailid"></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type02"> + <p><span>Sample</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="50%;"> + <col width="50%;"> + </colgroup> + <thead> + <tr> + <th>Request</th> + <th>Response</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="50%;"> + <col width="50%;"> + </colgroup> + <tbody> + <tr> + <td class="left"><span data-message-id="mail.service.sample.send.request"><span + class="ellipsis">/mail/api/v2.0/mails/send?userId=knoxportal</span><br><span + class="ellipsis">body :</span><br><span class="ellipsis"></span><br><span + class="ellipsis">Content-Disposition: form-data; name="mail"</span><br><span + class="ellipsis">{</span><br><span class="ellipsis"> "subject" : + "EMAIL SUBJECT (이메일 제목)",</span><br><span + class="ellipsis"> "contents" : "EMAIL BODY (이메일 + 본문)",</span><br><span class="ellipsis"> "contentType" : + "TEXT",</span><br><span class="ellipsis"> "docSecuType" : + "PERSONAL",</span><br><span class="ellipsis"> "sender" + :</span><br><span + class="ellipsis"> {</span><br><span + class="ellipsis"> "emailAddress" + : "knoxportal@samsung.com"</span><br><span + class="ellipsis"> },</span><br><span + class="ellipsis"> "recipients" :</span><br><span + class="ellipsis"> [</span><br><span + class="ellipsis"> {</span><br><span + class="ellipsis"> "emailAddress" + : "knoxportal@samsung.com",</span><br><span + class="ellipsis"> "recipientType" + : "TO"</span><br><span + class="ellipsis"> }</span><br><span + class="ellipsis"> ]</span><br><span + class="ellipsis">}</span><br><span class="ellipsis">Content-Disposition: form-data; + name="attachments"; filename="db변경.JPG"</span><br><span + class="ellipsis">Content-Type: image/jpeg</span><br><span + class="ellipsis">Content-Disposition: form-data; name="attachments"; filename="2 - + 복사본 (2).jpg"</span><br><span class="ellipsis">Content-Type: + image/jpeg</span><br><span class="ellipsis"></span></span></td> + <td class="left"><span data-message-id="mail.service.sample.send.response"><span + class="ellipsis">{</span><br><span class="ellipsis"> "mailId": + "20190531015540hdp_101d2782e07bbad98034606076da1e299b05",</span><br><span + class="ellipsis"> "result": "success"</span><br><span + class="ellipsis">}</span><br><span class="ellipsis"></span></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type01"><span>Error Code</span></div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <thead> + <tr> + <th><span data-message-id="common.type.message1">HTTP응답코드</span></th> + <th><span data-message-id="common.type.message2">에러코드</span></th> + <th><span data-message-id="common.type.message3">에러메시지</span></th> + <th><span data-message-id="common.type.message4">조치방안</span></th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <tbody> + <tr> + <td><span>400</span></td> + <td><span>ML1001</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1001">필수값 중 입력되지 않은 값이 있습니다.</span> + </td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1001">모든 필수값이 + 입력되었는지 확인이 필요합니다. 또, 에러 메시지에 null인 parameter 명이 리턴된다면, 해당 값을 우선적으로 확인해야 합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1002</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1002">사용자 정보가 존재하지 않습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1002">호출 시 입력하는 + URI 상의 Knox Id, 혹은 메일 발신자 knox 이메일 addresss가 정상적인지 확인이 필요합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1104</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1104">일반 메일 발신 중 docSecuType 값이 유효하지 + 않습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1104">일반 메일의 + docSecuType은 PERSONAL(개인), OFFICIAL(공문) 두 값만 허용됩니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1112</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1112">메일 제목 크기가 300 bytes를 + 초과하였습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1112">제목의 사이즈 확인이 + 필요합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1114</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1114">메일 발신 API에서 허용되는 content 크기를 + 초과하였습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1114">발신 API에서 본문 + 사이즈는 최대 1mb까지 입력이 가능합니다. 해당 크기를 초과하는 내용에 대해서는 가급적 첨부 파일 등을 이용 부탁드립니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1115</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1115">일반 메일 contentType 값이 유효하지 + 않습니다</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1115">일반 메일의 + contentType 값은 HTML, MIME, TEXT 세 개의 값만 허용됩니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1117</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1117">메일 발신 API에서 발신가능한 최대 수신인을 + 초과하였습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1117">입력 가능한 최대 + 수신인 수는 100명입니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1118</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1118">수신자의 수신 타입이 잘못 설정되었습니다.</span> + </td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1118">수신 타입은 + TO(수신), CC(참조), BCC(비밀참조) 세 개의 값만 허용됩니다.</span></td> + </tr> + <tr> + <td><span>403</span></td> + <td><span>ML1102</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1102">첨부 파일 처리 중 에러가 발생했습니다.</span> + </td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1102">첨부 파일의 + Multipart/form-data 형식 확인이 필요합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>CO400</span></td> + <td><span data-message-id="mail.service.errorcode.message.CO400">잘못된 요청입니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.CO400">요청 파라미터를 + 확인해주세요. 특히 userId, docSecuType 이 누락되었는지 확인해주세요.</span></td> + </tr> + </tbody> + </table> + </div> + </div><br> + <div class="dan-border"></div> + <div class="module-font type01" id="mailapi02"><span data-message-id="mail.service.secu.send.subject">대외비 메일 + 발신</span></div> + <div class="module-font type02"> + <p><span data-message-id="mail.service.secu.send.uri">/mail/api/v2.0/mails/secu-send?userId=Knox아이디</span></p> + </div> + <div class="module-font"> + <p><span data-message-id="mail.service.secu.send.detail1">대외비, 극비로 설정하여 보안 메일을 발송할 수 있습니다.</span><br><span + data-message-id="mail.service.secu.send.detail2">보안 메일 옵션을 설정할 수 있습니다.</span></p> + </div> + <div class="module-font type02"> + <p><span>Request Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="5%;"> + <col width="15%;"> + <col width="10%;"> + <col width="8%;"> + <col width="12%;"> + <col width="10%;"> + <col width="21%;"> + <col width="9%;"> + </colgroup> + <thead> + <tr> + <th>No.</th> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Mandatory</th> + <th>Parameter Type</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="5%;"> + <col width="15%;"> + <col width="10%;"> + <col width="8%;"> + <col width="12%;"> + <col width="10%;"> + <col width="21%;"> + <col width="9%;"> + </colgroup> + <tbody> + <tr> + <td>1</td> + <td class="left"><span data-message-id="mail.service.request.properties.systemid">연계 시스템 + 아이디</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.systemid">System-ID</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.header">Header</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.systemid">C60LD0001</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.systemid"></span></td> + </tr> + <tr> + <td>2</td> + <td class="left"><span data-message-id="mail.service.request.properties.userid">유저 아이디</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.userid">userId</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.query">Query</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.userid">knoxportal</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.userid"></span></td> + </tr> + <tr> + <td>3</td> + <td class="left"><span data-message-id="mail.service.request.properties.subject">메일 제목</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.subject">subject</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.subject">메일 제목입니다.</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.subject"></span></td> + </tr> + <tr> + <td>4</td> + <td class="left"><span data-message-id="mail.service.request.properties.docSecuType">문서 + 타입</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.docSecuType">docSecuType</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.docSecuType">PERSONAL</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.docSecuType"><span + class="ellipsis">1) PERSONAL : 개인</span><br><span class="ellipsis">2) OFFICIAL : + 공문</span></span></td> + </tr> + <tr> + <td>5</td> + <td class="left"><span data-message-id="mail.service.request.properties.contents">메일 본문</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.contents">contents</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.contents">안녕하세요, 테스트 + 메일입니다.</span></td> + <td class="left"><span data-message-id="mail.service.request.note.contents"></span></td> + </tr> + <tr> + <td>6</td> + <td class="left"><span data-message-id="mail.service.request.properties.contentType">컨텐츠 + 타입</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.contentType">contentType</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.secu.request.sample.contentType">TEXT</span></td> + <td class="left"><span data-message-id="mail.service.request.note.contentType"><span + class="ellipsis">1) TEXT : 텍스트</span><br><span class="ellipsis">2) MIME : + 마임</span><br><span class="ellipsis">3) HTML : HTML</span></span></td> + </tr> + <tr> + <td>7</td> + <td class="left"><span data-message-id="mail.service.request.properties.sender">발신인</span></td> + <td class="left"><span data-message-id="mail.service.request.attribute.sender">sender</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.jsonObject">JSON Object</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.sender"></span></td> + <td class="left"><span data-message-id="mail.service.request.note.sender"></span></td> + </tr> + <tr> + <td>8</td> + <td class="left"><span data-message-id="mail.service.request.properties.senderAddress">발신인 + 이메일</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.senderAddress">emailAddress</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.request.sample.senderAddress">knoxportal@samsung.com</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.senderAddress"><span + class="ellipsis">1) 운영 환경 : knoxportal@samsung.com</span><br><span + class="ellipsis">2) 스테이지 환경 : knoxportal@stage.samsung.com</span></span></td> + </tr> + <tr> + <td>9</td> + <td class="left"><span data-message-id="mail.service.request.properties.recipients">수신인</span> + </td> + <td class="left"><span + data-message-id="mail.service.request.attribute.recipients">recipients</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.jsonList">JSON List</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.recipients"></span></td> + <td class="left"><span data-message-id="mail.service.request.note.recipients"></span></td> + </tr> + <tr> + <td>10</td> + <td class="left"><span data-message-id="mail.service.request.properties.recipientsAddress">수신인 + 이메일</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.recipientsAddress">emailAddress</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.request.sample.recipientsAddress">knoxportal@samsung.com</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.recipientsAddress"><span + class="ellipsis">1) 운영 환경 : knoxportal@samsung.com</span><br><span + class="ellipsis">2) 스테이지 환경 : knoxportal@stage.samsung.com</span></span></td> + </tr> + <tr> + <td>11</td> + <td class="left"><span data-message-id="mail.service.request.properties.recipientType">수신 + 타입</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.recipientType">recipientType</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.recipientType">TO</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.recipientType"><span + class="ellipsis">1) 수신 : TO</span><br><span class="ellipsis">2) 참조 : + CC</span><br><span class="ellipsis">3) 비밀참조 : BCC</span></span></td> + </tr> + <tr> + <td>12</td> + <td class="left"><span data-message-id="mail.service.request.properties.attachments">첨부 + 파일</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.attachments">attachments</span></td> + <td><span data-message-id="mail.service.request.mandatory.n">N</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span + data-message-id="mail.service.request.datatype.multipart.form.data">multipart/form-data</span> + </td> + <td class="left"><span + data-message-id="mail.service.request.sample.attachments">multipart/form-data로 변환된 바이너리 + 파일 및 파일명</span></td> + <td class="left"><span data-message-id="mail.service.request.note.attachments"></span></td> + </tr> + <tr> + <td>13</td> + <td class="left"><span data-message-id="mail.service.request.properties.drmoption">대외비 옵션</span> + </td> + <td class="left"><span + data-message-id="mail.service.request.attribute.drmoption">drmOption</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.datatype.jsonObject">JSON Object</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.drmoption"></span></td> + <td class="left"><span data-message-id="mail.service.request.note.drmoption"></span></td> + </tr> + <tr> + <td>14</td> + <td class="left"><span data-message-id="mail.service.request.properties.validDays">대외비 메일 조회 가능 + 일 수</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.validDays">validDays</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.validDays">3</span></td> + <td class="left"><span data-message-id="mail.service.request.note.validDays"></span></td> + </tr> + <tr> + <td>15</td> + <td class="left"><span data-message-id="mail.service.request.properties.useCount">대외비 개봉 가능 + 횟수</span></td> + <td class="left"><span data-message-id="mail.service.request.attribute.useCount">useCount</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.useCount">3</span></td> + <td class="left"><span data-message-id="mail.service.request.note.useCount"></span></td> + </tr> + <tr> + <td>16</td> + <td class="left"><span data-message-id="mail.service.request.properties.canView">대외비 수신인 조회 가능 + 여부</span></td> + <td class="left"><span data-message-id="mail.service.request.attribute.canView">canView</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.canView">0</span></td> + <td class="left"><span data-message-id="mail.service.request.note.canView"></span></td> + </tr> + <tr> + <td>17</td> + <td class="left"><span data-message-id="mail.service.request.properties.canPrint">대외비 인쇄 가능 + 여부</span></td> + <td class="left"><span data-message-id="mail.service.request.attribute.canPrint">canPrint</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.canPrint">0</span></td> + <td class="left"><span data-message-id="mail.service.request.note.canPrint"></span></td> + </tr> + <tr> + <td>18</td> + <td class="left"><span data-message-id="mail.service.request.properties.notifyExternalUser">대외비 + 외부 수신인의 개봉 알림 여부</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.notifyExternalUser">notifyExternalUser</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.notifyExternalUser">0</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.notifyExternalUser"></span> + </td> + </tr> + <tr> + <td>19</td> + <td class="left"><span data-message-id="mail.service.request.properties.notifyInternalUser">대외비 + 내부 수신인의 개봉 알림 여부</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.notifyInternalUser">notifyInternalUser</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.notifyInternalUser">0</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.notifyInternalUser"></span> + </td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type02"> + <p><span>Response Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="15%;"> + <col width="10%;"> + <col width="10%;"> + <col width="55%;"> + <col width="10%;"> + </colgroup> + <thead> + <tr> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="15%;"> + <col width="10%;"> + <col width="10%;"> + <col width="55%;"> + <col width="10%;"> + </colgroup> + <tbody> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.result">API 호출 성공 + 여부</span></td> + <td class="left"><span data-message-id="mail.service.response.attribute.result">result</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.result">success</span></td> + <td class="left"><span data-message-id="mail.service.response.note.result"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.attribute.mailid">mailId</span> + </td> + <td class="left"><span data-message-id="mail.service.response.properties.mailid">메일 아이디</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.response.sample.mailid">20190409043651epcms1s110a09b3ca1b6c8d754ee1c28a182d8d5</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.mailid"></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type02"> + <p><span>Sample</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="50%;"> + <col width="50%;"> + </colgroup> + <thead> + <tr> + <th>Request</th> + <th>Response</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="50%;"> + <col width="50%;"> + </colgroup> + <tbody> + <tr> + <td class="left"><span data-message-id="mail.service.sample.secu.send.request"><span + class="ellipsis">/mail/api/v2.0/mails/send?userId=knoxportal</span><br><span + class="ellipsis">body :</span><br><span class="ellipsis"></span><br><span + class="ellipsis">Content-Disposition: form-data; name="mail"</span><br><span + class="ellipsis">{</span><br><span class="ellipsis"> "subject" : + "EMAIL SUBJECT (이메일 제목)",</span><br><span + class="ellipsis"> "contents" : "EMAIL BODY (이메일 + 본문)",</span><br><span class="ellipsis"> "contentType" : + "TEXT",</span><br><span class="ellipsis"> "docSecuType" : + "PERSONAL",</span><br><span class="ellipsis"> "sender" + :</span><br><span + class="ellipsis"> {</span><br><span + class="ellipsis"> "emailAddress" + : "knoxportal@samsung.com"</span><br><span + class="ellipsis"> },</span><br><span + class="ellipsis"> "recipients" :</span><br><span + class="ellipsis"> [</span><br><span + class="ellipsis"> {</span><br><span + class="ellipsis"> "emailAddress" + : "knoxportal@samsung.com",</span><br><span + class="ellipsis"> "recipientType" + : "TO"</span><br><span + class="ellipsis"> }</span><br><span + class="ellipsis"> ],</span><br><span + class="ellipsis"> "drmOption" :</span><br><span + class="ellipsis"> {</span><br><span + class="ellipsis"> "validDays":"3",</span><br><span + class="ellipsis"> "useCount":"3",</span><br><span + class="ellipsis"> "canView":"0",</span><br><span + class="ellipsis"> "canPrint":"0",</span><br><span + class="ellipsis"> "notifyExternalUser":"0",</span><br><span + class="ellipsis"> "notifyInternalUser":"0"</span><br><span + class="ellipsis"> }</span><br><span + class="ellipsis">}</span><br><span class="ellipsis">Content-Disposition: form-data; + name="attachments"; filename="db변경.JPG"</span><br><span + class="ellipsis">Content-Type: image/jpeg</span><br><span + class="ellipsis">Content-Disposition: form-data; name="attachments"; filename="2 - + 복사본 (2).jpg"</span><br><span class="ellipsis">Content-Type: + image/jpeg</span><br><span class="ellipsis"></span></span></td> + <td class="left"><span data-message-id="mail.service.sample.send.response"><span + class="ellipsis">{</span><br><span class="ellipsis"> "mailId": + "20190531015540hdp_101d2782e07bbad98034606076da1e299b05",</span><br><span + class="ellipsis"> "result": "success"</span><br><span + class="ellipsis">}</span><br><span class="ellipsis"></span></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type01"><span>Error Code</span></div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <thead> + <tr> + <th><span data-message-id="common.type.message1">HTTP응답코드</span></th> + <th><span data-message-id="common.type.message2">에러코드</span></th> + <th><span data-message-id="common.type.message3">에러메시지</span></th> + <th><span data-message-id="common.type.message4">조치방안</span></th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <tbody> + <tr> + <td><span>400</span></td> + <td><span>ML1001</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1001">필수값 중 입력되지 않은 값이 있습니다.</span> + </td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1001">모든 필수값이 + 입력되었는지 확인이 필요합니다. 또, 에러 메시지에 null인 parameter 명이 리턴된다면, 해당 값을 우선적으로 확인해야 합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1002</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1002">사용자 정보가 존재하지 않습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1002">호출 시 입력하는 + URI 상의 Knox Id, 혹은 메일 발신자 knox 이메일 addresss가 정상적인지 확인이 필요합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1101</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1101">본문 (content) 값이 입력되지 + 않았습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1101">메일 발신 관련 + API에서 본문 (content) 값이 정상적으로 입력되었는지 확인이 필요합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1107</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1107">대외비/극비 보안 옵션 값이 유효하지 않습니다. 옵션 + 값을 확인해주세요.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1107">대외비/극비의 보안 + 옵션 설정 유효 값을 가이드를 통해 확인 후 입력이 필요합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1108</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1108">대외비/극비 메일 contentType 값이 유효하지 + 않습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1108">대외비/극비 메일에서 + contentType은 HTML과 TEXT 타입만 허용됩니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1109</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1109">대외비/극비 메일 docSecuType 값이 유효하지 + 않습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1109">대외비/극비 메일의 + docSecuType은 CONFIDENTIAL(대외비), CONFIDENTIAL_STRICT(극비) 두 값만 허용됩니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1110</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1110">극비 메일일 경우에는 내부 수신인에게만 메일 발신이 + 가능합니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1110">외부 수신인 혹은 + 유효하지 않은 Knox 이메일 계정이 수신인에 포함되지 않았는지 확인이 필요합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1111</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1111">대외비/극비 메일에서 허용되지 않는 첨부 파일의 + 확장자가 있습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1111">txt, doc, + ppt, xls, pdf, jpg, jpeg, gif, bmp, docx, pptx, xlsx, mht, gul 확장자만 허용됩니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1112</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1112">메일 제목 크기가 300 bytes를 + 초과하였습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1112">제목의 사이즈 확인이 + 필요합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1114</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1114">메일 발신 API에서 허용되는 content 크기를 + 초과하였습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1114">발신 API에서 본문 + 사이즈는 최대 1mb까지 입력이 가능합니다. 해당 크기를 초과하는 내용에 대해서는 가급적 첨부 파일 등을 이용 부탁드립니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1117</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1117">메일 발신 API에서 발신가능한 최대 수신인을 + 초과하였습니다.</span></td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1117">입력 가능한 최대 + 수신인 수는 100명입니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1118</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1118">수신자의 수신 타입이 잘못 설정되었습니다.</span> + </td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1118">수신 타입은 + TO(수신), CC(참조), BCC(비밀참조) 세 개의 값만 허용됩니다.</span></td> + </tr> + <tr> + <td><span>403</span></td> + <td><span>ML1102</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1102">첨부 파일 처리 중 에러가 발생했습니다.</span> + </td> + <td class="left desc"><span data-message-id="mail.service.errorcode.measures.ML1102">첨부 파일의 + Multipart/form-data 형식 확인이 필요합니다.</span></td> + </tr> + </tbody> + </table> + </div> + </div><br> + <div class="dan-border"></div> + <div class="module-font type01" id="mailapi03"><span data-message-id="mail.service.cancel.subject">메일 발신 취소</span> + </div> + <div class="module-font type02"> + <p><span data-message-id="mail.service.cancel.uri">/mail/api/v2.0/mails/{mailId}/cancel?userId=Knox아이디</span> + </p> + </div> + <div class="module-font"> + <p><span data-message-id="mail.service.cancel.detail1">Knox 사용자가 발신한 메일을, 수신자의 수신 메일함에서 삭제하는 + 기능입니다.</span><br><span data-message-id="mail.service.cancel.detail2">(주) Knox 외부로 보낸 메일에 대해서는 발신 취소가 + 불가능합니다.</span></p> + </div> + <div class="module-font type02"> + <p><span>Request Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="5%;"> + <col width="15%;"> + <col width="10%;"> + <col width="8%;"> + <col width="12%;"> + <col width="10%;"> + <col width="21%;"> + <col width="9%;"> + </colgroup> + <thead> + <tr> + <th>No.</th> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Mandatory</th> + <th>Parameter Type</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="5%;"> + <col width="15%;"> + <col width="10%;"> + <col width="8%;"> + <col width="12%;"> + <col width="10%;"> + <col width="21%;"> + <col width="9%;"> + </colgroup> + <tbody> + <tr> + <td>1</td> + <td class="left"><span data-message-id="mail.service.request.properties.systemid">연계 시스템 + 아이디</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.systemid">System-ID</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.header">Header</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.systemid">C60LD0001</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.systemid"></span></td> + </tr> + <tr> + <td>2</td> + <td class="left"><span data-message-id="mail.service.request.properties.mailid">메일 아이디</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.mailid">{mailId}</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.path">Path</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.request.sample.mailid">20190623111845epcms1v2dd0e6bfd951d8f03bd75cd90afacdf8a</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.mailid"><span + class="ellipsis">발신된 모든 메일은 메일아이디라는 고유값을 가지며, 메일 발신이 성공하면 메일아이디를 전달받습니다. + </span><br><span class="ellipsis">전달받은 메일아이디를 활용하여 발신취소 또는 수신상황 조회를 할 수 + 있습니다.</span></span></td> + </tr> + <tr> + <td>3</td> + <td class="left"><span data-message-id="mail.service.request.properties.userid">유저 아이디</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.userid">userId</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.query">Query</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.userid">knoxportal</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.userid"></span></td> + </tr> + <tr> + <td>4</td> + <td class="left"><span data-message-id="mail.service.request.properties.recipients">수신인</span> + </td> + <td class="left"><span + data-message-id="mail.service.request.attribute.recipients">recipients</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.recipients"></span></td> + <td class="left"><span data-message-id="mail.service.request.note.recipients"></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type02"> + <p><span>Response Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="15%;"> + <col width="10%;"> + <col width="10%;"> + <col width="55%;"> + <col width="10%;"> + </colgroup> + <thead> + <tr> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="15%;"> + <col width="10%;"> + <col width="10%;"> + <col width="55%;"> + <col width="10%;"> + </colgroup> + <tbody> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.result">API 호출 성공 + 여부</span></td> + <td class="left"><span data-message-id="mail.service.response.attribute.result">result</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.result">success</span></td> + <td class="left"><span data-message-id="mail.service.response.note.result"></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type02"> + <p><span>Sample</span></p> + </div> + <div class="tbl-list01 kc-tbl"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="50%;"> + <col width="50%;"> + </colgroup> + <thead> + <tr> + <th>Request</th> + <th>Response</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="50%;"> + <col width="50%;"> + </colgroup> + <tbody> + <tr> + <td class="left"><span data-message-id="mail.service.sample.cancel.request"><span + class="ellipsis">/mail/api/v2.0/mails/20190623111845epcms1v2dd0e6bfd951d8f03bd75cd90afacdf8a/cancel?userId=knoxportal</span><br><span + class="ellipsis">Content-Type : application/json;</span><br><span + class="ellipsis">body :</span><br><span class="ellipsis">{</span><br><span + class="ellipsis"> "recipients" : + ["sample.id@samsung.com","knoxportal@samsung.com"]</span><br><span + class="ellipsis">}</span><br><span class="ellipsis"></span></span></td> + <td class="left"><span data-message-id="mail.service.sample.cancel.response"><span + class="ellipsis">{</span><br><span class="ellipsis"> "result": + "success"</span><br><span class="ellipsis">}</span><br><span + class="ellipsis"></span></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type01"><span>Error Code</span></div> + <div class="tbl-list01 kc-tbl"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <thead> + <tr> + <th><span data-message-id="common.type.message1">HTTP응답코드</span></th> + <th><span data-message-id="common.type.message2">에러코드</span></th> + <th><span data-message-id="common.type.message3">에러메시지</span></th> + <th><span data-message-id="common.type.message4">조치방안</span></th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <tbody> + <tr> + <td><span>400</span></td> + <td><span>ML1001</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1001">필수값 중 입력되지 않은 값이 있습니다.</span> + </td> + <td><span data-message-id="mail.service.errorcode.measures.ML1001">모든 필수값이 입력되었는지 확인이 필요합니다. 또, + 에러 메시지에 null인 parameter 명이 리턴된다면, 해당 값을 우선적으로 확인해야 합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1002</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1002">사용자 정보가 존재하지 않습니다.</span></td> + <td><span data-message-id="mail.service.errorcode.measures.ML1002">호출 시 입력하는 URI 상의 Knox Id, 혹은 + 메일 발신자 knox 이메일 addresss가 정상적인지 확인이 필요합니다.</span></td> + </tr> + <tr> + <td><span>404</span></td> + <td><span>ML1003</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1003">요청하신 데이터가 존재하지 않습니다.</span> + </td> + <td><span data-message-id="mail.service.errorcode.measures.ML1003">호출 시 입력한 MailId에 해당되는 메일 데이터가 + 존재하지 않습니다. 발신취소 및 상태조회 하고자 하는 발신자/수신자 정보 확인이 필요합니다.</span></td> + </tr> + </tbody> + </table> + </div> + </div><br> + <div class="dan-border"></div> + <div class="module-font type01" id="mailapi04"><span data-message-id="mail.service.deliverystatus.count.subject">메일 + 별 수신상태 조회</span></div> + <div class="module-font type02"> + <p><span + data-message-id="mail.service.deliverystatus.count.uri">/mail/api/v2.0/mails/deliverystatus/count?userId=Knox아이디</span> + </p> + </div> + <div class="module-font"> + <p><span data-message-id="mail.service.deliverystatus.count.detail1">전달받은 메일 ID 리스트에 대해서, 각각의 전체적인 수신상태를 조회할 수 + 있습니다.</span></p> + </div> + <div class="module-font type02"> + <p><span>Request Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="5%;"> + <col width="15%;"> + <col width="10%;"> + <col width="8%;"> + <col width="12%;"> + <col width="10%;"> + <col width="26%;"> + <col width="4%;"> + </colgroup> + <thead> + <tr> + <th>No.</th> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Mandatory</th> + <th>Parameter Type</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="5%;"> + <col width="15%;"> + <col width="10%;"> + <col width="8%;"> + <col width="12%;"> + <col width="10%;"> + <col width="26%;"> + <col width="4%;"> + </colgroup> + <tbody> + <tr> + <td>1</td> + <td class="left"><span data-message-id="mail.service.request.properties.systemid">연계 시스템 + 아이디</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.systemid">System-ID</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.header">Header</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.systemid">C60LD0001</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.systemid"></span></td> + </tr> + <tr> + <td>2</td> + <td class="left"><span data-message-id="mail.service.request.properties.userid">유저 아이디</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.userid">userId</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.query">Query</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.userid">knoxportal</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.userid"></span></td> + </tr> + <tr> + <td>3</td> + <td class="left"><span data-message-id="mail.service.request.properties.mailids">메일 아이디 + 리스트</span></td> + <td class="left"><span data-message-id="mail.service.request.attribute.mailids">mailIds</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.body">Body</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.request.sample.mailids">20190623111845epcms1v2dd0e6bfd951d8f03bd75cd90afacdf8a</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.mailids"></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type02"> + <p><span>Response Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="15%;"> + <col width="25%;"> + <col width="20%;"> + <col width="35%;"> + <col width="5%;"> + </colgroup> + <thead> + <tr> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="15%;"> + <col width="25%;"> + <col width="20%;"> + <col width="35%;"> + <col width="5%;"> + </colgroup> + <tbody> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.mailid">메일 아이디</span> + </td> + <td class="left"><span data-message-id="mail.service.response.attribute.mailid">mailId</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.response.sample.mailid">20190409043651epcms1s110a09b3ca1b6c8d754ee1c28a182d8d5</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.mailid"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.totalStatusCount">전체 + 카운트</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.totalStatusCount">totalStatusCount</span> + </td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.totalStatusCount">8</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.totalStatusCount"></span> + </td> + </tr> + <tr> + <td class="left"><span + data-message-id="mail.service.response.properties.sendingCount">배달중</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.sendingCount">sendingCount</span></td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.sendingCount">0</span></td> + <td class="left"><span data-message-id="mail.service.response.note.sendingCount"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.openCount">개봉</span> + </td> + <td class="left"><span + data-message-id="mail.service.response.attribute.openCount">openCount</span></td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.openCount">1</span></td> + <td class="left"><span data-message-id="mail.service.response.note.openCount"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.unopenCount">미개봉</span> + </td> + <td class="left"><span + data-message-id="mail.service.response.attribute.unopenCount">unopenCount</span></td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.unopenCount">7</span></td> + <td class="left"><span data-message-id="mail.service.response.note.unopenCount"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.etcCount">기타</span> + </td> + <td class="left"><span + data-message-id="mail.service.response.attribute.etcCount">etcCount</span></td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.etcCount">0</span></td> + <td class="left"><span data-message-id="mail.service.response.note.etcCount"></span></td> + </tr> + <tr> + <td class="left"><span + data-message-id="mail.service.response.properties.sendCancelCount">발신취소</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.sendCancelCount">sendCancelCount</span> + </td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.sendCancelCount">0</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.sendCancelCount"></span></td> + </tr> + <tr> + <td class="left"><span + data-message-id="mail.service.response.properties.sendCancelReqCount">발신취소 요청중</span> + </td> + <td class="left"><span + data-message-id="mail.service.response.attribute.sendCancelReqCount">sendCancelReqCount</span> + </td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span + data-message-id="mail.service.response.sample.sendCancelReqCount">0</span></td> + <td class="left"><span data-message-id="mail.service.response.note.sendCancelReqCount"></span> + </td> + </tr> + <tr> + <td class="left"><span + data-message-id="mail.service.response.properties.sendBlockCount">발신차단</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.sendBlockCount">sendBlockCount</span> + </td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.sendBlockCount">0</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.sendBlockCount"></span></td> + </tr> + <tr> + <td class="left"><span + data-message-id="mail.service.response.properties.sendFailCount">발신실패</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.sendFailCount">sendFailCount</span> + </td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.sendFailCount">0</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.sendFailCount"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.drmProcessCount">대외비 + 변환중</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.drmProcessCount">drmProcessCount</span> + </td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.drmProcessCount">0</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.drmProcessCount"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.drmFailCount">대외비 변환 + 실패</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.drmFailCount">drmFailCount</span></td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.drmFailCount">0</span></td> + <td class="left"><span data-message-id="mail.service.response.note.drmFailCount"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.reserveCount">예약</span> + </td> + <td class="left"><span + data-message-id="mail.service.response.attribute.reserveCount">reserveCount</span></td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.reserveCount">0</span></td> + <td class="left"><span data-message-id="mail.service.response.note.reserveCount"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.reserveCancelCount">예약 + 취소</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.reserveCancelCount">reserveCancelCount</span> + </td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span + data-message-id="mail.service.response.sample.reserveCancelCount">0</span></td> + <td class="left"><span data-message-id="mail.service.response.note.reserveCancelCount"></span> + </td> + </tr> + <tr> + <td class="left"><span + data-message-id="mail.service.response.properties.unknownCount">알수없음</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.unknownCount">unknownCount</span></td> + <td><span data-message-id="mail.service.request.datatype.int">int</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.unknownCount">0</span></td> + <td class="left"><span data-message-id="mail.service.response.note.unknownCount"></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type01"><span>Error Code</span></div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <thead> + <tr> + <th><span data-message-id="common.type.message1">HTTP응답코드</span></th> + <th><span data-message-id="common.type.message2">에러코드</span></th> + <th><span data-message-id="common.type.message3">에러메시지</span></th> + <th><span data-message-id="common.type.message4">조치방안</span></th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <tbody> + <tr> + <td><span>400</span></td> + <td><span>ML1001</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1001">필수값 중 입력되지 않은 값이 있습니다.</span> + </td> + <td><span data-message-id="mail.service.errorcode.measures.ML1001">모든 필수값이 입력되었는지 확인이 필요합니다. 또, + 에러 메시지에 null인 parameter 명이 리턴된다면, 해당 값을 우선적으로 확인해야 합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1002</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1002">사용자 정보가 존재하지 않습니다.</span></td> + <td><span data-message-id="mail.service.errorcode.measures.ML1002">호출 시 입력하는 URI 상의 Knox Id, 혹은 + 메일 발신자 knox 이메일 addresss가 정상적인지 확인이 필요합니다.</span></td> + </tr> + <tr> + <td><span>404</span></td> + <td><span>ML1003</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1003">요청하신 데이터가 존재하지 않습니다.</span> + </td> + <td><span data-message-id="mail.service.errorcode.measures.ML1003">호출 시 입력한 MailId에 해당되는 메일 데이터가 + 존재하지 않습니다. 발신취소 및 상태조회 하고자 하는 발신자/수신자 정보 확인이 필요합니다.</span></td> + </tr> + </tbody> + </table> + </div> + </div><br> + <div class="dan-border"></div> + <div class="module-font type01" id="mailapi05"><span data-message-id="mail.service.deliverystatus.subject">수신인 별 + 수신상태 조회</span></div> + <div class="module-font type02"> + <p><span + data-message-id="mail.service.deliverystatus.uri">/mail/api/v2.0/mails/{mailId}/deliverystatus?userId=Knox아이디</span> + </p> + </div> + <div class="module-font"> + <p><span data-message-id="mail.service.deliverystatus.detail1">전달받은 메일 ID에 대해서, 해당 메일의 수신인 별 수신 상태를 조회할 수 + 있습니다.</span></p> + </div> + <div class="module-font type02"> + <p><span>Request Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="2%;"> + <col width="10%;"> + <col width="8%;"> + <col width="4%;"> + <col width="8%;"> + <col width="8%;"> + <col width="25%;"> + <col width="25%;"> + </colgroup> + <thead> + <tr> + <th>No.</th> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Mandatory</th> + <th>Parameter Type</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="2%;"> + <col width="10%;"> + <col width="8%;"> + <col width="4%;"> + <col width="8%;"> + <col width="8%;"> + <col width="25%;"> + <col width="25%;"> + </colgroup> + <tbody> + <tr> + <td>1</td> + <td class="left"><span data-message-id="mail.service.request.properties.systemid">연계 시스템 + 아이디</span></td> + <td class="left"><span + data-message-id="mail.service.request.attribute.systemid">System-ID</span></td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.header">Header</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.systemid">C60LD0001</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.systemid"></span></td> + </tr> + <tr> + <td>2</td> + <td class="left"><span data-message-id="mail.service.request.properties.mailid">메일 아이디</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.mailid">{mailId}</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.path">Path</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.request.sample.mailid">20190623111845epcms1v2dd0e6bfd951d8f03bd75cd90afacdf8a</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.mailid"><span + class="ellipsis">발신된 모든 메일은 메일아이디라는 고유값을 가지며, 메일 발신이 성공하면 메일아이디를 전달받습니다. + </span><br><span class="ellipsis">전달받은 메일아이디를 활용하여 발신취소 또는 수신상황 조회를 할 수 + 있습니다.</span></span></td> + </tr> + <tr> + <td>3</td> + <td class="left"><span data-message-id="mail.service.request.properties.userid">유저 아이디</span> + </td> + <td class="left"><span data-message-id="mail.service.request.attribute.userid">userId</span> + </td> + <td><span data-message-id="mail.service.request.mandatory.y">Y</span></td> + <td><span data-message-id="mail.service.request.type.query">Query</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.request.sample.userid">knoxportal</span> + </td> + <td class="left"><span data-message-id="mail.service.request.note.userid"></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type02"> + <p><span>Response Parameter</span></p> + </div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="25%;"> + <col width="15%;"> + <col width="20%;"> + <col width="35%;"> + <col width="5%;"> + </colgroup> + <thead> + <tr> + <th class="left">Properties</th> + <th class="left">Attribute</th> + <th>Data Type</th> + <th class="left">Sample Data</th> + <th class="left">Note</th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="25%;"> + <col width="15%;"> + <col width="20%;"> + <col width="35%;"> + <col width="5%;"> + </colgroup> + <tbody> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.name">이름</span></td> + <td class="left"><span data-message-id="mail.service.response.attribute.name">name</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.name">KnoxPortal</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.name"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.position">직급</span> + </td> + <td class="left"><span + data-message-id="mail.service.response.attribute.position">position</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.position">Senior + Engineer</span></td> + <td class="left"><span data-message-id="mail.service.response.note.position"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.enName">영문 성명</span> + </td> + <td class="left"><span data-message-id="mail.service.response.attribute.enName">enName</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.enName">KnoxPortal + ServiceDesk</span></td> + <td class="left"><span data-message-id="mail.service.response.note.enName"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.enPosition">영문 + 직급</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.enPosition">enPosition</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.enPosition">Senior + Engineer</span></td> + <td class="left"><span data-message-id="mail.service.response.note.enPosition"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.company">회사명</span> + </td> + <td class="left"><span data-message-id="mail.service.response.attribute.company">company</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.company">삼성SDS</span></td> + <td class="left"><span data-message-id="mail.service.response.note.company"></span></td> + </tr> + </tbody> + <tbody> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.department">부서명</span> + </td> + <td class="left"><span + data-message-id="mail.service.response.attribute.department">department</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.department">사업그룹(Knox + Portal)</span></td> + <td class="left"><span data-message-id="mail.service.response.note.department"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.enDepartment">영문 + 부서명</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.enDepartment">enDepartment</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.enDepartment">Business + Group</span></td> + <td class="left"><span data-message-id="mail.service.response.note.enDepartment"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.email">이메일 주소</span> + </td> + <td class="left"><span data-message-id="mail.service.response.attribute.email">email</span></td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span + data-message-id="mail.service.response.sample.email">knoxportal@samsung.com</span></td> + <td class="left"><span data-message-id="mail.service.response.note.email"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.userID">유저 ID</span> + </td> + <td class="left"><span data-message-id="mail.service.response.attribute.userID">userID</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.userID">knoxportal</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.userID"></span></td> + </tr> + <tr> + <td class="left"><span + data-message-id="mail.service.response.properties.recipientType">수신타입</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.recipientType">recipientType</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.recipientType">TO</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.recipientType"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.updateTime">수신상태가 업데이트된 + 시간</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.updateTime">updateTime</span></td> + <td><span data-message-id="mail.service.request.datatype.calendar">Calendar</span></td> + <td class="left"><span + data-message-id="mail.service.response.sample.updateTime">{"month":6,"year":2019,"dayOfMonth":7,"hourOfDay":5,"minute":48,"second":16}</span> + </td> + <td class="left"><span data-message-id="mail.service.response.note.updateTime"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.status">개봉상태</span> + </td> + <td class="left"><span data-message-id="mail.service.response.attribute.status">status</span> + </td> + <td><span data-message-id="mail.service.request.datatype.string">String</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.status">UNOPEN</span></td> + <td class="left"><span data-message-id="mail.service.response.note.status"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.needOpenNotify">수신자가 메일 + 개봉시 발신자에게 알림 여부</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.needOpenNotify">needOpenNotify</span> + </td> + <td><span data-message-id="mail.service.request.datatype.boolean">boolean</span></td> + <td class="left"><span + data-message-id="mail.service.response.sample.needOpenNotify">false</span></td> + <td class="left"><span data-message-id="mail.service.response.note.needOpenNotify"></span></td> + </tr> + <tr> + <td class="left"><span data-message-id="mail.service.response.properties.isDLAddr">DL 메일주소 + 여부값</span></td> + <td class="left"><span + data-message-id="mail.service.response.attribute.isDLAddr">isDLAddr</span></td> + <td><span data-message-id="mail.service.request.datatype.boolean">boolean</span></td> + <td class="left"><span data-message-id="mail.service.response.sample.isDLAddr">false</span></td> + <td class="left"><span data-message-id="mail.service.response.note.isDLAddr"></span></td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="module-font type01"><span>Error Code</span></div> + <div class="tbl-list01 kc-tbl text-full"> + <div class="tbl-list-head"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <thead> + <tr> + <th><span data-message-id="common.type.message1">HTTP응답코드</span></th> + <th><span data-message-id="common.type.message2">에러코드</span></th> + <th><span data-message-id="common.type.message3">에러메시지</span></th> + <th><span data-message-id="common.type.message4">조치방안</span></th> + </tr> + </thead> + </table> + </div> + <div class="tbl-list-body"> + <table> + <colgroup> + <col width="10%;"> + <col width="10%;"> + <col width="40%;"> + <col width="40%;"> + </colgroup> + <tbody> + <tr> + <td><span>400</span></td> + <td><span>ML1001</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1001">필수값 중 입력되지 않은 값이 있습니다.</span> + </td> + <td><span data-message-id="mail.service.errorcode.measures.ML1001">모든 필수값이 입력되었는지 확인이 필요합니다. 또, + 에러 메시지에 null인 parameter 명이 리턴된다면, 해당 값을 우선적으로 확인해야 합니다.</span></td> + </tr> + <tr> + <td><span>400</span></td> + <td><span>ML1002</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1002">사용자 정보가 존재하지 않습니다.</span></td> + <td><span data-message-id="mail.service.errorcode.measures.ML1002">호출 시 입력하는 URI 상의 Knox Id, 혹은 + 메일 발신자 knox 이메일 addresss가 정상적인지 확인이 필요합니다.</span></td> + </tr> + <tr> + <td><span>404</span></td> + <td><span>ML1003</span></td> + <td><span data-message-id="mail.service.errorcode.message.ML1003">요청하신 데이터가 존재하지 않습니다.</span> + </td> + <td><span data-message-id="mail.service.errorcode.measures.ML1003">호출 시 입력한 MailId에 해당되는 메일 데이터가 + 존재하지 않습니다. 발신취소 및 상태조회 하고자 하는 발신자/수신자 정보 확인이 필요합니다.</span></td> + </tr> + </tbody> + </table> + </div> + </div> +</div>
\ No newline at end of file |
