summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-07-18 03:58:34 +0000
committerjoonhoekim <26rote@gmail.com>2025-07-18 03:58:34 +0000
commit3e59693e017742d971f490eb7c58870cb745a98d (patch)
treef7f846613e40e4f058de70afca5809b8e6bd0e2d /lib
parent2ef02e27dbe639876fa3b90c30307dda183545ec (diff)
(김준회) 결재 모듈 개발
Diffstat (limited to 'lib')
-rw-r--r--lib/knox-api/approval/approval-guide.html4999
-rw-r--r--lib/knox-api/approval/approval.ts603
-rw-r--r--lib/knox-api/employee/employee-guide.html2154
-rw-r--r--lib/knox-api/employee/employee.ts435
-rw-r--r--lib/knox-api/index.ts6
-rw-r--r--lib/knox-api/mail/knox-mail.ts312
-rw-r--r--lib/knox-api/mail/mail-guide.html2114
-rw-r--r--lib/knox-api/messenger/messenger-guide.html9422
-rw-r--r--lib/knox-api/messenger/messenger.ts925
-rw-r--r--lib/knox-api/realtime-notification/realtime-notification-guide.html764
-rw-r--r--lib/knox-api/realtime-notification/realtime-notification.ts333
11 files changed, 22067 insertions, 0 deletions
diff --git a/lib/knox-api/approval/approval-guide.html b/lib/knox-api/approval/approval-guide.html
new file mode 100644
index 00000000..b1b085fb
--- /dev/null
+++ b/lib/knox-api/approval/approval-guide.html
@@ -0,0 +1,4999 @@
+<div class="body-content">
+ <div class="sub-header margin">
+ <h2 data-message-id="approvals.header.subject">결재</h2>
+ </div>
+ <div class="module-subsum">
+ <p><span data-message-id="approvals.header.description1">내부 임직원에 한해 결재 상신이 가능합니다.</span><br><span
+ data-message-id="approvals.header.description2">결재 상신 뿐만 아니라 결재상황조회 및 상신취소 등이 가능합니다.</span></p>
+ </div>
+ <div class="module-font type03"><span data-message-id="approvals.policy.subject">[정책 및 제약사항]</span></div>
+ <div class="module-font type04">
+ <dl>
+ <dt><span data-message-id="approvals.policy.description1">1. 상신인 정보는 녹스포탈 임직원만 지정 가능하며, 상신자의 거점으로 연계 호출해야
+ 합니다.</span></dt>
+ <dt><span data-message-id="approvals.policy.description2">2. 본문 사이즈는 최대 1MB 를 넘을 수 없습니다.</span></dt>
+ <dt><span data-message-id="approvals.policy.description3">3. 한번에 10개의 첨부파일을 포함하여 발송할 수 있으며, 전체 첨부 사이즈는 10MB
+ 를 넘을 수 없습니다.</span></dt>
+ <dt><span data-message-id="approvals.policy.description4">4. 결재경로자 설정은 최대 99명까지 지정이 가능합니다.</span></dt>
+ </dl>
+ </div>
+ <div class="module-font type03"><span data-message-id="subject.api.list">[API 목록]</span> &nbsp;&nbsp; <a
+ target="blank" class="swagger-link" id="swaggerLinkStg"
+ href="http://developers.samsung.net/knoxcenter/wso2/swagger-ui/fe7de99a-6e19-456c-a0fb-de0efa86e043"><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 text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="170px">
+ <col width="350px">
+ <col width="100px">
+ <col style="width:; text-align:left">
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="left">API</th>
+ <th class="left">URI</th>
+ <th>Method</th>
+ <th class="left">Description</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="170px; text-align:left">
+ <col width="350px; text-align:left">
+ <col width="100px">
+ <col style="width:; text-align:left">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><a href="#box1"><span
+ data-message-id="approvals.service.submit.subject">결재상신</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.submit.uri">/approval/api/v2.0/approvals/submit</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.post">POST</span></td>
+ <td class="left"><span data-message-id="approvals.service.submit.description">결재를 상신한다</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box2"><span
+ data-message-id="approvals.service.secusubmit.subject">보안결재상신</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.secusubmit.uri">/approval/api/v2.0/approvals/secu-submit</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.post">POST</span></td>
+ <td class="left"><span data-message-id="approvals.service.secusubmit.description">보안(대외비/극비) 결재를
+ 상신한다</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box3"><span
+ data-message-id="approvals.service.detail.subject">결재상세상황조회</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.detail.uri">/approval/api/v2.0/approvals/{apInfId}/detail</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.get">GET</span></td>
+ <td class="left"><span data-message-id="approvals.service.detail.description">결재문서의 정보를 상세
+ 조회한다</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box4"><span
+ data-message-id="approvals.service.content.subject">결재본문조회</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.content.uri">/approval/api/v2.0/approvals/{apInfId}/content</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.get">GET</span></td>
+ <td class="left"><span data-message-id="approvals.service.content.description">결재문서의 본문을
+ 조회한다</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box5"><span
+ data-message-id="approvals.service.status.subject">결재상황조회</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.status.uri">/approval/api/v2.0/approvals/status</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.post">POST</span></td>
+ <td class="left"><span data-message-id="approvals.service.status.description">결재문서의 진행 상태를
+ 조회한다</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box6"><span
+ data-message-id="approvals.service.apinfids.subject">결재연계ID조회</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.apinfids.uri">/approval/api/v2.0/approvals/apinfids</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.get">GET</span></td>
+ <td class="left"><span data-message-id="approvals.service.apinfids.description">결재ID로 결재연계ID를
+ 조회한다</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box7"><span
+ data-message-id="approvals.service.submission.subject">상신함리스트조회</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.submission.uri">/approval/api/v2.0/approvals/submission</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.get">GET</span></td>
+ <td class="left"><span data-message-id="approvals.service.submission.description">요청 연계시스템ID로 연계
+ 상신처리된 상신자의 상신함의 정보를 조회한다</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box8"><span
+ data-message-id="approvals.service.apinfidinfos.subject">연계이력조회</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.apinfidinfos.uri">/approval/api/v2.0/approvals/apinfidinfos</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.get">GET</span></td>
+ <td class="left"><span data-message-id="approvals.service.apinfidinfos.description">요청 연계시스템ID에서
+ 상신된 결재문서의 연계 이력을 조회한다</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box9"><span
+ data-message-id="approvals.service.cancel.subject">상신취소</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.cancel.uri">/approval/api/v2.0/approvals/{apInfId}/cancel</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.post">POST</span></td>
+ <td class="left"><span data-message-id="approvals.service.cancel.description">결재문서를
+ 상신취소한다</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box11"><span
+ data-message-id="approvals.service.ownaplnlist.subject">저장된결재경로목록조회</span></a></td>
+ <td class="left"><span
+ data-message-id="approvals.service.ownaplnlist.uri">/approval/api/v2.0/approvals/ownaplnlist</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.get">GET</span></td>
+ <td class="left"><span data-message-id="approvals.service.ownaplnlist.description">개인별 저장된 결재경로
+ 목록을 조회한다</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#box12"><span
+ data-message-id="approvals.service.ownaplndetail.subject">저장된결재경로상세조회</span></a>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.ownaplndetail.uri">/approval/api/v2.0/approvals/{pslAplnId}/ownaplndetail</span>
+ </td>
+ <td><span data-message-id="approvals.service.method.get">GET</span></td>
+ <td class="left"><span data-message-id="approvals.service.ownaplndetail.description">개인별 저장된
+ 결재경로 ID로 정보를 상세 조회한다</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box1"><span data-message-id="approvals.service.submit.subject">결재상신</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.submit.uri">/approval/api/v2.0/approvals/submit</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.submit.detail">삼성 그룹사 임직원 뿐만 아니라 외부수신인을 포함하여 결재 상신이 가능하며, 상신된 결재는 각
+ 사용자의 결재함에 저장됩니다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.attribute">System-ID</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.header">Header</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.content.properties">결재본문</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.content.attribute">contents</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.content.sample">TEST</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.content.note"></span></td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.properties">본문종류</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.attribute">contentsType</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.sample">TEXT</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.note">TEXT,HTML,MIME</span></td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.properties">보안문서타입</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.attribute">docSecuType</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.sample">PERSONAL</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.note">CONFIDENTIAL,
+ CONFIDENTIAL_STRICT 지정 시 에러</span></td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.notifyOption.properties">통보옵션</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.notifyOption.attribute">notifyOption</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.notifyOption.sample">0</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.notifyOption.note"><span
+ class="ellipsis">0: 통보자통보 결재경로포함 , 1: 모두통보 결재경로포함 </span><br><span
+ class="ellipsis">2: 통보자통보 결재경로포함안함 , 3: 모두통보 결재경로포함안함</span></span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.properties">긴급여부</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.attribute">urgYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.sample">N</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.note"></span></td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.properties">상신일시</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.attribute">sbmDt</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmDt.sample">20190524145033</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.note"></span></td>
+ </tr>
+ <tr>
+ <td>8</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.timeZone.properties">타임존</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.timeZone.attribute">timeZone</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.timeZone.sample">GMT</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.timeZone.note"></span></td>
+ </tr>
+ <tr>
+ <td>9</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docMngSaveCode.properties">문서관리저장코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docMngSaveCode.attribute">docMngSaveCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docMngSaveCode.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.docMngSaveCode.note"><span
+ class="ellipsis">0 : 문서관리저장안함 </span><br><span class="ellipsis"> 1 :
+ 문서관리저장함</span></span></td>
+ </tr>
+ <tr>
+ <td>10</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.subject.properties">결재제목</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.subject.attribute">subject</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.subject.sample">근태신청</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.subject.note"></span></td>
+ </tr>
+ <tr>
+ <td>11</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmLang.properties">상신언어</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmLang.attribute">sbmLang</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmLang.sample">ko</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmLang.note">ko : korean ja :
+ japanese zh : chinese en : english</span></td>
+ </tr>
+ <tr>
+ <td>12</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.properties">연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.sample">TEST0000000000002120190523185902</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apInfId.note">32자리의 고유
+ 결재값</span></td>
+ </tr>
+ <tr>
+ <td>13</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.importantYn.properties">중요여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.importantYn.attribute">importantYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.importantYn.sample">Y</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.importantYn.note"></span></td>
+ </tr>
+ <tr>
+ <td>14</td>
+ <td class="left"><span data-message-id="approvals.service.request.aplns.properties">결재경로</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.aplns.attribute">aplns</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonstring">JSON String</span>
+ </td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.request.aplns.note"><span
+ class="ellipsis">상신자, 결재자 1명 이상 필수 </span><br><span class="ellipsis">※결재자/합의자 없이
+ 통보자만 지정된 결재경로 불가</span></span></td>
+ </tr>
+ <tr>
+ <td>15</td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.properties">EPID</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.attribute">epId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.EPID.sample">M071015062623C9884</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>16</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.properties">사용자ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.attribute">userId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.userId.sample">qtp03</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.userId.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>17</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.properties">사용자이메일</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.attribute">emailAddress</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.sample">qtp03@stage.sasmung.com</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.emailAddress.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>18</td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.properties">결재순번</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.attribute">seq</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.note">상신자의 경우 반드시 0,
+ 병렬결재(합의)자의 경우 seq 일치</span></td>
+ </tr>
+ <tr>
+ <td>19</td>
+ <td class="left"><span data-message-id="approvals.service.request.role.properties">설정구분</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.role.attribute">role</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.role.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.role.note"><span
+ class="ellipsis">기안(0), 결재(1), 합의(2), 후결(3), 병렬합의(4), 병렬결재(7), 통보(9)
+ </span><br><span class="ellipsis"> (후결자는 최대 1명, 병렬결재 &amp; 병렬합의자는 최소 2명
+ 이상)</span></span></td>
+ </tr>
+ <tr>
+ <td>20</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnStatsCode.properties">처리구분</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnStatsCode.attribute">aplnStatsCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnStatsCode.sample">0</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnStatsCode.note">미결(0),
+ 결재(1), 반려(2), 전결(3), 자동결재(5)</span></td>
+ </tr>
+ <tr>
+ <td>21</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.arbPmtYn.properties">전결권한여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.arbPmtYn.attribute">arbPmtYn</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.arbPmtYn.sample">Y</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.arbPmtYn.note"></span></td>
+ </tr>
+ <tr>
+ <td>22</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.properties">본문수정권한여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.attribute">contentsMdfyPmtYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.sample">Y</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.note"></span></td>
+ </tr>
+ <tr>
+ <td>23</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnMdfyPmtYn.properties">경로변경권한여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnMdfyPmtYn.attribute">aplnMdfyPmtYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnMdfyPmtYn.sample">Y</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnMdfyPmtYn.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>24</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.opinion.properties">상신의견</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.opinion.attribute">opinion</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.opinion.sample">근태결재입니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.opinion.note"></span></td>
+ </tr>
+ <tr>
+ <td>25</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.attachments.properties">첨부파일</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.attachments.attribute">attachments</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span
+ data-message-id="approvals.service.request.datatype.multipart">multipart/form-data</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.attachments.sample">multipart/form-data로 변환된
+ 바이너리 파일 및 파일명</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.attachments.note"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </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="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.result.properties">API 호출
+ 성공여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.result.attribute">result</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.result.sample">success</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.result.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submit.data.properties">결재연계ID정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submit.data.attribute">data</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonstring">JSON String</span>
+ </td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.response.submit.data.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.properties">결재연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.sample">TEST1A000A11ACa02CVQ1A0CA4CA33C1</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.apInfId.note">리턴받은 결재 아이디를
+ 이용하여, 상황조회 및 상신취소가 가능합니다.</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre>/approval/approvals/api/v2.0/submit
+Content-Disposition: form-data; name="approval"
+ {
+ "aplns": [
+ {
+ "epId": "M071015062623C988403","seq": "0","role": "0","aplnStatsCode": "0",
+ "arbPmtYn": "Y","contentsMdfyPmtYn": "Y", "aplnMdfyPmtYn": "Y"
+ },
+ {
+ "epId": "M080325053708C989824","seq": "1","role": "1","aplnStatsCode": "0",
+ "arbPmtYn": "Y","contentsMdfyPmtYn": "Y", "aplnMdfyPmtYn": "Y"
+ }
+ ],
+ "contents": "TEST",
+ "contentsType": "TEXT",
+ "docSecuType": "PERSONAL",
+ "notifyOption": "0",
+ "urgYn": "N",
+ "sbmDt": "20190526121212",
+ "subject": "Test application",
+ "sbmLang": "ko",
+ "apInfId": "TEST0000000000002120190514143359",
+ "docMngSaveCode": "0",
+ "timeZone": "GMT+9"
+}
+Content-Disposition: form-data; name="attachments"; filename="attach1.jpg"
+Content-Disposition: form-data; name="attachments"; filename="attach2.txt"
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": {
+ "apInfId": "TEST0000000000002120190514143359"
+ }
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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 data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE001.code">APE001</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.message">데이터가
+ 필요합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE002.code">APE002</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE002.message">입력된 데이터 형식이
+ 잘못되었습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE002.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE003.code">APE003</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE003.message">입력값이
+ 잘못되었습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE003.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE004.code">APE004</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE004.message">본문은 1MB를 초과할
+ 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE004.measures"></span>
+ </td>
+ </tr>
+ <tr></tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE006.code">APE006</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE006.message">제목에는 엔터값이
+ 들어갈 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE006.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE007.code">APE007</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE007.message">제목은 300자를
+ 초과할 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE007.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.403">403</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE008.code">APE008</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE008.message">중복된 데이터가
+ 있습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE008.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE009.code">APE009</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE009.message">후결자는 1명만 지정
+ 가능합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE009.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE010.code">APE010</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE010.message">결재경로는 최소 2명
+ 이상입니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE010.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE011.code">APE011</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE011.message">결재경로는 최대 99명
+ 이하입니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE011.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE012.code">APE012</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE012.message">상신자를 제외한
+ 사용자들은 의견값을 설정할 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE012.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE013.code">APE013</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE013.message">미결 상태로 설정된
+ 사용자들은 처리일시값을 설정할 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE013.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE014.code">APE014</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE014.message">상신의견값의 길이가
+ 너무 깁니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE014.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE016.code">APE016</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE016.message">결재자 혹은 합의자가
+ 결재경로상에 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE016.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE017.code">APE017</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE017.message">결재경로 내 휴직 또는
+ 퇴직자가 포함되어 있습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE017.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE018.code">APE018</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE018.message">외부 사용자는
+ 통보자로만 지정이 가능합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE018.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE019.code">APE019</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE019.message">결재경로에 포함될 수
+ 없는 사용자가 입력되었습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE019.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box2"><span data-message-id="approvals.service.secusubmit.subject">보안결재상신</span>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.secusubmit.uri">/approval/api/v2.0/approvals/secu-submit</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.secusubmit.detail">보안 결재 옵션을 설정하여 대외비, 극비로 보안 결재를 상신할 수 있습니다.</span>
+ </p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.attribute">System-ID</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.header">Header</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.content.properties">결재본문</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.content.attribute">contents</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.content.sample">TEST</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.content.note"></span></td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.properties">본문종류</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.attribute">contentsType</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.sample">TEXT</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.note">TEXT,HTML,MIME</span></td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.properties">보안문서타입</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.attribute">docSecuType</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.secu.docSecuType.sample">CONFIDENTIAL</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.note">CONFIDENTIAL,
+ CONFIDENTIAL_STRICT 지정 시 에러</span></td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.notifyOption.properties">통보옵션</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.notifyOption.attribute">notifyOption</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.notifyOption.sample">0</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.notifyOption.note"><span
+ class="ellipsis">0: 통보자통보 결재경로포함 , 1: 모두통보 결재경로포함 </span><br><span
+ class="ellipsis">2: 통보자통보 결재경로포함안함 , 3: 모두통보 결재경로포함안함</span></span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.properties">긴급여부</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.attribute">urgYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.sample">N</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.note"></span></td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.properties">상신일시</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.attribute">sbmDt</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmDt.sample">20190524145033</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.note"></span></td>
+ </tr>
+ <tr>
+ <td>8</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.timeZone.properties">타임존</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.timeZone.attribute">timeZone</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.timeZone.sample">GMT</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.timeZone.note"></span></td>
+ </tr>
+ <tr>
+ <td>9</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docMngSaveCode.properties">문서관리저장코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docMngSaveCode.attribute">docMngSaveCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docMngSaveCode.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.docMngSaveCode.note"><span
+ class="ellipsis">0 : 문서관리저장안함 </span><br><span class="ellipsis"> 1 :
+ 문서관리저장함</span></span></td>
+ </tr>
+ <tr>
+ <td>10</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.subject.properties">결재제목</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.subject.attribute">subject</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.subject.sample">근태신청</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.subject.note"></span></td>
+ </tr>
+ <tr>
+ <td>11</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmLang.properties">상신언어</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmLang.attribute">sbmLang</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmLang.sample">ko</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmLang.note">ko : korean ja :
+ japanese zh : chinese en : english</span></td>
+ </tr>
+ <tr>
+ <td>12</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.properties">연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.sample">TEST0000000000002120190523185902</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apInfId.note">32자리의 고유
+ 결재값</span></td>
+ </tr>
+ <tr>
+ <td>13</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.importantYn.properties">중요여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.importantYn.attribute">importantYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.importantYn.sample">Y</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.importantYn.note"></span></td>
+ </tr>
+ <tr>
+ <td>14</td>
+ <td class="left"><span data-message-id="approvals.service.request.aplns.properties">결재경로</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.aplns.attribute">aplns</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonstring">JSON String</span>
+ </td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.request.aplns.note"><span
+ class="ellipsis">상신자, 결재자 1명 이상 필수 </span><br><span class="ellipsis">※결재자/합의자 없이
+ 통보자만 지정된 결재경로 불가</span></span></td>
+ </tr>
+ <tr>
+ <td>15</td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.properties">EPID</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.attribute">epId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.EPID.sample">M071015062623C9884</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>16</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.properties">사용자ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.attribute">userId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.userId.sample">qtp03</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.userId.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>17</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.properties">사용자이메일</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.attribute">emailAddress</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.sample">qtp03@stage.sasmung.com</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.emailAddress.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>18</td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.properties">결재순번</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.attribute">seq</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.note">상신자의 경우 반드시 0,
+ 병렬결재(합의)자의 경우 seq 일치</span></td>
+ </tr>
+ <tr>
+ <td>19</td>
+ <td class="left"><span data-message-id="approvals.service.request.role.properties">설정구분</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.role.attribute">role</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.role.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.role.note"><span
+ class="ellipsis">기안(0), 결재(1), 합의(2), 후결(3), 병렬합의(4), 병렬결재(7), 통보(9)
+ </span><br><span class="ellipsis"> (후결자는 최대 1명, 병렬결재 &amp; 병렬합의자는 최소 2명
+ 이상)</span></span></td>
+ </tr>
+ <tr>
+ <td>20</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnStatsCode.properties">처리구분</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnStatsCode.attribute">aplnStatsCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnStatsCode.sample">0</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnStatsCode.note">미결(0),
+ 결재(1), 반려(2), 전결(3), 자동결재(5)</span></td>
+ </tr>
+ <tr>
+ <td>21</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.arbPmtYn.properties">전결권한여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.arbPmtYn.attribute">arbPmtYn</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.arbPmtYn.sample">Y</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.arbPmtYn.note"></span></td>
+ </tr>
+ <tr>
+ <td>22</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.properties">본문수정권한여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.attribute">contentsMdfyPmtYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.sample">Y</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.note"></span></td>
+ </tr>
+ <tr>
+ <td>23</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnMdfyPmtYn.properties">경로변경권한여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnMdfyPmtYn.attribute">aplnMdfyPmtYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnMdfyPmtYn.sample">Y</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnMdfyPmtYn.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>24</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.opinion.properties">상신의견</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.opinion.attribute">opinion</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.opinion.sample">근태결재입니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.opinion.note"></span></td>
+ </tr>
+ <tr>
+ <td>25</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.attachments.properties">첨부파일</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.attachments.attribute">attachments</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span
+ data-message-id="approvals.service.request.datatype.multipart">multipart/form-data</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.attachments.sample">multipart/form-data로 변환된
+ 바이너리 파일 및 파일명</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.attachments.note"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </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="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.result.properties">API 호출
+ 성공여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.result.attribute">result</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.result.sample">success</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.result.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submit.data.properties">결재연계ID정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submit.data.attribute">data</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonstring">JSON String</span>
+ </td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.response.submit.data.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.properties">결재연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.sample">TEST1A000A11ACa02CVQ1A0CA4CA33C1</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.apInfId.note">리턴받은 결재 아이디를
+ 이용하여, 상황조회 및 상신취소가 가능합니다.</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre>/approval/v2.0/approvals/secu-submit
+Content-Disposition: form-data; name="approval"
+ {
+ "aplns": [
+ {
+ "epId": "M071015062623C988403","seq": "0","role": "0","aplnStatsCode": "0",
+ "arbPmtYn": "Y","contentsMdfyPmtYn": "Y", "aplnMdfyPmtYn": "Y"
+ },
+ {
+ "epId": "M080325053708C989824","seq": "1","role": "1","aplnStatsCode": "0",
+ "arbPmtYn": "Y","contentsMdfyPmtYn": "Y", "aplnMdfyPmtYn": "Y"
+ }
+ ],
+ "contents": "TEST",
+ "contentsType": "TEXT",
+ "docSecuType": "CONFIDENTIAL",
+ "notifyOption": "0",
+ "urgYn": "N",
+ "sbmDt": "20190526121212",
+ "subject": "Test application",
+ "sbmLang": "ko",
+ "apInfId": "TEST0000000000002120190514143359",
+ "docMngSaveCode": "0",
+ "timeZone": "GMT+9"
+}
+Content-Disposition: form-data; name="attachments"; filename="attach1.jpg"
+Content-Disposition: form-data; name="attachments"; filename="attach2.txt"
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": {
+ "apInfId": "TEST0000000000002120190514143359"
+ }
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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 data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE001.code">APE001</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.message">데이터가
+ 필요합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE002.code">APE002</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE002.message">입력된 데이터 형식이
+ 잘못되었습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE002.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE003.code">APE003</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE003.message">입력값이
+ 잘못되었습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE003.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE004.code">APE004</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE004.message">본문은 1MB를 초과할
+ 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE004.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE006.code">APE006</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE006.message">제목에는 엔터값이
+ 들어갈 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE006.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE007.code">APE007</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE007.message">제목은 300자를
+ 초과할 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE007.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.403">403</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE008.code">APE008</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE008.message">중복된 데이터가
+ 있습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE008.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE009.code">APE009</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE009.message">후결자는 1명만 지정
+ 가능합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE009.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE010.code">APE010</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE010.message">결재경로는 최소 2명
+ 이상입니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE010.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE011.code">APE011</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE011.message">결재경로는 최대 99명
+ 이하입니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE011.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE012.code">APE012</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE012.message">상신자를 제외한
+ 사용자들은 의견값을 설정할 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE012.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE013.code">APE013</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE013.message">미결 상태로 설정된
+ 사용자들은 처리일시값을 설정할 수 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE013.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE014.code">APE014</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE014.message">상신의견값의 길이가
+ 너무 깁니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE014.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE016.code">APE016</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE016.message">결재자 혹은 합의자가
+ 결재경로상에 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE016.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE017.code">APE017</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE017.message">결재경로 내 휴직 또는
+ 퇴직자가 포함되어 있습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE017.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE018.code">APE018</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE018.message">외부 사용자는
+ 통보자로만 지정이 가능합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE018.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE019.code">APE019</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE019.message">결재경로에 포함될 수
+ 없는 사용자가 입력되었습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE019.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box3"><span data-message-id="approvals.service.detail.subject">결재상세상황조회</span>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.detail.uri">/approval/api/v2.0/approvals/{apInfId}/detail</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.detail.detail">결재 연계 ID를 이용하여 결재문서의 정보(결재현황, 결재문서 상태)를 상세 조회 할 수
+ 있습니다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.properties">연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.path">Path</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.sample">TEST0000000000002120190523185902</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apInfId.note">32자리의 고유
+ 결재값</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </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="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.result.properties">API 호출
+ 성공여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.result.attribute">result</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.result.sample">success</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.result.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.data.properties">결재상세정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.data.attribute">data</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonstring">JSON String</span>
+ </td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.response.detail.data.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.properties">본문종류</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.attribute">contentsType</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.sample">TEXT</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.note">TEXT,HTML,MIME</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.properties">상신일시</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.attribute">sbmDt</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmDt.sample">20190524145033</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmLang.properties">상신언어</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmLang.attribute">sbmLang</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmLang.sample">ko</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmLang.note">ko : korean ja :
+ japanese zh : chinese en : english</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.properties">연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.sample">TEST0000000000002120190523185902</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apInfId.note">32자리의 고유
+ 결재값</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.attribute">System-ID</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.notifyOption.properties">통보옵션</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.notifyOption.attribute">notifyOption</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.notifyOption.sample">0</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.notifyOption.note"><span
+ class="ellipsis">0: 통보자통보 결재경로포함 , 1: 모두통보 결재경로포함 </span><br><span
+ class="ellipsis">2: 통보자통보 결재경로포함안함 , 3: 모두통보 결재경로포함안함</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.properties">긴급여부</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.attribute">urgYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.sample">N</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.urgYn.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.properties">보안문서타입</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.attribute">docSecuType</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.sample">PERSONAL</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.docSecuType.note">CONFIDENTIAL,
+ CONFIDENTIAL_STRICT 지정 시 에러</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.properties">결재상태정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.attribute">status</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.sample">1</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.note">암호화실패(-3),암호화중(-2),
+ 예약상신(-1),보류(0),진행중(1),완결(2),반려(3),상신취소(4),전결(5),후완결(6)</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.timeZone.properties">타임존</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.timeZone.attribute">timeZone</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.timeZone.sample">GMT</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.timeZone.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.subject.properties">결재제목</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.subject.attribute">subject</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.subject.sample">근태신청</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.subject.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.aplns.properties">결재경로</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.aplns.attribute">aplns</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonlist">JSONList</span></td>
+ <td class="left"></td>
+ <td class="left"><span data-message-id="approvals.service.request.detail.aplns.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.actPrssDt.properties">처리일시</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.actPrssDt.attribute">actPrssDt</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.actPrssDt.sample">20190521015954</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.actPrssDt.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.docOpenDt.properties">개봉일시</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.docOpenDt.attribute">docOpenDt</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.docOpenDt.sample">20190521015954</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.docOpenDt.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.docArvDt.properties">도착일시</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.docArvDt.attribute">docArvDt</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.docArvDt.sample">20190521015954</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.docArvDt.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.opinion.properties">상신의견</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.opinion.attribute">opinion</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.opinion.sample">근태결재입니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.opinion.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyCode.properties">결재관계자회사코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyCode.attribute">companyCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyCode.sample">C98</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyCode.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyName.properties">결재관계자회사명</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyName.attribute">companyName</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyName.sample">SAMSUNG</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyName.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgCode.properties">결재관계자총괄코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgCode.attribute">subOrgCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgCode.sample">C98S01</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgCode.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgName.properties">결재관계자총괄명</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgName.attribute">subOrgName</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgName.sample">개발총괄</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgName.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentCode.properties">결재관계자부서코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentCode.attribute">departmentCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentCode.sample">C98S0201</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentCode.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentName.properties">결재관계자부서명</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentName.attribute">departmentName</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentName.sample">개발1팀</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentName.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.epId.properties">결재관계자
+ epid</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.epId.attribute">epId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.epId.sample">M071015062623C988403</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.epId.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.emailAddress.properties">결재관계자
+ 메일주소</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.emailAddress.attribute">emailAddress</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.emailAddress.sample">qtp03@stage.samsung.com</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.emailAddress.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.name.properties">결재관계자
+ 이름</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.name.attribute">name</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.name.sample">qtp03</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.name.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleCode.properties">결재관계자
+ 직급코드</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleCode.attribute">titleCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleCode.sample">B3P1</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.titleCode.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleName.properties">결재관계자 직급명</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleName.attribute">titleName</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleName.sample">Engineer</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.titleName.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.seq.properties">결재순번</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.attribute">seq</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.seq.note">상신자의 경우 반드시 0,
+ 병렬결재(합의)자의 경우 seq 일치</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.role.properties">설정구분</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.role.attribute">role</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.role.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.role.note"><span
+ class="ellipsis">기안(0), 결재(1), 합의(2), 후결(3), 병렬합의(4), 병렬결재(7), 통보(9)
+ </span><br><span class="ellipsis"> (후결자는 최대 1명, 병렬결재 &amp; 병렬합의자는 최소 2명
+ 이상)</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnStatsCode.properties">처리구분</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnStatsCode.attribute">aplnStatsCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnStatsCode.sample">0</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnStatsCode.note">미결(0),
+ 결재(1), 반려(2), 전결(3), 자동결재(5)</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.prxAprYn.properties">대리결재자여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.prxAprYn.attribute">prxAprYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td><span data-message-id="approvals.service.response.aplns.prxAprYn.sample">N</span></td>
+ <td><span data-message-id="approvals.service.response.aplns.prxAprYn.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.dlgAprEpid.properties">위임결재자EPID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.dlgAprEpid.attribute">dlgAprEpid</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.dlgAprEpid.sample">M345615062623C988000</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.dlgAprEpid.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.arbPmtYn.properties">전결권한여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.arbPmtYn.attribute">arbPmtYn</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.arbPmtYn.sample">Y</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.arbPmtYn.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.arbActYn.properties">전결수행여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.arbActYn.attribute">arbActYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.arbActYn.sample"></span></td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.arbActYn.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnMdfyPmtYn.properties">경로변경권한여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.aplnMdfyPmtYn.attribute">aplnMdfyPmtYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnMdfyPmtYn.sample">Y</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.aplnMdfyPmtYn.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.aplnMdfyActYn.properties">경로수정수행여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.aplnMdfyActYn.attribute">aplnMdfyActYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td><span data-message-id="approvals.service.response.aplns.aplnMdfyActYn.sample"></span></td>
+ <td><span data-message-id="approvals.service.response.aplns.aplnMdfyActYn.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.properties">본문수정권한여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.attribute">contentsMdfyPmtYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.sample">Y</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsMdfyPmtYn.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.contenstsMdfyActYn.properties">본문수정수행여부</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.contenstsMdfyActYn.attribute">contentsMdfyActYn</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.contenstsMdfyActYn.sample"></span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.contenstsMdfyActYn.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.properties">첨부파일정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.attribute">attachments</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonlist">JSONList</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.attachments.sample"></span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.attachments.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.attachfileName.properties">첨부파일명</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.attachfileName.attribute">attachfileName</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonstring">JSON String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.attachfileName.sample">test.txt</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.attachfileName.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.attachfileSize.properties">첨부파일사이즈</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.attachfileSize.attribute">attachfileSize</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.attachfileSize.sample">140</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.attachfileSize.note">byte단위</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.seq.properties">순번</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.seq.attribute">seq</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.attachments.seq.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.attachments.seq.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.apid.properties">결재 ID</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.apid.attribute">apId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apid.sample">test1e1703024e9cbdd0e79569dbb458</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.apid.note"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre> <span data-message-id="approvals.service.detail.sample.request">/approval/api/v2.0/approvals/TEST0000000000002120190514143359/detail</span>
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": {
+ "contentsType": "TEXT",
+ "sbmDt": "20231004061200",
+ "sbmLang": "ko",
+ "apInfId": "TEST0000000000002120190514143359",
+ "systemId": "KCC98REST00008",
+ "notifyOption": "1",
+ "urgYn": "0",
+ "docSecuType": "PERSONAL",
+ "status": "1",
+ "timeZone": "GMT",
+ "subject": "Test application",
+ "aplns": [
+ {
+ "actPrssDt": "20231004061200",
+ "docOpenDt": null,
+ "docArvDt": "20231004061200",
+ "opinion": "",
+ "companyCode": "C98",
+ "companyName": "삼성 Intranet",
+ "departmentCode": "H66329",
+ "departmentName": "autotest",
+ "epId": "M071015062623C988403",
+ "emailAddress": "qtp03@stage.samsung.com",
+ "userId": null,
+ "name": "qtp03",
+ "jobPositionCode": "J2",
+ "jobPosition": "사원",
+ "subOrgCode": "C98S02",
+ "subOrgName": "개발총괄",
+ "seq": "0",
+ "role": "0",
+ "aplnStatsCode": "0",
+ "arbPmtYn": "Y",
+ "arbActYn": "N",
+ "rsrvSbmDt": null,
+ "subSeq": null,
+ "titleCode": "J2",
+ "titleName": "사원",
+ "dlgAprEpid": null,
+ "aplnMdfyPmtYn": "Y",
+ "prxAprYn": "N",
+ "contentsMdfyPmtYn": "Y",
+ "contentsMdfyActYn": "N",
+ "aplnMdfyActYn": "N"
+ },
+ {
+ "actPrssDt": "",
+ "docOpenDt": null,
+ "docArvDt": "20231004061200",
+ "opinion": "",
+ "companyCode": "C60",
+ "companyName": "삼성SDS",
+ "departmentCode": "V8TESTGROUP",
+ "departmentName": "V8 테스트그룹",
+ "epId": "M071015063405C983280",
+ "emailAddress": "qtp06@stage.samsung.com",
+ "userId": null,
+ "name": "qtp06",
+ "jobPositionCode": "G0H0",
+ "jobPosition": "자문역",
+ "subOrgCode": "ASIZE01",
+ "subOrgName": "첨부용량",
+ "seq": "1",
+ "role": "1",
+ "aplnStatsCode": "0",
+ "arbPmtYn": "Y",
+ "arbActYn": "N",
+ "rsrvSbmDt": null,
+ "subSeq": null,
+ "titleCode": "G0H0",
+ "titleName": "자문역",
+ "dlgAprEpid": null,
+ "aplnMdfyPmtYn": "Y",
+ "prxAprYn": "N",
+ "contentsMdfyPmtYn": "Y",
+ "contentsMdfyActYn": "N",
+ "aplnMdfyActYn": "N"
+ }
+ ],
+ "attachments": [
+ {
+ "seq": "0",
+ "attachfileName": "test.txt",
+ "attachfileSize": 23
+ }
+ ]
+ }
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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 data-message-id="approvals.service.errorcode.statuscode.404">404</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE020.code">APE020</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE020.message">해당 연계 ID의
+ 결재문서는 존재하지 않습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE020.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box4"><span data-message-id="approvals.service.content.subject">결재본문조회</span>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.content.uri">/approval/api/v2.0/approvals/{apInfId}/content</span>
+ </p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.content.detail">결재 연계 ID를 이용하여 결재문서의 본문을 조회 할 수 있습니다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.properties">연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.path">Path</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.sample">TEST0000000000002120190523185902</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apInfId.note">32자리의 고유
+ 결재값</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </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="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.result.properties">API 호출
+ 성공여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.result.attribute">result</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.result.sample">success</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.result.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.content.data.properties">결재본문정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.content.data.attribute">data</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonstring">JSON String</span>
+ </td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.response.content.data.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.properties">본문종류</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.attribute">contentsType</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.sample">TEXT</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.contentsType.note">TEXT,HTML,MIME</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.content.properties">결재본문</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.content.attribute">contents</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.content.sample">TEST</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.content.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.properties">결재연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.sample">TEST1A000A11ACa02CVQ1A0CA4CA33C1</span>
+ </td>
+ <td class="left"></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre>/approval/api/v2.0/approvals/TEST0000000000002120190514143359/content
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": {
+ "contents": "test",
+ "contentType": "TEXT",
+ "apInfId": "TEST0000000000002120190521110026"
+ }
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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 data-message-id="approvals.service.errorcode.statuscode.404">404</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE020.code">APE020</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE020.message">해당 연계 ID의
+ 결재문서는 존재하지 않습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE020.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box5"><span data-message-id="approvals.service.status.subject">결재상황조회</span>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.status.uri">/approval/api/v2.0/approvals/status</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.status.detail">결재 연계 ID를 이용하여 결재문서의 상황을 조회 할 수 있습니다.(최대
+ 1000건)</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.attribute">System-ID</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.header">Header</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="approvals.service.request.apinfids.properties">연계 ID
+ 리스트</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apinfids.attribute">apinfids</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonlist">JSONList</span></td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.request.apinfids.note">최대 1000개</span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span data-message-id="approvals.service.request.apinfid.apinfid.properties">연계
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apinfid.apinfid.attribute">apinfid</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.body">Body</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.request.apinfid.apinfid.note">최대
+ 1000개</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </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="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.result.properties">API 호출
+ 성공여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.result.attribute">result</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.result.sample">success</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.result.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.data.properties">결재상세정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.data.attribute">data</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonlist">JSONList</span></td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.response.detail.data.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.properties">결재연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.sample">TEST1A000A11ACa02CVQ1A0CA4CA33C1</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.apInfId.note">리턴받은 결재 아이디를
+ 이용하여, 상황조회 및 상신취소가 가능합니다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.docChgNum.properties">문서변경횟수</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.docChgNum.attribute">docChgNum</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.docChgNum.sample">0</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.docChgNum.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.properties">결재상태정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.attribute">status</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.sample">1</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.note">암호화실패(-3),암호화중(-2),
+ 예약상신(-1),보류(0),진행중(1),완결(2),반려(3),상신취소(4),전결(5),후완결(6)</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre>/approval/v2.0/approvals/status
+
+body:
+[
+{"apinfid":"TEST0000000000002120190521155428"},
+{"apinfid":"TEST0000000000002120190521155422"}
+]
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": [
+ {
+ "apInfId": "TEST0000000000002120190521155428",
+ "docChgNum": "0",
+ "status": "1"
+ },
+ {
+ "apInfId": "TEST0000000000002120190521155422",
+ "docChgNum": "1",
+ "status": "2"
+ }
+ ]
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE022.code">APE022</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE022.message">최대 1000개의
+ 요청만 가능합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE022.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box6"><span data-message-id="approvals.service.apinfids.subject">결재연계ID조회</span>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.apinfids.uri">/approval/api/v2.0/approvals/apinfids</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.apinfids.detail">결재 ID를 이용하여 결재연계 ID를 조회 할 수 있습니다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.attribute">System-ID</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.header">Header</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="approvals.service.request.apId.properties">결재 ID</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apId.attribute">apId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apId.sample">test1e1703024e9cbdd0e79569dbb458</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apId.note"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </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="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.result.properties">API 호출
+ 성공여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.result.attribute">result</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.result.sample">success</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.result.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submit.data.properties">결재연계ID정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submit.data.attribute">data</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonstring">JSON String</span>
+ </td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.response.submit.data.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.apId.properties">결재 ID</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apId.attribute">apId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apId.sample">test1e1703024e9cbdd0e79569dbb458</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apId.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.properties">연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.sample">TEST0000000000002120190523185902</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apInfId.note">32자리의 고유
+ 결재값</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.systemid.attribute">systemId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre>/approval/api/v2.0/approvals/apinfids?apId=testd269bd3743ca8a0b4c0e7d9de5af
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": {
+ "apId": "test1e1703024e9cbdd0e79569dbb458",
+ "apInfId": "TEST0000000000002120190517133353",
+ "systemId": "C60REST0001"
+ }
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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 data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE001.code">APE001</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.message">데이터가
+ 필요합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.404">404</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE021.code">APE021</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE021.message">해당 결재 ID의
+ 결재문서는 존재하지 않습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE021.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box7"><span
+ data-message-id="approvals.service.submission.subject">상신함리스트조회</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.submission.uri">/approval/api/v2.0/approvals/submission</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.submission.detail">요청 연계시스템ID로 연계 상신처리된 상신자의 상신함의 정보를 조회 할 수
+ 있습니다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.attribute">System-ID</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.header">Header</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.properties">EPID</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.attribute">epId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.EPID.sample">M071015062623C9884</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.properties">사용자ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.attribute">userId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.userId.sample">qtp03</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.userId.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.properties">사용자이메일</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.attribute">emailAddress</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.sample">qtp03@stage.sasmung.com</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.emailAddress.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </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="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.result.properties">API 호출
+ 성공여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.result.attribute">result</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.result.sample">success</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.result.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submission.data.properties">결재연계정보</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submission.data.attribute">data</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonlist">JSONList</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submission.data.sample"></span></td>
+ <td class="left"><span data-message-id="approvals.service.response.submission.data.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.subject.properties">결재제목</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.subject.attribute">subject</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.subject.sample">근태신청</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.subject.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.properties">연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.sample">TEST0000000000002120190523185902</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apInfId.note">32자리의 고유
+ 결재값</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyCode.properties">결재관계자회사코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyCode.attribute">companyCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyCode.sample">C98</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyCode.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyName.properties">결재관계자회사명</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyName.attribute">companyName</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyName.sample">SAMSUNG</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.companyName.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgCode.properties">결재관계자총괄코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgCode.attribute">subOrgCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgCode.sample">C98S01</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgCode.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgName.properties">결재관계자총괄명</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgName.attribute">subOrgName</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgName.sample">개발총괄</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.subOrgName.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentCode.properties">결재관계자부서코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentCode.attribute">departmentCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentCode.sample">C98S0201</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentCode.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentName.properties">결재관계자부서명</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentName.attribute">departmentName</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentName.sample">개발1팀</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.departmentName.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleCode.properties">결재관계자
+ 직급코드</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleCode.attribute">titleCode</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleCode.sample">B3P1</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.titleCode.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleName.properties">결재관계자 직급명</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleName.attribute">titleName</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.titleName.sample">Engineer</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.titleName.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.properties">EPID</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.attribute">epId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.EPID.sample">M071015062623C9884</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.aplns.name.properties">결재관계자
+ 이름</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.name.attribute">name</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.aplns.name.sample">qtp03</span></td>
+ <td class="left"></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.properties">상신일시</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.attribute">sbmDt</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.sbmDt.sample">20190524145033</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.sbmDt.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.properties">결재상태정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.attribute">status</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.sample">1</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.detail.status.note">암호화실패(-3),암호화중(-2),
+ 예약상신(-1),보류(0),진행중(1),완결(2),반려(3),상신취소(4),전결(5),후완결(6)</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre> <span data-message-id="approvals.service.submission.sample.request">/approval/api/v2.0/approvals/submission?epId=M071015062623C988403</span>
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": [
+ {
+ "subject": "Test application",
+ "apInfId": "TEST0000000000002120190514143359",
+ "compCode": "C98",
+ "compName": "삼성 Intranet",
+ "deptCode": "H66329",
+ "deptName": "autotest",
+ "jobPosition": "사원",
+ "jobPositionCode": "J2",
+ "subOrgCode": "C98S02",
+ "subOrgName": "개발총괄",
+ "epId": "M071015062623C988403",
+ "name": "qtp03",
+ "sbmDt": "20231004061200",
+ "status": "1",
+ "companyCode": "C98",
+ "companyName": "삼성 Intranet",
+ "departmentCode": "H66329",
+ "departmentName": "autotest",
+ "titleName": "사원",
+ "titleCode": "J2"
+ },
+ {
+ "subject": "Test application",
+ "apInfId": "TEST0000000000002120190514143359",
+ "compCode": "C98",
+ "compName": "삼성 Intranet",
+ "deptCode": "H66329",
+ "deptName": "autotest",
+ "jobPosition": "사원",
+ "jobPositionCode": "J2",
+ "subOrgCode": "C98S02",
+ "subOrgName": "개발총괄",
+ "epId": "M071015062623C988403",
+ "name": "qtp03",
+ "sbmDt": "20231004061200",
+ "status": "1",
+ "companyCode": "C98",
+ "companyName": "삼성 Intranet",
+ "departmentCode": "H66329",
+ "departmentName": "autotest",
+ "titleName": "사원",
+ "titleCode": "J2"
+ }
+ ]
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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></tbody>
+ <tbody>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE001.code">APE001</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.message">데이터가
+ 필요합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box8"><span
+ data-message-id="approvals.service.apinfidinfos.subject">연계이력조회</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.apinfidinfos.uri">/approval/api/v2.0/approvals/apinfidinfos</span>
+ </p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.apinfidinfos.detail">요청 연계시스템ID에서 상신된 결재문서의 연계 이력을 조회 할 수 있습니다. 조회
+ 기준일시 이하 조회 기간(분) 동안 호출 계정의 결재건 정보 리턴 (상신, 결재승인, 경로변경, 본문수정 등 결재건 처리 시)</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.attribute">System-ID</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.header">Header</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.endDate.properties">조회기준일시</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.endDate.attribute">endDate</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.endDate.sample">201905211500</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.endDate.note"><span
+ class="ellipsis">조회의 기준시간 해당 일자 이하로 조회</span><br><span class="ellipsis">yyyyMMddHHmm
+ 형식</span></span></td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span data-message-id="approvals.service.request.page.properties">페이지번호</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.page.attribute">page</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.page.sample">1</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.page.note">paging 처리</span>
+ </td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.duration.properties">조회기간</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.duration.attribute">duration</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.duration.sample">1</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.duration.note"><span
+ class="ellipsis">단위 : 분 / 최소 1분 ~ 최대 60분 </span><br><span class="ellipsis">default :
+ 1</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </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="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.result.properties">API 호출
+ 성공여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.result.attribute">result</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.result.sample">success</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.result.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.seq.properties">순번</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.seq.attribute">seq</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.seq.sample">1</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.seq.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submission.data.properties">결재연계정보</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submission.data.attribute">data</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonlist">JSONList</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submission.data.sample"></span></td>
+ <td class="left"><span data-message-id="approvals.service.response.submission.data.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.seq.properties">순번</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.seq.attribute">seq</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.seq.sample">1</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.seq.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.properties">연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.sample">TEST0000000000002120190523185902</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apInfId.note">32자리의 고유
+ 결재값</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.totalCount.properties">전체 데이터
+ 개수</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.totalCount.attribute">totalCount</span></td>
+ <td><span data-message-id="approvals.service.response.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.totalCount.sample">2</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.totalCount.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.totalPage.properties">전체 페이지
+ 개수</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.totalPage.attribute">seq</span></td>
+ <td><span data-message-id="approvals.service.response.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.totalPage.sample">1</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.totalPage.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.currentPage.properties">페이지번호</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.currentPage.attribute">seq</span></td>
+ <td><span data-message-id="approvals.service.response.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.currentPage.sample">1</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.currentPage.note"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre>/approval/v2.0/approvals/apinfidinfos?endDate=201905211500
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": [{
+ "seq": 1,
+ "apInfId": "TEST0000000000002120190521155428",
+ "totalcount": 6,
+ "totalpage": 1,
+ "currentpage": 1
+ },
+ {
+ "seq": 2,
+ "apInfId": "TEST0000000000002220190521155428",
+ "totalcount": 6,
+ "totalpage": 1,
+ "currentpage": 1
+ },
+ {
+ "seq": 3,
+ "apInfId": "TEST0000000000002220190521155428",
+ "totalcount": 6,
+ "totalpage": 1,
+ "currentpage": 1
+ },
+ {
+ "seq": 4,
+ "apInfId": "TEST0000000000002120190521155759",
+ "totalcount": 6,
+ "totalpage": 1,
+ "currentpage": 1
+ },
+ {
+ "seq": 5,
+ "apInfId": "TEST0000000000002220190521155759",
+ "totalcount": 6,
+ "totalpage": 1,
+ "currentpage": 1
+ },
+ {
+ "seq": 6,
+ "apInfId": "TEST0000000000002220190521155759",
+ "totalcount": 6,
+ "totalpage": 1,
+ "currentpage": 1
+ }
+ ]
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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 data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE001.code">APE001</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.message">데이터가
+ 필요합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE002.code">APE002</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE002.message">입력된 데이터 형식이
+ 잘못되었습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE002.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box9"><span data-message-id="approvals.service.cancel.subject">상신취소</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.cancel.uri">/approval/api/v2.0/approvals/{apInfId}/cancel</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.cancel.detail">연계 ID에 해당하는 결재문서를 상신취소처리 할 수 있습니다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.properties">연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.path">Path</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.apInfId.sample">TEST0000000000002120190523185902</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.apInfId.note">32자리의 고유
+ 결재값</span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.cancelopinion.properties">상신취소의견</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.cancelopinion.attribute">opinion</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.cancelopinion.sample">상신취소드립니다</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.cancelopinion.note"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="left">Properties</th>
+ <th class="left">Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.result.properties">API 호출
+ 성공여부</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.result.attribute">result</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.result.sample">success</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.result.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submit.data.properties">결재연계ID정보</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.submit.data.attribute">data</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.jsonstring">JSON String</span>
+ </td>
+ <td></td>
+ <td class="left"><span data-message-id="approvals.service.response.submit.data.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.properties">결재연계ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.attribute">apInfId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.apInfId.sample">TEST1A000A11ACa02CVQ1A0CA4CA33C1</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.apInfId.note">리턴받은 결재 아이디를
+ 이용하여, 상황조회 및 상신취소가 가능합니다.</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre>/approval/api/v2.0/approvals/TEST0000000000002120190521110026/cancel?opinion=reject
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": {
+ "apInfId": "TEST0000000000002120190521110026"
+ }
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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 data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE001.code">APE001</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.message">데이터가
+ 필요합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE002.code">APE002</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE002.message">입력된 데이터 형식이
+ 잘못되었습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE002.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.404">404</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE020.code">APE020</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE020.message">해당 연계 ID의
+ 결재문서는 존재하지 않습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE020.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE023.code">APE023</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE023.message">해당 결재 ID의
+ 결재문서는 이미 완결 혹은 상신취소처리 되었습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE023.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box11"><span
+ data-message-id="approvals.service.ownaplnlist.subject">저장된결재경로목록조회</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="approvals.service.ownaplnlist.uri">/approval/api/v2.0/approvals/ownaplnlist</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.ownaplnlist.detail">개인별 저장된 결재경로 목록을 조회 할 수 있습니다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.attribute">System-ID</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.header">Header</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.properties">EPID</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.attribute">epId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.EPID.sample">M071015062623C9884</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.brity.properties">사용자ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.brity.attribute">userId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.knox.sample">test</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.userId.brity.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.brity.properties">사용자이메일</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.brity.attribute">emailAddress</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.query">Query</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.knox.sample">test@stage.samsung.com</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.emailAddress.brity.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="left">Properties</th>
+ <th class="left">Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnId.properties">저장된
+ 결재경로ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnId.attribute">pslAplnId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnId.sample">168cf04db4aa4e64b010f434d9088312</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnId.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnNm.properties">저장된
+ 결재경로이름</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnNm.attribute">pslAplnNm</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnNm.sample">TEST</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnNm.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.ownEpid.properties">등록자EPID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.ownEpid.attribute">ownEpid</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.ownEpid.sample">M201026053604S204412</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.ownEpid.note"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre>/approval/api/v2.0/approvals/ownaplnlist?emailAddress=test@stage.samsung.com
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": [
+ {
+ "pslAplnId": "168cf04db4aa4e64b010f434d9088312",
+ "pslAplnNm": "TEST",
+ "ownEpid": "M201026053604S204412"
+ },
+ {
+ "pslAplnId": "876f1522d1e440288f5ad4fbda42d712",
+ "pslAplnNm": "TEST2",
+ "ownEpid": "M201026053604S204412"
+ }
+ ]
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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 data-message-id="approvals.service.errorcode.statuscode.400">400</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE001.code">APE001</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.message">데이터가
+ 필요합니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE001.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="approvals.service.errorcode.statuscode.404">404</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE030.code">APE030</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE030.message">저장된 결재경로가
+ 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE030.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="box12"><span
+ data-message-id="approvals.service.ownaplndetail.subject">저장된결재경로상세조회</span></div>
+ <div class="module-font type02">
+ <p><span
+ data-message-id="approvals.service.ownaplndetail.uri">/approval/api/v2.0/approvals/{pslAplnId}/ownaplndetail</span>
+ </p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="approvals.service.ownaplndetail.detail">개인별 저장된 결재경로 목록을 조회 할 수 있습니다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p>Request Parameter</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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.properties">연계 시스템
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.attribute">System-ID</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.y">Y</span></td>
+ <td><span data-message-id="approvals.service.request.type.header">Header</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.systemid.sample">CXXREST0001</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.systemid.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="approvals.service.request.pslAplnId.properties">저장된
+ 결재경로ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.pslAplnId.attribute">pslAplnId</span></td>
+ <td><span data-message-id="approvals.service.request.mandatory.n">N</span></td>
+ <td><span data-message-id="approvals.service.request.type.path">Path</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.pslAplnId.sample">168cf04db4aa4e64b010f434d9088312</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.pslAplnId.note"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="left">Properties</th>
+ <th class="left">Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="30%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnId.properties">저장된
+ 결재경로ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnId.attribute">pslAplnId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnId.sample">168cf04db4aa4e64b010f434d9088312</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.pslAplnId.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.properties">EPID</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.attribute">epId</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.EPID.sample">M071015062623C9884</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.EPID.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.response.seq.properties">순번</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.response.seq.attribute">seq</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.seq.sample">1</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.seq.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="approvals.service.request.role.properties">설정구분</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.role.attribute">role</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.role.sample">0</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.role.note"><span
+ class="ellipsis">기안(0), 결재(1), 합의(2), 후결(3), 병렬합의(4), 병렬결재(7), 통보(9)
+ </span><br><span class="ellipsis"> (후결자는 최대 1명, 병렬결재 &amp; 병렬합의자는 최소 2명
+ 이상)</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.fnm.properties">국문이름</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.fnm.attribute">fnm</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.fnm.sample">test</span></td>
+ <td class="left"><span data-message-id="approvals.service.response.ownaplnlist.fnm.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.enFnm.properties">영문이름</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.enFnm.attribute">enFnm</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.enFnm.sample">OneTest</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.response.ownaplnlist.enFnm.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.brity.properties">사용자이메일</span>
+ </td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.brity.attribute">emailAddress</span>
+ </td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.emailAddress.knox.sample">test@stage.samsung.com</span>
+ </td>
+ <td class="left"><span data-message-id="approvals.service.request.emailAddress.brity.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.brity.properties">사용자ID</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.brity.attribute">userId</span></td>
+ <td><span data-message-id="approvals.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="approvals.service.request.userId.knox.sample">test</span></td>
+ <td class="left"><span data-message-id="approvals.service.request.userId.brity.note"><span
+ class="ellipsis">속성 한가지와 조합하여 사용 우선순위 </span><br><span class="ellipsis"> userId &gt;
+ epId &gt; emailAddress</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02"><span>Sample</span></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 class="left">Request</th>
+ <th class="left">Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="50%;">
+ <col width="50%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre>/approval/api/v2.0/approvals/168cf04db4aa4e64b010f434d9088312/ownaplndetail
+ </pre>
+ </td>
+ <td>
+ <pre>{
+ "result": "success",
+ "data": [
+ {
+ "pslAplnId": "168cf04db4aa4e64b010f434d9088312",
+ "epId": "M201026053604S204412",
+ "seq": "0",
+ "role": "0",
+ "fnm": "test",
+ "enFnm": "OneTest",
+ "emailAddress": "test@stage.samsung.com",
+ "userId": "test"
+ },
+ {
+ "pslAplnId": "168cf04db4aa4e64b010f434d9088312",
+ "epId": "M201026053604S204412",
+ "seq": "1",
+ "role": "1",
+ "fnm": "test2",
+ "enFnm": "TwoTest",
+ "emailAddress": "test2@stage.samsung.com",
+ "userId": "test2"
+ },
+ {
+ "pslAplnId": "168cf04db4aa4e64b010f434d9088312",
+ "epId": "M201026053604S204412",
+ "seq": "2",
+ "role": "1",
+ "fnm": "test3",
+ "enFnm": "ThreeTest",
+ "emailAddress": "test3@stage.samsung.com",
+ "userId": "test3"
+ }
+ ]
+}
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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 class="left"><span data-message-id="common.type.message3">에러메시지</span></th>
+ <th class="left"><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 data-message-id="approvals.service.errorcode.statuscode.404">404</span></td>
+ <td><span data-message-id="approvals.service.errorcode.APE030.code">APE030</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE030.message">저장된 결재경로가
+ 없습니다.</span></td>
+ <td class="left"><span data-message-id="approvals.service.errorcode.APE030.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+</div> \ No newline at end of file
diff --git a/lib/knox-api/approval/approval.ts b/lib/knox-api/approval/approval.ts
new file mode 100644
index 00000000..6a21e113
--- /dev/null
+++ b/lib/knox-api/approval/approval.ts
@@ -0,0 +1,603 @@
+"use server"
+
+// Knox API Approval 서버 액션들
+// 가이드: lib/knox-api/approval/guide.html
+
+// ========== 타입 정의 ==========
+
+// 공통 응답 타입
+export interface BaseResponse {
+ result: string;
+}
+
+// 결재 경로 타입
+export interface ApprovalLine {
+ epId?: string;
+ userId?: string;
+ emailAddress?: string;
+ seq: string;
+ role: string; // 기안(0), 결재(1), 합의(2), 후결(3), 병렬합의(4), 병렬결재(7), 통보(9)
+ aplnStatsCode: string; // 미결(0), 결재(1), 반려(2), 전결(3), 자동결재(5)
+ arbPmtYn: string; // 전결권한여부
+ contentsMdfyPmtYn: string; // 본문수정권한여부
+ aplnMdfyPmtYn: string; // 경로변경권한여부
+ opinion?: string; // 상신의견 (상신자만)
+}
+
+// 결재 상신 요청 타입
+export interface SubmitApprovalRequest {
+ contents: string; // 결재본문
+ contentsType: string; // 본문종류 (TEXT, HTML, MIME)
+ docSecuType: string; // 보안문서타입 (PERSONAL, CONFIDENTIAL, CONFIDENTIAL_STRICT)
+ notifyOption: string; // 통보옵션 (0-3)
+ urgYn: string; // 긴급여부 (Y/N)
+ sbmDt: string; // 상신일시 (YYYYMMDDHHMMSS)
+ timeZone: string; // 타임존 (GMT, GMT+9 등)
+ docMngSaveCode: string; // 문서관리저장코드 (0: 안함, 1: 저장)
+ subject: string; // 결재제목
+ sbmLang: string; // 상신언어 (ko, ja, zh, en)
+ apInfId: string; // 연계ID (32자리 고유값)
+ importantYn?: string; // 중요여부 (Y/N)
+ aplns: ApprovalLine[]; // 결재경로
+ attachments?: File[]; // 첨부파일
+}
+
+// 결재 상신 응답 타입
+export interface SubmitApprovalResponse extends BaseResponse {
+ data: {
+ apInfId: string;
+ };
+}
+
+// 결재 상세 조회 응답 타입
+export interface ApprovalDetailResponse extends BaseResponse {
+ data: {
+ contentsType: string;
+ sbmDt: string;
+ sbmLang: string;
+ apInfId: string;
+ systemId: string;
+ notifyOption: string;
+ urgYn: string;
+ docSecuType: string;
+ status: string; // 암호화실패(-3), 암호화중(-2), 예약상신(-1), 보류(0), 진행중(1), 완결(2), 반려(3), 상신취소(4), 전결(5), 후완결(6)
+ timeZone: string;
+ subject: string;
+ aplns: any[];
+ attachments?: any[];
+ };
+}
+
+// 결재 본문 조회 응답 타입
+export interface ApprovalContentResponse extends BaseResponse {
+ data: {
+ contents: string;
+ contentsType: string;
+ apInfId: string;
+ };
+}
+
+// 결재 상황 조회 요청 타입
+export interface ApprovalStatusRequest {
+ apinfids: { apinfid: string }[];
+}
+
+// 결재 상황 조회 응답 타입
+export interface ApprovalStatusResponse extends BaseResponse {
+ data: {
+ apInfId: string;
+ docChgNum: string;
+ status: string;
+ }[];
+}
+
+// 상신 취소 응답 타입
+export interface CancelApprovalResponse extends BaseResponse {
+ data: {
+ apInfId: string;
+ };
+}
+
+// 개인 결재경로 목록 조회 응답 타입
+export interface OwnApprovalLineListResponse extends BaseResponse {
+ data: any[];
+}
+
+// 개인 결재경로 상세 조회 응답 타입
+export interface OwnApprovalLineDetailResponse extends BaseResponse {
+ data: any;
+}
+
+// 상신함 리스트 조회 응답 타입
+export interface SubmissionListResponse extends BaseResponse {
+ data: any[];
+}
+
+// 연계 이력 조회 응답 타입
+export interface ApprovalHistoryResponse extends BaseResponse {
+ data: any[];
+}
+
+// 연계 ID 조회 응답 타입
+export interface ApprovalIdsResponse extends BaseResponse {
+ data: any[];
+}
+
+// ========== 서버 액션 함수들 ==========
+
+/**
+ * 결재 상신
+ * POST /approval/api/v2.0/approvals/submit
+ */
+export async function submitApproval(
+ request: SubmitApprovalRequest,
+ systemId: string
+): Promise<SubmitApprovalResponse> {
+ try {
+ const formData = new FormData();
+
+ // JSON 데이터 생성
+ const approvalData = {
+ contents: request.contents,
+ contentsType: request.contentsType,
+ docSecuType: request.docSecuType,
+ notifyOption: request.notifyOption,
+ urgYn: request.urgYn,
+ sbmDt: request.sbmDt,
+ timeZone: request.timeZone,
+ docMngSaveCode: request.docMngSaveCode,
+ subject: request.subject,
+ sbmLang: request.sbmLang,
+ apInfId: request.apInfId,
+ importantYn: request.importantYn,
+ aplns: request.aplns
+ };
+
+ formData.append('approval', JSON.stringify(approvalData));
+
+ // 첨부파일 처리
+ if (request.attachments) {
+ request.attachments.forEach((file) => {
+ formData.append('attachments', file);
+ });
+ }
+
+ const response = await fetch(`${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/submit`, {
+ method: 'POST',
+ headers: {
+ 'System-ID': systemId,
+ },
+ body: formData,
+ });
+
+ if (!response.ok) {
+ throw new Error(`결재 상신 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('결재 상신 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 보안 결재 상신
+ * POST /approval/api/v2.0/approvals/secu-submit
+ */
+export async function submitSecurityApproval(
+ request: SubmitApprovalRequest,
+ systemId: string
+): Promise<SubmitApprovalResponse> {
+ try {
+ const formData = new FormData();
+
+ // JSON 데이터 생성
+ const approvalData = {
+ contents: request.contents,
+ contentsType: request.contentsType,
+ docSecuType: request.docSecuType, // CONFIDENTIAL 또는 CONFIDENTIAL_STRICT
+ notifyOption: request.notifyOption,
+ urgYn: request.urgYn,
+ sbmDt: request.sbmDt,
+ timeZone: request.timeZone,
+ docMngSaveCode: request.docMngSaveCode,
+ subject: request.subject,
+ sbmLang: request.sbmLang,
+ apInfId: request.apInfId,
+ importantYn: request.importantYn,
+ aplns: request.aplns
+ };
+
+ formData.append('approval', JSON.stringify(approvalData));
+
+ // 첨부파일 처리
+ if (request.attachments) {
+ request.attachments.forEach((file) => {
+ formData.append('attachments', file);
+ });
+ }
+
+ const response = await fetch(`${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/secu-submit`, {
+ method: 'POST',
+ headers: {
+ 'System-ID': systemId,
+ },
+ body: formData,
+ });
+
+ if (!response.ok) {
+ throw new Error(`보안 결재 상신 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('보안 결재 상신 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 결재 상세 상황 조회
+ * GET /approval/api/v2.0/approvals/{apInfId}/detail
+ */
+export async function getApprovalDetail(
+ apInfId: string,
+ systemId: string
+): Promise<ApprovalDetailResponse> {
+ try {
+ const response = await fetch(`${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/${apInfId}/detail`, {
+ method: 'GET',
+ headers: {
+ 'System-ID': systemId,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(`결재 상세 조회 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('결재 상세 조회 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 결재 본문 조회
+ * GET /approval/api/v2.0/approvals/{apInfId}/content
+ */
+export async function getApprovalContent(
+ apInfId: string,
+ systemId: string
+): Promise<ApprovalContentResponse> {
+ try {
+ const response = await fetch(`${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/${apInfId}/content`, {
+ method: 'GET',
+ headers: {
+ 'System-ID': systemId,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(`결재 본문 조회 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('결재 본문 조회 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 결재 상황 조회
+ * POST /approval/api/v2.0/approvals/status
+ */
+export async function getApprovalStatus(
+ request: ApprovalStatusRequest,
+ systemId: string
+): Promise<ApprovalStatusResponse> {
+ try {
+ const response = await fetch(`${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/status`, {
+ method: 'POST',
+ headers: {
+ 'System-ID': systemId,
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify(request.apinfids),
+ });
+
+ if (!response.ok) {
+ throw new Error(`결재 상황 조회 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('결재 상황 조회 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 결재 연계 ID 조회
+ * GET /approval/api/v2.0/approvals/apinfids
+ */
+export async function getApprovalIds(
+ systemId: string,
+ apIds?: string[]
+): Promise<ApprovalIdsResponse> {
+ try {
+ let url = `${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/apinfids`;
+
+ if (apIds && apIds.length > 0) {
+ const params = new URLSearchParams();
+ apIds.forEach(id => params.append('apId', id));
+ url += `?${params.toString()}`;
+ }
+
+ const response = await fetch(url, {
+ method: 'GET',
+ headers: {
+ 'System-ID': systemId,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(`결재 연계 ID 조회 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('결재 연계 ID 조회 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 상신함 리스트 조회
+ * GET /approval/api/v2.0/approvals/submission
+ */
+export async function getSubmissionList(
+ systemId: string,
+ params?: Record<string, string>
+): Promise<SubmissionListResponse> {
+ try {
+ let url = `${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/submission`;
+
+ if (params) {
+ const searchParams = new URLSearchParams(params);
+ url += `?${searchParams.toString()}`;
+ }
+
+ const response = await fetch(url, {
+ method: 'GET',
+ headers: {
+ 'System-ID': systemId,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(`상신함 리스트 조회 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('상신함 리스트 조회 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 연계 이력 조회
+ * GET /approval/api/v2.0/approvals/apinfidinfos
+ */
+export async function getApprovalHistory(
+ systemId: string,
+ params?: Record<string, string>
+): Promise<ApprovalHistoryResponse> {
+ try {
+ let url = `${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/apinfidinfos`;
+
+ if (params) {
+ const searchParams = new URLSearchParams(params);
+ url += `?${searchParams.toString()}`;
+ }
+
+ const response = await fetch(url, {
+ method: 'GET',
+ headers: {
+ 'System-ID': systemId,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(`연계 이력 조회 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('연계 이력 조회 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 상신 취소
+ * POST /approval/api/v2.0/approvals/{apInfId}/cancel
+ */
+export async function cancelApproval(
+ apInfId: string,
+ systemId: string
+): Promise<CancelApprovalResponse> {
+ try {
+ const response = await fetch(`${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/${apInfId}/cancel`, {
+ method: 'POST',
+ headers: {
+ 'System-ID': systemId,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(`상신 취소 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('상신 취소 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 저장된 결재경로 목록 조회
+ * GET /approval/api/v2.0/approvals/ownaplnlist
+ */
+export async function getOwnApprovalLineList(
+ systemId: string,
+ params?: Record<string, string>
+): Promise<OwnApprovalLineListResponse> {
+ try {
+ let url = `${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/ownaplnlist`;
+
+ if (params) {
+ const searchParams = new URLSearchParams(params);
+ url += `?${searchParams.toString()}`;
+ }
+
+ const response = await fetch(url, {
+ method: 'GET',
+ headers: {
+ 'System-ID': systemId,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(`저장된 결재경로 목록 조회 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('저장된 결재경로 목록 조회 오류:', error);
+ throw error;
+ }
+}
+
+/**
+ * 저장된 결재경로 상세 조회
+ * GET /approval/api/v2.0/approvals/{pslAplnId}/ownaplndetail
+ */
+export async function getOwnApprovalLineDetail(
+ pslAplnId: string,
+ systemId: string
+): Promise<OwnApprovalLineDetailResponse> {
+ try {
+ const response = await fetch(`${process.env.KNOX_API_BASE_URL}/approval/api/v2.0/approvals/${pslAplnId}/ownaplndetail`, {
+ method: 'GET',
+ headers: {
+ 'System-ID': systemId,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(`저장된 결재경로 상세 조회 실패: ${response.status}`);
+ }
+
+ return await response.json();
+ } catch (error) {
+ console.error('저장된 결재경로 상세 조회 오류:', error);
+ throw error;
+ }
+}
+
+// ========== 유틸리티 함수들 ==========
+
+/**
+ * 결재 상신 요청 데이터 생성 도우미
+ */
+export async function createSubmitApprovalRequest(
+ contents: string,
+ subject: string,
+ approvalLines: ApprovalLine[],
+ options: Partial<SubmitApprovalRequest> = {}
+): Promise<SubmitApprovalRequest> {
+ const now = new Date();
+ const sbmDt = now.toISOString().replace(/[-:T]/g, '').slice(0, 14);
+ const apInfId = `${process.env.KNOX_SYSTEM_ID || 'DEFAULT'}${sbmDt}${Math.random().toString(36).substr(2, 9)}`.padEnd(32, '0');
+
+ return {
+ contents,
+ subject,
+ aplns: approvalLines,
+ contentsType: 'TEXT',
+ docSecuType: 'PERSONAL',
+ notifyOption: '0',
+ urgYn: 'N',
+ sbmDt,
+ timeZone: 'GMT+9',
+ docMngSaveCode: '0',
+ sbmLang: 'ko',
+ apInfId,
+ importantYn: 'N',
+ ...options
+ };
+}
+
+/**
+ * 결재 라인 생성 도우미
+ */
+export async function createApprovalLine(
+ userInfo: { epId?: string; userId?: string; emailAddress?: string },
+ role: string,
+ seq: string,
+ options: Partial<ApprovalLine> = {}
+): Promise<ApprovalLine> {
+ return {
+ ...userInfo,
+ seq,
+ role,
+ aplnStatsCode: '0',
+ arbPmtYn: 'Y',
+ contentsMdfyPmtYn: 'Y',
+ aplnMdfyPmtYn: 'Y',
+ ...options
+ };
+}
+
+/**
+ * 결재 상태 문자열 변환
+ */
+export async function getApprovalStatusText(status: string): Promise<string> {
+ const statusMap: Record<string, string> = {
+ '-3': '암호화실패',
+ '-2': '암호화중',
+ '-1': '예약상신',
+ '0': '보류',
+ '1': '진행중',
+ '2': '완결',
+ '3': '반려',
+ '4': '상신취소',
+ '5': '전결',
+ '6': '후완결'
+ };
+
+ return statusMap[status] || '알 수 없음';
+}
+
+/**
+ * 결재 역할 문자열 변환
+ */
+export async function getApprovalRoleText(role: string): Promise<string> {
+ const roleMap: Record<string, string> = {
+ '0': '기안',
+ '1': '결재',
+ '2': '합의',
+ '3': '후결',
+ '4': '병렬합의',
+ '7': '병렬결재',
+ '9': '통보'
+ };
+
+ return roleMap[role] || '알 수 없음';
+}
diff --git a/lib/knox-api/employee/employee-guide.html b/lib/knox-api/employee/employee-guide.html
new file mode 100644
index 00000000..806788fe
--- /dev/null
+++ b/lib/knox-api/employee/employee-guide.html
@@ -0,0 +1,2154 @@
+<div class="body-content">
+ <div class="sub-header margin">
+ <h2 data-message-id="emp.subject">임직원</h2>
+ </div>
+ <div class="module-subsum">
+ <p><span data-message-id="emp.guide.description">Knox Suite을 통한 임직원 및 조직 정보 조회 기능을 제공합니다.</span></p>
+ </div><br>
+ <div class="module-font type03"><span data-message-id="emp.guide.policy01">[정책 및 제약사항]</span></div>
+ <div class="module-font type04">
+ <dl>
+ <dt><span data-message-id="emp.guide.policy02">1. <b>재직, 휴직</b> 상태 임직원만 조회 가능합니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy03">2. 연계 신청시 요청한 <b>조회대상 회사</b>의 임직원, 조직정보만 조회 가능합니다.</span>
+ </dt>
+ <dt><span data-message-id="emp.guide.policy04">3. 연계 신청 시 <b>파견 포함</b>을 선택한 경우에만 파견된 임직원 정보까지 조회
+ 가능합니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy05">4. <b>회사코드</b>를 이용한 조회 시, 해당 회사 정보만 조회 가능합니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy06">5. 조직도 조회의 경우, 조회 대상 회사에 <b>신청 회사 외 타사가 등록되어 있으면 일부 속성만</b>
+ 조회 가능합니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy07">6. 부분이름 검색 시 검색어는 <b>한국어 기준 2자, 영어 기준 4자 이상</b>이어야
+ 합니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy08">7. 부분이름 검색 시 검색 기능 최적화를 위해 <b><sup>1)</sup>특정 영문명</b>으로는 조회할
+ 수 없습니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy09">8. 모든 검색어에는 *, % 를 포함할 수 없습니다. 임직원 이름 검색 시 _ 도 포함할 수
+ 없습니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy10">9. 목록으로 검색 시 목록의 값은 중복될 수 없습니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy11">10. 목록으로 검색 시 <b>목록의 크기는 100</b>을 넘을 수 없으며, <b>검색어의 길이는
+ 100자</b>를 넘을 수 없습니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy12">11. 임직원 <b>검색 결과는 2,000개, 조직 검색 결과는 5,000개</b>로 제한합니다.</span>
+ </dt>
+ <dt><span data-message-id="emp.guide.policy13">12. <b>분당 호출 횟수 1,000건 이하</b>로 분산해야 합니다.</span></dt>
+ <dt><span data-message-id="emp.guide.policy14">13. <b>대량 호출 시 야간(22시 이후) 수행</b>을 권장합니다. (주간 수행 시 Knox
+ Portal과 협의 필요)</span></dt>
+ <dt>&nbsp;</dt>
+ <dt><span data-message-id="emp.guide.policy15"><sup>1)</sup> kim, lee, park, choi, jung, kang, cho, yoon,
+ jang, lim, han, shin, oh, seo, kwon, hwang, song, ahn, ryu, hong<br>&nbsp;&nbsp;&nbsp;nguy, youn,
+ young, hyun, sung, sang, jeon, dong, nguye, nguyen, jong, seun, seung, jeong, chan, yong, stre,
+ stres, stress, nguyễn, <br>&nbsp;&nbsp;&nbsp;nguyễn, chang, kyun, kyung, seon, jang, shin, yoon,
+ yang, song, byun, seong, kwan, hwan, byung, chun, kwang, jaeh, hyung,
+ hwang,<br>&nbsp;&nbsp;&nbsp;wang, sangh, moon, kyou, mari, kuma, kwon, yeon, andr, thi, chen, zhan,
+ zhang</span></dt>
+ </dl>
+ </div><br>
+ <div class="module-font type03"><span data-message-id="subject.api.list">[API 목록]</span> &nbsp;&nbsp; <a
+ target="blank" class="swagger-link" id="swaggerLinkStg"
+ href="http://developers.samsung.net/knoxcenter/wso2/swagger-ui/d23ef677-9952-4311-aa56-cb891791a694"><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="20%">
+ <col width="20%">
+ <col width="10%">
+ <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="20%">
+ <col width="20%">
+ <col width="10%">
+ <col>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><a href="#emp"><span data-message-id="emp.guide.api02">임직원 조회</span></a></td>
+ <td class="left">/employee/api/v2.0/employees</td>
+ <td>POST</td>
+ <td class="left desc"><span data-message-id="emp.guide.api03">임직원 정보를 조회한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#org"><span data-message-id="emp.guide.api04">조직도 조회</span></a></td>
+ <td class="left">/employee/api/v2.0/organizations</td>
+ <td>GET</td>
+ <td class="left desc"><span data-message-id="emp.guide.api05">부서 정보를 조회한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#title"><span data-message-id="emp.guide.api06">직급정보 조회</span></a>
+ </td>
+ <td class="left">/employee/api/v2.0/titles</td>
+ <td>GET</td>
+ <td class="left desc"><span data-message-id="emp.guide.api07">직급 정보를 조회한다.</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br><br><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="emp"><span data-message-id="emp.guide.empsearch">임직원 조회</span></div>
+ <div class="module-font type02">
+ <p>Request Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="10%;">
+ <col width="14%;">
+ <col width="9%;">
+ <col width="9%;">
+ <col width="8%;">
+ <col width="18%;">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter<br>Type</th>
+ <th>Data<br>Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="10%;">
+ <col width="14%;">
+ <col width="9%;">
+ <col width="9%;">
+ <col width="8%;">
+ <col width="18%;">
+ <col>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td title="1">1</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request01">연계 아이디</span></td>
+ <td class="left">System-ID</td>
+ <td>Y</td>
+ <td>Header</td>
+ <td>String</td>
+ <td class="left">C60REST0001</td>
+ <td class="left desc"></td>
+ </tr>
+ <tr>
+ <td title="2">2</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request02">회사코드</span></td>
+ <td class="left">companyCode</td>
+ <td>N</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left">C60</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.request.description02">3~10번 속성
+ 중 1개의 속성만 사용 가능</span></td>
+ </tr>
+ <tr>
+ <td title="3">3</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request03">임직원 이름</span></td>
+ <td class="left">fullName</td>
+ <td rowspan="8">Y</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request.sample01">김삼성</span></td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.request.description04">검색엔진 (검색
+ 키워드 완전 일치 검색)</span></td>
+ </tr>
+ <tr>
+ <td title="4">4</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request04">부서코드</span></td>
+ <td class="left">departmentCode</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left">C60AH959</td>
+ <td class="left desc"></td>
+ </tr>
+ <tr>
+ <td title="5">5</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request05">사번</span></td>
+ <td class="left">employeeNumber</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left" title="123123">123123</td>
+ <td class="left desc"></td>
+ </tr>
+ <tr>
+ <td title="6">6</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request06">이름</span></td>
+ <td class="left">name</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request.sample02">삼성</span></td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.request.description05">검색엔진 (검색
+ 키워드 부분일치 검색)</span></td>
+ </tr>
+ <tr>
+ <td title="7">7</td>
+ <td class="left">epId</td>
+ <td class="left">epIds</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left" title="D100118130308C600299">D100118130308C600299</td>
+ <td class="left desc"></td>
+ </tr>
+ <tr>
+ <td title="8">8</td>
+ <td class="left">ID</td>
+ <td class="left">userIds</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left">knoxportal</td>
+ <td class="left desc"></td>
+ </tr>
+ <tr>
+ <td title="9">9</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request07">메일주소</span></td>
+ <td class="left">emailAddresses</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left" title="knoxportal@samsung.com">knoxportal@samsung.com</td>
+ <td class="left desc"></td>
+ </tr>
+ <tr>
+ <td title="10">10</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request08">직급코드</span></td>
+ <td class="left">titleCode</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left">B3K</td>
+ <td class="left desc"><span
+ data-message-id="emp.guide.empsearch.request.description06">compCode, page 함께 받아야
+ 함</span></td>
+ </tr>
+ <tr>
+ <td title="11">11</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request09">페이지 번호</span></td>
+ <td class="left">page</td>
+ <td>N</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left" title="1">1</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.request.description08"><span
+ class="ellipsis">- companyCode&amp;departmentCode /</span><br><span
+ class="ellipsis">companyCode&amp;title /</span><br><span class="ellipsis"> name 인
+ 경우에만 paging 적용가능</span><br><span class="ellipsis">- page 입력 시 500건씩
+ 조회</span><br><span class="ellipsis">- page 미입력 시 최대 2000건 조회</span></span></td>
+ </tr>
+ <tr>
+ <td title="12">12</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request10">검색결과 타입</span></td>
+ <td class="left">resultType</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">basic<br>optional</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.request.description09"><span
+ class="ellipsis">- basic : 기본 속성 리턴</span><br><span class="ellipsis">- optional :
+ attributes 정의 속성만 리턴</span></span></td>
+ </tr>
+ <tr>
+ <td title="13">13</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request11">조회할 임직원 속성</span></td>
+ <td class="left">attributes</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left" title="[&quot;emailAddress&quot;,&quot;userId&quot;]">["emailAddress","userId"]
+ </td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.request.description11">지정한 속성에
+ 대해서만 결과 값 리턴</span><br><span
+ data-message-id="emp.guide.empsearch.request.description10">resultType이 optional인 경우
+ 필수</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div><span data-message-id="emp.guide.empsearch.request.description12">resultType 쿼리 타입에 따라 리턴 항목이 다름. <br>- basic
+ : 기본 속성만 리턴 (아래 * 표시된 30개 항목)<br>- optional : body에 보낸 attributes 데이터만 리턴</span>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="16%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="20%;">
+ <col width="35%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="16%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="20%;">
+ <col width="35%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td title="1">1</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response01">API 호출 성공 여부</span></td>
+ <td class="left">result</td>
+ <td>String</td>
+ <td class="left">success<br>fail</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="2">2</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response02">현재 페이지</span></td>
+ <td class="left">currentPage</td>
+ <td>int</td>
+ <td class="left" title="1">1</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="3">3</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response03">총 결과 페이지 수</span></td>
+ <td class="left">totalPage</td>
+ <td>int</td>
+ <td class="left" title="3">3</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="4">4</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response04">검색된 임직원의 수</span></td>
+ <td class="left">totalCount</td>
+ <td>int</td>
+ <td class="left" title="30">30</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="5">5</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response05">임직원 정보</span></td>
+ <td class="left">employees</td>
+ <td>JSON String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="6">6</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response06">계정신청상태</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;accountStatus</td>
+ <td>String</td>
+ <td class="left">A</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description01"><span
+ class="ellipsis">A: 아이디 승인</span><br><span class="ellipsis">W: 아이디
+ 신청</span><br><span class="ellipsis">M: 아이디 미발급</span></span></td>
+ </tr>
+ <tr>
+ <td title="7">7</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response07">사업장코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;busiCode</td>
+ <td>String</td>
+ <td class="left">C60B0001</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="8">8</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response08">사업장명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;busiName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample01">잠실동관</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="9">9</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response09">회사코드</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;companyCode</td>
+ <td>String</td>
+ <td class="left">C60</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="10">10</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response10">회사명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;companyName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample02">삼성SDS</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="11">11</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response11">국가</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;country</td>
+ <td>String</td>
+ <td class="left">KR</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="12">12</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response12">기본소속구분코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;defaultCompanyCode</td>
+ <td>String</td>
+ <td class="left">O</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description02"><span
+ class="ellipsis">O: 원소속</span><br><span class="ellipsis">S: 파견소속</span></span></td>
+ </tr>
+ <tr>
+ <td title="13">13</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response13">부서코드</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;departmentCode</td>
+ <td>String</td>
+ <td class="left">C60AH959</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="14">14</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response14">부서명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;departmentName</td>
+ <td>String</td>
+ <td class="left"><span
+ data-message-id="emp.guide.empsearch.response.sample03">Knox개발그룹(솔루션개발)</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="15">15</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response15">담당업무</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;description</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample04">Knox Suite
+ 개발</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="16">16</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response16">이메일
+ 주소</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;emailAddress</td>
+ <td>String</td>
+ <td class="left" title="knoxportal@samsung.com">knoxportal@samsung.com</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="17">17</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response17">사번</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;employeeNumber</td>
+ <td>String</td>
+ <td class="left" title="123123">123123</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="18">18</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response18">임직원
+ 상태</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;employeeStatus</td>
+ <td>String</td>
+ <td class="left">B</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description03"><span
+ class="ellipsis">B: 재직</span><br><span class="ellipsis">V: 휴직</span></span></td>
+ </tr>
+ <tr>
+ <td title="19">19</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response19">임직원
+ 구분</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;employeeType</td>
+ <td>String</td>
+ <td class="left">N</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description04"><span
+ class="ellipsis">N:정규직 (@samsung.com)</span><br><span class="ellipsis">U:협력직 C:자회사
+ T:임시직 (@partner.samsung.com)</span><br><span class="ellipsis">X:협력직 Y:자회사 Z:임시직
+ (@samsung.com)</span></span></td>
+ </tr>
+ <tr>
+ <td title="20">20</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response20">영문
+ 사업장명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enBusiName</td>
+ <td>String</td>
+ <td class="left">SDS East Campus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="21">21</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response21">영문
+ 회사명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enCompanyName</td>
+ <td>String</td>
+ <td class="left">SAMSUNG SDS</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="22">22</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response22">영문
+ 부서명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enDepartmentName</td>
+ <td>String</td>
+ <td class="left" title="Knox Development Group">Knox Development Group</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="23">23</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response23">영문
+ 담당업무</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enDiscription</td>
+ <td>String</td>
+ <td class="left" title="Knox Portal User Mgmt.">Knox Portal User Mgmt.</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="24">24</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response24">영문
+ 성명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enFullName</td>
+ <td>String</td>
+ <td class="left">Samsung Kim</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="25">25</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response25">영문
+ 이름</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enGivenName</td>
+ <td>String</td>
+ <td class="left">Samsung</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="26">26</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response26">영문
+ 직위명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enGradeName</td>
+ <td>String</td>
+ <td class="left">Manager</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="27">27</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response27">영문
+ 회사주소</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enOfficeAddress</td>
+ <td>String</td>
+ <td class="left" title="123, Olympic-ro 35-gil, Songpa">123, Olympic-ro 35-gil, Songpa</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description05">우편번호로
+ 구분되는 회사주소</span></td>
+ </tr>
+ <tr>
+ <td title="28">28</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response28">영문
+ 지역명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enRegionName</td>
+ <td>String</td>
+ <td class="left">Jamsil</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="29">29</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response29">영문 파견
+ 사업장명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSendBusiName</td>
+ <td>String</td>
+ <td class="left">Jamsil</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="30">30</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response30">영문 파견
+ 회사명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSendCompanyName</td>
+ <td>String</td>
+ <td class="left">Samsung Electronics</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="31">31</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response31">영문 파견
+ 부서명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSendDepartmentName</td>
+ <td>String</td>
+ <td class="left">IT Service</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="32">32</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response32">영문 파견
+ 직위명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSendGradeName</td>
+ <td>String</td>
+ <td class="left">Lab Leader</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="33">33</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response33">영문 파견
+ 지역명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSendRegionName</td>
+ <td>String</td>
+ <td class="left">Suwon</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="34">34</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response34">영문 파견
+ 총괄명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSendSubOrgName</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="35">35</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response35">영문 파견
+ 직급명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSendTitleName</td>
+ <td>String</td>
+ <td class="left">E5</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="36">36</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response36">영문
+ 성</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSirName</td>
+ <td>String</td>
+ <td class="left">Kim</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="37">37</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response37">영문
+ 총괄명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSubOrgName</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="38">38</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response38">영문
+ 직급명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enTitleName</td>
+ <td>String</td>
+ <td class="left">Senior Engineer</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="39">39</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;epId *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;epId</td>
+ <td>String</td>
+ <td class="left" title="D100118130308C600299">D100118130308C600299</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="40">40</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response39">임원여부</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;executiveYn</td>
+ <td>String</td>
+ <td class="left">N</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description06"><span
+ class="ellipsis">Y: 임원</span><br><span class="ellipsis">N: 직원</span></span></td>
+ </tr>
+ <tr>
+ <td title="41">41</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response40">외부
+ 메일주소</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;externalEmailAddress</td>
+ <td>String</td>
+ <td class="left">knoxportal@gmail.com</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="42">42</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response41">성명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;fullName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request.sample01">김삼성</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="43">43</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response42">이름</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;givenName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.request.sample02">삼성</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="44">44</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response43">직위명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;gradeName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample07">책임</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="45">45</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response44">직위직급
+ 표시코드</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;gradeTitleIndiCode</td>
+ <td>String</td>
+ <td class="left">B</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description07"><span
+ class="ellipsis">G: 직위</span><br><span class="ellipsis">T: 직급</span><br><span
+ class="ellipsis">B: 직위/직급 모두</span></span></td>
+ </tr>
+ <tr>
+ <td title="46">46</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response45">내부
+ 부서코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;inDepartmentCode</td>
+ <td>String</td>
+ <td class="left">RE_KO41</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="47">47</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response46">내부
+ 부서명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;inDepartmentName</td>
+ <td>String</td>
+ <td class="left">Samsung Research</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="48">48</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response47">직무명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;jobName</td>
+ <td>String</td>
+ <td class="left">AEB</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="49">49</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response48">직무코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;jobCode</td>
+ <td>String</td>
+ <td class="left">SystemS/W</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="50">50</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response49">현채인
+ 여부</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;localStaffYn</td>
+ <td>String</td>
+ <td class="left">N</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description08"><span
+ class="ellipsis">Y: 현채인</span><br><span class="ellipsis">N: 현채인 아님</span></span>
+ </td>
+ </tr>
+ <tr>
+ <td title="51">51</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response50">핸드폰</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;mobile</td>
+ <td>String</td>
+ <td class="left">+82-10-1111-2222</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="52">52</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response51">닉네임</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;nickName</td>
+ <td>String</td>
+ <td class="left">nick</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="53">53</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response52">근무지
+ 주소</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;officeAddress</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample05">송파구 올림픽로35길
+ 123</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="54">54</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response53">근무지 상세
+ 주소</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;officeDetailAddress</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample06">동관 19층</span>
+ </td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description09">상세
+ 회사주소</span></td>
+ </tr>
+ <tr>
+ <td title="55">55</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response54">근무지
+ 팩스번호</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;officeFaxNumber</td>
+ <td>String</td>
+ <td class="left">+82-2-2255-1999</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="56">56</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response55">근무지
+ 우편번호</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;officeZipCode</td>
+ <td>String</td>
+ <td class="left">138-240</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="57">57</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response56">근무지
+ 전화번호</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;officeTelNumber</td>
+ <td>String</td>
+ <td class="left">82-70-9999-9999</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="58">58</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response57">선호언어</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;preferredLanguage</td>
+ <td>String</td>
+ <td class="left">ko</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="59">59</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response58">실명
+ 여부</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;realNameYn</td>
+ <td>String</td>
+ <td class="left">R</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description10"><span
+ class="ellipsis">R:실명</span><br><span class="ellipsis">V:가명</span></span></td>
+ </tr>
+ <tr>
+ <td title="60">60</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response59">지역코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;regionCode</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="61">61</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response60">지역명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;regionName</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="62">62</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response61">보안등급</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;securityLevel</td>
+ <td>String</td>
+ <td class="left" title="5">5</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description11"><span
+ class="ellipsis">1:회장단(회장,부회장,비서실장)</span><br><span
+ class="ellipsis">2:사장단(사장,부사장,전무)</span><br><span
+ class="ellipsis">3:임원진(상무,이사,고문,감사)</span><br><span
+ class="ellipsis">4:간부(부,차,과장)</span><br><span
+ class="ellipsis">5:사원(대리,사원)</span><br><span class="ellipsis">9:협력사
+ 임직원</span></span></td>
+ </tr>
+ <tr>
+ <td title="63">63</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response62">파견
+ 사업장코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendBusiCde</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="64">64</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response63">파견
+ 회사코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendCompanyCode</td>
+ <td>String</td>
+ <td class="left">C10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="65">65</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response64">파견
+ 회사명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendCompanyName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample09">삼성전자</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="66">66</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response65">파견
+ 부서코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendDepartmentCode</td>
+ <td>String</td>
+ <td class="left" title="C10CB04CB040060">C10CB04CB040060</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="67">67</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response66">파견
+ 부서명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendDepartmentName</td>
+ <td>String</td>
+ <td class="left">IT Services</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="68">68</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response67">파견
+ 직위명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendGradeName</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="69">69</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response68">파견
+ 직위직급 표시코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendGradeTitleIndiCode</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="70">70</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response69">파견
+ 지역코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendRegionCode</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="71">71</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response70">파견
+ 보안등급</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendSecurityLevel</td>
+ <td>String</td>
+ <td class="left" title="5">5</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description11"><span
+ class="ellipsis">1:회장단(회장,부회장,비서실장)</span><br><span
+ class="ellipsis">2:사장단(사장,부사장,전무)</span><br><span
+ class="ellipsis">3:임원진(상무,이사,고문,감사)</span><br><span
+ class="ellipsis">4:간부(부,차,과장)</span><br><span
+ class="ellipsis">5:사원(대리,사원)</span><br><span class="ellipsis">9:협력사
+ 임직원</span></span></td>
+ </tr>
+ <tr>
+ <td title="72">72</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response71">파견
+ 총괄코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendSubOrgCode</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="73">73</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response72">파견
+ 총괄명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendSubOrgName</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="74">74</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response73">파견
+ 직급명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendTitleName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample07">책임</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="75">75</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response74">파견
+ 직급코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendTitleCode</td>
+ <td>String</td>
+ <td class="left">E5</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="76">76</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response75">파견 직급
+ 정렬 순서</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sendTitleSortOrder</td>
+ <td>String</td>
+ <td class="left" title="309">309</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="77">77</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response76">거점</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;serverLocation</td>
+ <td>String</td>
+ <td class="left">KR</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description12"><span
+ class="ellipsis">KR: 한국</span><br><span class="ellipsis">GB: 구주</span><br><span
+ class="ellipsis">US: 미주</span></span></td>
+ </tr>
+ <tr>
+ <td title="78">78</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response77">성</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sirName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample08">김</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="79">79</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response78">총괄코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;subOrgCode</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="80">80</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response79">총괄명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;subOrgName</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="81">81</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response80">직급명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;titleName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.empsearch.response.sample07">책임</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="82">82</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response81">직급코드</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;titleCode</td>
+ <td>String</td>
+ <td class="left">B2K</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="83">83</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response82">직급정렬순서</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;titleSortOrder</td>
+ <td>String</td>
+ <td class="left" title="54">54</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="84">84</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response83">고유코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;openCode</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="85">85</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response84">로그인
+ 아이디</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;userId</td>
+ <td>String</td>
+ <td class="left">knoxportal</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="86">86</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response85">인터넷
+ 전화번호</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;voipNumber</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="87">87</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response86">퇴직/휴직일</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;withdrawDate</td>
+ <td>String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="88">88</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.empsearch.response87">ID
+ 유효기간</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;epIdExpiryDate</td>
+ <td>String</td>
+ <td class="left" title="20201231">20201231</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="89">89</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.empsearch.response88">타임존</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;timeZone</td>
+ <td>String</td>
+ <td class="left" title="Asia/Seoul">Asia/Seoul</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.response.description13">이름으로 검색
+ 시에는 제공하지 않음</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Sample</p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="40%;">
+ <col width="60%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>Request</th>
+ <th>Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="40%;">
+ <col width="60%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre><span data-message-id="emp.guide.empsearch.response.sample10"><span class="ellipsis">(1)</span><br><span class="ellipsis">/employees?departmentCode=C60AH959</span><br><span class="ellipsis">{"resultType" :"basic"}</span><br><span class="ellipsis"></span><br><span class="ellipsis"></span><br><span class="ellipsis">(2)</span><br><span class="ellipsis">/employees?companyCode=C60&amp;userIds=es.jen.cho,ye.chang</span><br><span class="ellipsis">{"resultType" :"optional",</span><br><span class="ellipsis"> "attributes":["emailAddress","userId"]</span><br><span class="ellipsis">}</span></span>
+ </pre>
+ </td>
+ <td>
+ <pre><span data-message-id="emp.guide.empsearch.response.sample11"><span class="ellipsis">(1)</span><br><span class="ellipsis">* 기본 값으로 설정된 attributes값만 리턴</span><br><span class="ellipsis">{"result":"success",</span><br><span class="ellipsis"> "currentPage":1,</span><br><span class="ellipsis"> "totalPage":2,</span><br><span class="ellipsis"> "totalCount":612,</span><br><span class="ellipsis"> "employees":[</span><br><span class="ellipsis"> {"fullname":"조은성",</span><br><span class="ellipsis"> "departmentname":"개발그룹(SC_인트라넷)",</span><br><span class="ellipsis"> "departmentcode":"C60AH959",...},</span><br><span class="ellipsis"> {"fullName":"김민정","departmentname".....}]</span><br><span class="ellipsis">}</span><br><span class="ellipsis"></span><br><span class="ellipsis"></span><br><span class="ellipsis"></span></span>
+<span data-message-id="emp.guide.empsearch.response.sample12"><span class="ellipsis">(2)</span><br><span class="ellipsis">* body에 설정된 attributes값만 리턴</span><br><span class="ellipsis">{"result":"success",</span><br><span class="ellipsis"> "currentPage":1,</span><br><span class="ellipsis"> "totalPage":1,</span><br><span class="ellipsis"> "totalCount":2,</span><br><span class="ellipsis"> "employees":[{"emailAddress":"es.jen.cho@stage.samsung.com","userId":"es.jen.cho"},</span><br><span class="ellipsis"> {"emailAddress":"ye.chang@stage.samsung.com","userId":"ye.chang"}]</span><br><span class="ellipsis">}</span></span>
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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="emp.guide.empsearch.error00">HTTP응답코드</span></th>
+ <th><span data-message-id="emp.guide.empsearch.error01">에러코드</span></th>
+ <th><span data-message-id="emp.guide.empsearch.error02">에러메시지</span></th>
+ <th><span data-message-id="emp.guide.empsearch.error03">조치방안</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>400</td>
+ <td>EM0001</td>
+ <td class="left desc">Search request with more than 100 list can not be proceeded.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error04">조회건수 100건 초과하여 에러 발생.
+ Parameter 추가하여 조회 건수 축소</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EM0004</td>
+ <td class="left desc">Please insert the search keyword.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error05">Parameter 누락 확인</span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EM0005</td>
+ <td class="left desc">Search keyword length is not valid.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error06">Parameter 길이 확인</span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EM0006</td>
+ <td class="left desc">Search keyword should be no longer than 100 characters.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error07">Parameter 길이 100자 이하로
+ 작성</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EM0007</td>
+ <td class="left desc">Search keyword can not include the caracter.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error08">Parameter에 *, % 이 포함되어
+ 있는지 확인</span></td>
+ </tr>
+ <tr>
+ <td>500</td>
+ <td>EM0010</td>
+ <td class="left desc">EPWebservice.{} Abnormal.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error09">Parameter 누락 또는 잘못된
+ 형식인지 확인</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EM0014</td>
+ <td class="left desc">Please enter {} as required.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error11">{} 필수값 누락</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EM0015</td>
+ <td class="left desc">Please enter {} according to the specified format.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error12">잘못된 형식으로 인한 오류</span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EM0016</td>
+ <td class="left desc">Only one of {} can be selected.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error13">{} 중 한 개만 선택하여 검색
+ 가능</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EM0017</td>
+ <td class="left desc">For the requested search conditions, paging is not possible.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error14">페이징 지원 불가</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EM0018</td>
+ <td class="left desc">Please remove the {} keyword from the requested search conditions and try
+ again.</td>
+ <td class="left desc"><span data-message-id="emp.guide.empsearch.error15">요청한 검색조건 중, {} 조건 제거 후
+ 다시 시도 바랍니다.</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br><br><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="org"><span data-message-id="emp.guide.orgsearch">조직도 조회</span></div>
+ <div class="module-font type02">
+ <p>Request Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="10%;">
+ <col width="15%;">
+ <col width="9%;">
+ <col width="9%;">
+ <col width="9%;">
+ <col width="15%;">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter<br>Type</th>
+ <th>Data<br>Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="10%;">
+ <col width="15%;">
+ <col width="9%;">
+ <col width="9%;">
+ <col width="9%;">
+ <col width="15%;">
+ <col>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td title="1">1</td>
+ <td><span data-message-id="emp.guide.orgsearch.request01">연계 아이디</span></td>
+ <td>System-ID</td>
+ <td>Y</td>
+ <td>Header</td>
+ <td>String</td>
+ <td>C60REST0001</td>
+ <td class="left desc"></td>
+ </tr>
+ <tr>
+ <td title="2">2</td>
+ <td><span data-message-id="emp.guide.orgsearch.request02">회사코드</span></td>
+ <td>companyCode</td>
+ <td>Y</td>
+ <td>Query</td>
+ <td>String</td>
+ <td>C60</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.request.description01"><span
+ class="ellipsis">2번 항목 단독 검색 또는</span><br><span class="ellipsis">3~5번 항목 중 하나와 결합하여
+ 검색</span></span></td>
+ </tr>
+ <tr>
+ <td title="3">3</td>
+ <td><span data-message-id="emp.guide.orgsearch.request03">상위부서코드</span></td>
+ <td>uprDepartmentCode</td>
+ <td rowspan="3">N</td>
+ <td>Query</td>
+ <td>String</td>
+ <td>C60AI572</td>
+ <td class="left desc"><span
+ data-message-id="emp.guide.orgsearch.request.description03">companyCode 쿼리와 함께
+ 사용</span><br><span data-message-id="emp.guide.orgsearch.request.description02"><span
+ class="ellipsis">(3~5번 중</span><br><span class="ellipsis">한 가지만 선택 가능)</span></span>
+ </td>
+ </tr>
+ <tr>
+ <td title="4">4</td>
+ <td><span data-message-id="emp.guide.orgsearch.request04">부서코드</span></td>
+ <td>departmentCode</td>
+ <td>Query</td>
+ <td>String</td>
+ <td>C60AH959</td>
+ <td class="left desc"><span
+ data-message-id="emp.guide.orgsearch.request.description03">companyCode 쿼리와 함께 사용</span>
+ </td>
+ </tr>
+ <tr>
+ <td title="5">5</td>
+ <td><span data-message-id="emp.guide.orgsearch.request05">부서명</span></td>
+ <td>departmentName</td>
+ <td>Query</td>
+ <td>String</td>
+ <td title="123123">123123</td>
+ <td class="left desc"><span
+ data-message-id="emp.guide.orgsearch.request.description03">companyCode 쿼리와 함께 사용</span>
+ </td>
+ </tr>
+ <tr>
+ <td title="6">6</td>
+ <td><span data-message-id="emp.guide.orgsearch.request06">페이지 번호</span></td>
+ <td>page</td>
+ <td>N</td>
+ <td>Query</td>
+ <td>String</td>
+ <td title="1">1</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.request.description05"><span
+ class="ellipsis">companyCode로만 조회하는 경우에만</span><br><span class="ellipsis">paging
+ 적용가능</span><br><span class="ellipsis">page 입력 시 500건씩 조회</span><br><span
+ class="ellipsis">page 입력하지 않을 경우 최대 2,000건 조회</span></span><br><span
+ data-message-id="emp.guide.orgsearch.request.description04"><span
+ class="ellipsis">(companyCode로만</span><br><span class="ellipsis">검색 시
+ 필수)</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div><span data-message-id="emp.guide.orgsearch.response.description01">- 조회대상 회사의 조직정보만 리턴<br>- 조회대상 회사에 신청 회사 외
+ 타사 등록 시 일부 속성(아래 * 표시한 11개 항목)만 조회 가능</span>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="16%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="15%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="16%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="15%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td title="1">1</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response01">API 호출 성공 여부</span></td>
+ <td class="left">result</td>
+ <td>String</td>
+ <td class="left">success<br>fail</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="2">2</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response02">현재 페이지</span></td>
+ <td class="left">currentPage</td>
+ <td>int</td>
+ <td class="left" title="1">1</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="3">3</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response03">총 결과 페이지 수</span></td>
+ <td class="left">totalPage</td>
+ <td>int</td>
+ <td class="left" title="3">3</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="4">4</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response04">검색된 조직정보의 수</span></td>
+ <td class="left">totalCount</td>
+ <td>int</td>
+ <td class="left" title="30">30</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="5">5</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response05">조직 정보 리스트</span></td>
+ <td class="left" title="organizations">organizations</td>
+ <td>JSON String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="6">6</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response06">회사코드</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;companyCode</td>
+ <td>string</td>
+ <td class="left">C60</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="7">7</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response07">회사명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;companyName</td>
+ <td>string</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response.sample01">삼성SDS</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="8">8</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response08">부서코드</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;departmentCode</td>
+ <td>string</td>
+ <td class="left">C60AH959</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="9">9</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response09">부서레벨</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;departmentLevel</td>
+ <td>string</td>
+ <td class="left" title="3">3</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="10">10</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response10">부서명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;departmentName</td>
+ <td>string</td>
+ <td class="left"><span
+ data-message-id="emp.guide.orgsearch.response.sample02">Knox개발그룹(솔루션개발)</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="11">11</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response11">부서간
+ 순위</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;departmentOrder</td>
+ <td>string</td>
+ <td class="left" title="2">2</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="12">12</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response12">영문
+ 회사명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enCompanyName</td>
+ <td>string</td>
+ <td class="left">SAMSUNG SDS</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="13">13</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response13">영문
+ 부서명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enDepartmentName</td>
+ <td>string</td>
+ <td class="left" title="Knox Development Group">Knox Development Group</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="14">14</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response14">영문 부서장
+ 직급</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enManagerTitle</td>
+ <td>string</td>
+ <td class="left" title="Principal Engineer/Group Leader">Principal Engineer/Group Leader</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="15">15</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response15">영문
+ 총괄명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enSubOrgCode</td>
+ <td>string</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="16">16</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response16">내부부서
+ 코드</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;inDepartmentCode</td>
+ <td>string</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="17">17</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response17">하위
+ 부서존재 유무</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;lowDepartmentYn</td>
+ <td>string</td>
+ <td class="left">T</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.response.description02"><span
+ class="ellipsis">T: 존재함</span><br><span class="ellipsis">F: 존재하지 않음</span></span>
+ </td>
+ </tr>
+ <tr>
+ <td title="18">18</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response18">부서장
+ 아이디</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;managerId</td>
+ <td>string</td>
+ <td class="left">kch.jung</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="19">19</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response19">부서장
+ 성명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;managerName</td>
+ <td>string</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response.sample03">정기철</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="20">20</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response20">부서장
+ 직급</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;managerTitle</td>
+ <td>string</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response.sample04">Principal
+ Engineer/그룹장(Sr. SCP)</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="21">21</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response21">표현언어</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;preferredLanguage</td>
+ <td>string</td>
+ <td class="left">ko</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="22">22</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response22">총괄코드</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;subOrgCode</td>
+ <td>string</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="23">23</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response23">총괄명</span> *</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;subOrgName</td>
+ <td>string</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="24">24</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response24">상위
+ 부서코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;uprDepartmentCode</td>
+ <td>string</td>
+ <td class="left">C60AJ336</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="25">25</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response25">영문 상위
+ 부서명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enUprDepartmentName</td>
+ <td>string</td>
+ <td class="left">Solution Development Team</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="26">26</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response26">상위
+ 부서명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;uprDepartmentName</td>
+ <td>string</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response.sample05">솔루션개발팀</span>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="27">27</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.orgsearch.response27">부서 숨김
+ 여부</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;hiddenDepartmentYn</td>
+ <td>string</td>
+ <td class="left">F</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.response.description03"><span
+ class="ellipsis">T: 비노출</span><br><span class="ellipsis">F: 노출</span></span></td>
+ </tr>
+ <tr>
+ <td title="28">28</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response28">법인코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;corpCode</td>
+ <td>string</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response.sample08">A001</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="29">29</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response29">법인명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;corpName</td>
+ <td>string</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response.sample09">영국법인</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="30">30</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.orgsearch.response30">영문법인명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enCorpName</td>
+ <td>string</td>
+ <td class="left"><span data-message-id="emp.guide.orgsearch.response.sample10">UK CORP</span>
+ </td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Sample</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>
+ <pre><span data-message-id="emp.guide.orgsearch.response.sample06">/organizations?companyCode=C60&amp;departmentCode=C60AH959</span>
+ </pre>
+ </td>
+ <td>
+ <pre><span data-message-id="emp.guide.orgsearch.response.sample07"><span class="ellipsis">{</span><br><span class="ellipsis"> "currentPage":"1",</span><br><span class="ellipsis"> "totalPage":"1",</span><br><span class="ellipsis"> "totalCount":"1",</span><br><span class="ellipsis"> "organizations":[{"companyCode":"C60",</span><br><span class="ellipsis"> "departmentname":"knox개발그룹",</span><br><span class="ellipsis"> "enDepartmentName":"Knox Development Group ",</span><br><span class="ellipsis"> ...}]</span><br><span class="ellipsis">}</span></span>
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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="emp.guide.empsearch.error00">HTTP응답코드</span></th>
+ <th><span data-message-id="emp.guide.orgsearch.error01">에러코드</span></th>
+ <th><span data-message-id="emp.guide.orgsearch.error02">에러메시지</span></th>
+ <th><span data-message-id="emp.guide.orgsearch.error03">조치방안</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>400</td>
+ <td>ORG0003</td>
+ <td class="left desc">Please insert the search keyword.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error04">Parameter 확인</span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>ORG0004</td>
+ <td class="left desc">Search keyword must be larger than 4 bytes.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error05">Parameter 길이 4자 이상으로
+ 작성</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>ORG0005</td>
+ <td class="left desc">Search keyword should be no longer than 100 characters.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error06">Parameter 길이 100자 이내로
+ 작성</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>ORG0006</td>
+ <td class="left desc">Search keyword can not include the caracter.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error07">Parameter에 *, % 이 포함되어
+ 있는지 확인</span></td>
+ </tr>
+ <tr>
+ <td>500</td>
+ <td>ORG0010</td>
+ <td class="left desc">ORGWebservice. {} Abnormal.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error08">Parameter 누락 또는 잘못된
+ 형식인지 확인</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>ORG0011</td>
+ <td class="left desc">Please enter {} as required.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error09">{} 필수값 누락</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>ORG0012</td>
+ <td class="left desc">Please enter {} according to the specified format.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error10">잘못된 형식으로 인한 오류</span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>ORG0013</td>
+ <td class="left desc">Only one of {} can be selected.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error11">{} 중 한 개만 선택하여 검색
+ 가능</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>ORG0014</td>
+ <td class="left desc">For the requested search conditions, paging is not possible.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error12">페이징 지원 불가</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br><br><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="title"><span data-message-id="emp.guide.titlesearch">직급정보 조회</span></div>
+ <div class="module-font type02">
+ <p>Request Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="13%;">
+ <col width="16%;">
+ <col width="12%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="15%;">
+ <col width="20%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="13%;">
+ <col width="16%;">
+ <col width="12%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="15%;">
+ <col width="20%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td title="1">1</td>
+ <td class="left"><span data-message-id="emp.guide.titlesearch.request01">연계 아이디</span></td>
+ <td class="left">System-ID</td>
+ <td>Y</td>
+ <td>Header</td>
+ <td>String</td>
+ <td class="left">C60REST0001</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="2">2</td>
+ <td class="left"><span data-message-id="emp.guide.titlesearch.request02">회사코드</span></td>
+ <td class="left">companyCode</td>
+ <td>Y</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left">C60</td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="18%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="18%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="18%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="18%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td title="1">1</td>
+ <td class="left"><span data-message-id="emp.guide.titlesearch.response01">API 호출 성공 여부</span>
+ </td>
+ <td class="left">result</td>
+ <td>String</td>
+ <td class="left">success<br>fail</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="2">2</td>
+ <td class="left"><span data-message-id="emp.guide.titlesearch.response02">직급정보 배열</span></td>
+ <td class="left">titles</td>
+ <td>JSON String</td>
+ <td class="left"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="3">3</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.titlesearch.response03">회사코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;companyCode</td>
+ <td>String</td>
+ <td class="left">C60</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="4">4</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.titlesearch.response04">직급코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;titleCode</td>
+ <td>String</td>
+ <td class="left">B3K</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="5">5</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.titlesearch.response05">직급명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;titleName</td>
+ <td>String</td>
+ <td class="left"><span data-message-id="emp.guide.titlesearch.response.sample01">책임</span></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="6">6</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span
+ data-message-id="emp.guide.titlesearch.response06">영문직급명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;enTitleName</td>
+ <td>String</td>
+ <td class="left">Senior Engineer</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td title="7">7</td>
+ <td class="left">&nbsp;&nbsp;&nbsp;<span data-message-id="emp.guide.titlesearch.response07">직급정렬
+ 순서</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;sortOrder</td>
+ <td>String</td>
+ <td class="left" title="1">1</td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Sample</p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="40%;">
+ <col width="60%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>Request</th>
+ <th>Response</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="40%;">
+ <col width="60%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <pre><span data-message-id="emp.guide.titlesearch.response.sample02">/titles?companyCode=C60</span>
+ </pre>
+ </td>
+ <td>
+ <pre><span data-message-id="emp.guide.titlesearch.response.sample03"><span class="ellipsis">{</span><br><span class="ellipsis"> "result":"success",</span><br><span class="ellipsis"> "titles":[{"companyCode":"C60",</span><br><span class="ellipsis"> "titleCode":"J8",</span><br><span class="ellipsis"> "titleName":"사장",</span><br><span class="ellipsis"> "enTitleName":"CEO",</span><br><span class="ellipsis"> "sortOrder":"1"},</span><br><span class="ellipsis"> {"companyCode":"C60",</span><br><span class="ellipsis"> "titleCode":"J7",</span><br><span class="ellipsis"> "titleName":"상무",</span><br><span class="ellipsis"> "enTitleName":"상무",</span><br><span class="ellipsis"> "sortOrder":"2"},</span><br><span class="ellipsis"> ...]</span><br><span class="ellipsis">}</span></span>
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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="emp.guide.empsearch.error00">HTTP응답코드</span></th>
+ <th><span data-message-id="emp.guide.orgsearch.error01">에러코드</span></th>
+ <th><span data-message-id="emp.guide.orgsearch.error02">에러메시지</span></th>
+ <th><span data-message-id="emp.guide.orgsearch.error03">조치방안</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>400</td>
+ <td>ORG0003</td>
+ <td class="left desc">Please insert the search keyword.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error04">Parameter 확인</span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>ORG0005</td>
+ <td class="left desc">Search keyword should be no longer than 100 characters.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error06">Parameter 길이 100자 이내로
+ 작성</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>ORG0006</td>
+ <td class="left desc">Search keyword can not include the caracter.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error07">Parameter에 *, % 이 포함되어
+ 있는지 확인</span></td>
+ </tr>
+ <tr>
+ <td>500</td>
+ <td>ORG0010</td>
+ <td class="left desc">ORGWebservice. {} Abnormal.</td>
+ <td class="left desc"><span data-message-id="emp.guide.orgsearch.error08">Parameter 누락 또는 잘못된
+ 형식인지 확인</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+</div> \ No newline at end of file
diff --git a/lib/knox-api/employee/employee.ts b/lib/knox-api/employee/employee.ts
new file mode 100644
index 00000000..885b5a3f
--- /dev/null
+++ b/lib/knox-api/employee/employee.ts
@@ -0,0 +1,435 @@
+"use server"
+
+// Knox API 임직원 관련 서버 액션들
+
+// 기본 설정 타입
+interface KnoxConfig {
+ baseUrl: string;
+ systemId: string;
+}
+
+// 공통 응답 타입
+interface BaseResponse {
+ result: "success" | "fail";
+}
+
+// 임직원 조회 관련 타입
+interface EmployeeSearchParams {
+ companyCode?: string;
+ fullName?: string;
+ departmentCode?: string;
+ employeeNumber?: string;
+ name?: string;
+ epIds?: string;
+ userIds?: string;
+ emailAddresses?: string;
+ titleCode?: string;
+ page?: string;
+ resultType: "basic" | "optional";
+ attributes?: string[];
+}
+
+interface Employee {
+ accountStatus?: string;
+ busiCode?: string;
+ busiName?: string;
+ companyCode: string;
+ companyName: string;
+ country?: string;
+ defaultCompanyCode?: string;
+ departmentCode: string;
+ departmentName: string;
+ description?: string;
+ emailAddress?: string;
+ employeeNumber?: string;
+ employeeStatus?: string;
+ employeeType?: string;
+ enBusiName?: string;
+ enCompanyName?: string;
+ enDepartmentName?: string;
+ enDiscription?: string;
+ enFullName?: string;
+ enGivenName?: string;
+ enGradeName?: string;
+ enOfficeAddress?: string;
+ enRegionName?: string;
+ enSendBusiName?: string;
+ enSendCompanyName?: string;
+ enSendDepartmentName?: string;
+ enSendGradeName?: string;
+ enSendRegionName?: string;
+ enSendSubOrgName?: string;
+ enSendTitleName?: string;
+ enSirName?: string;
+ enSubOrgName?: string;
+ enTitleName?: string;
+ epId: string;
+ executiveYn?: string;
+ externalEmailAddress?: string;
+ fullName: string;
+ givenName?: string;
+ gradeName?: string;
+ gradeTitleIndiCode?: string;
+ inDepartmentCode?: string;
+ inDepartmentName?: string;
+ jobName?: string;
+ jobCode?: string;
+ localStaffYn?: string;
+ mobile?: string;
+ nickName?: string;
+ officeAddress?: string;
+ officeDetailAddress?: string;
+ officeFaxNumber?: string;
+ officeZipCode?: string;
+ officeTelNumber?: string;
+ preferredLanguage?: string;
+ realNameYn?: string;
+ regionCode?: string;
+ regionName?: string;
+ securityLevel?: string;
+ sendBusiCde?: string;
+ sendCompanyCode?: string;
+ sendCompanyName?: string;
+ sendDepartmentCode?: string;
+ sendDepartmentName?: string;
+ sendGradeName?: string;
+ sendGradeTitleIndiCode?: string;
+ sendRegionCode?: string;
+ sendSecurityLevel?: string;
+ sendSubOrgCode?: string;
+ sendSubOrgName?: string;
+ sendTitleName?: string;
+ sendTitleCode?: string;
+ sendTitleSortOrder?: string;
+ serverLocation?: string;
+ sirName?: string;
+ subOrgCode?: string;
+ subOrgName?: string;
+ titleName?: string;
+ titleCode?: string;
+ titleSortOrder?: string;
+ openCode?: string;
+ userId?: string;
+ voipNumber?: string;
+ withdrawDate?: string;
+ epIdExpiryDate?: string;
+ timeZone?: string;
+}
+
+interface EmployeeResponse extends BaseResponse {
+ currentPage: number;
+ totalPage: number;
+ totalCount: number;
+ employees: Employee[];
+}
+
+// 조직도 조회 관련 타입
+interface OrganizationSearchParams {
+ companyCode: string;
+ uprDepartmentCode?: string;
+ departmentCode?: string;
+ departmentName?: string;
+ page?: string;
+}
+
+interface Organization {
+ companyCode: string;
+ companyName: string;
+ departmentCode: string;
+ departmentLevel?: string;
+ departmentName: string;
+ departmentOrder?: string;
+ enCompanyName?: string;
+ enDepartmentName?: string;
+ enManagerTitle?: string;
+ enSubOrgCode?: string;
+ inDepartmentCode?: string;
+ lowDepartmentYn?: string;
+ managerId?: string;
+ managerName?: string;
+ managerTitle?: string;
+ preferredLanguage?: string;
+ subOrgCode?: string;
+ subOrgName?: string;
+ uprDepartmentCode?: string;
+ enUprDepartmentName?: string;
+ uprDepartmentName?: string;
+ hiddenDepartmentYn?: string;
+ corpCode?: string;
+ corpName?: string;
+ enCorpName?: string;
+}
+
+interface OrganizationResponse extends BaseResponse {
+ currentPage: number;
+ totalPage: number;
+ totalCount: number;
+ organizations: Organization[];
+}
+
+// 직급정보 조회 관련 타입
+interface TitleSearchParams {
+ companyCode: string;
+}
+
+interface Title {
+ companyCode: string;
+ titleCode: string;
+ titleName: string;
+ enTitleName: string;
+ sortOrder: string;
+}
+
+interface TitleResponse extends BaseResponse {
+ titles: Title[];
+}
+
+// 설정 가져오기 (환경변수 또는 설정에서)
+const getKnoxConfig = (): KnoxConfig => {
+ return {
+ baseUrl: process.env.KNOX_API_BASE_URL || "https://api.knox.samsung.com",
+ systemId: process.env.KNOX_SYSTEM_ID || "C60REST0001"
+ };
+};
+
+// 공통 헤더 생성
+const createHeaders = (systemId: string): Record<string, string> => {
+ return {
+ "Content-Type": "application/json",
+ "System-ID": systemId
+ };
+};
+
+/**
+ * 임직원 조회 API
+ * POST /employee/api/v2.0/employees
+ */
+export async function searchEmployees(params: EmployeeSearchParams): Promise<EmployeeResponse> {
+ const config = getKnoxConfig();
+
+ try {
+ // URL 파라미터 구성
+ const searchParams = new URLSearchParams();
+
+ if (params.companyCode) searchParams.append("companyCode", params.companyCode);
+ if (params.fullName) searchParams.append("fullName", params.fullName);
+ if (params.departmentCode) searchParams.append("departmentCode", params.departmentCode);
+ if (params.employeeNumber) searchParams.append("employeeNumber", params.employeeNumber);
+ if (params.name) searchParams.append("name", params.name);
+ if (params.epIds) searchParams.append("epIds", params.epIds);
+ if (params.userIds) searchParams.append("userIds", params.userIds);
+ if (params.emailAddresses) searchParams.append("emailAddresses", params.emailAddresses);
+ if (params.titleCode) searchParams.append("titleCode", params.titleCode);
+ if (params.page) searchParams.append("page", params.page);
+
+ // Body 데이터 구성
+ const body = {
+ resultType: params.resultType,
+ ...(params.attributes && { attributes: params.attributes })
+ };
+
+ const response = await fetch(
+ `${config.baseUrl}/employee/api/v2.0/employees?${searchParams.toString()}`,
+ {
+ method: "POST",
+ headers: createHeaders(config.systemId),
+ body: JSON.stringify(body)
+ }
+ );
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+
+ const data = await response.json();
+ return data as EmployeeResponse;
+ } catch (error) {
+ console.error("임직원 조회 오류:", error);
+ throw error;
+ }
+}
+
+/**
+ * 조직도 조회 API
+ * GET /employee/api/v2.0/organizations
+ */
+export async function searchOrganizations(params: OrganizationSearchParams): Promise<OrganizationResponse> {
+ const config = getKnoxConfig();
+
+ try {
+ // URL 파라미터 구성
+ const searchParams = new URLSearchParams();
+ searchParams.append("companyCode", params.companyCode);
+
+ if (params.uprDepartmentCode) searchParams.append("uprDepartmentCode", params.uprDepartmentCode);
+ if (params.departmentCode) searchParams.append("departmentCode", params.departmentCode);
+ if (params.departmentName) searchParams.append("departmentName", params.departmentName);
+ if (params.page) searchParams.append("page", params.page);
+
+ const response = await fetch(
+ `${config.baseUrl}/employee/api/v2.0/organizations?${searchParams.toString()}`,
+ {
+ method: "GET",
+ headers: createHeaders(config.systemId)
+ }
+ );
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+
+ const data = await response.json();
+ return data as OrganizationResponse;
+ } catch (error) {
+ console.error("조직도 조회 오류:", error);
+ throw error;
+ }
+}
+
+/**
+ * 직급정보 조회 API
+ * GET /employee/api/v2.0/titles
+ */
+export async function searchTitles(params: TitleSearchParams): Promise<TitleResponse> {
+ const config = getKnoxConfig();
+
+ try {
+ // URL 파라미터 구성
+ const searchParams = new URLSearchParams();
+ searchParams.append("companyCode", params.companyCode);
+
+ const response = await fetch(
+ `${config.baseUrl}/employee/api/v2.0/titles?${searchParams.toString()}`,
+ {
+ method: "GET",
+ headers: createHeaders(config.systemId)
+ }
+ );
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+
+ const data = await response.json();
+ return data as TitleResponse;
+ } catch (error) {
+ console.error("직급정보 조회 오류:", error);
+ throw error;
+ }
+}
+
+/**
+ * 편의 함수들
+ */
+
+/**
+ * 사번으로 임직원 조회
+ */
+export async function getEmployeeByNumber(employeeNumber: string, companyCode?: string): Promise<Employee | null> {
+ try {
+ const response = await searchEmployees({
+ employeeNumber,
+ companyCode,
+ resultType: "basic"
+ });
+
+ if (response.result === "success" && response.employees.length > 0) {
+ return response.employees[0];
+ }
+ return null;
+ } catch (error) {
+ console.error("사번으로 임직원 조회 오류:", error);
+ return null;
+ }
+}
+
+/**
+ * 이메일로 임직원 조회
+ */
+export async function getEmployeeByEmail(emailAddress: string, companyCode?: string): Promise<Employee | null> {
+ try {
+ const response = await searchEmployees({
+ emailAddresses: emailAddress,
+ companyCode,
+ resultType: "basic"
+ });
+
+ if (response.result === "success" && response.employees.length > 0) {
+ return response.employees[0];
+ }
+ return null;
+ } catch (error) {
+ console.error("이메일로 임직원 조회 오류:", error);
+ return null;
+ }
+}
+
+/**
+ * 부서 코드로 임직원 목록 조회
+ */
+export async function getEmployeesByDepartment(departmentCode: string, page?: string): Promise<Employee[]> {
+ try {
+ const response = await searchEmployees({
+ departmentCode,
+ page,
+ resultType: "basic"
+ });
+
+ if (response.result === "success") {
+ return response.employees;
+ }
+ return [];
+ } catch (error) {
+ console.error("부서별 임직원 조회 오류:", error);
+ return [];
+ }
+}
+
+/**
+ * 회사의 모든 부서 조회
+ */
+export async function getDepartmentsByCompany(companyCode: string): Promise<Organization[]> {
+ try {
+ const response = await searchOrganizations({
+ companyCode
+ });
+
+ if (response.result === "success") {
+ return response.organizations;
+ }
+ return [];
+ } catch (error) {
+ console.error("회사별 부서 조회 오류:", error);
+ return [];
+ }
+}
+
+/**
+ * 회사의 모든 직급 조회
+ */
+export async function getTitlesByCompany(companyCode: string): Promise<Title[]> {
+ try {
+ const response = await searchTitles({ companyCode });
+
+ if (response.result === "success") {
+ return response.titles;
+ }
+ return [];
+ } catch (error) {
+ console.error("회사별 직급 조회 오류:", error);
+ return [];
+ }
+}
+
+// 타입 export
+export type {
+ EmployeeSearchParams,
+ Employee,
+ EmployeeResponse,
+ OrganizationSearchParams,
+ Organization,
+ OrganizationResponse,
+ TitleSearchParams,
+ Title,
+ TitleResponse
+};
diff --git a/lib/knox-api/index.ts b/lib/knox-api/index.ts
new file mode 100644
index 00000000..e1ef3d51
--- /dev/null
+++ b/lib/knox-api/index.ts
@@ -0,0 +1,6 @@
+export * from './approval/approval';
+export * from './employee/employee';
+export * from './mail/knox-mail';
+export * from './messenger/messenger';
+export * from './realtime-notification/realtime-notification';
+
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> &nbsp;&nbsp; <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. 발신자의 메일&gt;환경설정&gt; 발신메일저장옵션에 따라 다를 수 있습니다.</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">&nbsp;&nbsp;&nbsp;"subject" :
+ "EMAIL SUBJECT (이메일 제목)",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;"contents" : "EMAIL BODY (이메일
+ 본문)",</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;"contentType" :
+ "TEXT",</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;"docSecuType" :
+ "PERSONAL",</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;"sender"
+ :</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"emailAddress"
+ : "knoxportal@samsung.com"</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;"recipients" :</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"emailAddress"
+ : "knoxportal@samsung.com",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"recipientType"
+ : "TO"</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</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">&nbsp;&nbsp;&nbsp;"mailId":
+ "20190531015540hdp_101d2782e07bbad98034606076da1e299b05",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;"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">&nbsp;&nbsp;&nbsp;"subject" :
+ "EMAIL SUBJECT (이메일 제목)",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;"contents" : "EMAIL BODY (이메일
+ 본문)",</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;"contentType" :
+ "TEXT",</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;"docSecuType" :
+ "PERSONAL",</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;"sender"
+ :</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"emailAddress"
+ : "knoxportal@samsung.com"</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;"recipients" :</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"emailAddress"
+ : "knoxportal@samsung.com",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"recipientType"
+ : "TO"</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;"drmOption" :</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"validDays":"3",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"useCount":"3",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"canView":"0",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"canPrint":"0",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"notifyExternalUser":"0",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"notifyInternalUser":"0"</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</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">&nbsp;&nbsp;&nbsp;"mailId":
+ "20190531015540hdp_101d2782e07bbad98034606076da1e299b05",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;"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">&nbsp;&nbsp;&nbsp;"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">&nbsp;&nbsp;&nbsp;"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
diff --git a/lib/knox-api/messenger/messenger-guide.html b/lib/knox-api/messenger/messenger-guide.html
new file mode 100644
index 00000000..d91167ea
--- /dev/null
+++ b/lib/knox-api/messenger/messenger-guide.html
@@ -0,0 +1,9422 @@
+<div class="body-content">
+ <div class="sub-header margin">
+ <h2 data-message-id="messenger.intro.subject" title="메신저
+ ">메신저</h2>
+ </div>
+ <div class="module-subsum">
+ <p><span data-message-id="messenger.guide.description">사전에 생성하신 Knox Portal 비실명계정을 발신자로 하여 Knox Messenger 내에서
+ 대화방을 생성하고 메시지를 발신할 수 있습니다.<br> 발신계정을 챗봇 타입으로 생성하시고 수신API 구축하시면 메시지를 수신하실 수도 있습니다..</span></p>
+ </div><br>
+ <div class="module-font type03"><span data-message-id="messenger.policy.subject">[정책 및 제약사항]</span></div>
+ <div class="module-font type04">
+ <dl>
+ <dt><span data-message-id="messenger.policy.description1">1. 토큰 발급부터 메시지 발송까지 필수 작업 순서는 아래와 같습니다.</span>
+ </dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description1-1">1) 메신저 API 신청을 통해 Access Token을
+ 획득합니다.</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description1-2">2) 디바이스 등록 API 수행 (GET
+ /messenger/contact/api/v1.0/device/o1/reg)을 통해 Devide ID를 획득합니다.</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description1-3">3) 암호화 키 조회 API 수행 (GET
+ /messenger/msgctx/api/v1.0/key/getkeys)을 통해 key value를 획득합니다.</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description1-4">4) 위의 1),2),3) 에서 획득한 파라미터를 사용하여 대화방 생성
+ API(/messenger/message/api/v1.0/message/createChatroomRequest), 메시지 발신
+ API(/messenger/message/api/v1.0/message/chatRequest) 호출합니다.</span></dt>
+ <dt><span data-message-id="messenger.policy.description2">2. 메신저 API는 다음과 같은 연속호출 제한조건이 있으니 반드시 준수하여 주시기
+ 바랍니다.</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description2-1">- ShortTerm 정책: 1초당 50건 초과 시 해당 계정으로의 요청이
+ 1초 간 차단</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description2-2">- LongTerm 정책: 15분당 20,000건 초과 시 해당 계정으로의
+ 요청이 12시간 동안 차단</span></dt>
+ <dt><span data-message-id="messenger.policy.description3">3. 1회 발송 가능한 최대 메시지 길이는 유형별로 상이합니다.</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description3-1">- 0 (Text type) : 3300 자</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description3-2">- 1 (Media type), 8 (Ncustom type) :
+ 40,000 byte</span></dt>
+ <dt><span data-message-id="messenger.policy.description4">4. 전송가능 파일 확장자는 아래와 같습니다.</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description4-1">- IMAGE : jpg,jpeg,png,gif</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description4-2">- VIDEO :
+ mp4,3gp,mov,flv,wmv,mkv,mpg,avi,3g2,m4v,ts,webm</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description4-3">- AUDIO :
+ mp3,aac,m4a,amr,3ga,wma,imy,mid,mpeg,flac,ogg,wav</span></dt>
+ <dt>&nbsp;<span data-message-id="messenger.policy.description4-4">- FILE :
+ pdf,gul,hwp,ppt,pptx,doc,docx,rtf,xls,xlsx,txt,snb,scc,spd,zip,ics</span></dt>
+ </dl>
+ </div><br>
+ <div class="module-font type03"><span data-message-id="subject.api.list">[API 목록]</span></div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="200px">
+ <col width="450px">
+ <col width="80px">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="left">API</th>
+ <th class="left">URI</th>
+ <th>Method</th>
+ <th class="left">Description</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="200px">
+ <col width="450px">
+ <col width="80px">
+ <col>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><a href="#msg1"><span data-message-id="messenger.apilist.CO1.name">메신저 연락처
+ 추가</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.CO1.path">/messenger/contact/api/v1.0/contact/o1/user</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.CO1.description">메신저 연락처에 친구를
+ 등록한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg2"><span data-message-id="messenger.apilist.CO2.name">메신저 연락처
+ 삭제</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.CO2.path">/messenger/contact/api/v1.0/contact/o1/user/delete</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.CO2.description">메신저 연락처에 친구를
+ 삭제한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg3"><span data-message-id="messenger.apilist.CO3.name">메신저 연락처 리스트
+ 조회</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.CO3.path">/messenger/contact/api/v1.0/contact/o1/list</span>
+ </td>
+ <td>GET</td>
+ <td class="left"><span data-message-id="messenger.apilist.CO3.description">메신저 연락처 등록된 리스트를
+ 조회한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg4"><span data-message-id="messenger.apilist.CO4.name">메신저 User ID
+ 검색</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.CO4.path">/messenger/contact/api/v1.0/profile/o1/search/loginid</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.CO4.description">Knox Portal ID로 메신저
+ 내부 User ID를 검색한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg5"><span data-message-id="messenger.apilist.CO5.name">메신저 Device
+ 등록</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.CO5.path">/messenger/contact/api/v1.0/device/o1/reg</span>
+ </td>
+ <td>GET</td>
+ <td class="left"><span data-message-id="messenger.apilist.CO5.description">연계시스템 발신계정에 대한 메신저
+ Device를 등록한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg6"><span data-message-id="messenger.apilist.CO6.name">메신저 Device
+ 해지</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.CO6.path">/messenger/contact/api/v1.0/device/o1/delete</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.CO6.description">연계시스템 발신계정에 대한 메신저
+ Device를 해지한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg7"><span data-message-id="messenger.apilist.CO7.name">메신저 Device
+ 사용정보 조회</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.CO7.path">/messenger/contact/api/v1.0/device/o1/use/info</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.CO7.description">본인 또는 타인의 메신저 Device별
+ 사용정보를 조회한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg8"><span data-message-id="messenger.apilist.FI1.name">파일서버 암호화 Key
+ 조회</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.FI1.path">/messenger/file/api/v1.0/file/v1/getCurrentTime</span>
+ </td>
+ <td>GET</td>
+ <td class="left"><span data-message-id="messenger.apilist.FI1.description">파일 업로드/다운로드 API 사용을
+ 위한 암호화 Key를 조회한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg9"><span data-message-id="messenger.apilist.FI2.name">파일
+ 업로드</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.FI2.path">/messenger/file/api/v1.0/file/v1s/file/{filename}</span>
+ </td>
+ <td>PUT</td>
+ <td class="left"><span data-message-id="messenger.apilist.FI2.description">첨부파일을 업로드한다.</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg10"><span data-message-id="messenger.apilist.FI3.name">파일
+ 다운로드</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.FI3.path">/messenger/file/api/v1.0/file/v1s/file/{file_id}</span>
+ </td>
+ <td>GET</td>
+ <td class="left"><span data-message-id="messenger.apilist.FI3.description">첨부파일을 다운로드한다.</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg11"><span data-message-id="messenger.apilist.MC1.name">메시지서버 암호화
+ Key 조회</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MC1.path">/messenger/msgctx/api/v1.0/key/getkeys</span>
+ </td>
+ <td>GET</td>
+ <td class="left"><span data-message-id="messenger.apilist.MC1.description">메시지서버의 Body 암호화용 Key를
+ 조회한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg12"><span data-message-id="messenger.apilist.MC2.name">대화방 참여자정보
+ 조회</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MC2.path">/messenger/msgctx/api/v1.0/chat/activemember</span>
+ </td>
+ <td>GET</td>
+ <td class="left"><span data-message-id="messenger.apilist.MC2.description">특정 대화방의 참여자수와 User
+ ID를 조회한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg13"><span data-message-id="messenger.apilist.MS1.name">대화방
+ 생성</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS1.path">/messenger/message/api/v1.0/message/createChatroomRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS1.description">신규 대화방을 생성한다.</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg14"><span data-message-id="messenger.apilist.MS2.name">메시지
+ 발신</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS2.path">/messenger/message/api/v1.0/message/chatRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS2.description">대화방에 메시지를
+ 발신한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg15"><span data-message-id="messenger.apilist.MS3.name">대화상대
+ 초대</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS3.path">/messenger/message/api/v1.0/message/inviteRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS3.description">대화방에 대화상대를
+ 초대한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg16"><span data-message-id="messenger.apilist.MS4.name">대화상대
+ 내보내기</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS4.path">/messenger/message/api/v1.0/message/removeMemberRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS4.description">대화방에서 대화상대를
+ 내보낸다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg17"><span data-message-id="messenger.apilist.MS5.name">대화방
+ 삭제</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS5.path">/messenger/message/api/v1.0/message/destroyChatroomRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS5.description">대화방을 삭제한다.</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg18"><span data-message-id="messenger.apilist.MS6.name">메시지
+ 발신취소</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS6.path">/messenger/message/api/v1.0/message/recallMessageRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS6.description">발신된 메시지를
+ 발신취소한다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg19"><span data-message-id="messenger.apilist.MS7.name">대화방명
+ 변경</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS7.path">/messenger/message/api/v1.0/message/changeChatroomMetaRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS7.description">대화방 이름을 변경한다. (방장만
+ 가능)</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg20"><span data-message-id="messenger.apilist.MS8.name">방장
+ 변경</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS8.path">/messenger/message/api/v1.0/message/changeOwnerRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS8.description">대화방의 방장을 변경한다. (방장만
+ 가능)</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg21"><span data-message-id="messenger.apilist.MS9.name">대화방
+ 나가기</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS9.path">/messenger/message/api/v1.0/message/endChatRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS9.description">대화방을 나간다.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><a href="#msg22"><span data-message-id="messenger.apilist.MS10.name">메시지 읽음
+ Count 조회</span></a></td>
+ <td class="left"><span
+ data-message-id="messenger.apilist.MS10.path">/messenger/message/api/v1.0/message/messageReadCountRequest</span>
+ </td>
+ <td>POST</td>
+ <td class="left"><span data-message-id="messenger.apilist.MS10.description">발신된 메시지의 읽음 Count를
+ 조회한다.</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br><br><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg1"><span data-message-id="messenger.contact.add.user.subject">Add user</span>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.contact.add.user.uri">/messenger/contact/api/v1.0/contact/o1/user</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.contact.add.user.detail1">연락처에 친구 추가. 자통법 대상자는 친구 추가 불가 및 blocklist로 결과
+ 반환.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span>Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.request.token.properties">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.token.attribute">Authorization</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.token.sample">Bearer
+ fc55e83b7dea72ebe8f4f0dee2a2c4</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.token.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="messenger.service.request.devicetype.properties">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.attribute">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.sample">relation</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.devicetype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.properties">Device
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.deviceid.attribute">x-device-id</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.sample">1234</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.deviceid.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.properties">Content Type</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.attribute">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.sample">application/json</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.contenttype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.properties">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.attribute">Accept</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.sample">application/json</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.accept.note"></span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.request.contactList.properties">연락처에 등록할
+ contactList</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.request.contactList.attribute">contactList</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.list">List</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.request.contactList.sample.data"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.request.contactList.note"></span></td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.request.userID.properties">연락처에 등록할
+ userID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.request.userID.attribute">contactList.userID</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.request.userID.sample.data">1010101010101</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.request.userID.note"></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">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.contact.add.user.response.contactList.properties">연락처에 등록된
+ userID 리스트</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.response.contactList.attribute">contactList</span>
+ </td>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.contactList.data.type">List</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.response.contactList.sample.data"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.contactList.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.response.contactList.userID.properties">연락처에
+ 등록된 userID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.response.contactList.userID.attribute">userID</span>
+ </td>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.contactList.userID.data.type">Long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.contact.add.user.response.contactList.userID.sample.data">1010101010103</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.contactList.userID.note"></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 style="text-align: left;"><span
+ data-message-id="messenger.contact.add.user.request.sample"><span
+ class="ellipsis"></span><br><span class="ellipsis">POST
+ /messenger/contact/api/v1.0/contact/o1/user HTTP/1.1</span><br><span
+ class="ellipsis">Host : yyy.xxxxxx.com</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;“contactList” : [</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { “userID” :
+ 10101010101 },</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { “userID” :
+ 10101010102 }</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;]</span><br><span
+ class="ellipsis">}</span></span></td>
+ <td style="text-align: left;"><span
+ data-message-id="messenger.contact.add.user.response.sample"><span
+ class="ellipsis"></span><br><span class="ellipsis">{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;“contactList” : [</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { “userID” :
+ 10101010101 }</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;],&nbsp;&nbsp;&nbsp;&nbsp;“blockedUserIDList”
+ : [</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { “userID” :
+ 10101010102 }</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;]</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
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc100002.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc100002.statuscode">CFC-100002</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc100002.message">Group
+ is not exist</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc100002.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200001.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200001.statuscode">CFC-200001</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200001.message">Contact
+ is already added</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200001.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200003.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200003.statuscode">CFC-200003</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200003.message">parameter
+ userID is invalid userID</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200003.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200004.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200004.statuscode">CFC-200004</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200004.message">Blocked
+ Group Relation</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200004.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200005.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200005.statuscode">CFC-200005</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200005.message">Exceeded
+ max contact member limit</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.add.user.response.errorcode.cfc200005.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg2"><span data-message-id="messenger.contact.delete.user.subject">Delete
+ user</span></div>
+ <div class="module-font type02">
+ <p><span
+ data-message-id="messenger.contact.delete.user.uri">/messenger/contact/api/v1.0/contact/o1/user/delete</span>
+ </p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.contact.delete.user.detail1">연락처에서 친구를 삭제.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span>Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.request.token.properties">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.token.attribute">Authorization</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.token.sample">Bearer
+ fc55e83b7dea72ebe8f4f0dee2a2c4</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.token.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="messenger.service.request.devicetype.properties">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.attribute">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.sample">relation</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.devicetype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.properties">Device
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.deviceid.attribute">x-device-id</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.sample">1234</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.deviceid.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.properties">Content Type</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.attribute">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.sample">application/json</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.contenttype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.properties">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.attribute">Accept</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.sample">application/json</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.accept.note"></span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span
+ data-message-id="messenger.contact.delete.user.request.contactList.properties">연락처에서 제거할
+ contactList</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.delete.user.request.contactList.attribute">contactList</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.list">List</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.delete.user.request.contactList.sample.data"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.delete.user.request.contactList.note"></span></td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td class="left"><span
+ data-message-id="messenger.contact.delete.user.request.userID.properties">연락처에서 제거할
+ userID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.delete.user.request.userID.attribute">contactList.userID</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.contact.delete.user.request.userID.sample.data">1010101010101</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.delete.user.request.userID.note"></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">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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>-</td>
+ <td>-</td>
+ <td>-</td>
+ <td>-</td>
+ <td>-</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 style="text-align: left;"><span
+ data-message-id="messenger.contact.delete.user.request.sample"><span
+ class="ellipsis"></span><br><span class="ellipsis">POST
+ /messenger/contact/api/v1.0/contact/o1/user/delete HTTP/1.1</span><br><span
+ class="ellipsis">Host : yyy.xxxxxx.com</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;“contactList” : [</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { “userID” :
+ 10101010101 },</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { “userID” :
+ 10101010102 }</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;]</span><br><span
+ class="ellipsis">}</span></span></td>
+ <td>-</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
+ data-message-id="messenger.contact.delete.user.response.errorcode.cfc100002.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.contact.delete.user.response.errorcode.cfc100002.statuscode">CFC-100002</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.delete.user.response.errorcode.cfc100002.message">Group
+ is not exist</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.delete.user.response.errorcode.cfc100002.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span
+ data-message-id="messenger.contact.delete.user.response.errorcode.cfc200002.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.contact.delete.user.response.errorcode.cfc200002.statuscode">CFC-200002</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.delete.user.response.errorcode.cfc200002.message">parameter
+ userid is not exist in contactlist</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.contact.delete.user.response.errorcode.cfc200002.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font h4" id="msg3"><span data-message-id="messenger.service.contactmanage.read.subject">Contact
+ list</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.contactmanage.read.uri">GET
+ /messenger/contact/api/v1.0/contact/o1/list</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.contactmanage.read.description">등록된 연락처 목록을 조회횐다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.request.token.properties">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.token.attribute">Authorization</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.token.sample">Bearer
+ fc55e83b7dea72ebe8f4f0dee2a2c4</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.token.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="messenger.service.request.devicetype.properties">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.attribute">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.sample">relation</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.devicetype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.properties">Device
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.deviceid.attribute">x-device-id</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.sample">1234</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.deviceid.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.properties">Content Type</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.attribute">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.sample">application/json</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.contenttype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.properties">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.attribute">Accept</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.sample">application/json</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.accept.note"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject">Response Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="35%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="35%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.contactmanage.read.response.synctime.properties">동기화시간</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.contactmanage.read.response.synctime.attribute">syncTime</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.contactmanage.read.response.synctime.datatype">long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.contactmanage.read.response.synctime.sample">1480489063661</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.contactmanage.read.response.synctime.note">Returns
+ sync time which will be used at next API call.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.contactmanage.read.response.contactList.properties">연락처
+ 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.contactmanage.read.response.contactList.attribute">contactList</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.contactmanage.read.response.contactList.datatype">List</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.contactmanage.read.response.contactList.sample"><span
+ class="ellipsis">[</span><br><span class="ellipsis">{"userID":
+ 753912291915206657},</span><br><span class="ellipsis">{"userID":
+ 753912292411707393},</span><br><span class="ellipsis">{"userID":
+ 753912844722900993},</span><br><span class="ellipsis">{"userID":
+ 753913660166377473}</span><br><span class="ellipsis">]</span></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.contactmanage.read.response.contactList.note">Returns
+ contact list</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.contactmanage.read.response.userId.properties">사용자ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.contactmanage.read.response.userId.attribute">contactList:userID</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.contactmanage.read.response.userId.datatype">long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.contactmanage.read.response.userId.sample">753912291915206657</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.contactmanage.read.response.userId.note">Returns
+ userID of contact.</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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 style="text-align: left;"><span
+ data-message-id="messenger.service.contactmanage.read.sample.request">/messenger/contact/api/v1.0/contact/o1/list</span>
+ </td>
+ <td style="text-align: left;"><span
+ data-message-id="messenger.service.contactmanage.read.sample.response"><span
+ class="ellipsis">{</span><br><span class="ellipsis">"syncTime":
+ 1480489063661",</span><br><span class="ellipsis">"contactList": [</span><br><span
+ class="ellipsis">{"userID": 753912291915206657},</span><br><span
+ class="ellipsis">{"userID": 753912292411707393},</span><br><span
+ class="ellipsis">{"userID": 753912844722900993},</span><br><span
+ class="ellipsis">{"userID": 753913660166377473}</span><br><span
+ class="ellipsis">]</span><br><span class="ellipsis">}</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font h4" id="msg4"><span data-message-id="messenger.service.search.loginidlist.subject">Login ID
+ List Search</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.search.loginidlist.uri">POST
+ /messenger/contact/api/v1.0/profile/o1/search/loginid</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.search.loginidlist.description">SingleID (Knox Portal ID)를 이용한 사용자
+ 검색</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.request.token.properties">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.token.attribute">Authorization</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.token.sample">Bearer
+ fc55e83b7dea72ebe8f4f0dee2a2c4</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.token.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="messenger.service.request.devicetype.properties">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.attribute">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.sample">relation</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.devicetype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.properties">Device
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.deviceid.attribute">x-device-id</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.sample">1234</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.deviceid.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.properties">Content Type</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.attribute">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.sample">application/json</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.contenttype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.properties">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.attribute">Accept</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.sample">application/json</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.accept.note"></span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.request.singleidlist.properties">검색할
+ 사용자 리스트</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.request.singleidlist.attribute">singleIdList</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.list">List</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.request.singleidlist.sample"><span
+ class="ellipsis">[</span><br><span class="ellipsis">{"singleId" :
+ "test1.kim"},</span><br><span class="ellipsis">{"singleId" :
+ "test2.lee"},</span><br><span class="ellipsis">{"singleId" :
+ "test3.park"}</span><br><span class="ellipsis">]</span></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.search.loginidlist.request.singleidlist.note">검색할 사용자
+ 리스트</span></td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.request.singleid.properties">검색할
+ 사용자의 Knox Portal ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.request.singleid.attribute">singleIdList:singleId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.request.singleid.sample">test1.kim</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.search.loginidlist.request.singleid.note">검색할 사용자의
+ Knox Portal ID</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject">Response Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="35%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="35%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.userSearchResult.properties">사용자조회결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.userSearchResult.attribute">userSearchResult</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.search.loginidlist.response.userSearchResult.datatype">Object</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.userSearchResult.sample"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.search.loginidlist.response.userSearchResult.note">Returns
+ profile search result.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.searchResultList.properties">조회결과목록</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.searchResultList.attribute">searchResultList</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.search.loginidlist.response.searchResultList.datatype">List</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.searchResultList.sample"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.search.loginidlist.response.searchResultList.note">Returns
+ users userID</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.userID.properties">사용자ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.userID.attribute">userID</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.search.loginidlist.response.userID.datatype">long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.userID.sample">753913659651002369</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.search.loginidlist.response.userID.note">Returns
+ users userID.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.singleID.properties">싱글ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.singleID.attribute">singleID</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.search.loginidlist.response.singleID.datatype">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.search.loginidlist.response.singleID.sample">test1.kim</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.search.loginidlist.response.singleID.note">Returns
+ users Knox Suite ID</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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 style="text-align: left;"><span
+ data-message-id="messenger.service.search.loginidlist.sample.request"><span
+ class="ellipsis">POST /messenger/contact/api/v1.0/profile/o1/search/loginid HTTP/1.1
+ </span><br><span class="ellipsis">{</span><br><span class="ellipsis">"singleIdList" :
+ [</span><br><span class="ellipsis">{"singleId" : "test1.kim"},</span><br><span
+ class="ellipsis">{"singleId" : "test2.lee"},</span><br><span
+ class="ellipsis">{"singleId" : "test3.park"}</span><br><span
+ class="ellipsis">]</span><br><span class="ellipsis">}</span></span></td>
+ <td style="text-align: left;"><span
+ data-message-id="messenger.service.search.loginidlist.sample.response"><span
+ class="ellipsis">{</span><br><span class="ellipsis">"userSearchResult":
+ {</span><br><span class="ellipsis">"searchResultList": [</span><br><span
+ class="ellipsis">{</span><br><span class="ellipsis">"userID":
+ 753913659651002369,</span><br><span class="ellipsis">"singleID":
+ "test1.kim"</span><br><span class="ellipsis">}</span><br><span
+ class="ellipsis">{</span><br><span class="ellipsis">"userID":
+ 753913660166377473,</span><br><span class="ellipsis">"singleID":
+ "test3.park"</span><br><span class="ellipsis">}</span><br><span
+ class="ellipsis">],</span><br><span class="ellipsis">"hasMore":
+ false</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">}</span><br><span class="ellipsis">}</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font h4" id="msg5"><span data-message-id="messenger.service.deviceregistration.subject">Device
+ registration</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.deviceregistration.uri">GET
+ /messenger/contact/api/v1.0/device/o1/reg</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.deviceregistration.description">사용 기기를 등록 및 Knox Messenger 기기 인증에
+ 사용될 x-device-id값 제공.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.request.token.properties">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.token.attribute">Authorization</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.token.sample">Bearer
+ fc55e83b7dea72ebe8f4f0dee2a2c4</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.token.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="messenger.service.request.devicetype.properties">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.attribute">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.sample">relation</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.devicetype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.properties">Content Type</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.attribute">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.sample">application/json</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.contenttype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.properties">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.attribute">Accept</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.sample">application/json</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.accept.note"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject">Response Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="35%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="10%;">
+ <col width="10%;">
+ <col width="30%;">
+ <col width="35%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.deviceregistration.response.deviceServerID.properties">디바이스서버ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.deviceregistration.response.deviceServerID.attribute">deviceServerID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.deviceregistration.response.deviceServerID.datatype">long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.deviceregistration.response.deviceServerID.sample">22222</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.response.deviceServerID.note">등록된
+ deviceID.</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.deviceregistration.response.userID.properties">등록된
+ 기기의 사용자ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.deviceregistration.response.userID.attribute">userID</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.deviceregistration.response.userID.datatype">long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.deviceregistration.response.userID.sample">110101010</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.response.userID.note">Returns
+ users userID.</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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 style="text-align: left;"><span
+ data-message-id="messenger.service.deviceregistration.sample.request">GET
+ /messenger/contact/api/v1.0/device/o1/reg HTTP/1.1</span></td>
+ <td style="text-align: left;"><span
+ data-message-id="messenger.service.deviceregistration.sample.response"><span
+ class="ellipsis">{</span><br><span class="ellipsis">“deviceServerID” :
+ 22222,</span><br><span class="ellipsis">“userID” : 110101010</span><br><span
+ class="ellipsis">}</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type01"><span data-message-id="messenger.service.errorcode.subject">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
+ data-message-id="messenger.service.deviceregistration.errorcode.statuscode.403">403</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900003.code">CFC-900003</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900003.message">device
+ type is not invalid</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900003.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span
+ data-message-id="messenger.service.deviceregistration.errorcode.statuscode.403">403</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900008.code">CFC-900008</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900008.message">exceeded
+ device reg limit</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900008.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span
+ data-message-id="messenger.service.deviceregistration.errorcode.statuscode.403">403</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900009.code">CFC-900009</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900009.message">exceeded
+ device model length limit</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900009.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span
+ data-message-id="messenger.service.deviceregistration.errorcode.statuscode.403">403</span>
+ </td>
+ <td><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900010.code">CFC-900010</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900010.message">Device
+ reg is not allowed</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.deviceregistration.errorcode.CFC-900010.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg6"><span data-message-id="messenger.device.deregistration.subject">Device
+ deregistration</span></div>
+ <div class="module-font type02">
+ <p><span
+ data-message-id="messenger.device.deregistration.uri">/messenger/contact/api/v1.0/device/o1/delete</span>
+ </p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.device.deregistration.detail1">등록된 기기를 해지. 접속 중인 기기를 해지할 경우 미인증 단말로
+ 인식.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span>Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.request.token.properties">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.token.attribute">Authorization</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.token.sample">Bearer
+ fc55e83b7dea72ebe8f4f0dee2a2c4</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.token.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="messenger.service.request.devicetype.properties">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.attribute">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.sample">relation</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.devicetype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.properties">Device
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.deviceid.attribute">x-device-id</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.sample">1234</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.deviceid.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.properties">Content Type</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.attribute">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.sample">application/json</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.contenttype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.properties">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.attribute">Accept</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.sample">application/json</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.accept.note"></span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span
+ data-message-id="messenger.device.deregistration.request.properties.systemid">등록 해지된
+ deviceID.</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deregistration.request.attribute.systemid">deviceServerID</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deregistration.request.sample.systemid">10101010101</span>
+ </td>
+ <td class="left desc"><span data-message-id="mail.service.request.note.systemid"></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">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.device.deregistration.response01">API 호출 성공
+ 여부</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deregistration.attribute.result">result</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.device.deregistration.sample.result">success,
+ fail</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.device.deregistration.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 style="text-align: left;"><span
+ data-message-id="messenger.device.deregistration.sample.request"><span
+ class="ellipsis">{</span><br><span class="ellipsis">POST
+ /messenger/contact/api/v1.0/device/o1/delete HTTP/1.1</span><br><span
+ class="ellipsis">Host : yyy.xxxxxx.com</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">{</span><br><span
+ class="ellipsis">“deviceList” : [</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; { “deviceServerID” : 10101010101
+ },</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; { “deviceServerID” :
+ 10101010102 }</span><br><span class="ellipsis">]</span><br><span
+ class="ellipsis">}}</span></span></td>
+ <td style="text-align: left;">-</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>CFC-900006</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.device.deregistration.errorcode.messeage.cfc9000006">parameter
+ deviceID is not registered</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.device.deregistration.errorcode.measures.cfc9000006">parameter
+ deviceID is not registered</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg7"><span data-message-id="messenger.device.deviceuseinfo.subject">Device use
+ Info</span></div>
+ <div class="module-font type02">
+ <p><span
+ data-message-id="messenger.device.deviceuseinfo.uri">/messenger/contact/api/v1.0/device/o1/use/info</span>
+ </p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.device.deviceuseinfo.detail1">본인 및 타인의 기기별 마지막 사용시간 조회.(Open API 기기
+ 제외)</span></p>
+ <p><span data-message-id="messenger.device.deviceuseinfo.detail2">singleIdList는 최대 600개까지 입력 가능함.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span>Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.request.token.properties">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.token.attribute">Authorization</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.token.sample">Bearer
+ fc55e83b7dea72ebe8f4f0dee2a2c4</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.token.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="messenger.service.request.devicetype.properties">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.attribute">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.devicetype.sample">relation</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.devicetype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.properties">Device
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.deviceid.attribute">x-device-id</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span data-message-id="messenger.service.request.deviceid.sample">1234</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.deviceid.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.properties">Content Type</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.attribute">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.contenttype.sample">application/json</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.contenttype.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.properties">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.attribute">Accept</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.request.accept.sample">application/json</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.request.accept.note"></span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.request.properties01.systemid">조회할 사용자
+ 리스트.</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.request.attribute01.systemid">singleIdList</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.list">List</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.request.sample01.systemid">[]</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.note.systemid"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.request.properties02.systemid">조회할 사용자의
+ Knox Suite ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.request.attribute02.systemid">singleIdList.singleId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.request.sample02.systemid">[]</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.request.note.systemid"></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">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.device.deviceuseinfo.response01">API 호출 성공
+ 여부</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.attribute01.result">result</span></td>
+ <td><span data-message-id="messenger.device.deviceuseinfo.request.datatype.string">String</span>
+ </td>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.sample01.result">success,
+ fail</span></td>
+ <td class="left desc"><span data-message-id="messenger.device.deviceuseinfo.note.result"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.response02">사용자별 검색
+ 결과</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.attribute02.result">userDeviceList</span>
+ </td>
+ <td><span data-message-id="messenger.device.deviceuseinfo.request.datatype.string">String</span>
+ </td>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.sample02.result">[
+ ]</span></td>
+ <td class="left desc"><span data-message-id="messenger.device.deviceuseinfo.note.result"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.response03">사용자의
+ userID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.attribute03.result">userID</span></td>
+ <td><span data-message-id="messenger.device.deviceuseinfo.request.datatype.long">Long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.sample03.result">10101010101</span></td>
+ <td class="left desc"><span data-message-id="messenger.device.deviceuseinfo.note.result"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.response04">사용자의 Knox
+ Suite ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.attribute04.result">singleID</span></td>
+ <td><span data-message-id="messenger.device.deviceuseinfo.request.datatype.string">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.sample04.result">test1.kim</span></td>
+ <td class="left desc"><span data-message-id="messenger.device.deviceuseinfo.note.result"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.response05">사용자의
+ deviceList</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.attribute05.result">deviceList</span>
+ </td>
+ <td><span data-message-id="messenger.device.deviceuseinfo.request.datatype.list">List</span>
+ </td>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.sample05.result">[
+ ]</span></td>
+ <td class="left desc"><span data-message-id="messenger.device.deviceuseinfo.note.result"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.response06">사용자의
+ deviceID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.attribute06.result">deviceServerID</span>
+ </td>
+ <td><span data-message-id="messenger.device.deviceuseinfo.request.datatype.long">Long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.sample06.result">20490</span></td>
+ <td class="left desc"><span data-message-id="messenger.device.deviceuseinfo.note.result"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.response07">마지막
+ 접속시간</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.attribute07.result">conn_date</span>
+ </td>
+ <td><span data-message-id="messenger.device.deviceuseinfo.request.datatype.string">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.sample07.result">2016-06-22 PM
+ 04:22:46</span></td>
+ <td class="left desc"><span data-message-id="messenger.device.deviceuseinfo.note.result"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.response08">OS
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.attribute08.result">deviceOsType</span>
+ </td>
+ <td><span data-message-id="messenger.device.deviceuseinfo.request.datatype.string">String</span>
+ </td>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.sample08.result">Windows,
+ Android,iOS</span></td>
+ <td class="left desc"><span data-message-id="messenger.device.deviceuseinfo.note.result"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.response09">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.device.deviceuseinfo.attribute09.result">deviceType</span>
+ </td>
+ <td><span data-message-id="messenger.device.deviceuseinfo.request.datatype.string">String</span>
+ </td>
+ <td class="left"><span data-message-id="messenger.device.deviceuseinfo.sample09.result">pc,
+ mobile</span></td>
+ <td class="left desc"><span data-message-id="messenger.device.deviceuseinfo.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 style="text-align: left;"><span
+ data-message-id="messenger.device.deviceuseinfo.sample.request"><span
+ class="ellipsis">{</span><br><span class="ellipsis">POST
+ /messenger/contact/api/v1.0/device/o1/use/info HTTP/1.1</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; "singleIdList" : [</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"singleId" :
+ "test1.kim"},</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"singleId" :
+ "test2.lee"},</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"singleId" :
+ "test3.park"}</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;
+ ]</span><br><span class="ellipsis">}</span><br><span class="ellipsis">Host :
+ yyy.xxxxxx.com}}</span></span></td>
+ <td style="text-align: left;"><span
+ data-message-id="messenger.device.deviceuseinfo.sample.response"><span
+ class="ellipsis">{</span><br><span class="ellipsis">{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; "userDeviceList": [</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; {</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "userID":
+ 761258979308365297,</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "singleID":
+ "test1.kim",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "deviceList":
+ [</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ {</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ "deviceServerID": 1000003610,</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ "conn_date": "2016-06-22 PM 04:22:46",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ "deviceType": "pc",</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ “deviceOsType”: “Windows”</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; },</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; {</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; "userID":
+ 755053073097855041,</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;
+ "singleID": "test2.lee",</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;
+ "deviceList": [</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;
+ {</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ "deviceServerID": 20490,</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "deviceType":
+ "mobile",</span><br><span class="ellipsis">“deviceOsType”: “Android”</span><br><span
+ class="ellipsis"> &nbsp;&nbsp;&nbsp;&nbsp; },</span><br><span class="ellipsis">
+ &nbsp;&nbsp;&nbsp;&nbsp; {</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;
+ "deviceServerID": 1000006058,</span><br><span class="ellipsis">
+ &nbsp;&nbsp;&nbsp;&nbsp; "deviceType": "mobile"</span><br><span
+ class="ellipsis">“deviceOsType”: “iOS”</span><br><span class="ellipsis">
+ &nbsp;&nbsp;&nbsp;&nbsp; }</span><br><span class="ellipsis">
+ &nbsp;&nbsp;&nbsp;&nbsp; ]</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;
+ },</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; {</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp; "userID":
+ 755053029387931649,</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;
+ "singleID": "test3.park",</span><br><span class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;
+ "deviceList": []</span><br><span class="ellipsis"> }</span><br><span
+ class="ellipsis"> ]</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></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg8"><span data-message-id="messenger.service.file.servertime.subject">FILE
+ SERVER TIME(KEY)</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.file.servertime.uri">GET
+ /messenger/file/api/v1.0/file/v1/getCurrentTime</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.file.servertime.detail">Secure API 호출 시 사용되는 x-request-time에 대입할 서버
+ 측 현재 시간(UTC) 및 암호화 키를 반환한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.accept">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.accept">Accept</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.servertime.request.n1.sampledata">application/json</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.servertime.request.n1.note">application/json</span>
+ </td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.authorization">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.authorization">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.servertime.request.n2.sampledata">Bearer
+ ce1d72e2a6c96cc09db7c837b1e44fc1</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.servertime.request.n2.note">[평문] Access
+ Token.</span></td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xaccesstoken">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xaccesstoken">x-access-token</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.servertime.request.n3.sampledata">ce1d72e2a6c96cc09db7c837b1e44fc1</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.servertime.request.n3.note">[평문] Access
+ Token&nbsp;- Authorization과 동일한 값이나 Bearer는 제외</span></td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xdeviceid">Device ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xdeviceid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.servertime.request.n4.sampledata">131314850</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.servertime.request.n4.note">[평문] Device
+ registration API를 통해 얻은 deviceServerID를 사용</span></td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xdevicetype">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xdevicetype">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.servertime.request.n5.sampledata">relation</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.servertime.request.n5.note">[평문] Device type을
+ 사용. - Valid Values: [relation]</span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.word">키문자열(파일명)</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.word">word</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.path">Path</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.servertime.request.n6.sampledata">r1234562312121.gif</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.servertime.request.n6.note"><span
+ class="ellipsis">[평문] 파일명을 이용해서 암호화 키 문자열로 사용</span><br><span class="ellipsis">-
+ Upload : [file name] Download : [fileid]</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject">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>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.file.response.properties.servertime">서버시간</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.response.attribute.servertime">serverTime</span>
+ </td>
+ <td><span data-message-id="messenger.service.file.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.servertime.response.n1.sampledata">1487298788653</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.servertime.response.n1.note">서버측 현재
+ 시간(UTC)</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.file.response.properties.word">암호키값</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.response.attribute.word">word</span></td>
+ <td><span data-message-id="messenger.service.file.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.servertime.response.n2.sampledata">!2#4%6&amp;8(0gif.gif1@3$5^7*9)!2#4%</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.servertime.response.n2.note">암호키값</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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="messenger.service.file.servertime.sample.request">GET
+ /messenger/file/api/v1.0/file/v1/getCurrentTime HTTP/1.1&nbsp;Host : File
+ Server&nbsp;Authorization: Bearer f5fe27195fb2523cee1758c162a9f60&nbsp;x-access-token:
+ f5fe27195fb2523cee1758c162a9f60&nbsp;x-device-id: 131314850&nbsp;x-device-type:
+ relation&nbsp;&nbsp;[Upload]&nbsp;GET
+ /messenger/file/api/v1.0/file/v1/getCurrentTime?word=r1234562312121.gif
+ HTTP/1.1&nbsp;Host : File Server&nbsp;Authorization: Bearer
+ f5fe27195fb2523cee1758c162a9f60&nbsp;x-access-token:
+ f5fe27195fb2523cee1758c162a9f60&nbsp;x-device-id: 131314850&nbsp;x-device-type:
+ relation&nbsp;&nbsp;[Download]&nbsp;GET
+ /messenger/file/api/v1.0/file/v1/getCurrentTime?word=70wT1NHM0y0TF HTTP/1.1&nbsp;Host :
+ File Server&nbsp;Authorization: Bearer
+ f5fe27195fb2523cee1758c162a9f60&nbsp;x-access-token:
+ f5fe27195fb2523cee1758c162a9f60&nbsp;x-device-id: 131314850&nbsp;x-device-type:
+ relation</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.servertime.sample.response">[success]&nbsp;HTTP/1.1
+ 200 OK&nbsp;Content-Type: application/json&nbsp;Server: File
+ Server&nbsp;{&nbsp;"serverTime": "1487298788653",&nbsp;"word":
+ "!2#4%6&amp;8(0gif.gif1@3$5^7*9)!2#4%"&nbsp;}&nbsp;&nbsp;[error]&nbsp;HTTP/1.1 400 Bad
+ Request&nbsp;Content-Type: application/json&nbsp;Content-Length: 97&nbsp;Server: File
+ Server&nbsp;Connection: close&nbsp;&nbsp;{&nbsp;"svrTime": "2016-02-11
+ 12:34:03.997",&nbsp;"errorCode": "CFI-10001",&nbsp;"errorMessage": " x-device-id is
+ mandatory"&nbsp;}</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="20%;">
+ <col width="20%;">
+ <col width="35%;">
+ <col width="25%;">
+ </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="20%;">
+ <col width="20%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>200</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.200">Success</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>204</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.204">No
+ Content</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>301</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.301">Moved
+ Permanently</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>302</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.302">Found</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>307</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.307">Temporary
+ redirect</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10001">CFI-10001</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10001">{argument} is
+ mandatory</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10002">CFI-10002</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10002">{argument} is
+ invalid</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.999999">BLUE-999999</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.999999">Device is not
+ registered</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.444401">BLUE-444401</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.444401">Email address is not
+ verified</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>401</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.401">Unauthorized</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>403</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.403">Forbidden</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>500</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.500">Internal
+ Server Error</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg9"><span data-message-id="messenger.service.file.secureupload.subject">SECURE
+ UPLOAD FILE</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.file.secureupload.uri">PUT
+ /messenger/file/api/v1.0/file/v1s/file/{filename}</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.file.secureupload.detail">파일 서버에 파일이 업로드 되고 해당 파일을 다운로드 받을 수 있는 URL을
+ 반환한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.accept">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.accept">Accept</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.request.n1.sampledata">application/json</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.request.n1.note">응답에 허용되는 특정 미디어
+ 유형을 지정.&nbsp;- Default: application/json&nbsp;- Valid Values: [application/json,
+ application/xml]</span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.contenttype">Content-Type</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.contenttype">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.request.n2.sampledata">binary/octet-stream</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.request.n2.note">Content-Type&nbsp;-
+ Default: binary/octet-stream&nbsp;- Valid Values: MIME types</span></td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.contentlenth">Content-Length</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.contentlenth">Content-Length</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.request.n3.sampledata">32121</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.request.n3.note">업로드 할 파일의 크기
+ (bytes)&nbsp;Valid Values: decimal number</span></td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.authorization">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.authorization">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.request.n4.sampledata">Bearer
+ ce1d72e2a6c96cc09db7c837b1e44fc1</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.request.n4.note">[평문] Access
+ Token</span></td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xaccesstoken">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xaccesstoken">x-access-token</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.request.n5.sampledata">BublCtBL1kiiUfArCc1ECFChhKGKrdc5liIrsFEuc1kh2pgPShAar9x81edAn1zd</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.request.n5.note">[암호화] Access
+ Token을 aes256으로 암호화 해야함&nbsp;- Token type (“Bearer”)를 제외한 Token Value만 Encrypt 처리</span>
+ </td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xdeviceid">Device ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xdeviceid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.request.n6.sampledata">wsXERf15w7AZy9m0xJVg+g==</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.request.n6.note">[암호화] Device
+ registration API를 통해 얻은 deviceServerID를 AES256으로 암호화해서 사용</span></td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xdevicetype">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xdevicetype">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.request.n7.sampledata">9JtF6T25SvaSnkgmbkIZsA==</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.request.n7.note">[암호화] Device type을
+ AES256으로 암호화해서 사용. - Valid Values: [relation]</span></td>
+ </tr>
+ <tr>
+ <td>8</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xrequesttime">Server
+ Time</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xrequesttime">x-request-time</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.request.n8.sampledata">JVdr5iiTe6ogMBoGnwkhOg==</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.request.n8.note">[암호화] File Server
+ Time(key) API를 통해 얻은 serverTime을 AES256으로 암호화해서 사용</span></td>
+ </tr>
+ <tr>
+ <td>9</td>
+ <td class="left"><span data-message-id="messenger.service.file.request.properties.filename">File
+ Name</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.filename">filename</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.request.n9.sampledata">r1500944966271.jpg</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.request.n9.note">[평문] 업로드 시 파일이름은
+ 반드시 다음의 Rule을 준수해서 지정.&nbsp;- Rule : “r” + TimeStamp + Extension</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject">Response Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.file.response.properties.downloadurl">다운로드 경로</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.response.attribute.downloadurl">download_url</span>
+ </td>
+ <td><span data-message-id="messenger.service.file.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.response.n1.sampledata">https://yyy.xxxxxx.com/file/v1s/file/70wT1NHM0y0TF</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.secureupload.response.n1.note">파일 다운로드 경로</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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="messenger.service.file.secureupload.sample.request">PUT
+ /messenger/file/api/v1.0/file/v1s/file/ r1500944966271.jpg HTTP/1.1&nbsp;Host : File
+ Server&nbsp;Content-Length: 11434&nbsp;Authorization: Bearer
+ f5fe27195fb2523cee1758c162a9f60&nbsp;x-access-token:
+ BublCtBL1kiiUfArCc1ECFChhKGKrdc5liIrsFEuc1kh2pgPShAar9x81edAn1zd&nbsp;x-device-id:
+ wsXERf15w7AZy9m0xJVg+g==&nbsp;x-device-type:
+ 9JtF6T25SvaSnkgmbkIZsA==&nbsp;x-request-time: JVdr5iiTe6ogMBoGnwkhOg==&nbsp;&nbsp;[11434
+ bytes of object data]</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.secureupload.sample.response">[success]&nbsp;HTTP/1.1
+ 200 OK&nbsp;Content-Type: application/json&nbsp;Server: File
+ Server&nbsp;{&nbsp;"download_url":
+ "https://yyy.xxxxxx.com/file/v1s/file/70wT1NHM0y0TF"&nbsp;}&nbsp;&nbsp;[error]&nbsp;HTTP/1.1
+ 400 Bad Request&nbsp;Content-Type: application/json&nbsp;Content-Length: 98&nbsp;Server:
+ File Server&nbsp;Connection: close&nbsp;{&nbsp;"svrTime": "2015-02-11
+ 12:32:30.234",&nbsp;"errorCode": "CFI-10002",&nbsp;"errorMessage": "filename is
+ invalid"&nbsp;}</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="20%;">
+ <col width="20%;">
+ <col width="35%;">
+ <col width="25%;">
+ </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="20%;">
+ <col width="20%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>200</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.200">Success</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>204</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.204">No
+ Content</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>301</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.301">Moved
+ Permanently</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>302</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.302">Found</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>307</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.307">Temporary
+ redirect</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10001">CFI-10001</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10001">{argument} is
+ mandatory</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10002">CFI-10002</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10002">{argument} is
+ invalid</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10003">CFI-10003</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10003">File size is
+ overflow</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10004">CFI-10004</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10004">File size is
+ empty</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10005">CFI-10005</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10005">File format is
+ error</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10006">CFI-10006</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10006">File format is not
+ supported</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10011">CFI-10011</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10011">Infected File</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10013">CFI-10013</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.400.10013">No
+ permission to upload a file</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.999999">BLUE-999999</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.999999">Device is not
+ registered</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.444401">BLUE-444401</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.444401">Email address is not
+ verified</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>401</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.401">Unauthorized</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>403</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.403">Forbidden</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>500</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.500">Internal
+ Server Error</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg10"><span
+ data-message-id="messenger.service.file.securedownload.subject">SECURE DOWNLOAD FILE</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.file.securedownload.uri">GET
+ /messenger/file/api/v1.0/file/v1s/file/{file_id}</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.file.securedownload.detail">파일 서버에서 파일을 다운로드 한다. 만약 파일을 다운로드 하려면,
+ 당신의 application은 반드시 302 code responses를 취급해야 한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">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="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <th>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>Note</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="10%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.authorization">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.authorization">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.request.n1.sampledata">Bearer
+ ce1d72e2a6c96cc09db7c837b1e44fc1</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.securedownload.request.n1.note">[평문] Access
+ Token</span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xaccesstoken">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xaccesstoken">x-access-token</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.request.n2.sampledata">BublCtBL1kiiUfArCc1ECFChhKGKrdc5liIrsFEuc1kh2pgPShAar9x81edAn1zd</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.securedownload.request.n2.note">[암호화] Access
+ Token을 aes256으로 암호화 해야함&nbsp;- Token type (“Bearer”)를 제외한 Token Value만 Encrypt 처리</span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xdeviceid">Device ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xdeviceid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.request.n3.sampledata">wsXERf15w7AZy9m0xJVg+g==</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.securedownload.request.n3.note">[암호화] 기기 등록을 통해
+ 얻은 deviceServerID를 aes256으로 암호화 해야함.</span></td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xdevicetype">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xdevicetype">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.request.n4.sampledata">9JtF6T25SvaSnkgmbkIZsA==</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.securedownload.request.n4.note">[암호화] 기기 타입을
+ aes256으로 암호화 해야함.&nbsp;- Valid Values: [relation]</span></td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.xrequesttime">Server
+ Time</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.xrequesttime">x-request-time</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.request.n5.sampledata">JVdr5iiTe6ogMBoGnwkhOg==</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.securedownload.request.n5.note">[암호화] 파일 서버에서 받은
+ 서버시간을 AES256 Encrypt 처리하여 지정</span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.properties.fileid">파일ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.fileid">file_id</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.type.path">Path</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.request.n6.sampledata">70wT1NHM0y0TF</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.securedownload.request.n6.note">[암호화] Secure
+ Upload File API를 통해 얻은 download_url의 맨 뒤 file ID값을 AES256으로 암호화해서 사용</span></td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td class="left"><span data-message-id="messenger.service.file.request.properties.thumb">썸네일
+ 크기</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.request.attribute.thumb">thumb</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span
+ data-message-id="messenger.service.file.request.parametertype.parameter">Parameter</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.request.n7.sampledata">160x160</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.securedownload.request.n7.note">다운로드 할 썸네일의 사이즈
+ 지정.&nbsp;- Valid Values: [160x160]</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject">Response Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.service.file.securedownload.response.n1.properties">(데이터)</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.response.n1.attribute">(payload)</span>
+ </td>
+ <td><span data-message-id="messenger.service.file.response.datatype.binary">Binary</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.response.n1.sampledata"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.securedownload.response.n1.note">파일 바이너리
+ 데이터</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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="messenger.service.file.securedownload.sample.request">GET
+ /messenger/file/api/v1.0/file/v1s/file/70wT1NHM0y0TF?thumb=160x160 HTTP/1.1&nbsp;Host :
+ File Server&nbsp;Authorization: Bearer
+ f5fe27195fb2523cee1758c162a9f60&nbsp;x-access-token:
+ BublCtBL1kiiUfArCc1ECFChhKGKrdc5liIrsFEuc1kh2pgPShAar9x81edAn1zd&nbsp;x-device-id:
+ wsXERf15w7AZy9m0xJVg+g==&nbsp;x-device-type:
+ 9JtF6T25SvaSnkgmbkIZsA==&nbsp;x-request-time: JVdr5iiTe6ogMBoGnwkhOg==</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.file.securedownload.sample.response">[success]&nbsp;HTTP/1.1
+ 200 OK&nbsp;Content-Length: 434234&nbsp;Content-Type: image/jpeg&nbsp;Connection:
+ close&nbsp;Server: File Server&nbsp;&nbsp;[434234 bytes of object
+ data]&nbsp;&nbsp;[error]&nbsp;HTTP/1.1 400 Bad Request&nbsp;Content-Type:
+ application/json&nbsp;Content-Length: 97&nbsp;Server: File Server&nbsp;Connection:
+ close&nbsp;{"svrTime": "2015-02-11 12:34:03.997","errorCode": "CFI-10002",
+ "errorMessage": "file_id is invalid"}</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="20%;">
+ <col width="20%;">
+ <col width="35%;">
+ <col width="25%;">
+ </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="20%;">
+ <col width="20%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>200</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.200">Success</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>204</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.204">No
+ Content</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>301</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.301">Moved
+ Permanently</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>302</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.302">Found</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>307</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.307">Temporary
+ redirect</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10001">CFI-10001</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10001">{argument} is
+ mandatory</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10002">CFI-10002</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10002">{argument} is
+ invalid</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10007">CFI-10007</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.10007">File has expired</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.10012">CFI-10012</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.400.10012">V7
+ Empsearch API error</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.999999">BLUE-999999</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.999999">Device is not
+ registered</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.file.errorcode.code.444401">BLUE-444401</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.400.444401">Email address is not
+ verified</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>401</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.401">Unauthorized</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>403</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.file.errorcode.msg.403">Forbidden</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>500</td>
+ <td><span data-message-id="messenger.service.file.errorcode.empty"></span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.msg.500">Internal
+ Server Error</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.file.errorcode.empty"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg11"><span data-message-id="messenger.mc.get.key.subject">Get Keys</span>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.mc.get.key.uri">/messenger/msgctx/api/v1.0/key/getkeys</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.mc.get.key.detail1">Device의 channel auth Key and device key를 조회한다.</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>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.mc.get.key.request.authorization.properties">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.authorization.attribute">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.request.authorization.mandatory">y</span></td>
+ <td><span
+ data-message-id="messenger.mc.get.key.request.authorization.parameter.type">Header</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.request.authorization.data.type">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.authorization.sample.data">Bearer
+ fc55e83b7dea72ebe8f4f0dee2a2c4</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.request.authorization.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span data-message-id="messenger.mc.get.key.request.deviceid.properties">Device
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.deviceid.attribute">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.request.deviceid.mandatory">y</span></td>
+ <td><span data-message-id="messenger.mc.get.key.request.deviceid.parameter.type">Header</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.request.deviceid.data.type">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.deviceid.sample.data">1234</span></td>
+ <td class="left desc"><span data-message-id="messenger.mc.get.key.request.deviceid.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.contenttype.properties">Content
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.contenttype.attribute">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.request.contenttype.mandatory">n</span></td>
+ <td><span
+ data-message-id="messenger.mc.get.key.request.contenttype.parameter.type">Header</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.request.contenttype.data.type">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.contenttype.sample.data">application/json</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.request.contenttype.note"></span></td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.accept.properties">Accept</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.accept.attribute">Accept</span></td>
+ <td><span data-message-id="messenger.mc.get.key.request.accept.mandatory">n</span></td>
+ <td><span data-message-id="messenger.mc.get.key.request.accept.parameter.type">Header</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.request.accept.data.type">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.accept.sample.data">application/json</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.mc.get.key.request.accept.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.devicetype.properties">Device Type</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.devicetype.attribute">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.request.devicetype.mandatory">n</span></td>
+ <td><span data-message-id="messenger.mc.get.key.request.devicetype.parameter.type">Header</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.request.devicetype.data.type">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.request.devicetype.sample.data">mobile</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.request.devicetype.note">mobile or pc or
+ relation</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>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.mc.get.key.response.key.properties">Device의
+ Message key</span></td>
+ <td class="left"><span data-message-id="messenger.mc.get.key.response.key.attribute">key</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.response.key.data.type">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.key.sample.data">4cc5d9fa5d44819357618b8a8d8c21326df20fa95cd5fd6da0f9cdd030d1a9b7c31df7eb7080b9c3b62ee0348eb1d86b</span>
+ </td>
+ <td class="left desc"><span data-message-id="messenger.mc.get.key.response.key.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.expiredkey.properties">Device의 Expired
+ message key</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.expiredkey.attribute">expiredkey</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.response.expiredkey.data.type">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.expiredkey.sample.data">4cc5d9fa5d44819357618b8a8d8c21326df20fa95cd5fd6da0f9cdd030d1a9b7c31df7eb7080b9c3b62ee0348eb1d86b</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.response.expiredkey.note">optional</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.channelauthkey.properties">Channel Auth
+ key</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.channelauthkey.attribute">channelauthkey</span>
+ </td>
+ <td><span data-message-id="messenger.mc.get.key.response.channelauthkey.data.type">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.channelauthkey.sample.data">537461636b5472616365456c656d656e745b5d20656c656d73203d2065782e67696e742066696e616c4c656e203d2070</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.response.channelauthkey.note"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.keyexpirationtimestamp.properties">Message
+ key의 expiring Timestamp 값</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.keyexpirationtimestamp.attribute">keyexpirationtimestamp</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.get.key.response.keyexpirationtimestamp.data.type">Long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.get.key.response.keyexpirationtimestamp.sample.data">1718094662042</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.response.keyexpirationtimestamp.note"></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 style="text-align: left;"><span data-message-id="messenger.mc.get.key.request.sample"><span
+ class="ellipsis">GET /messenger/msgctx/api/v1.0/key/getkeys </span><br><span
+ class="ellipsis">HTTP/1.1</span><br><span class="ellipsis">Host :
+ yyy.xxxxxx.com</span><br><span class="ellipsis">Content-type:
+ application/json</span><br><span class="ellipsis">Accept:
+ application/json</span><br><span class="ellipsis">x-device-type :
+ mobile</span><br><span class="ellipsis">x-device-id : 1234</span><br><span
+ class="ellipsis">Authorization : Bearer fc55e83b7dea72ebe8f4f0dee2a2c4</span></span>
+ </td>
+ <td style="text-align: left;"><span data-message-id="messenger.mc.get.key.response.sample"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;“key” :
+ “4cc5d9fa5d44819357618b8a8d8c21326df20fa95cd5fd6da0f9cdd030d1a9b7c31df7eb7080b9c3b62ee0348eb1d86b”,</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;“channelauthkey” :
+ “537461636b5472616365456c656d656e745b5d20656c656d73203d2065782e67696e742066696e616c4c656e203d2070”</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
+ data-message-id="messenger.mc.get.key.response.errorcode.blue999999.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.get.key.response.errorcode.blue999999.statuscode">BLUE-999999</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.response.errorcode.blue999999.message">Not exist
+ deviceId</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.response.errorcode.blue999999.measures"></span>
+ </td>
+ </tr>
+ <tr>
+ <td><span
+ data-message-id="messenger.mc.get.key.response.errorcode.bmc300150.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.get.key.response.errorcode.bmc300150.statuscode">BMC-300150</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.response.errorcode.bmc300150.message">Not Exist
+ Channel Auth Key.</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.get.key.response.errorcode.bmc300150.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg12"><span data-message-id="messenger.mc.chat.activemember.subject">Chat
+ Active Member</span></div>
+ <div class="module-font type02">
+ <p><span
+ data-message-id="messenger.mc.chat.activemember.uri">/messenger/msgctx/api/v1.0/chat/activemember</span>
+ </p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.mc.chat.activemember.detail1">채팅방의 참여자 수와 User ID를 조회한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span>Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl">
+ <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>Properties</th>
+ <th>Attribute</th>
+ <th>Mandatory</th>
+ <th>Parameter Type</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.mc.chat.activemember.request.authorization.properties">Access
+ token</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.authorization.attribute">Authorization</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.authorization.mandatory">y</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.authorization.parameter.type">Header</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.authorization.data.type">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.authorization.sample.data">Bearer
+ fc55e83b7dea72ebe8f4f0dee2a2c4</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.request.authorization.note"></span></td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.deviceid.properties">Device
+ ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.deviceid.attribute">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.mc.chat.activemember.request.deviceid.mandatory">y</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.deviceid.parameter.type">Header</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.deviceid.data.type">Long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.deviceid.sample.data">1234</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.request.deviceid.note"></span></td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.contenttype.properties">Content
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.contenttype.attribute">Content-Type</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.contenttype.mandatory">n</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.contenttype.parameter.type">Header</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.contenttype.data.type">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.contenttype.sample.data">application/json</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.request.contenttype.note"></span></td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.accept.properties">Accept</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.accept.attribute">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.mc.chat.activemember.request.accept.mandatory">n</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.accept.parameter.type">Header</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.accept.data.type">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.accept.sample.data">application/json</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.request.accept.note"></span></td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.devicetype.properties">Device
+ Type</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.devicetype.attribute">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.mc.chat.activemember.request.devicetype.mandatory">n</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.devicetype.parameter.type">Header</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.devicetype.data.type">String</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.devicetype.sample.data">mobile</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.request.devicetype.note">mobile or pc or
+ relation</span></td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.chatroomid.properties">Chatroom
+ Id</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.chatroomid.attribute">chatroomid</span>
+ </td>
+ <td><span data-message-id="messenger.mc.chat.activemember.request.chatroomid.mandatory">y</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.chatroomid.parameter.type">Query</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.request.chatroomid.data.type">Long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.request.chatroomid.sample.data">332321144605</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.request.chatroomid.note">max 19 number
+ string</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>Properties</th>
+ <th>Attribute</th>
+ <th>Data Type</th>
+ <th>Sample Data</th>
+ <th>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="messenger.mc.chat.activemember.response.activemembercount.properties">현재
+ 대화방에 참여중인 멤버의 수</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.response.activemembercount.attribute">activemembercount</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.response.activemembercount.data.type">Integer</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.response.activemembercount.sample.data">10</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.response.activemembercount.note"></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.response.activememberlist.properties">현재
+ 대화방에 참여중인 멤버의 User ID List.</span></td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.response.activememberlist.attribute">activememberlist</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.response.activememberlist.data.type">Long</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.mc.chat.activemember.response.activememberlist.sample.data"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.response.activememberlist.note">List</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 style="text-align: left;"><span
+ data-message-id="messenger.mc.chat.activemember.request.sample"><span
+ class="ellipsis">GET
+ /messenger/msgctx/api/v1.0/chat/activemember?chatroomid=1221232323 </span><br><span
+ class="ellipsis">HTTP/1.1</span><br><span class="ellipsis">Host :
+ yyy.xxxxxx.com</span><br><span class="ellipsis">Content-type:
+ application/json</span><br><span class="ellipsis">Accept:
+ application/json</span><br><span class="ellipsis">x-device-type :
+ mobile</span><br><span class="ellipsis">x-device-id : 1234</span><br><span
+ class="ellipsis">Authorization : Bearer fc55e83b7dea72ebe8f4f0dee2a2c4</span></span>
+ </td>
+ <td style="text-align: left;"><span
+ data-message-id="messenger.mc.chat.activemember.response.sample"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">{</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;“activemembercount”:5,</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;“activememberlist” : [</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;753913371694206977,</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;753915435136061441,</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;753915446684553217,</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;753916848394735617,</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;753916967328419841</span><br><span
+ class="ellipsis">&nbsp;&nbsp;&nbsp;&nbsp;]</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
+ data-message-id="messenger.mc.chat.activemember.response.errorcode.blue999999.httpcode">400</span>
+ </td>
+ <td><span
+ data-message-id="messenger.mc.chat.activemember.response.errorcode.blue999999.statuscode">BLUE-999999</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.response.errorcode.blue999999.message">Not
+ exist deviceId</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.mc.chat.activemember.response.errorcode.blue999999.measures"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msgcom01"><span data-message-id="messenger.service.message.common.subject">메시지
+ API 공통 포맷</span></div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.common.main.content1">아래 목록의 API들은 메시지군의 API들로써 공통적인 포맷을
+ 갖는다. (payload data 암호화, 공통 error 코드)<br> - 대화방 생성<br> - 메시지 발신<br> - 대화상대 초대<br> - 대화상대 내보내기<br> - 대화방
+ 삭제<br> - 메시지 발신취소<br> - 대화방명 변경<br> - 방장 변경<br> - 대화방 나가기<br> - 메시지 읽음 Count 조회</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.message.common.sub1.title">payload data 암호화</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.common.sub1.content1">API호출에 사용되는 Request Payload data와
+ Response Payload data는 암호된 값을 사용한다.<br>각 API 기능별로 Payload 내에 적재된 RequestBody와 ResponseBody내용을 전송단에서
+ Aes256암호화 &gt; Base64암호화를 거쳐 데이터를 보내며, 수신단에서 Base64복호화 &gt; Aes256복호화를 거쳐 암호화를 해제함으로써 데이터 추출할 수
+ 있다.<br>기능별 API 명세에서는 각 API별로, 암호화가 해제된 평문 기준의 RequestBody, ResponseBody 명세에 대한 설명이 기재되어 있다.</span></p>
+ <p></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.common.sub1.content2">연계 시스템측에서 사용하게 되는 RequestBody 암호화 및
+ ResponseBody 복호화에 대한 예시는 아래와 같다.</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><span data-message-id="messenger.service.message.common.sub1.content3.title">[RequestBody
+ 암호화 예시]</span></th>
+ <th><span data-message-id="messenger.service.message.common.sub1.content4.title">[ResponseBody
+ 복호화 예시]</span></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="messenger.service.message.common.sub1.content3"><span
+ class="ellipsis">적용전 (RequestBody평문): {"requestId": 1578016699286727, "chatroomId":
+ 99343295704997888}</span><br><span class="ellipsis">암호화 1단계: AES256
+ 인코딩</span><br><span class="ellipsis">암호화 2단계: BASE64 인코딩</span><br><span
+ class="ellipsis">적용후 (RequestBody암호문):
+ IN/WslquK+4b3I+I3lJF1UyiYksAhZRncHL5axCGpJur9U/LabuKIIo7OKEQe1JOSaCb3szhWphL2Ufhj86dcClTXz5b+AVYDq6LRbd4zBQ=</span></span>
+ </td>
+ <td class="left"><span data-message-id="messenger.service.message.common.sub1.content4"><span
+ class="ellipsis">적용전 (ResponseBody-암호문):
+ 7Q9FCL95U+5FIFGcZbG9Y6wvpod95dfH+pxDZVb3HnJzz/U+nZAG3tQ+NPOUprKaMZ3rTEPbYsMr89KIWEdpog==
+ </span><br><span class="ellipsis">복호화 1단계: AES256 디코딩</span><br><span
+ class="ellipsis">복호화 2단계: AES256 디코딩</span><br><span class="ellipsis">적용후
+ (ResponseBody-평문): { "code": 3003, "msg": "All receivers are invalid."
+ }</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.common.sub1.content5">※ 예시에 사용된 메시지 키 값은 아래와 같으며, 실사용시 메시지
+ 키값을 "메시지서버 암호화 Key 조회" api로 조회하여 사용하여야 한다.(메시지 key값은 단말별로 부여됨)<br> - 예시에 사용된 메시지 key:
+ "b6d06ce799b97b58aa606e393c6a18ee1f6008726b59072036207ccafe6443b9b3c546f665fdae562a7d8d35f4bca16e"</span>
+ </p>
+ <p></p>
+ <p><span data-message-id="messenger.service.message.common.sub1.content6">※ 암복호화 모듈 구현은 샘플 코드를 참고 바람.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.message.common.error.title">메시지 공통 Error Code</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="45%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.errorcode.httpresp">HTTP응답코드</span></th>
+ <th><span data-message-id="messenger.service.errorcode.errorcode">에러코드</span></th>
+ <th><span data-message-id="messenger.service.errorcode.errormsg">에러메시지</span></th>
+ <th><span data-message-id="messenger.service.errorcode.guide">조치방안</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="45%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>200</td>
+ <td><span data-message-id="messenger.service.message.errorcode.1000">1000</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.errorcode.msg.n1">Success</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>200</td>
+ <td><span data-message-id="messenger.service.message.errorcode.1001">1001</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n2">Detected
+ some invalid receivers. (Success partial)</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>204</td>
+ <td><span data-message-id="messenger.service.message.errorcode.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n3">No
+ Content</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.2001">2001</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n4">Wrong
+ token</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.2002">2002</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n5">Not
+ registered requester.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.3003">3003</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n6">Invalid
+ receiver.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.3004">3004</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n7">Receiver is
+ not enabled.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.3005">3005</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n8">Exceeded
+ chatroom count limit.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.3009">3009</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n9">Membership
+ violation detected.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.3106">3106</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n10">All
+ receivers are invalid.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.4001">4001</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n11">Wrong
+ parameter value.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.4003">4003</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n12"><span
+ class="ellipsis">Wrong body! (Fail decrypt about message body.)</span><br><span
+ class="ellipsis">해당 에러 발생 시 6.1 GET Keys API를 수행하여 최신 Key value를 response 받아서
+ RequestBody 암호화를 수행할 것을 권장함.</span></span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.6001">6001</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n13">General DAO
+ error</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.7001">7001</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n14">Not bounded
+ device.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.9000">9000</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n15">Internal
+ server error.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.9001">9001</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n16">Exceeded
+ session count limit.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.9002">9002</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n17">Short Term
+ DDoS detected.</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td><span data-message-id="messenger.service.message.errorcode.9003">9003</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n18"><span
+ class="ellipsis">Long Term DDoS detected.</span><br><span class="ellipsis">(정책 시간 동안
+ api 사용 금지 ex. 12시간)</span></span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>401</td>
+ <td><span data-message-id="messenger.service.message.errorcode.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.errorcode.msg.n19">Unauthorized</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>403</td>
+ <td><span data-message-id="messenger.service.message.errorcode.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.errorcode.msg.n20">Forbidden</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ <tr>
+ <td>500</td>
+ <td><span data-message-id="messenger.service.message.errorcode.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.msg.n21">Internal
+ Server Error</span></td>
+ <td class="left"><span data-message-id="messenger.service.message.errorcode.guide.empty"></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg13"><span data-message-id="messenger.service.createchatroom.subject">대화방
+ 생성</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.createchatroom.uri">POST
+ /messenger/message/api/v1.0/message/createChatroomRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.createchatroom.description">신규 대화방을 생성한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.property.n7">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.attribute.n7">BODY:requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.sample.n7">1302575819285</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.request.table.note.n7">Packet별로
+ Unique한 Id Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.property.n8">대화방유형</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.attribute.n8">BODY:chatType</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.sample.n8">2</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.request.table.note.n8"><span
+ class="ellipsis">Chat Type, 대화방 유형</span><br><span class="ellipsis">“단방향(공지type)”
+ 외부연계 사용 시 2,5만 사용</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">0: (SINGLE) – 1:1 대화</span><br><span class="ellipsis">1: (GROUP) –
+ Group 대화</span><br><span class="ellipsis">2: (BROADCAST GROUP) Group
+ 공지방(2인이상)</span><br><span class="ellipsis">5: (BROADCAST SINGLE) 1:1
+ 공지방</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.property.n9">참여자목록</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.attribute.n9">BODY:receivers</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.listlong">List<long></long></span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.sample.n9">[753917009235808257,753916848517419009]</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.request.table.note.n9">채팅 참여자들의 User
+ Id를 리스트 형태로 작성</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(4)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.property.n10">대화방이름</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.attribute.n10">BODY:chatroomTitle</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.request.table.sample.n10">"dev server
+ team"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.request.table.note.n10">최대 길이 128 자
+ (utf8mb4)</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n2">chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n2">99536308621824000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n2">생성된 대화방
+ Id</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n3">결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n3">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n3"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n3">결과</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n4">결과:코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n4">result:code</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n4">1000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n4">결과 코드</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n5">결과:(에러)내용</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n5">result:msg</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n5">"Detected
+ some invalid receivers."</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n5">결과 내용</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n6">결과:참여불가상세</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n6">result:wrongReceiverDetail</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n6"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n6"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n7">결과:참여불가상세:잘못된
+ 사용자 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n7">result:
+ wrongReceiverDetail: invalidReceivers</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n7">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n7"><span
+ class="ellipsis">잘못된 유저정보로 대화방에 입장할 수 없는 사용자</span><br><span class="ellipsis">* 결과
+ 코드 1001/3003 리턴</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n8">결과:참여불가상세:정책상
+ 불허된 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n8">result:
+ wrongReceiverDetail: organizationViolated</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n8">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n8"><span
+ class="ellipsis">정책상 대화할 수 없는 사용자 (회사가 다르면 대화가 불가함)</span><br><span
+ class="ellipsis">* 결과 코드 1001/3003 리턴</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n9">결과:참여불가상세:단말
+ 미등록자 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n9">result:
+ wrongReceiverDetail: disabledReceivers</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n9">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n9"><span
+ class="ellipsis">등록된 단말이 없어서 대화에 참여할 수 없는 사용자</span><br><span class="ellipsis">* 결과
+ 코드 1001/3003 리턴</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n10">결과:참여불가상세:자통법상
+ 차단된 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n10">result:
+ wrongReceiverDetail: blockedGroup</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n10">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n10"><span
+ class="ellipsis">자본시장통합법에 의거 대화를 할 수 없는 관계의 사용자</span><br><span class="ellipsis">*
+ 결과 코드 1001/3003 리턴</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.property.n11">대화방
+ 생성시간</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.attribute.n11">createTimeMillis</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.createchatroom.response.table.sample.n11">1578386757248</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.createchatroom.response.table.note.n11">대화방
+ 생성시간</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.createchatroom.sample.table.n1"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/createChatroomRequest
+ HTTP/1.1</span><br><span class="ellipsis"></span><br><span class="ellipsis">headers:
+ {"Accept": "application/json", "Authorization": "Bearer
+ ed114dc382ca16d5b43154fe5832a7", "Content-Type": "application/json", "x-device-id":
+ "1000145874", "Content-Length": "172"}</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">body(암호화전): {"chatType": 2,
+ "requestId": 1578016699286727,
+ "receivers":[753917009235808257,753916848517419009]}</span></span></td>
+ <td class="left"><span data-message-id="messenger.service.createchatroom.sample.table.n2"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">Content-Type:
+ application/json</span><br><span class="ellipsis">Server: Message
+ Server</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">{"requestId": 1578016699286727, "chatroomId": 99343295704997888,
+ "result": {"code": 1000, "wrongReceiverDetail": {}}, createTimeMillis":
+ 1578016699269}</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg14"><span data-message-id="messenger.service.messagesend.subject">메시지
+ 발신</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.messagesend.uri">POST
+ /messenger/message/api/v1.0/message/chatRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.messagesend.description">메시지를 발송한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.attribute.n1">BODY:
+ requestId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span data-message-id="messenger.service.messagesend.request.table.sample.n1">#
+ {"requestId": 15784605065976949, "chatroomId": 99343295704997888, "chatMessageParams":
+ [{"msgId": 15784605065976949, "msgType": 0, "chatMsg": "blah~ blah~", "msgTtl":
+ 7200}]}</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.request.table.note.n1">Packet별로 Unique한
+ Id Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.attribute.n2">BODY:
+ chatroomId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.sample.n2">99343295704997888</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.request.table.note.n2">대화방 ID</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.property.n3"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.attribute.n3">BODY:
+ chatMessageParams</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td>List<chatmessageparam></chatmessageparam>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.sample.n3"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.request.table.note.n3">최대 10개</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3-1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.property.n4"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.attribute.n4">BODY:
+ chatMessageParam: msgId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.sample.n4">1578409921352</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.request.table.note.n4">메시지별 Unique한 ID,
+ Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3-2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.property.n5"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.attribute.n5">BODY:
+ chatMessageParam: msgType</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.sample.n5">0</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.request.table.note.n5"><span
+ class="ellipsis">Msg Type, 메시지 유형</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">0: (TEXT) ? Common text message</span><br><span class="ellipsis">1:
+ (MEDIA) ? MultiMedia message (file, video)</span><br><span class="ellipsis">7: (RTF)
+ - Excel message</span><br><span class="ellipsis">8: (NCUSTOM) - Message with json
+ format</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3-3)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.property.n6"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.attribute.n6">BODY:
+ chatMessageParam: chatMsg</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.sample.n6">"Hello
+ world!"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.request.table.note.n6">메시지 내용 (최대
+ 3,300자)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3-4)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.property.n7"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.attribute.n7">BODY:
+ chatMessageParam: msgTtl</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.request.table.sample.n7">7200</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.request.table.note.n7"><span
+ class="ellipsis">메시지 서버 저장 기간 (Min : 3600 sec / Max : according to company policy /
+ Default : 259200 sec)</span><br><span class="ellipsis">* If an unacceptable value is
+ entered, the default value</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.messagesend.request.table.sample.n1"># {"requestId":
+ 15784605065976949, "chatroomId": 99343295704997888, "chatMessageParams": [{"msgId": 15784605065976949,
+ "msgType": 0, "chatMsg": "blah~ blah~", "msgTtl": 7200}]}</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n2">chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n2">99536308621824000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n2">생성된 대화방 Id</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n3">결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n3">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n3"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n3"><span
+ class="ellipsis">Result</span><br><span class="ellipsis">* If Nth message in 10 is
+ failed, It is cause of failure for the message.</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n4">결과: 코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n4">result:
+ code</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n4">1000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n4">Result
+ code</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n5">결과:
+ (에러)내용</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n5">result:
+ msg</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n5"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n5">Result
+ message</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n6">결과:
+ 메시지처리상세</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n6">result:
+ processedMessageEntries</span></td>
+ <td>List<processedmessageentrie></processedmessageentrie>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n6"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n6"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n7">결과: 메시지처리상세:
+ 메시지ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n7">result:
+ processedMessageEntrie: msgId</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n7"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n7">전달된 메시지 ID</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n8">결과: 메시지처리상세:
+ 전달시간</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n8">result:
+ processedMessageEntrie: sentTime</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n8">1578449866003</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n8"><span
+ class="ellipsis">전달시간 (서버 기준)</span><br><span class="ellipsis">* If it is failed to
+ sending message, returns 0</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n9">결과:
+ 참여불가상세</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n9">result:
+ wrongReceiverDetail</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n9"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n9"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n10">결과: 참여불가상세:
+ 잘못된 사용자 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n10">result:
+ wrongReceiverDetail: invalidReceivers</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n10">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n10"><span
+ class="ellipsis">잘못된 유저 정보로 메시지를 전달할 수 없는 사용자</span><br><span class="ellipsis">* It
+ is available for ResultCode 1001/3003</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.property.n11">결과: 참여불가상세:
+ 단말 미등록자 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.attribute.n11">result:
+ wrongReceiverDetail: disabledReceivers</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.response.table.sample.n11">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.messagesend.response.table.note.n11"><span
+ class="ellipsis">등록된 단말이 없어서 메시지를 전달할 수 없는 사용자</span><br><span class="ellipsis">* It
+ is available for ResultCode 1001/1003</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.messagesend.sample.table.request.n1"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/chatRequest
+ HTTP/1.1</span><br><span class="ellipsis">headers: {"Accept": "application/json",
+ "Authorization": "Bearer ed114dc382ca16d5b43154fe5832a7", "Content-Type":
+ "application/json", "x-device-id": "1000145874", "Content-Length":
+ "172"}</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">body(암호화전): {"requestId": 15784605065976949, "chatroomId":
+ 99343295704997888, "chatMessageParams": [{"msgId": 15784605065976949, "msgType": 0,
+ "chatMsg": "blah~ blah~", "msgTtl": 7200}]}</span></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.messagesend.sample.table.response.n1"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">Content-Type:
+ application/json</span><br><span class="ellipsis">Server: Message
+ Server</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">{"requestId":15784605065976949,"chatroomId":99343295704997888,"result":{"code":1000,"wrongReceiverDetail":{}},"processedMessageEntries":[{"msgId":15784605065976949,"sentTime":1578460506612}]}</span></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg15"><span data-message-id="messenger.service.inviterequest.subject">대화상대
+ 초대</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.inviterequest.uri">POST
+ /messenger/message/api/v1.0/message/inviteRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.inviterequest.description">대화 상대를 초대한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.request.table.property.n7">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.request.table.attribute.n7">BODY:
+ requestId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.request.table.sample.n7">1302575819285</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.request.table.note.n7">Packet별로 Unique한
+ Id Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.request.table.property.n8">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.request.table.attribute.n8">BODY:
+ chatroomId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.request.table.sample.n8">99343295704997888</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.request.table.note.n8">대화방 ID</span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.request.table.property.n9">초대자목록</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.request.table.attribute.n9">BODY:
+ invitingMembers</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.listlong">List<long></long></span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.request.table.sample.n9">[773887412433063937,
+ 74124330639377655]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.request.table.note.n9">초대 대상자 User
+ Id</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.inviterequest.request.commant.n1"># {"requestId": 15784506666772442,
+ "chatroomId": 99343295704997888, "invitingMembers": [773887412433063937]}</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n2">chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n2">99536308621824000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n2">생성된 대화방
+ Id</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n3">초대받은시간</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n3">sentTime</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n3">1578450666592</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n3">서버로부터 초대받은
+ 시간</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n4">결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n4">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n4"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n4"><span
+ class="ellipsis">Result</span><br><span class="ellipsis">* If Nth message in 10 is
+ failed, It is cause of failure for the message.</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n5">결과:
+ 코드</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n5">result:
+ code</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n5">1000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n5">Result
+ code</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n6">결과:
+ (에러)내용</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n6">result:
+ msg</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n6"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n6">Result
+ message</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n7">결과:
+ 참여불가상세</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n7">result:
+ wrongReceiverDetail</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n7"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n7"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n8">결과: 참여불가상세:
+ 잘못된 사용자 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n8">result:
+ wrongReceiverDetail: invalidReceivers</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n8">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n8"><span
+ class="ellipsis">잘못된 유저 정보로 메시지를 전달할 수 없는 사용자</span><br><span class="ellipsis">* It
+ is available for ResultCode 1001/3003</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n9">결과: 참여불가상세:
+ 정책상 불허된 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n9">result:
+ wrongReceiverDetail: organizationViolated</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n9">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n9"><span
+ class="ellipsis">정책상 대화할 수 없는 사용자 (회사가 다르면 대화가 불가함)</span><br><span
+ class="ellipsis">* It is available for ResultCode 1001/3003</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n10">결과:
+ 참여불가상세: 단말 미등록자 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n10">result:
+ wrongReceiverDetail: disabledReceivers</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n10">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n10"><span
+ class="ellipsis">등록된 단말이 없어서 메시지를 전달할 수 없는 사용자</span><br><span class="ellipsis"> *
+ It is available for ResultCode 1001/1003</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n11">결과:
+ 참여불가상세: 이미 참여한 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n11">result:
+ wrongReceiverDetail: existing</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n11">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n11"><span
+ class="ellipsis">이미 대화방에 참여중인 사용자</span><br><span class="ellipsis">* It is available
+ for ResultCode 1001/3003</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n12">결과:
+ 참여불가상세: 인원제한으로 누락된 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n12">result:
+ wrongReceiverDetail: interruptedReceivers</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n12">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n12"><span
+ class="ellipsis">대화방의 멤버가 최대 인원을 넘어서 초대할 수 없는 사용자</span><br><span class="ellipsis">*
+ It is available for ResultCode 1001/3003</span><br><span
+ class="ellipsis"></span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.property.n13">결과:
+ 참여불가상세: 자통법상 차단된 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.attribute.n13">result:
+ wrongReceiverDetail: blockedGroup</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.inviterequest.response.table.sample.n13">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.inviterequest.response.table.note.n13"><span
+ class="ellipsis">자본시장통합법에 의거 대화를 할 수 없는 관계의 사용자</span><br><span class="ellipsis"> *
+ It is available for ResultCode 1001/3003</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.inviterequest.response.commant.n1">#
+ {"requestId":15784506666772442,"chatroomId":99343295704997888,"result":{"code":1000,"wrongReceiverDetail":{}},"sentTime":1578450666592}</span>
+ </p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.inviterequest.sample.request"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/inviteRequest
+ HTTP/1.1</span><br><span class="ellipsis">headers: {"Accept": "application/json",
+ "Authorization": "Bearer ed114dc382ca16d5b43154fe5832a7", "Content-Type":
+ "application/json", "x-device-id": "1000145874", "Content-Length":
+ "172"}</span><br><span class="ellipsis">body(��ȣȭ��): {"requestId":
+ 15784506666772442, "chatroomId": 99343295704997888, "invitingMembers":
+ [773887412433063937]}</span></span></td>
+ <td class="left"><span data-message-id="messenger.service.inviterequest.sample.response"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">Content-Type:
+ application/json</span><br><span class="ellipsis">Server: Message
+ Server</span><br><span
+ class="ellipsis">{"requestId":15784506666772442,"chatroomId":99343295704997888,"result":{"code":1000,"wrongReceiverDetail":{}},"sentTime":1578450666592}</span></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg16"><span data-message-id="messenger.service.removemember.subject">대화상대
+ 내보내기</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.removemember.uri">POST
+ /messenger/message/api/v1.0/message/removeMemberRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.removemember.description">대화 상대를 방출한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.request.table.property.n7">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.request.table.attribute.n7">BODY:requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.request.table.sample.n7">1302575819285</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.request.table.note.n7">Packet별로 Unique한
+ Id Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.request.table.property.n8">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.request.table.attribute.n8">BODY:chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.request.table.sample.n8">99343295704997888</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.request.table.note.n8">대화방 ID</span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.request.table.property.n9">방출자 목록</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.request.table.attribute.n9">BODY:removingMembers</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.listlong">List<long></long></span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.request.table.sample.n9">[753917009235808257,753916848517419009]</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.request.table.note.n9">방출할 대상자 User Id를
+ 리스트 형태로 작성</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.attribute.n2">chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.sample.n2">99536308621824000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.response.table.note.n2">생성된 대화방
+ Id</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.property.n3">요청시간</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.attribute.n3 &gt;&lt;/span&gt;&lt;/td&gt; &lt;!--.3--&gt; &lt;td&gt;&lt;span data-message-id="
+ messenger.service.response.datatype.long"=""> <!--.3-->
+ <td><span data-message-id="]&lt;/tr"></span></td></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.sample.n3">1578450666592</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.response.table.note.n3">서버로 요청받은
+ 시간</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.property.n4">결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.attribute.n4">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.sample.n4"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.response.table.note.n4">결과</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.property.n5">결과:코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.attribute.n5">result:code</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.sample.n5">1000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.response.table.note.n5">결과 코드</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.property.n6">결과:(에러)내용</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.attribute.n6">result:msg</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.sample.n6"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.response.table.note.n6">결과 내용</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.property.n7">결과:비정상수신자상세</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.attribute.n7">result:wrongReceiverDetail</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.sample.n7"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.response.table.note.n7"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.property.n8">결과:비정상수신자상세:미참여</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.attribute.n8">result:
+ wrongReceiverDetail:notExisting</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.listlong">List<long></long>
+ </span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.removemember.response.table.sample.n8">[897548937598437953,
+ 89754354568789456]</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.removemember.response.table.note.n8"><span
+ class="ellipsis">내보내기 대상자 중 대화방 멤버가 아닌 사용자</span><br><span class="ellipsis">* 결과 코드
+ 1001/3003 리턴</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.removemember.sample.table.n1"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/removeMemberRequest
+ HTTP/1.1</span><br><span class="ellipsis"></span><br><span class="ellipsis">headers:
+ {"Accept": "application/json", "Authorization": "Bearer
+ ed114dc382ca16d5b43154fe5832a7", "Content-Type": "application/json", "x-device-id":
+ "1000145874", "Content-Length": "172"}</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">body(암호화전): {"requestId":
+ 15784562811364493, "chatroomId": 99343295704997888, "removingMembers":
+ [773887412433063937]}</span></span></td>
+ <td class="left"><span data-message-id="messenger.service.removemember.sample.table.n2"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">Content-Type:
+ application/json</span><br><span class="ellipsis">Server: Message
+ Server</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">{"requestId":15784562811364493,"chatroomId":99343295704997888,"result":{"code":1000},"sentTime":1578456281137}</span></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg17"><span data-message-id="messenger.service.destroychatroom.subject">대화방
+ 삭제</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.destroychatroom.uri">POST
+ /messenger/message/api/v1.0/message/destroyChatroomRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.destroychatroom.description">대화방을 삭제한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.request.table.property.n7">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.request.table.attribute.n7">BODY:requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.request.table.sample.n7">1302575819285</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.destroychatroom.request.table.note.n7">Packet별로
+ Unique한 Id Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.request.table.property.n8">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.request.table.attribute.n8">BODY:chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.request.table.sample.n8">99343295704997888</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.destroychatroom.request.table.note.n8">대화방 ID</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.destroychatroom.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.attribute.n2">chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.sample.n2">99536308621824000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.destroychatroom.response.table.note.n2">생성된 대화방
+ Id</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.property.n3">결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.attribute.n3">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.sample.n3"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.destroychatroom.response.table.note.n3">결과</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.property.n4">결과:코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.attribute.n4">result:code</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.sample.n4">1000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.destroychatroom.response.table.note.n4">결과 코드</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.property.n5">결과:(에러)내용</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.attribute.n5">result:msg</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.destroychatroom.response.table.sample.n5"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.destroychatroom.response.table.note.n5">결과 내용</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.destroychatroom.sample.table.n1"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/destroyChatroomRequest
+ HTTP/1.1</span><br><span class="ellipsis"></span><br><span class="ellipsis">headers:
+ {"Accept": "application/json", "Authorization": "Bearer
+ ed114dc382ca16d5b43154fe5832a7", "Content-Type": "application/json", "x-device-id":
+ "1000145874", "Content-Length": "172"}</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">body(암호화전){"requestId":
+ 15784562811364493, "chatroomId": 99343295704997888}</span></span></td>
+ <td class="left"><span data-message-id="messenger.service.destroychatroom.sample.table.n2"><span
+ class="ellipsis">HTTP/1.1 200 OK Content-Type: application/json Server: Message
+ Server</span><br><span
+ class="ellipsis">{"requestId":15784562811364493,"chatroomId":99343295704997888,"result":{"code":1000}}</span></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg18"><span data-message-id="messenger.service.recallmessage.subject">메시지
+ 발신취소</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.recallmessage.uri">POST
+ /messenger/message/api/v1.0/message/recallMessageRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.recallmessage.description">발송된 메시지를 취소한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.property.n7">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.attribute.n7">BODY:requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.sample.n7">1302575819285</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.request.table.note.n7">Packet별로 Unique한
+ Id Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.property.n8">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.attribute.n8">BODY:chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.sample.n8">99343295704997888</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.request.table.note.n8">대화방 ID</span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.property.n9">메시지ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.attribute.n9">BODY:msgId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.sample.n9">15784605065976949</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.request.table.note.n9">발신 취소 대상 메시지
+ ID</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(4)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.property.n10">원본메시지
+ 발송시간</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.attribute.n10">BODY:sentTime</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.sample.n10">1578460506612</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.request.table.note.n10">원본 메시지 발송시간
+ (메시지 발송 ChatReply 의 sentTime)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(5)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.property.n11">미디어정보</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.attribute.n11">BODY:mediaInfo</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.request.table.sample.n11">"http://
+ sqaproxy.samsung.net/file/v1/file/esK93SYcoqeE8ETvJgUdeg"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.request.table.note.n11">발신취소 대상 메시지가
+ MEDIA 타입인 경우 삭제 대상 파일의 "download url"</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.attribute.n2">chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.sample.n2">99536308621824000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.response.table.note.n2">생성된 대화방
+ Id</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.property.n3">결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.attribute.n3">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.sample.n3"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.response.table.note.n3">결과</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.property.n4">결과:코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.attribute.n4">result:code</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.sample.n4">1000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.response.table.note.n4">결과 코드</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.property.n5">결과:(에러)내용</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.attribute.n5">result:msg</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.recallmessage.response.table.sample.n5"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.recallmessage.response.table.note.n5">결과 내용</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.recallmessage.sample.table.n1"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/recallMessageRequest
+ HTTP/1.1</span><br><span class="ellipsis"></span><br><span class="ellipsis">headers:
+ {"Accept": "application/json", "Authorization": "Bearer
+ ed114dc382ca16d5b43154fe5832a7", "Content-Type": "application/json", "x-device-id":
+ "1000145874", "Content-Length": "172"}</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">body(암호화전): {"requestId":
+ 15784610001948974, "chatroomId": 99343295704997888, "msgId": 15784605065976949,
+ "sentTime": 1578460506612}</span></span></td>
+ <td class="left"><span data-message-id="messenger.service.recallmessage.sample.table.n2"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">Content-Type:
+ application/json</span><br><span class="ellipsis">Server: Message
+ Server</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">{"requestId":15784610001948974,"chatroomId":99343295704997888,"result":{"code":1000}}</span></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg19"><span
+ data-message-id="messenger.service.changechatroomtitle.subject">대화방명 변경</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.changechatroomtitle.uri">POST
+ /messenger/message/api/v1.0/message/changeChatroomMetaRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.changechatroomtitle.description">대화방의 Meta 정보를 변경한다. (대화방명 변경만
+ 가능)</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.attribute.n1">BODY:
+ requestId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.sample.n1">1302575819285</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.note.n1">Packet별로
+ Unique한 Id Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.attribute.n2">BODY:
+ chatroomId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.sample.n2">99343295704997888</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.note.n2">대화방
+ ID</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.property.n3">대화방
+ 이름</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.attribute.n3">BODY:
+ title</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.sample.n3">"dev
+ server team"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomtitle.request.table.note.n3">변경하고자 하는
+ 대화방명</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.changechatroomtitle.request.sample"># {"requestId":
+ 15784610001948974, "chatroomId": 99343295704997888, "title": "메시지 테스트방1"}</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.attribute.n2">chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.sample.n2">99536308621824000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.note.n2">생성된 대화방
+ Id</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.property.n3">결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.attribute.n3">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.sample.n3"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.note.n3">Result</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.property.n4">결과:
+ 코드</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.attribute.n4">result:
+ code</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.sample.n4">1000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.note.n4">Result
+ code</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.property.n5">결과:
+ (에러)내용</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.attribute.n5">result:
+ msg</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.sample.n5"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.note.n5">Result
+ message</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.property.n6">대화방
+ 변경시간</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.attribute.n6">changeTimeMillis</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.sample.n6">1578386757248</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomtitle.response.table.note.n6">대화방
+ 속성(이름)이 변경된 시간</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.changechatroomtitle.response.sample"># {"requestId":
+ 15784610001948974, "chatroomId": 99343295704997888, "result": {"code": 1000}, changeTimeMillis":
+ 1578016699269}</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.changechatroomtitle.sample.table.request.n1"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/changeChatroomMetaRequest
+ HTTP/1.1</span><br><span class="ellipsis">headers: {"Accept": "application/json",
+ "Authorization": "Bearer ed114dc382ca16d5b43154fe5832a7", "Content-Type":
+ "application/json", "x-device-id": "1000145874", "Content-Length":
+ "172"}</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">body(암호화전): {"requestId": 15784610001948974, "chatroomId":
+ 99343295704997888, "title": "메시지 테스트방1"}</span></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomtitle.sample.table.response.n1"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">Content-Type:
+ application/json</span><br><span class="ellipsis">Server: Message
+ Server</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">{"requestId": 15784610001948974, "chatroomId": 99343295704997888,
+ "result": {"code": 1000}, changeTimeMillis": 1578016699269}</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg20"><span data-message-id="messenger.service.changechatroomowner.subject">방장
+ 변경</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.changechatroomowner.uri">POST
+ /messenger/message/api/v1.0/message/changeOwnerRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.changechatroomowner.description">대화방의 방장을 변경한다. (ChatType이 0: (1:1
+ 대화방), 1: (Group 대화방)에서만 지원됨)</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.attribute.n1">BODY:
+ requestId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.sample.n1">#
+ {"requestId": 15784610001948974, "chatroomId": 99343295704997888, "newOwner":
+ 753917009235808257}</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.note.n1">Packet별로
+ Unique한 Id Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.attribute.n2">BODY:
+ chatroomId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.sample.n2">99343295704997888</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.note.n2">대화방
+ ID</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.property.n3">새방장ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.attribute.n3 &gt;&lt;/span&gt;&lt;/td&gt; &lt;!--.5--&gt; &lt;td&gt;&lt;span data-message-id="
+ messenger.service.request.mandatory.n"=""> <!--.5-->
+ <td><span data-message-id="]&lt;/tr"></span></td></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.sample.n3">753917009235808257</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomowner.request.table.note.n3">새로운
+ 방장ID</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.changechatroomowner.request.table.sample.n1"># {"requestId":
+ 15784610001948974, "chatroomId": 99343295704997888, "newOwner": 753917009235808257}</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.attribute.n2">chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.sample.n2">99536308621824000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.note.n2">생성된 대화방
+ Id</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.property.n3">결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.attribute.n3">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.sample.n3"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.note.n3">Result</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.property.n4">결과:
+ 코드</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.attribute.n4">result:
+ code</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.sample.n4">1000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.note.n4">Result
+ code</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.property.n5">결과:
+ (에러)내용</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.attribute.n5">result:
+ msg</span></td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.sample.n5"></span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.note.n5">Result
+ message</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.property.n6">요청시간</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.attribute.n6">sentTime</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.sample.n6">1578386757248</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.changechatroomowner.response.table.note.n6">서버에서 해당
+ Request를 받은 시간</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.changechatroomowner.response.sample">{"requestId":
+ 15784610001948974, "chatroomId": 99343295704997888, newOwner": 753917009235808257}</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.changechatroomowner.sample.table.request.n1"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/changeOwnerRequest
+ HTTP/1.1</span><br><span class="ellipsis">headers: {"Accept": "application/json",
+ "Authorization": "Bearer ed114dc382ca16d5b43154fe5832a7", "Content-Type":
+ "application/json", "x-device-id": "1000145874", "Content-Length":
+ "172"}</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">body(암호화전): {"requestId": 15784610001948974, "chatroomId":
+ 99343295704997888, "newOwner": 753917009235808257}</span></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.changechatroomowner.sample.table.response.n1"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">Content-Type:
+ application/json</span><br><span class="ellipsis">Server: Message
+ Server</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">{"requestId": 15784610001948974, "chatroomId": 99343295704997888,
+ "result": {"code": 1000}, newOwner": 753917009235808257}</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg21"><span data-message-id="messenger.service.endchat.subject">대화방 나가기</span>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.endchat.uri">POST
+ /messenger/message/api/v1.0/message/endChatRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.endchat.description">대화방에서 퇴장한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.request.table.property.n7">요청ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.request.table.attribute.n7">BODY:requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.request.table.sample.n7">1302575819285</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.endchat.request.table.note.n7">Packet별로 Unique한 Id
+ Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.request.table.property.n8"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.request.table.attribute.n8">BODY:endChatEntries</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td>List<endchatentry></endchatentry>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.request.table.sample.n8"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.endchat.request.table.note.n8"></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2-1)</td>
+ <td class="left"><span data-message-id="messenger.service.endchat.request.table.property.n9">퇴장할
+ 대화방 ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.request.table.attribute.n9">BODY:endChatEntriy:chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.request.table.sample.n9">99343295704997888</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.endchat.request.table.note.n9">퇴장할 대화방 ID</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.property.n1">요청ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.endchat.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.property.n2">결과</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.attribute.n2">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.sample.n2"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.endchat.response.table.note.n2">결과</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.property.n3">결과:코드</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.attribute.n3">result:code</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.sample.n3">1000</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.endchat.response.table.note.n3">결과 코드</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.property.n4">결과:(에러)내용</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.attribute.n4">result:msg</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.endchat.response.table.sample.n4"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.endchat.response.table.note.n4">결과 내용</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.endchat.sample.table.n1"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/endChatRequest
+ HTTP/1.1</span><br><span class="ellipsis"></span><br><span class="ellipsis">headers:
+ {"Accept": "application/json", "Authorization": "Bearer
+ ed114dc382ca16d5b43154fe5832a7", "Content-Type": "application/json", "x-device-id":
+ "1000145874", "Content-Length": "172"}</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">body(암호화전): {"requestId":
+ 15784610001948974, "endChatEntries":[{"chatroomId":
+ 99343295704997888}]}</span></span></td>
+ <td class="left"><span data-message-id="messenger.service.endchat.sample.table.n2"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">Content-Type:
+ application/json</span><br><span class="ellipsis">Server: Message
+ Server</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">{"requestId": 15784610001948974, "result": {"code":
+ 1000}}</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div><br>
+ <div class="dan-border"></div>
+ <div class="module-font type01" id="msg22"><span data-message-id="messenger.service.msgreadcount.subject">메시지 읽음
+ Count 조회</span></div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.msgreadcount.uri">POST
+ /messenger/message/api/v1.0/message/messageReadCountRequest</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.msgreadcount.description">발신 메시지를 읽은 사용자의 수를 조회한다.</span></p>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.request.subject">Request Parameter</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.request.parametertype">Parameter Type</span></th>
+ <th><span data-message-id="messenger.service.request.no">No.</span></th>
+ <th><span data-message-id="messenger.service.request.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.request.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.request.mandatory">Mandatory</span></th>
+ <th><span data-message-id="messenger.service.request.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.request.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.request.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="10%;">
+ <col width="3%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="7%;">
+ <col width="8%;">
+ <col width="16%;">
+ <col width="26%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><span data-message-id="messenger.service.request.type.header">Header</span></td>
+ <td>1</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.accept">응답 허용
+ 타입</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.accept">Accept</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.accept.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.accept.appjson"><span
+ class="ellipsis">Default: application/json</span><br><span class="ellipsis">Valid
+ Values: [application/json, application/xml]</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>2</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.content">첨부데이터타입</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.content">Content-Type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.contype.appjson">"application/json"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.contype.appjson"><span
+ class="ellipsis">Payload의 content type 명시</span><br><span class="ellipsis">ex)
+ application/json</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>3</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.author">인증토큰</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.author">Authorization</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.authtoken">"Bearer
+ f5fe27195fb2523cee1758c162a9f60"</span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.authtoken">[평문] Access Token (발급
+ 받은 Access Token)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>4</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdid">단말ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdid">x-device-id</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvcid">"104032854"</span></td>
+ <td class="left desc"><span data-message-id="messenger.service.message.request.note.dvcid">[평문]
+ 연계시스템용으로 등록한 단말 ID ("메신저 Device 등록" 부분 참조)</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>5</td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.property.xdtp">단말종류</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.table.attribute.xdtp">x-device-type</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.dvctp.rel">"relation"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.dvctp.rel"><span
+ class="ellipsis">[평문] 단말 타입, “relation” 으로 고정</span><br><span class="ellipsis">※
+ relation: 외부연계 시스템</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.request.Payload">Payload</span></td>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.data.empty"></span></td>
+ <td class="left"><span data-message-id="messenger.service.request.type.body">Body</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.message.request.sample.encbody">"/6Fz+KIhVzmyhiBpMrLNJp+0saSg7b7XlZp3tlXrnRLVaCHDD4XqV9dGVh6hmri7hR3dJdTps1qO3gDH1XccTj3Qmy3X4MsMBFP8AW3uIGk7QdlBp0wMi8FBrHExUR/h"</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.message.request.note.encbody"><span
+ class="ellipsis">[암호화] Payload 데이터</span><br><span class="ellipsis">※ 평문
+ 상태(json문자열)의 BODY항목을 2단계 암호화를 거친 암호화된 문자열 값.</span><br><span class="ellipsis">1단계:
+ Aes256암호화 (암호화키는 "메시지서버 암호화 Key 조회" 부분 참조)</span><br><span class="ellipsis">2단계:
+ Base64암호화</span></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.property.n7">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.attribute.n7">BODY:requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.sample.n7">1302575819285</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.request.table.note.n7">Packet별로 Unique한
+ Id Milliseconds 형식 (ex. 1302575819285 )</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.property.n8">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.attribute.n8">BODY:chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.sample.n8">99343295704997888</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.request.table.note.n8">대화방 ID</span>
+ </td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.property.n9">메시지정보</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.attribute.n9">BODY:messageEntry</span>
+ </td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td>List<messageentity></messageentity>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.sample.n9"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.request.table.note.n9"></span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3-1)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.property.n10">메시지ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.attribute.n10">BODY:messageEntry:
+ msgId</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.y">y</span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.sample.n10">38635452485935</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.request.table.note.n10">카운트 조회를 하고자 하는
+ 메시지의 ID</span></td>
+ </tr>
+ <tr>
+ <td><span data-message-id="messenger.service.data.empty"></span></td>
+ <td>(3-2)</td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.property.n11">원본메시지
+ 발송시간</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.attribute.n11">BODY:endChatEntriy:messageEntry:
+ sentTime</span></td>
+ <td><span data-message-id="messenger.service.request.mandatory.n"></span></td>
+ <td><span data-message-id="messenger.service.request.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.request.table.sample.n11">1472639462088</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.request.table.note.n11">카운트 조회를 하고자 하는
+ 메시지의 sent time</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.response.subject.enc">Response Parameter [Encrypted]</span></p>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th><span data-message-id="messenger.service.response.properties">Properties</span></th>
+ <th><span data-message-id="messenger.service.response.attribute">Attribute</span></th>
+ <th><span data-message-id="messenger.service.response.datatype">Data Type</span></th>
+ <th><span data-message-id="messenger.service.response.sampledata">Sample Data</span></th>
+ <th><span data-message-id="messenger.service.response.note">Note</span></th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+ <div class="tbl-list-body">
+ <table>
+ <colgroup>
+ <col width="15%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="35%;">
+ <col width="25%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.property.n1">요청ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.attribute.n1">requestId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.sample.n1">15783867572942564</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.response.table.note.n1"><span
+ class="ellipsis">Packet별로 Unique한 Id (Milliseconds 형식)</span><br><span
+ class="ellipsis">※ 요청시 사용한 requestId 값과 동일</span></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.property.n2">대화방ID</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.attribute.n2">chatroomId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.sample.n2">99536308621824000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.response.table.note.n2">대화방 Id</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.property.n3">결과</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.attribute.n3">result</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.empty"></span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.sample.n3"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.response.table.note.n3">결과</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.property.n4">결과:코드</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.attribute.n4">result:code</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.sample.n4">1000</span>
+ </td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.response.table.note.n4">결과 코드</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.property.n5">결과:(에러)내용</span>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.attribute.n5">result:msg</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.string">String</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.sample.n5"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.response.table.note.n5">결과 내용</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.property.n6">결과:카운트 조회
+ 목록</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.attribute.n6">result:messageEntry</span>
+ </td>
+ <td>List<messageentity></messageentity>
+ </td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.sample.n6"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.response.table.note.n6"></span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.property.n7">결과:카운트 조회
+ 목록:메시지ID</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.attribute.n7">result:messageEntry:msgId</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.sample.n7"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.response.table.note.n7">카운트 조회한 메시지의
+ ID</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.property.n8">결과:카운트 조회
+ 목록:메시지발송시간</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.attribute.n8">result:messageEntry:sentTime</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.long">Long</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.sample.n8"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.response.table.note.n8">카운트 조회한 메시지의
+ sent time</span></td>
+ </tr>
+ <tr>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.property.n9">결과:카운트 조회
+ 목록:읽음 카운트</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.attribute.n9">result:messageEntry:readCount</span>
+ </td>
+ <td><span data-message-id="messenger.service.response.datatype.integer">Integer</span></td>
+ <td class="left"><span
+ data-message-id="messenger.service.msgreadcount.response.table.sample.n9"></span></td>
+ <td class="left desc"><span
+ data-message-id="messenger.service.msgreadcount.response.table.note.n9">해당 메시지에 대한 읽음
+ 카운트</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.sample.subject">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><span data-message-id="messenger.service.sample.request">Request</span></th>
+ <th><span data-message-id="messenger.service.sample.response">Response</span></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="messenger.service.msgreadcount.sample.table.n1"><span
+ class="ellipsis">POST /messenger/message/api/v1.0/message/messageReadCountRequest
+ HTTP/1.1</span><br><span class="ellipsis"></span><br><span class="ellipsis">headers:
+ {"Accept": "application/json", "Authorization": "Bearer
+ ed114dc382ca16d5b43154fe5832a7", "Content-Type": "application/json", "x-device-id":
+ "1000145874", "Content-Length": "172"}</span><br><span
+ class="ellipsis"></span><br><span class="ellipsis">body(암호화전): {"requestId":
+ 15784610001948974, "chatroomId": 99343295704997888, "messageEntry":[{"msgId":
+ 38635452485935, "sentTime":1472639462088}]}</span></span></td>
+ <td class="left"><span data-message-id="messenger.service.msgreadcount.sample.table.n2"><span
+ class="ellipsis">HTTP/1.1 200 OK</span><br><span class="ellipsis">Content-Type:
+ application/json</span><br><span class="ellipsis">Server: Message
+ Server</span><br><span class="ellipsis"></span><br><span
+ class="ellipsis">{"requestId": 15784610001948974, "chatroomId": 99343295704997888,
+ "result": {"code": 1000}, "messageEntry":[{"msgId": 38635452485935,
+ "sentTime":1472639462088, "readCount":0}]}</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p><span data-message-id="messenger.service.errorcode.subject">Error Code</span></p>
+ </div>
+ <div class="module-font">
+ <p><span data-message-id="messenger.service.message.errorcode.detail">"메시지 API 공통 포맷" 부분 참조 (에러코드 부분)</span></p>
+ </div>
+</div> \ No newline at end of file
diff --git a/lib/knox-api/messenger/messenger.ts b/lib/knox-api/messenger/messenger.ts
new file mode 100644
index 00000000..58611621
--- /dev/null
+++ b/lib/knox-api/messenger/messenger.ts
@@ -0,0 +1,925 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
+"use server"
+
+import { z } from 'zod';
+
+// 환경 변수 타입 정의
+const MESSENGER_BASE_URL = process.env.MESSENGER_BASE_URL || 'https://api.messenger.com';
+const ACCESS_TOKEN = process.env.MESSENGER_ACCESS_TOKEN;
+const DEVICE_ID = process.env.MESSENGER_DEVICE_ID;
+
+// 공통 헤더 생성 함수
+function createHeaders(additionalHeaders?: Record<string, string>) {
+ const headers: Record<string, string> = {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+ 'Authorization': `Bearer ${ACCESS_TOKEN}`,
+ 'x-device-id': DEVICE_ID!,
+ 'x-device-type': 'relation',
+ ...additionalHeaders
+ };
+
+ return headers;
+}
+
+// 응답 타입 정의
+type ApiResponse<T> = {
+ success: boolean;
+ data?: T;
+ error?: string;
+ statusCode?: number;
+};
+
+// 에러 핸들링 함수
+function handleApiError(error: any, endpoint: string): ApiResponse<never> {
+ console.error(`Knox Messenger API Error (${endpoint}):`, error);
+
+ return {
+ success: false,
+ error: error.message || `Failed to call ${endpoint}`,
+ statusCode: error.status || 500
+ };
+}
+
+// =============================================================================
+// 연락처 관리 API
+// =============================================================================
+
+// 연락처 추가 스키마
+const addContactSchema = z.object({
+ contactList: z.array(z.object({
+ userID: z.number()
+ }))
+});
+
+// 연락처 추가
+export async function addContact(data: z.infer<typeof addContactSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = addContactSchema.parse(data);
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/contact/api/v1.0/contact/o1/user`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: JSON.stringify(validated)
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to add contact',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'addContact');
+ }
+}
+
+// 연락처 삭제 스키마
+const deleteContactSchema = z.object({
+ contactList: z.array(z.object({
+ userID: z.number()
+ }))
+});
+
+// 연락처 삭제
+export async function deleteContact(data: z.infer<typeof deleteContactSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = deleteContactSchema.parse(data);
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/contact/api/v1.0/contact/o1/user/delete`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: JSON.stringify(validated)
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to delete contact',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'deleteContact');
+ }
+}
+
+// 연락처 목록 조회
+export async function getContactList(): Promise<ApiResponse<any>> {
+ try {
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/contact/api/v1.0/contact/o1/list`, {
+ method: 'GET',
+ headers: createHeaders()
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to get contact list',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'getContactList');
+ }
+}
+
+// 사용자 검색 스키마
+const searchUserSchema = z.object({
+ singleIdList: z.array(z.object({
+ singleId: z.string()
+ }))
+});
+
+// 사용자 검색
+export async function searchUserByLoginId(data: z.infer<typeof searchUserSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = searchUserSchema.parse(data);
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/contact/api/v1.0/profile/o1/search/loginid`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: JSON.stringify(validated)
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to search user',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'searchUserByLoginId');
+ }
+}
+
+// =============================================================================
+// 장치 관리 API
+// =============================================================================
+
+// 장치 등록
+export async function registerDevice(): Promise<ApiResponse<any>> {
+ try {
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/contact/api/v1.0/device/o1/reg`, {
+ method: 'GET',
+ headers: createHeaders()
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to register device',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'registerDevice');
+ }
+}
+
+// 장치 해지 스키마
+const deregisterDeviceSchema = z.object({
+ deviceServerID: z.number()
+});
+
+// 장치 해지
+export async function deregisterDevice(data: z.infer<typeof deregisterDeviceSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = deregisterDeviceSchema.parse(data);
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/contact/api/v1.0/device/o1/delete`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: JSON.stringify(validated)
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to deregister device',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'deregisterDevice');
+ }
+}
+
+// 장치 사용 정보 조회 스키마
+const getDeviceUseInfoSchema = z.object({
+ singleIdList: z.array(z.object({
+ singleId: z.string()
+ }))
+});
+
+// 장치 사용 정보 조회
+export async function getDeviceUseInfo(data: z.infer<typeof getDeviceUseInfoSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = getDeviceUseInfoSchema.parse(data);
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/contact/api/v1.0/device/o1/use/info`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: JSON.stringify(validated)
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to get device use info',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'getDeviceUseInfo');
+ }
+}
+
+// =============================================================================
+// 파일 관리 API
+// =============================================================================
+
+// 파일 서버 시간 및 키 조회 스키마
+const getFileServerTimeSchema = z.object({
+ word: z.string()
+});
+
+// 파일 서버 시간 및 키 조회
+export async function getFileServerTime(data: z.infer<typeof getFileServerTimeSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = getFileServerTimeSchema.parse(data);
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/file/api/v1.0/file/v1/getCurrentTime?word=${validated.word}`, {
+ method: 'GET',
+ headers: createHeaders({
+ 'x-access-token': ACCESS_TOKEN!
+ })
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to get file server time',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'getFileServerTime');
+ }
+}
+
+// 파일 업로드 스키마
+const uploadFileSchema = z.object({
+ filename: z.string(),
+ fileData: z.instanceof(FormData).or(z.any())
+});
+
+// 파일 업로드
+export async function uploadFile(data: z.infer<typeof uploadFileSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = uploadFileSchema.parse(data);
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/file/api/v1.0/file/v1s/file/${validated.filename}`, {
+ method: 'PUT',
+ headers: createHeaders({
+ 'x-access-token': ACCESS_TOKEN!,
+ 'Content-Type': 'multipart/form-data'
+ }),
+ body: validated.fileData
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to upload file',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'uploadFile');
+ }
+}
+
+// 파일 다운로드 스키마
+const downloadFileSchema = z.object({
+ fileId: z.string()
+});
+
+// 파일 다운로드
+export async function downloadFile(data: z.infer<typeof downloadFileSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = downloadFileSchema.parse(data);
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/file/api/v1.0/file/v1s/file/${validated.fileId}`, {
+ method: 'GET',
+ headers: createHeaders({
+ 'x-access-token': ACCESS_TOKEN!
+ })
+ });
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: 'Failed to download file',
+ statusCode: response.status
+ };
+ }
+
+ const blob = await response.blob();
+
+ return {
+ success: true,
+ data: blob
+ };
+ } catch (error) {
+ return handleApiError(error, 'downloadFile');
+ }
+}
+
+// =============================================================================
+// 메시지 관리 API
+// =============================================================================
+
+// 메시지 서버 키 조회
+export async function getMessageServerKeys(): Promise<ApiResponse<any>> {
+ try {
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/msgctx/api/v1.0/key/getkeys`, {
+ method: 'GET',
+ headers: createHeaders()
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to get message server keys',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'getMessageServerKeys');
+ }
+}
+
+// 대화방 참여자 정보 조회 스키마
+const getChatMembersSchema = z.object({
+ chatroomId: z.number()
+});
+
+// 대화방 참여자 정보 조회
+export async function getChatMembers(data: z.infer<typeof getChatMembersSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = getChatMembersSchema.parse(data);
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/msgctx/api/v1.0/chat/activemember?chatroomId=${validated.chatroomId}`, {
+ method: 'GET',
+ headers: createHeaders()
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to get chat members',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'getChatMembers');
+ }
+}
+
+// 대화방 생성 스키마
+const createChatroomSchema = z.object({
+ requestId: z.number(),
+ chatType: z.number(), // 0: 1:1, 1: GROUP, 2: BROADCAST GROUP, 5: BROADCAST SINGLE
+ receivers: z.array(z.number()),
+ chatroomTitle: z.string().optional()
+});
+
+// 대화방 생성
+export async function createChatroom(data: z.infer<typeof createChatroomSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = createChatroomSchema.parse(data);
+
+ // TODO: 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/createChatroomRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to create chatroom',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'createChatroom');
+ }
+}
+
+// 메시지 발송 스키마
+const sendMessageSchema = z.object({
+ requestId: z.number(),
+ chatroomId: z.number(),
+ chatMessageParams: z.array(z.object({
+ msgId: z.number(),
+ msgType: z.number(), // 0: TEXT, 1: MEDIA, 7: RTF, 8: NCUSTOM
+ chatMsg: z.string(),
+ msgTtl: z.number().optional()
+ }))
+});
+
+// 메시지 발송
+export async function sendMessage(data: z.infer<typeof sendMessageSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = sendMessageSchema.parse(data);
+
+ // 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/chatRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to send message',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'sendMessage');
+ }
+}
+
+// 대화상대 초대 스키마
+const inviteUserSchema = z.object({
+ requestId: z.number(),
+ chatroomId: z.number(),
+ invitingMembers: z.array(z.number())
+});
+
+// 대화상대 초대
+export async function inviteUser(data: z.infer<typeof inviteUserSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = inviteUserSchema.parse(data);
+
+ // 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/inviteRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to invite user',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'inviteUser');
+ }
+}
+
+// 대화상대 내보내기 스키마
+const removeUserSchema = z.object({
+ requestId: z.number(),
+ chatroomId: z.number(),
+ removingMembers: z.array(z.number())
+});
+
+// 대화상대 내보내기
+export async function removeUser(data: z.infer<typeof removeUserSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = removeUserSchema.parse(data);
+
+ // 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/removeMemberRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to remove user',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'removeUser');
+ }
+}
+
+// 대화방 삭제 스키마
+const deleteChatroomSchema = z.object({
+ requestId: z.number(),
+ chatroomId: z.number()
+});
+
+// 대화방 삭제
+export async function deleteChatroom(data: z.infer<typeof deleteChatroomSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = deleteChatroomSchema.parse(data);
+
+ // 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/destroyChatroomRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to delete chatroom',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'deleteChatroom');
+ }
+}
+
+// 메시지 발신취소 스키마
+const recallMessageSchema = z.object({
+ requestId: z.number(),
+ chatroomId: z.number(),
+ msgId: z.number()
+});
+
+// 메시지 발신취소
+export async function recallMessage(data: z.infer<typeof recallMessageSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = recallMessageSchema.parse(data);
+
+ // 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/recallMessageRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to recall message',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'recallMessage');
+ }
+}
+
+// 대화방명 변경 스키마
+const changeChatroomNameSchema = z.object({
+ requestId: z.number(),
+ chatroomId: z.number(),
+ chatroomTitle: z.string()
+});
+
+// 대화방명 변경
+export async function changeChatroomName(data: z.infer<typeof changeChatroomNameSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = changeChatroomNameSchema.parse(data);
+
+ // 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/changeChatroomMetaRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to change chatroom name',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'changeChatroomName');
+ }
+}
+
+// 방장 변경 스키마
+const changeOwnerSchema = z.object({
+ requestId: z.number(),
+ chatroomId: z.number(),
+ newOwnerUserId: z.number()
+});
+
+// 방장 변경
+export async function changeOwner(data: z.infer<typeof changeOwnerSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = changeOwnerSchema.parse(data);
+
+ // 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/changeOwnerRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to change owner',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'changeOwner');
+ }
+}
+
+// 대화방 나가기 스키마
+const leaveChatroomSchema = z.object({
+ requestId: z.number(),
+ chatroomId: z.number()
+});
+
+// 대화방 나가기
+export async function leaveChatroom(data: z.infer<typeof leaveChatroomSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = leaveChatroomSchema.parse(data);
+
+ // 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/endChatRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to leave chatroom',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'leaveChatroom');
+ }
+}
+
+// 메시지 읽음 카운트 조회 스키마
+const getMessageReadCountSchema = z.object({
+ requestId: z.number(),
+ chatroomId: z.number(),
+ msgId: z.number()
+});
+
+// 메시지 읽음 카운트 조회
+export async function getMessageReadCount(data: z.infer<typeof getMessageReadCountSchema>): Promise<ApiResponse<any>> {
+ try {
+ const validated = getMessageReadCountSchema.parse(data);
+
+ // 실제 구현에서는 메시지 서버 키를 사용하여 암호화해야 함
+ const encryptedBody = JSON.stringify(validated); // 임시로 평문 사용
+
+ const response = await fetch(`${MESSENGER_BASE_URL}/messenger/message/api/v1.0/message/messageReadCountRequest`, {
+ method: 'POST',
+ headers: createHeaders(),
+ body: encryptedBody
+ });
+
+ const result = await response.json();
+
+ if (!response.ok) {
+ return {
+ success: false,
+ error: result.message || 'Failed to get message read count',
+ statusCode: response.status
+ };
+ }
+
+ return {
+ success: true,
+ data: result
+ };
+ } catch (error) {
+ return handleApiError(error, 'getMessageReadCount');
+ }
+}
+
+// =============================================================================
+// 유틸리티 함수
+// =============================================================================
+
+// 현재 시간을 밀리초로 반환 (requestId 생성용)
+export async function generateRequestId(): Promise<number> {
+ return Date.now();
+}
+
+// 메시지 ID 생성 (각 메시지마다 고유한 ID 필요)
+export async function generateMessageId(): Promise<number> {
+ return Date.now() + Math.floor(Math.random() * 1000);
+}
+
+// 헬퍼 함수 - 간단한 텍스트 메시지 발송
+export async function sendTextMessage(chatroomId: number, message: string): Promise<ApiResponse<any>> {
+ const requestId = await generateRequestId();
+ const msgId = await generateMessageId();
+
+ return sendMessage({
+ requestId,
+ chatroomId,
+ chatMessageParams: [{
+ msgId,
+ msgType: 0, // TEXT
+ chatMsg: message,
+ msgTtl: 7200 // 2시간
+ }]
+ });
+}
+
+// 헬퍼 함수 - 그룹 대화방 생성
+export async function createGroupChatroom(userIds: number[], title?: string): Promise<ApiResponse<any>> {
+ const requestId = await generateRequestId();
+
+ return createChatroom({
+ requestId,
+ chatType: 2, // BROADCAST GROUP
+ receivers: userIds,
+ chatroomTitle: title
+ });
+}
+
+// 헬퍼 함수 - 1:1 대화방 생성
+export async function createPrivateChatroom(userId: number): Promise<ApiResponse<any>> {
+ const requestId = await generateRequestId();
+
+ return createChatroom({
+ requestId,
+ chatType: 5, // BROADCAST SINGLE
+ receivers: [userId]
+ });
+}
diff --git a/lib/knox-api/realtime-notification/realtime-notification-guide.html b/lib/knox-api/realtime-notification/realtime-notification-guide.html
new file mode 100644
index 00000000..728df9c1
--- /dev/null
+++ b/lib/knox-api/realtime-notification/realtime-notification-guide.html
@@ -0,0 +1,764 @@
+<div class="body-content">
+ <div class="sub-header margin">
+ <h2 data-message-id="noti.subject">실시간알림</h2>
+ </div>
+ <div class="module-subsum">
+ <p><span data-message-id="noti.guide.description">Knox Suite을 통해 토스트 알림을 전송합니다.</span></p>
+ </div><br><br>
+ <div class="module-font type03"><span data-message-id="noti.guide.policy01">[정책 및 제약사항]</span></div>
+ <div class="module-font type04">
+ <dl>
+ <dt><span data-message-id="noti.guide.policy02">1. 토스트알림은 Knox Suite 로그인 사용자에게만 전송가능합니다.</span></dt>
+ <dt><span data-message-id="noti.guide.policy03">2. 토스트알림에 포함 된 링크는 호출 시 사전 확인 필요합니다.</span></dt>
+ <dt><span data-message-id="noti.guide.policy04">3. 토스트알림 최대 수신인은 100명을 초과할 수 없습니다.</span></dt>
+ </dl>
+ </div><br><br>
+ <div class="module-font type03"><span data-message-id="subject.api.list">[API 목록]</span> &nbsp;&nbsp; <a
+ target="blank" class="swagger-link" id="swaggerLinkStg"
+ href="http://developers.samsung.net/knoxcenter/wso2/swagger-ui/982ed416-88ed-4a6a-ba08-32de77173194"><span
+ data-message-id="subject.go.to.swagger">테스트 페이지로 이동(Swagger)</span></a><span
+ 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="150px">
+ <col width="300px">
+ <col width="100px">
+ <col style="width:">
+ </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="150px">
+ <col width="300px">
+ <col width="100px">
+ <col style="width:">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td><a href="#emp"><span data-message-id="noti.guide.api02">알림 전송</span></a></td>
+ <td>/sendnotification</td>
+ <td>POST</td>
+ <td align="left"><span data-message-id="noti.guide.api03">실시간 토스트 알림 전송</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br><br><br>
+ <div class="dan-border"></div><br><br>
+ <div class="module-font type01" id="emp"><span data-message-id="noti.guide.sendnotification">알림 전송</span></div>
+ <div class="module-font type02">
+ <p>Request Parameter</p><span data-message-id="noti.guide.sendnotification.request.title">URL :
+ /notification/api/v2.0/sendnotification</span>
+ </div>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="5%;">
+ <col width="15%;">
+ <col width="15%;">
+ <col width="8%;">
+ <col width="8%;">
+ <col width="8%;">
+ <col width="19%;">
+ <col width="20%;">
+ </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="15%;">
+ <col width="8%;">
+ <col width="8%;">
+ <col width="8%;">
+ <col width="19%;">
+ <col width="20%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td title="1">1</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request01">연계 시스템 ID</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;System-ID</td>
+ <td>Y</td>
+ <td>Header</td>
+ <td>String</td>
+ <td class="left">C60REST0001</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description01">발급받은
+ 연계 ID</span></td>
+ </tr>
+ <tr>
+ <td title="2">2</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request02">수신계정</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;targetAddress</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>String Array</td>
+ <td class="left">["knoxportal@samsung.com"]</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description02">알림수신인
+ 메일계정</span></td>
+ </tr>
+ <tr>
+ <td title="3">3</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request03">이벤트속성</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;ntype</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">NEW</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description03">이벤트의
+ 속성</span></td>
+ </tr>
+ <tr>
+ <td title="4">4</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request04">시스템이름</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;systemname</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">Push service</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description04">외부
+ 시스템 식별 Name</span></td>
+ </tr>
+ <tr>
+ <td title="5">5</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request05">알림표시명</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;from</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">녹스포털 테스트</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description05">외부
+ 시스템 Toast 표시명(Local)</span></td>
+ </tr>
+ <tr>
+ <td title="6">6</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request06">알림표시명(영)</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;fromGlobal</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">Knox Portal Test</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description06">외부
+ 시스템 Toast 표시명(Global)</span></td>
+ </tr>
+ <tr>
+ <td title="7">7</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request07">Visual속성</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;exVisualVO</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>JsonString</td>
+ <td class="left">N/A</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description07">알림
+ Visual 속성</span></td>
+ </tr>
+ <tr>
+ <td title="8">8</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request08">토스트이름</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;template</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">default template</td>
+ <td class="left"><span
+ data-message-id="noti.guide.sendnotification.request.description08">Pre-Defined된 Toast
+ 이름</span></td>
+ </tr>
+ <tr>
+ <td title="9">9</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request09">로고이미지</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;skin</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">default skin</td>
+ <td class="left"><span
+ data-message-id="noti.guide.sendnotification.request.description09">Background 와 기본제공
+ Logo 이미지</span></td>
+ </tr>
+ <tr>
+ <td title="10">10</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request10">영문사용여부</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;global</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">N</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description10">Text에
+ 설정된 global 사용여부</span></td>
+ </tr>
+ <tr>
+ <td title="11">11</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request11">로고표시여부</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;logo</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">Y</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description11">logo
+ 표시여부</span></td>
+ </tr>
+ <tr>
+ <td title="12">12</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request12">로고이미지URL</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;logourl</td>
+ <td>N</td>
+ <td>Query</td>
+ <td>String</td>
+ <td class="left">http://www.samsung.net/logo.jpg</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description12">불러올
+ logo 표시 이미지 url</span></td>
+ </tr>
+ <tr>
+ <td title="13">13</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request13">Text속성</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;exTextVO</td>
+ <td>Y</td>
+ <td>Query</td>
+ <td>JsonStringArray</td>
+ <td class="left">N/A</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description13">알림
+ Text 속성</span></td>
+ </tr>
+ <tr>
+ <td title="14">14</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request14">표시문자열</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;content</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">한글기준 10자이내, 30byte 이내</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description14">표시
+ 문자열</span></td>
+ </tr>
+ <tr>
+ <td title="15">15</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request15">표시문자열(영)</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;contentglobal</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">Toast Title</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description15">표시
+ 문자열 Global</span></td>
+ </tr>
+ <tr>
+ <td title="16">16</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request16">표시문자크기</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;size</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>Int</td>
+ <td class="left">512</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description16">표시
+ 문자열 문자 크기</span></td>
+ </tr>
+ <tr>
+ <td title="17">17</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request17">표시문자위치</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;pos</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>Int</td>
+ <td class="left">2</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description17">표시
+ 문자열 위치</span></td>
+ </tr>
+ <tr>
+ <td title="18">18</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request18">표시문자스타일</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;style</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">BOLD</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description18">표시
+ 문자열 문자 스타일</span></td>
+ </tr>
+ <tr>
+ <td title="19">19</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request19">Color속성</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;exColorVO</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>JsonString</td>
+ <td class="left">N/A</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description19">표시
+ 문자열 문자 색상</span></td>
+ </tr>
+ <tr>
+ <td title="20">20</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request20">표시문자Red</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;r</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>Int</td>
+ <td class="left">255</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description20">RGB
+ 값중 red 값</span></td>
+ </tr>
+ <tr>
+ <td title="21">21</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request21">표시문자Green</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;g</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>Int</td>
+ <td class="left">255</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description21">RGB
+ 값중 green 값</span></td>
+ </tr>
+ <tr>
+ <td title="22">22</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request22">표시문자Blue</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;b</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>Int</td>
+ <td class="left">0</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description22">RGB
+ 값중 blue 값</span></td>
+ </tr>
+ <tr>
+ <td title="23">23</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request23">Action속성</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;exActionsVO</td>
+ <td>Y</td>
+ <td>Body</td>
+ <td>JsonString</td>
+ <td class="left">N/A</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description23">알림
+ Action 속성</span></td>
+ </tr>
+ <tr>
+ <td title="24">24</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request24">팝업여부</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;popup</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">Y</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description24">Toast
+ 클릭 시 links 값 중 rel 이 popup인 href 호출</span></td>
+ </tr>
+ <tr>
+ <td title="25">25</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request25">클릭허용여부</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;clickable</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">Y</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description25">Toast
+ 영역 클릭 허용 여부</span></td>
+ </tr>
+ <tr>
+ <td title="26">26</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request26">Link속성</span>
+ </td>
+ <td class="left">&nbsp;&nbsp;&nbsp;exLinksVO</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>JsonString</td>
+ <td class="left">N/A</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description26">알림
+ Link 속성</span></td>
+ </tr>
+ <tr>
+ <td title="27">27</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request27">링크속성값</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;rel</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">popup</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description27">링크 식별
+ 값</span></td>
+ </tr>
+ <tr>
+ <td title="28">28</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request28">링크URL</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;href</td>
+ <td>N</td>
+ <td>Body</td>
+ <td>String</td>
+ <td class="left">http://www.samsung.net</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description28">link
+ URL</span></td>
+ </tr>
+ <tr>
+ <td title="29">29</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request29">부가 옵션</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;hint</td>
+ <td>Y</td>
+ <td>Header</td>
+ <td>String</td>
+ <td class="left">multibrowser</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.request.description29"><span
+ class="ellipsis">multibrowser값 지정 시 녹스포털을 로그인한 브라우저의 Tab으로 href URL을 로딩
+ </span><br><span class="ellipsis">* IE 는 Popup으로 표시됨</span></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Response Parameter</p>
+ </div><span data-message-id="noti.guide.sendnotification.response.title">호출 성공여부 및 알림의 키 값(UID)을 리턴합니다.</span>
+ <div class="tbl-list01 kc-tbl text-full">
+ <div class="tbl-list-head">
+ <table>
+ <colgroup>
+ <col width="4%;">
+ <col width="16%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="20%;">
+ <col width="35%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th>No.</th>
+ <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="4%;">
+ <col width="16%;">
+ <col width="15%;">
+ <col width="10%;">
+ <col width="20%;">
+ <col width="35%;">
+ </colgroup>
+ <tbody>
+ <tr>
+ <td title="1">1</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.response01">API 호출
+ 성공여부</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;Result</td>
+ <td>String</td>
+ <td class="left">Success</td>
+ <td class="left"><span
+ data-message-id="noti.guide.sendnotification.response.description01">실시간알림 연계
+ 성공여부</span></td>
+ </tr>
+ <tr>
+ <td title="2">2</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.response02">에러코드</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;ErrorCode</td>
+ <td>String</td>
+ <td class="left">null</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.response.description02">에러발생
+ 시 코드 값</span></td>
+ </tr>
+ <tr>
+ <td title="3">3</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.response03">응답메시지 및 알림
+ ID</span></td>
+ <td class="left">&nbsp;&nbsp;&nbsp;Message and ID</td>
+ <td>String</td>
+ <td class="left">Alarm Created, uid : 3cd8085ff2c4420bb4cf1828d6369ea4</td>
+ <td class="left"><span data-message-id="noti.guide.sendnotification.response.description03">응답
+ 메시지 및 알림 ID</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Sample</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>
+ <pre><span data-message-id="noti.guide.sendnotification.response.sample10"><span class="ellipsis">{</span><br><span class="ellipsis"> "targetAddress" : ["knoxportal@samsung.com"],</span><br><span class="ellipsis"> "ntype": "NEW", </span><br><span class="ellipsis"> "messageid": "EXT201804030305581008775022",</span><br><span class="ellipsis"> "systemname" : "push service", </span><br><span class="ellipsis"> "from" :"외부 알림 테스트", </span><br><span class="ellipsis"> "fromGlobal" : "External Notification Test ",</span><br><span class="ellipsis"> "exVisualVO": {</span><br><span class="ellipsis"> "template": "content",</span><br><span class="ellipsis"> "skin": "White",</span><br><span class="ellipsis"> "global": "N", </span><br><span class="ellipsis"> "logo": "Y",</span><br><span class="ellipsis"> "logourl": "",</span><br><span class="ellipsis"> "exTextVOList": [</span><br><span class="ellipsis"> {</span><br><span class="ellipsis"> "content": "제목", </span><br><span class="ellipsis"> "contentglobal": "Title", </span><br><span class="ellipsis"> "size": 14,</span><br><span class="ellipsis"> "pos": 1, </span><br><span class="ellipsis"> "exColorVO": { </span><br><span class="ellipsis"> "r": 0, </span><br><span class="ellipsis"> "g": 0,</span><br><span class="ellipsis"> "b": 0</span><br><span class="ellipsis"> },</span><br><span class="ellipsis"> "style": "BOLD"</span><br><span class="ellipsis"> }</span><br><span class="ellipsis"> ]</span><br><span class="ellipsis"> },</span><br><span class="ellipsis"> "exActionsVO": { </span><br><span class="ellipsis"> "popup": "Y", </span><br><span class="ellipsis"> "snooze": "N", </span><br><span class="ellipsis"> "clickable": "Y", </span><br><span class="ellipsis"> "hint": "multibrowser", </span><br><span class="ellipsis"> "exLinksVOList":</span><br><span class="ellipsis"> [</span><br><span class="ellipsis"> {</span><br><span class="ellipsis"> "rel": "popup", </span><br><span class="ellipsis"> "href": "http://naver.com", </span><br><span class="ellipsis"> "args" : ""</span><br><span class="ellipsis"> }</span><br><span class="ellipsis"> ]</span><br><span class="ellipsis"> }</span><br><span class="ellipsis">}</span></span>
+ </pre>
+ </td>
+ <td>
+ <pre><span data-message-id="noti.guide.sendnotification.response.sample11"><span class="ellipsis">{</span><br><span class="ellipsis"> "result": "OK",</span><br><span class="ellipsis"> "errorCode": null, </span><br><span class="ellipsis"> "message": "Alarm Created, uid : 3cd8085ff2c4420bb4cf1828d6369ea4"</span><br><span class="ellipsis">}</span></span>
+ </pre>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="module-font type02">
+ <p>Error Code</p>
+ </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>400</td>
+ <td>EX001</td>
+ <td class="left desc">Notification information is null.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage01">알림 인풋
+ 전체가 NULL일 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX002</td>
+ <td class="left desc">[ntype] value is NEW or RECALL.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage02">ntype
+ 값이 NEW이거나 RECALL이지 않은 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX003</td>
+ <td class="left desc">[from] is mendentory.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage03">from값이
+ 입력되지 않은 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX004</td>
+ <td class="left desc">[fromGlobal] is mendentory.</td>
+ <td class="left desc"><span
+ data-message-id="noti.guide.sendnotification.errormessage04">fromGlobal값이 입력되지 않은 경우
+ 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX006</td>
+ <td class="left desc">[systemname] is mendentory.</td>
+ <td class="left desc"><span
+ data-message-id="noti.guide.sendnotification.errormessage05">systemname값이 입력되지 않은 경우
+ 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX007</td>
+ <td class="left desc">[exVisualVO] is mendentory.</td>
+ <td class="left desc"><span
+ data-message-id="noti.guide.sendnotification.errormessage06">exVisualVO값이 입력되지 않은 경우
+ 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX008</td>
+ <td class="left desc">[exActionsVO] is mendentory.</td>
+ <td class="left desc"><span
+ data-message-id="noti.guide.sendnotification.errormessage07">exActionsVO값이 입력되지 않은 경우
+ 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX009</td>
+ <td class="left desc">The length of [template] is max 10 characters.</td>
+ <td class="left desc"><span
+ data-message-id="noti.guide.sendnotification.errormessage08">template 값이 10자 이상 입력될 경우
+ 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX010</td>
+ <td class="left desc">The length of [skin] is max 10 characters.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage09">skin 값이
+ 10자 이상 입력될 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX011</td>
+ <td class="left desc">The value of [global] value is not Y or N.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage10">global
+ 값이 Y혹은 N이 입력되지 않는 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX012</td>
+ <td class="left desc">The value of [logo] value is not Y or N.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage11">logo 값이
+ Y 혹은 N이 입력되지 않는 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX013</td>
+ <td class="left desc">The value of [logourl] must start with url pattern(http://).</td>
+ <td class="left desc"><span
+ data-message-id="noti.guide.sendnotification.errormessage12">Logourl값이 정상적인 URL이 아닌 경우
+ 발생(http://로 시작필요)</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX014</td>
+ <td class="left desc">[exTextVO] is mendentory.</td>
+ <td class="left desc"><span
+ data-message-id="noti.guide.sendnotification.errormessage13">exTextVO 값이 입력되지 않은 경우
+ 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX015</td>
+ <td class="left desc">[content] is mendentory.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage14">content
+ 값이 입력되지 않은 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX016</td>
+ <td class="left desc">[R,G,B] value range is 0 to 255.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage15">R,G,B
+ 값이 0~255범위에서 벗어나는 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX017</td>
+ <td class="left desc">For the requested search conditions, paging is not possible.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage16">href 값이
+ 정상적인 URL이 아닌 경우 발생(http://로 시작필요)</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX018</td>
+ <td class="left desc">The value of [template] encoding is supported UTF-8.</td>
+ <td class="left desc"><span
+ data-message-id="noti.guide.sendnotification.errormessage17">Template 값이 UTF-8로 인코딩 되지
+ 않은 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX019</td>
+ <td class="left desc">The value of [skin] encoding is supported UTF-8.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage18">Skin 값이
+ UTF-8로 인코딩 되지 않은 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX020</td>
+ <td class="left desc">The value of [rel] is max 10 characters.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage19">Rel 값이
+ 10자 이상 입력될 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX021</td>
+ <td class="left desc">The value of [rel] encoding is supported UTF-8.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage20">rel 값이
+ UTF-8로 인코딩 되지 않은 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX022</td>
+ <td class="left desc">[targetAddress] is invalid. Check if an on-leave or retired person.</td>
+ <td class="left desc"><span
+ data-message-id="noti.guide.sendnotification.errormessage21">targetAddress 값의 임직원 정보가 없는
+ 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX023</td>
+ <td class="left desc">[size] value range is 0 to 1024.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage22">size 값이
+ 0~1024범위에서 벗어나는 경우 발생</span></td>
+ </tr>
+ <tr>
+ <td>400</td>
+ <td>EX024</td>
+ <td class="left desc">[pos] value range is 1 to 3.</td>
+ <td class="left desc"><span data-message-id="noti.guide.sendnotification.errormessage23">pos 값이
+ 1~3위에서 벗어나는 경우 발생</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div><br><br>
+</div> \ No newline at end of file
diff --git a/lib/knox-api/realtime-notification/realtime-notification.ts b/lib/knox-api/realtime-notification/realtime-notification.ts
new file mode 100644
index 00000000..a26f5b55
--- /dev/null
+++ b/lib/knox-api/realtime-notification/realtime-notification.ts
@@ -0,0 +1,333 @@
+"use server"
+
+import { z } from "zod"
+
+// 타입 정의
+const ColorSchema = z.object({
+ r: z.number().min(0).max(255),
+ g: z.number().min(0).max(255),
+ b: z.number().min(0).max(255),
+})
+
+const TextSchema = z.object({
+ content: z.string().min(1),
+ contentglobal: z.string().optional(),
+ size: z.number().min(0).max(1024).optional(),
+ pos: z.number().min(1).max(3),
+ exColorVO: ColorSchema.optional(),
+ style: z.string().optional(),
+})
+
+const LinkSchema = z.object({
+ rel: z.string().max(10).optional(),
+ href: z.string().url().optional(),
+ args: z.string().optional(),
+})
+
+const VisualSchema = z.object({
+ template: z.string().max(10).optional(),
+ skin: z.string().max(10).optional(),
+ global: z.enum(["Y", "N"]).optional(),
+ logo: z.enum(["Y", "N"]).optional(),
+ logourl: z.string().url().optional(),
+ exTextVOList: z.array(TextSchema),
+})
+
+const ActionsSchema = z.object({
+ popup: z.enum(["Y", "N"]).optional(),
+ snooze: z.enum(["Y", "N"]).optional(),
+ clickable: z.enum(["Y", "N"]).optional(),
+ hint: z.string().optional(),
+ exLinksVOList: z.array(LinkSchema).optional(),
+})
+
+const NotificationRequestSchema = z.object({
+ targetAddress: z.array(z.string().email()).max(100),
+ ntype: z.enum(["NEW", "RECALL"]),
+ messageid: z.string().optional(),
+ systemname: z.string().min(1),
+ from: z.string().min(1),
+ fromGlobal: z.string().min(1),
+ exVisualVO: VisualSchema,
+ exActionsVO: ActionsSchema,
+})
+
+export type NotificationRequest = z.infer<typeof NotificationRequestSchema>
+export type NotificationColor = z.infer<typeof ColorSchema>
+export type NotificationText = z.infer<typeof TextSchema>
+export type NotificationLink = z.infer<typeof LinkSchema>
+export type NotificationVisual = z.infer<typeof VisualSchema>
+export type NotificationActions = z.infer<typeof ActionsSchema>
+
+// 응답 타입
+export interface NotificationResponse {
+ result: string
+ errorCode: string | null
+ message: string
+}
+
+// 에러 타입
+export interface NotificationError {
+ httpStatus: number
+ errorCode: string
+ message: string
+}
+
+// 환경 변수 검증
+const getApiConfig = () => {
+ const baseUrl = process.env.KNOX_API_BASE_URL
+ const systemId = process.env.KNOX_SYSTEM_ID
+
+ if (!baseUrl || !systemId) {
+ throw new Error("Knox API configuration missing: KNOX_API_BASE_URL and KNOX_SYSTEM_ID are required")
+ }
+
+ return { baseUrl, systemId }
+}
+
+/**
+ * Knox Suite 실시간 토스트 알림 전송
+ */
+export async function sendNotification(
+ request: NotificationRequest
+): Promise<NotificationResponse> {
+ try {
+ // 요청 데이터 검증
+ const validatedRequest = NotificationRequestSchema.parse(request)
+
+ const { baseUrl, systemId } = getApiConfig()
+
+ const response = await fetch(`${baseUrl}/notification/api/v2.0/sendnotification`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ "System-ID": systemId,
+ "hint": validatedRequest.exActionsVO.hint || "multibrowser",
+ },
+ body: JSON.stringify(validatedRequest),
+ })
+
+ if (!response.ok) {
+ const errorData = await response.json()
+ throw new Error(`API Error: ${errorData.message || response.statusText}`)
+ }
+
+ const result: NotificationResponse = await response.json()
+ return result
+
+ } catch (error) {
+ console.error("Knox notification error:", error)
+ throw error
+ }
+}
+
+/**
+ * 간단한 토스트 알림 전송 (기본 설정 사용)
+ */
+export async function sendSimpleNotification(
+ targetEmails: string[],
+ title: string,
+ titleGlobal: string,
+ systemName: string,
+ link?: string
+): Promise<NotificationResponse> {
+ const notification: NotificationRequest = {
+ targetAddress: targetEmails,
+ ntype: "NEW",
+ systemname: systemName,
+ from: title,
+ fromGlobal: titleGlobal,
+ exVisualVO: {
+ template: "content",
+ skin: "White",
+ global: "N",
+ logo: "Y",
+ logourl: "",
+ exTextVOList: [
+ {
+ content: title,
+ contentglobal: titleGlobal,
+ size: 14,
+ pos: 1,
+ exColorVO: {
+ r: 0,
+ g: 0,
+ b: 0,
+ },
+ style: "BOLD",
+ },
+ ],
+ },
+ exActionsVO: {
+ popup: "Y",
+ clickable: "Y",
+ hint: "multibrowser",
+ exLinksVOList: link ? [
+ {
+ rel: "popup",
+ href: link,
+ args: "",
+ },
+ ] : [],
+ },
+ }
+
+ return await sendNotification(notification)
+}
+
+/**
+ * 알림 취소 (RECALL)
+ */
+export async function recallNotification(
+ targetEmails: string[],
+ systemName: string,
+ messageId: string
+): Promise<NotificationResponse> {
+ const notification: NotificationRequest = {
+ targetAddress: targetEmails,
+ ntype: "RECALL",
+ messageid: messageId,
+ systemname: systemName,
+ from: "알림 취소",
+ fromGlobal: "Notification Recall",
+ exVisualVO: {
+ template: "content",
+ skin: "White",
+ global: "N",
+ logo: "Y",
+ logourl: "",
+ exTextVOList: [
+ {
+ content: "알림이 취소되었습니다",
+ contentglobal: "Notification has been recalled",
+ size: 14,
+ pos: 1,
+ exColorVO: {
+ r: 255,
+ g: 0,
+ b: 0,
+ },
+ style: "BOLD",
+ },
+ ],
+ },
+ exActionsVO: {
+ popup: "N",
+ clickable: "N",
+ hint: "multibrowser",
+ },
+ }
+
+ return await sendNotification(notification)
+}
+
+/**
+ * 사용자 정의 스타일 토스트 알림
+ */
+export async function sendCustomNotification(
+ targetEmails: string[],
+ systemName: string,
+ title: string,
+ titleGlobal: string,
+ options: {
+ template?: string
+ skin?: string
+ logoUrl?: string
+ textColor?: NotificationColor
+ textSize?: number
+ textStyle?: string
+ link?: string
+ linkRel?: string
+ } = {}
+): Promise<NotificationResponse> {
+ const notification: NotificationRequest = {
+ targetAddress: targetEmails,
+ ntype: "NEW",
+ systemname: systemName,
+ from: title,
+ fromGlobal: titleGlobal,
+ exVisualVO: {
+ template: options.template || "content",
+ skin: options.skin || "White",
+ global: "N",
+ logo: options.logoUrl ? "Y" : "Y",
+ logourl: options.logoUrl || "",
+ exTextVOList: [
+ {
+ content: title,
+ contentglobal: titleGlobal,
+ size: options.textSize || 14,
+ pos: 1,
+ exColorVO: options.textColor || {
+ r: 0,
+ g: 0,
+ b: 0,
+ },
+ style: options.textStyle || "BOLD",
+ },
+ ],
+ },
+ exActionsVO: {
+ popup: options.link ? "Y" : "N",
+ clickable: options.link ? "Y" : "N",
+ hint: "multibrowser",
+ exLinksVOList: options.link ? [
+ {
+ rel: options.linkRel || "popup",
+ href: options.link,
+ args: "",
+ },
+ ] : [],
+ },
+ }
+
+ return await sendNotification(notification)
+}
+
+/**
+ * 헬퍼 함수: 알림 ID 추출
+ */
+export async function extractNotificationId(response: NotificationResponse): Promise<string | null> {
+ if (response.result === "OK" && response.message) {
+ const match = response.message.match(/uid\s*:\s*([a-f0-9]+)/i)
+ return match ? match[1] : null
+ }
+ return null
+}
+
+/**
+ * 헬퍼 함수: 여러 사용자에게 배치 알림 전송
+ */
+export async function sendBatchNotifications(
+ notifications: Array<{
+ targetEmails: string[]
+ title: string
+ titleGlobal: string
+ systemName: string
+ link?: string
+ }>
+): Promise<NotificationResponse[]> {
+ const results: NotificationResponse[] = []
+
+ for (const notification of notifications) {
+ try {
+ const result = await sendSimpleNotification(
+ notification.targetEmails,
+ notification.title,
+ notification.titleGlobal,
+ notification.systemName,
+ notification.link
+ )
+ results.push(result)
+ } catch (error) {
+ console.error("Batch notification error:", error)
+ results.push({
+ result: "ERROR",
+ errorCode: "BATCH_ERROR",
+ message: error instanceof Error ? error.message : "Unknown error",
+ })
+ }
+ }
+
+ return results
+}