{"info":{"_postman_id":"f6a7967d-f349-4c0a-ab87-18614e947c59","name":"APTNER API Docs","description":"<html><head></head><body><p>아파트너는 파트너사들과 시너지를 내기 위한 개발 환경을 제공합니다.</p>\n<ul>\n<li>아파트너에서 제공하는 Open API를 통해서 아파트너의 다양한 기능을 사용할 수 있습니다.</li>\n<li>Open API를 이용하여 주차관제 데이터 동기화, 방문차량 예약 조회 등이 가능합니다.</li>\n<li>Open API를 통해 아파트, 회원 고유 식별값 등을 암호화 프로토콜을 통해 전달받을 수 있습니다.</li>\n</ul>\n<hr>\n<h1 id=\"getting-started-guide\"><strong>Getting started guide</strong></h1>\n<p>아파트너 Open API를 사용하시려면 사용 형태에 따라 key를 발급받아야 합니다.</p>\n<ul>\n<li>아파트너 앱 내 웹뷰에서만 접근 가능한 웹사이트를 구성하고자 한다면 <a href=\"https://api-docs.aptner.com/\">Basic-Auth</a>를 활용해 보세요</li>\n<li>아파트너 회원 정보 연동을 통한 비즈니스를 구축하고자 한다면 <a href=\"https://api-docs.aptner.com/\">Secret Key 방식</a>을 활용해 보세요</li>\n<li>아파트너 Open API를 통해 다양한 기능을 활용하시고자 한다면 <a href=\"https://api-docs.aptner.com/\">API key 방식</a>을 활용해 보세요</li>\n</ul>\n<hr>\n<h1 id=\"authentication\">Authentication</h1>\n<h1 id=\"basic-auth\">Basic-Auth 방식</h1>\n<p>웹브라우저에서 URL만 입력하면 웹사이트에 접속하는 것이 아니라, header에 Basic-Auth 인증을 태워야지만 웹사이트 접속을 허용하는 방식입니다.</p>\n<p>아파트너 사용자들에게만 웹사이트 접속을 허용하기 위해 아파트너 앱 내 웹뷰에서만 서비스를 제공하고 외부 웹브라우저에서는 해당 웹사이트에 대한 트래픽을 막는 용도로 사용됩니다.</p>\n<p>\bex) 아파트너 입주민 혜택용 제휴사 사이트</p>\n<h2 id=\"basic-auth-계정-발급-방법\">Basic-Auth 계정 발급 방법</h2>\n<p>(Open API Center 준비중)</p>\n<p>수동 발급 방법</p>\n<p>아파트너에서 띄우고자 하는 사이트의 URL을 <a href=\"https://mailto:dev@aptner.com\">dev@aptner.com</a> 으로 보내주세요</p>\n<p>메일 회신으로 Basic-Auth계정을 보내드리겠습니다.</p>\n<ul>\n<li>URL은 Basic-Auth와 1:1 맵핑됩니다</li>\n<li>URL은 HOST가 아닌 Basic-Auth방식으로 인증을 태우는 화면 URL을 보내주세요</li>\n</ul>\n<h2 id=\"basic-auth-사용-방법\">Basic-Auth 사용 방법</h2>\n<p>사이트 구축시 아파트너에서 발급 받은 Basic-Auth계정으로 http header에 Basic-Auth 인증 방식을 구현해주세요</p>\n<p>header 정의</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td>Basic {{token}}</td>\n<td>일반적인 Basic-Auth,  <br>token = Base64({{interfaceId}}:{{interfacePw}})</td>\n</tr>\n</tbody>\n</table>\n</div><p>아파트너는 Basic-Auth계정 발급시 입력했던 URL 호출시 Basic-Auth를 위와 같은 방식으로 header에 넣어서 보내드립니다.</p>\n<h1 id=\"secret-key\">Secret Key 방식</h1>\n<p>웹사이트 파라미터로 개인정보를 직접 입력하는 것이 아니라, 아파트너와 제휴사의 약속된 대칭키로 회원 정보를 암호화하여 통신하는 방식입니다.</p>\n<p>무분별한 파라미터 위변조 접근을 막고 계약된 제휴사에게 안전하게 회원정보를 전달하기 위함입니다.</p>\n<h2 id=\"\bsecret-key-발급-방법\">\bSecret Key 발급 방법</h2>\n<p>(Open API Center 준비중)</p>\n<p>수동 발급 방법</p>\n<p>아파트너에서 연동하고자 하는 사이트의 URL, 회원 정보, 약관을 <a href=\"https://mailto:dev@aptner.com\">dev@aptner.com</a> 으로 보내주세요</p>\n<p>메일 회신으로 \bSecret Key를 보내드리겠습니다.</p>\n<p>Token 발급시 필요한 정보</p>\n<ul>\n<li>연동하고자 하는 사이트의 URL<ul>\n<li>URL은 HOST가 아닌 \bToken방식으로 회원 정보를 연동하는 화면 URL을 보내주세요</li>\n</ul>\n</li>\n<li>연동하고자 하는 회원 정보</li>\n<li>약관 정보<ul>\n<li>이용약관</li>\n<li>제휴사 개인정보 제3자 제공 동의</li>\n<li>제휴사 개인정보 수집 및 이용 동의</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"secret-key-사용-방법\">Secret Key 사용 방법</h2>\n<p>회원 정보를 암호화 하는 방식은 AES256 대칭키 암호화 알고리즘을 사용합니다.</p>\n<ul>\n<li>암호화 방식: AES256</li>\n<li>Cipher Mode: CBC</li>\n<li>Padding Schema: PKCS7</li>\n</ul>\n<p>사이트 구축시 아파트너에서 발급받은 token으로 header에 전달되는 Data를 복호화 하여 사용해주세요</p>\n<p>header 정의</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Data</td>\n<td>AES256({{Json format data}})</td>\n<td>Json 형식의 회원 정보를 대칭키로 AES256 암호화 하여 전송  <br>Json format data sample:  <br>{  <br>\"id\":\"abcd1234\"  <br>}</td>\n</tr>\n</tbody>\n</table>\n</div><p>아파트너는 \bToken 발급시 입력했던 URL 호출시 회원 정보를 위와 같은 방식으로 header에 넣어서 보내드립니다.</p>\n<h1 id=\"api-key\">API key 방식</h1>\n<p>아파트너에서 제공하는 다양한 Open API를 사용하기 위한 인증 방식입니다.</p>\n<p>아파트너는 사전 협의된 제휴사에게만 API를 제공합니다.</p>\n<h2 id=\"api-key-계정-발급-방법\">API Key 계정 발급 방법</h2>\n<p>(Open API Center 준비중)</p>\n<p>수동 발급 방법</p>\n<p>아파트너에서 연동하고자 하는 사이트의 URL, 회원 정보, 약관을 <a href=\"https://mailto:dev@aptner.com\">dev@aptner.com</a> 으로 보내주세요</p>\n<p>메일 회신으로 \bAPI Key(Access Key, Secret Key)을 보내드리겠습니다.</p>\n<p>API Key 발급시 필요한 정보</p>\n<ul>\n<li>연동하고자 하는 서버의 IP 정보(복수개 가능)</li>\n<li>연동하고자 하는 사이트의 HOST URL</li>\n</ul>\n<h2 id=\"\bapi-key-사용-방법\">\bAPI Key 사용 방법</h2>\n<p>아파트너는 <a href=\"https://www.ietf.org/rfc/rfc2104.txt\">RFC2014 표준</a> 암호화 프로토콜인 HMAC(keyed-hash message authentication code)를 사용하여 인증을 처리합니다.</p>\n<p>Open API 요청시 header엔 하단 key-value가 필수로 필요합니다.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\bApi-Key</td>\n<td>아파트너에서 발급받은 Access Key</td>\n</tr>\n<tr>\n<td>Api-Nonce</td>\n<td>random uuid</td>\n</tr>\n<tr>\n<td>Api-Sign</td>\n<td>End Point  <br>+ Request Parameter  <br>+ Api-Nonce  <br>+ 사용자 Secret Key를  <br>조합하여 인코딩한 값</td>\n</tr>\n</tbody>\n</table>\n</div><ol>\n<li>Request Parameter 조합<ol>\n<li>endpoint 파라미터 추가<br> <code>/v2/parking/in?indate=20240101&amp;outdate=20240101</code></li>\n<li>URL 인코딩<br> <code>/v2/parking/in?indate=20240101&amp;outdate=20240101</code></li>\n</ol>\n</li>\n<li>End Point + Request Parameter + Api-Nonce 조합<ol>\n<li>구분자 없이 3개의 값을 조합합니다<br> <code>/v2/parking/in?indate=20240101&amp;outdate=202401013b1d8bd3-4b7c-45f8-9f9b-d9503e236df0</code></li>\n</ol>\n</li>\n<li>HmacSha256 알고리즘으로 인코딩<ol>\n<li>2번에서 조합한 값을 사용자의 Secret Key를 이용하여 인코딩합니다.</li>\n</ol>\n</li>\n<li>Base64 인코딩<ol>\n<li>HmacSha256로 인코딩한 값을 다시 Base64로 인코딩합니다.</li>\n</ol>\n</li>\n</ol>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Getting started guide","slug":"getting-started-guide"},{"content":"Authentication","slug":"authentication"},{"content":"Basic-Auth 방식","slug":"basic-auth"},{"content":"Secret Key 방식","slug":"secret-key"},{"content":"API key 방식","slug":"api-key"}],"owner":"22956199","collectionId":"f6a7967d-f349-4c0a-ab87-18614e947c59","publishedId":"2s9YsKhXxd","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"00A8FF"},"publishDate":"2024-01-15T13:29:56.000Z"},"item":[{"name":"New Request","id":"c6890038-e682-4047-bac5-7d80c7494a09","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"c6890038-e682-4047-bac5-7d80c7494a09"}],"event":[{"listen":"prerequest","script":{"id":"c591cf1a-d450-444e-8918-70bf3c634006","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"2ca9fb2e-53be-4ed6-82ca-3775d6ee5b32","type":"text/javascript","exec":[""]}}],"variable":[{"key":"baseUrl","value":"https://farming-simulator.pstmn.io"}]}