diff options
| author | joonhoekim <26rote@gmail.com> | 2025-07-18 03:58:34 +0000 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-07-18 03:58:34 +0000 |
| commit | 3e59693e017742d971f490eb7c58870cb745a98d (patch) | |
| tree | f7f846613e40e4f058de70afca5809b8e6bd0e2d /lib/knox-api/messenger | |
| parent | 2ef02e27dbe639876fa3b90c30307dda183545ec (diff) | |
(김준회) 결재 모듈 개발
Diffstat (limited to 'lib/knox-api/messenger')
| -rw-r--r-- | lib/knox-api/messenger/messenger-guide.html | 9422 | ||||
| -rw-r--r-- | lib/knox-api/messenger/messenger.ts | 925 |
2 files changed, 10347 insertions, 0 deletions
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> <span data-message-id="messenger.policy.description1-1">1) 메신저 API 신청을 통해 Access Token을 + 획득합니다.</span></dt> + <dt> <span data-message-id="messenger.policy.description1-2">2) 디바이스 등록 API 수행 (GET + /messenger/contact/api/v1.0/device/o1/reg)을 통해 Devide ID를 획득합니다.</span></dt> + <dt> <span data-message-id="messenger.policy.description1-3">3) 암호화 키 조회 API 수행 (GET + /messenger/msgctx/api/v1.0/key/getkeys)을 통해 key value를 획득합니다.</span></dt> + <dt> <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> <span data-message-id="messenger.policy.description2-1">- ShortTerm 정책: 1초당 50건 초과 시 해당 계정으로의 요청이 + 1초 간 차단</span></dt> + <dt> <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> <span data-message-id="messenger.policy.description3-1">- 0 (Text type) : 3300 자</span></dt> + <dt> <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> <span data-message-id="messenger.policy.description4-1">- IMAGE : jpg,jpeg,png,gif</span></dt> + <dt> <span data-message-id="messenger.policy.description4-2">- VIDEO : + mp4,3gp,mov,flv,wmv,mkv,mpg,avi,3g2,m4v,ts,webm</span></dt> + <dt> <span data-message-id="messenger.policy.description4-3">- AUDIO : + mp3,aac,m4a,amr,3ga,wma,imy,mid,mpeg,flac,ogg,wav</span></dt> + <dt> <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"> “contactList” : [</span><br><span + class="ellipsis"> { “userID” : + 10101010101 },</span><br><span + class="ellipsis"> { “userID” : + 10101010102 }</span><br><span + class="ellipsis"> ]</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"> “contactList” : [</span><br><span + class="ellipsis"> { “userID” : + 10101010101 }</span><br><span + class="ellipsis"> ], “blockedUserIDList” + : [</span><br><span + class="ellipsis"> { “userID” : + 10101010102 }</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 + 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"> “contactList” : [</span><br><span + class="ellipsis"> { “userID” : + 10101010101 },</span><br><span + class="ellipsis"> { “userID” : + 10101010102 }</span><br><span + class="ellipsis"> ]</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"> { “deviceServerID” : 10101010101 + },</span><br><span class="ellipsis"> { “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"> "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><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"> "userDeviceList": [</span><br><span + class="ellipsis"> {</span><br><span + class="ellipsis"> "userID": + 761258979308365297,</span><br><span + class="ellipsis"> "singleID": + "test1.kim",</span><br><span + class="ellipsis"> "deviceList": + [</span><br><span class="ellipsis"> + {</span><br><span + class="ellipsis"> + "deviceServerID": 1000003610,</span><br><span + class="ellipsis"> + "conn_date": "2016-06-22 PM 04:22:46",</span><br><span + class="ellipsis"> + "deviceType": "pc",</span><br><span + class="ellipsis"> + “deviceOsType”: “Windows”</span><br><span + class="ellipsis"> }</span><br><span + class="ellipsis"> ]</span><br><span + class="ellipsis"> },</span><br><span + class="ellipsis"> {</span><br><span + class="ellipsis"> "userID": + 755053073097855041,</span><br><span class="ellipsis"> + "singleID": "test2.lee",</span><br><span class="ellipsis"> + "deviceList": [</span><br><span class="ellipsis"> + {</span><br><span class="ellipsis"> + "deviceServerID": 20490,</span><br><span + class="ellipsis"> "deviceType": + "mobile",</span><br><span class="ellipsis">“deviceOsType”: “Android”</span><br><span + class="ellipsis"> },</span><br><span class="ellipsis"> + {</span><br><span class="ellipsis"> + "deviceServerID": 1000006058,</span><br><span class="ellipsis"> + "deviceType": "mobile"</span><br><span + class="ellipsis">“deviceOsType”: “iOS”</span><br><span class="ellipsis"> + }</span><br><span class="ellipsis"> + ]</span><br><span class="ellipsis"> + },</span><br><span class="ellipsis"> {</span><br><span + class="ellipsis"> "userID": + 755053029387931649,</span><br><span class="ellipsis"> + "singleID": "test3.park",</span><br><span class="ellipsis"> + "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 - 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&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 Host : File + Server Authorization: Bearer f5fe27195fb2523cee1758c162a9f60 x-access-token: + f5fe27195fb2523cee1758c162a9f60 x-device-id: 131314850 x-device-type: + relation [Upload] GET + /messenger/file/api/v1.0/file/v1/getCurrentTime?word=r1234562312121.gif + HTTP/1.1 Host : File Server Authorization: Bearer + f5fe27195fb2523cee1758c162a9f60 x-access-token: + f5fe27195fb2523cee1758c162a9f60 x-device-id: 131314850 x-device-type: + relation [Download] GET + /messenger/file/api/v1.0/file/v1/getCurrentTime?word=70wT1NHM0y0TF HTTP/1.1 Host : + File Server Authorization: Bearer + f5fe27195fb2523cee1758c162a9f60 x-access-token: + f5fe27195fb2523cee1758c162a9f60 x-device-id: 131314850 x-device-type: + relation</span></td> + <td class="left"><span + data-message-id="messenger.service.file.servertime.sample.response">[success] HTTP/1.1 + 200 OK Content-Type: application/json Server: File + Server { "serverTime": "1487298788653", "word": + "!2#4%6&8(0gif.gif1@3$5^7*9)!2#4%" } [error] HTTP/1.1 400 Bad + Request Content-Type: application/json Content-Length: 97 Server: File + Server Connection: close { "svrTime": "2016-02-11 + 12:34:03.997", "errorCode": "CFI-10001", "errorMessage": " x-device-id is + mandatory" }</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">응답에 허용되는 특정 미디어 + 유형을 지정. - Default: application/json - 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 - + Default: binary/octet-stream - 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) 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으로 암호화 해야함 - 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을 준수해서 지정. - 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 Host : File + Server Content-Length: 11434 Authorization: Bearer + f5fe27195fb2523cee1758c162a9f60 x-access-token: + BublCtBL1kiiUfArCc1ECFChhKGKrdc5liIrsFEuc1kh2pgPShAar9x81edAn1zd x-device-id: + wsXERf15w7AZy9m0xJVg+g== x-device-type: + 9JtF6T25SvaSnkgmbkIZsA== x-request-time: JVdr5iiTe6ogMBoGnwkhOg== [11434 + bytes of object data]</span></td> + <td class="left"><span + data-message-id="messenger.service.file.secureupload.sample.response">[success] HTTP/1.1 + 200 OK Content-Type: application/json Server: File + Server { "download_url": + "https://yyy.xxxxxx.com/file/v1s/file/70wT1NHM0y0TF" } [error] HTTP/1.1 + 400 Bad Request Content-Type: application/json Content-Length: 98 Server: + File Server Connection: close { "svrTime": "2015-02-11 + 12:32:30.234", "errorCode": "CFI-10002", "errorMessage": "filename 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.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으로 암호화 해야함 - 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으로 암호화 해야함. - 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">다운로드 할 썸네일의 사이즈 + 지정. - 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 Host : + File Server Authorization: Bearer + f5fe27195fb2523cee1758c162a9f60 x-access-token: + BublCtBL1kiiUfArCc1ECFChhKGKrdc5liIrsFEuc1kh2pgPShAar9x81edAn1zd x-device-id: + wsXERf15w7AZy9m0xJVg+g== x-device-type: + 9JtF6T25SvaSnkgmbkIZsA== x-request-time: JVdr5iiTe6ogMBoGnwkhOg==</span></td> + <td class="left"><span + data-message-id="messenger.service.file.securedownload.sample.response">[success] HTTP/1.1 + 200 OK Content-Length: 434234 Content-Type: image/jpeg Connection: + close Server: File Server [434234 bytes of object + data] [error] HTTP/1.1 400 Bad Request Content-Type: + application/json Content-Length: 97 Server: File Server Connection: + close {"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"> “key” : + “4cc5d9fa5d44819357618b8a8d8c21326df20fa95cd5fd6da0f9cdd030d1a9b7c31df7eb7080b9c3b62ee0348eb1d86b”,</span><br><span + class="ellipsis"> “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"> “activemembercount”:5,</span><br><span + class="ellipsis"> “activememberlist” : [</span><br><span + class="ellipsis"> 753913371694206977,</span><br><span + class="ellipsis"> 753915435136061441,</span><br><span + class="ellipsis"> 753915446684553217,</span><br><span + class="ellipsis"> 753916848394735617,</span><br><span + class="ellipsis"> 753916967328419841</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 + 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암호화 > Base64암호화를 거쳐 데이터를 보내며, 수신단에서 Base64복호화 > 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 ></span></td> <!--.3--> <td><span data-message-id=" + messenger.service.response.datatype.long"=""> <!--.3--> + <td><span data-message-id="]</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 ></span></td> <!--.5--> <td><span data-message-id=" + messenger.service.request.mandatory.n"=""> <!--.5--> + <td><span data-message-id="]</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] + }); +} |
